Yocto 2.5

Move OpenBMC to Yocto 2.5(sumo)

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Change-Id: I5c5ad6904a16e14c1c397f0baf10c9d465594a78
diff --git a/import-layers/meta-openembedded/meta-filesystems/README b/import-layers/meta-openembedded/meta-filesystems/README
index 0f7cc9b..97d0e94 100644
--- a/import-layers/meta-openembedded/meta-filesystems/README
+++ b/import-layers/meta-openembedded/meta-filesystems/README
@@ -10,66 +10,31 @@
 This layer depends on:
 
   URI: git://git.openembedded.org/bitbake
-  branch: 1.36
+  branch: master
 
   URI: git://git.openembedded.org/openembedded-core
   layers: meta
-  branch: rocko
+  branch: master
 
   URI: git://git.openembedded.org/meta-openembedded
   layers: meta-oe
-  branch: rocko
+  branch: master
 
 Patches
 =======
 
 Please submit any patches against the filesystems layer to the
 OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org)
-with '[meta-filesystems][rocko]' in the subject.
+with '[meta-filesystems]' in the subject.
 
-Maintainers List:
-  physfs      Andreas Müller <schnitzeltony@googlemail.com>
-
-  fuse        Koen Kooi <koen@dominion.thruhere.net>
-              Philip Balister <philip@balister.org>
-              hongxu jia <hongxu.jia@windriver.com>
-
-  ifuse       Sander van Grieken <sander@outrightsolutions.nl>
-              Koen Kooi <koen@dominion.thruhere.net>
-
-  sshfs-fuse  Philip Balister <philip@balister.org>
-              Koen Kooi <koen@dominion.thruhere.net>
-
-  owfs        Otavio Salvador <otavio@ossystems.com.br>
-              Koen Kooi <koen@dominion.thruhere.net>
-              hongxu jia <hongxu.jia@windriver.com>
-
-  ntfs-3g-ntfsprogs  Otavio Salvador <otavio@ossystems.com.br>
-                     hongxu jia <hongxu.jia@windriver.com>
-
-  cramfs      Koen Kooi <koen@dominion.thruhere.net>
-
-  smbnetfs    Sander van Grieken <sander@outrightsolutions.nl>
-              Koen Kooi <koen@dominion.thruhere.net>
-
-  fuse-exfat  hongxu jia <hongxu.jia@windriver.com>
-
-  exfat-utils hongxu jia <hongxu.jia@windriver.com>
-
-  f2fs-tools  Martin Jansa <Martin.Jansa@gmail.com>
-              Koen Kooi <koen@dominion.thruhere.net>
-
-  xfsprogs    Koen Kooi <koen@dominion.thruhere.net>
-              hongxu jia <hongxu.jia@windriver.com>
+Layer maintainer: Armin Kuster <akuster808@gmail.com>
 
 When sending single patches, please use something like:
 
    git send-email -1 -M \
         --to openembedded-devel@lists.openembedded.org \
-        --subject-prefix=meta-filesystems][rocko][PATCH
+        --subject-prefix=meta-filesystems][PATCH
 
-rocko Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
 
 Table of Contents
 =================
diff --git a/import-layers/meta-openembedded/meta-filesystems/conf/layer.conf b/import-layers/meta-openembedded/meta-filesystems/conf/layer.conf
index 9ed6d1b..dbcff42 100644
--- a/import-layers/meta-openembedded/meta-filesystems/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-filesystems/conf/layer.conf
@@ -14,3 +14,5 @@
 LAYERVERSION_filesystems-layer = "1"
 
 LAYERDEPENDS_filesystems-layer = "core openembedded-layer"
+
+LAYERSERIES_COMPAT_filesystems-layer = "sumo"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch
new file mode 100644
index 0000000..6d60c9d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch
@@ -0,0 +1,42 @@
+From 7a524d49b3d4459280f18942df2980603400ec52 Mon Sep 17 00:00:00 2001
+From: Bian Naimeng <biannm@cn.fujitsu.com>
+Date: Fri, 19 Jun 2015 11:54:44 +0900
+Subject: [PATCH] Using PKG_CHECK_MODULES to found headers and libraries of
+ smbclient
+
+Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
+---
+ configure.in    | 5 +++++
+ src/Makefile.am | 3 +++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 4c03409..8d22e71 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -119,6 +119,11 @@ AC_CHECK_LIB(smbclient, smbc_setOptionUseCCache, [], [
+ LIBS="$LIBS $SMBCLIENT_LIBS"
+ CFLAGS="$CFLAGS $SMBCLIENT_CFLAGS"
+ 
++dnl *****************************************************************
++dnl *** Check libsmbclient by pkgconfig to get cflags and ldflags ***
++dnl *****************************************************************
++PKG_CHECK_MODULES(SMBCLIENT, smbclient)
++
+ dnl ******************
+ dnl *** Final step ***
+ dnl ******************
+diff --git a/src/Makefile.am b/src/Makefile.am
+index ccaa8c3..6598317 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,3 +17,6 @@ smbnetfs_SOURCES = \
+ 	event.c			event.h			\
+ 	reconfigure.c		reconfigure.h		\
+ 	main.c
++
++smbnetfs_CFLAGS=${SMBCLIENT_CFLAGS}
++smbnetfs_LDFLAGS=${SMBCLIENT_LDFLAGS}
+-- 
+1.8.4.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
new file mode 100644
index 0000000..5527566
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
@@ -0,0 +1,11 @@
+Index: git/configure.in
+===================================================================
+--- git.orig/configure.ac	2014-06-18 16:06:16.040721349 +0000
++++ git/configure.ac	2014-07-18 07:49:17.085552256 +0000
+@@ -1,5 +1,5 @@
+ AC_INIT([SMBNetFS],[0.6.1])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+ AC_CONFIG_HEADERS([src/config.h])
+ AC_PROG_CC
+ 
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
new file mode 100644
index 0000000..c72936c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
@@ -0,0 +1,33 @@
+SUMMARY = "FUSE module for mounting an entire SMB/NMB network in a single directory"
+DESCRIPTION = "SMBNetFS is a Linux/FreeBSD filesystem that allow you to use \
+               samba/microsoft network in the same manner as the network \
+               neighborhood in Microsoft Windows. Please donate me to help \
+               in SMBNetFS development."
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+HOMEPAGE ="http://sourceforge.net/projects/smbnetfs"
+
+DEPENDS = "fuse samba"
+DEPENDS_append_libc-musl = " libexecinfo"
+
+# samba depends on libpam
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+inherit autotools gitpkgv pkgconfig
+
+PKGV = "${GITPKGVTAG}"
+
+SRCREV = "bc6b94b015fdaf7c4dab56ccb996eecea8bc4373"
+
+SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master \
+           file://configure.patch \
+           file://Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libsecret] = "--with-libsecret=yes,--with-libsecret=no,libsecret"
+
+S = "${WORKDIR}/git"
+
+LDFLAGS_append_libc-musl = " -lexecinfo"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch
index 9efea80..6732dc4 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch
@@ -1,4 +1,4 @@
-From bb8801fb21ac8d73e3b1a11a8555aaf822182a51 Mon Sep 17 00:00:00 2001
+From daf04dc9ca1f2e4c65ec338ab439e0a792e1a8ac Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 5 Sep 2017 10:36:52 -0700
 Subject: [PATCH] libau: Define STRIP weakly
@@ -6,10 +6,11 @@
 STRIP can be set on environment to use cross version of strip utility
 hardcoding to strip is not working in cross environment
 
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
 Upstream-Status: Submitted
 
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
  libau/Makefile | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
@@ -34,6 +35,3 @@
  #	readelf --syms --use-dynamic libau.so
  
  install_ulib: File = ${LibSo}.${LibSoMajor}.${LibSoMinor}
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch
index 5c35586..c832696 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch
@@ -1,3 +1,6 @@
+From 13a60c631d7cf6c7e1926473d8069795c0def9b6 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 19 Jun 2014 15:09:56 +0100
 Subject: [PATCH] aufs-util: add tool concept to Makefile for cross compiling
  purpose
 
@@ -7,23 +10,21 @@
 Upstream-Status: Pending
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
- Makefile |    2 +-
+ Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index 2f905ad..49c3cd5 100644
+index dbbe43d..aff969e 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -85,7 +85,7 @@ aufs.5: aufs.in.5 c2tmac
+@@ -152,7 +152,7 @@ aufs.5: aufs.in.5 c2tmac
  	chmod a-w $@
  
  c2sh c2tmac ver: CC = ${HOSTCC}
 -.INTERMEDIATE: c2sh c2tmac ver
 +tools: c2sh c2tmac ver
  
- Install = install -o root -g root -p
- install_sbin: File = auibusy auplink mount.aufs umount.aufs
--- 
-1.7.9.5
-
+ install_sbin: File = auibusy aumvdown auplink mount.aufs umount.aufs
+ ifeq (${Glibc},no)
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch
index fe2a6a5..b40822c 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch
@@ -1,4 +1,4 @@
-From 244863eca77fcaa1187884836c3e28d6b6d1504a Mon Sep 17 00:00:00 2001
+From 9d5e7eff4ae906f1ea6e6527080fded0b595fbd4 Mon Sep 17 00:00:00 2001
 From: Bruce Ashfield <bruce.ashfield@windriver.com>
 Date: Tue, 9 Apr 2013 18:50:34 -0700
 Subject: [PATCH] aufs-util: don't strip executables
@@ -14,16 +14,19 @@
 
 To prevent this, we remove -s from LDFLAGS.
 
+Upstream-Status: Inappropriate [oe specific]
+
 Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
+
 ---
- Makefile |    2 +-
+ Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index 2f905ad..e0c6dcd 100644
+index 54f8d97..dbbe43d 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -56,7 +56,7 @@ all: ver_test ${Man} ${Bin} ${Etc}
+@@ -118,7 +118,7 @@ clean:
  ver_test: ver
  	./ver
  
@@ -32,6 +35,3 @@
  ${Bin}: LDLIBS = -L. -lautil
  ${BinObj}: %.o: %.c ${LibUtilHdr} ${LibUtil}
  
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb
index 0ac991b..39f1189 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb
@@ -34,6 +34,8 @@
 
 do_configure () {
     export DEBUG="-DNDEBUG"
+    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
     oe_runconf
 }
 
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch
new file mode 100644
index 0000000..d8ff555
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch
@@ -0,0 +1,82 @@
+From ae7172194d3fbb563ff8bbe7c02d34f1bd0e5ec9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Jan 2018 21:28:53 -0800
+Subject: [PATCH] build: Check for sync_file_range libc function
+
+glibc 2.27 now has sync_file_range()
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ include/builddefs.in | 1 +
+ io/Makefile          | 5 ++++-
+ io/io.h              | 2 +-
+ io/sync_file_range.c | 3 +++
+ 4 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/include/builddefs.in b/include/builddefs.in
+index 92d5076..504225a 100644
+--- a/include/builddefs.in
++++ b/include/builddefs.in
+@@ -105,6 +105,7 @@ HAVE_FIEMAP = @have_fiemap@
+ HAVE_PREADV = @have_preadv@
+ HAVE_PWRITEV2 = @have_pwritev2@
+ HAVE_COPY_FILE_RANGE = @have_copy_file_range@
++HAVE_NR_COPY_FILE_RANGE = @have_nr_copy_file_range@
+ HAVE_SYNC_FILE_RANGE = @have_sync_file_range@
+ HAVE_SYNCFS = @have_syncfs@
+ HAVE_READDIR = @have_readdir@
+diff --git a/io/Makefile b/io/Makefile
+index 6725936..1876e95 100644
+--- a/io/Makefile
++++ b/io/Makefile
+@@ -59,10 +59,13 @@ CFILES += inject.c resblks.c
+ LCFLAGS += -DHAVE_INJECT -DHAVE_RESBLKS
+ endif
+ 
+-ifeq ($(HAVE_COPY_FILE_RANGE),yes)
++ifeq ($(HAVE_NR_COPY_FILE_RANGE),yes)
+ CFILES += copy_file_range.c
++LCFLAGS += -DHAVE_NR_COPY_FILE_RANGE
++ifeq ($(HAVE_COPY_FILE_RANGE),yes)
+ LCFLAGS += -DHAVE_COPY_FILE_RANGE
+ endif
++endif
+ 
+ ifeq ($(HAVE_SYNC_FILE_RANGE),yes)
+ CFILES += sync_file_range.c
+diff --git a/io/io.h b/io/io.h
+index 3862985..79ddc7b 100644
+--- a/io/io.h
++++ b/io/io.h
+@@ -158,7 +158,7 @@ extern void		fiemap_init(void);
+ #define fiemap_init()	do { } while (0)
+ #endif
+ 
+-#ifdef HAVE_COPY_FILE_RANGE
++#if defined(HAVE_NR_COPY_FILE_RANGE) && !defined(HAVE_COPY_FILE_RANGE)
+ extern void		copy_range_init(void);
+ #else
+ #define copy_range_init()	do { } while (0)
+diff --git a/io/sync_file_range.c b/io/sync_file_range.c
+index 7e4f3e6..aafea01 100644
+--- a/io/sync_file_range.c
++++ b/io/sync_file_range.c
+@@ -16,6 +16,7 @@
+  * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+  */
+ 
++#ifndef HAVE_COPY_FILE_RANGE
+ #include "command.h"
+ #include "input.h"
+ #include "init.h"
+@@ -104,3 +105,5 @@ sync_range_init(void)
+ 
+ 	add_command(&sync_range_cmd);
+ }
++
++#endif
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfs-remove-double-underscore-integer-types.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfs-remove-double-underscore-integer-types.patch
deleted file mode 100644
index a47c487..0000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfs-remove-double-underscore-integer-types.patch
+++ /dev/null
@@ -1,2082 +0,0 @@
-From 4a492e72515509ee702286a42afe7d8f89d37636 Mon Sep 17 00:00:00 2001
-From: "Darrick J. Wong" <darrick.wong@oracle.com>
-Date: Mon, 31 Jul 2017 15:08:10 -0500
-Subject: [PATCH] xfs: remove double-underscore integer types
-
-Source kernel commit: c8ce540db5f67d254aafb14b5d76422c62a906df
-
-This is a purely mechanical patch that removes the private
-__{u,}int{8,16,32,64}_t typedefs in favor of using the system
-{u,}int{8,16,32,64}_t typedefs.  This is the sed script used to perform
-the transformation and fix the resulting whitespace and indentation
-errors:
-
-s/typedef\t__uint8_t/typedef __uint8_t\t/g
-s/typedef\t__uint/typedef __uint/g
-s/typedef\t__int\([0-9]*\)_t/typedef int\1_t\t/g
-s/__uint8_t\t/__uint8_t\t\t/g
-s/__uint/uint/g
-s/__int\([0-9]*\)_t\t/__int\1_t\t\t/g
-s/__int/int/g
-/^typedef.*int[0-9]*_t;$/d
-
-Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
-Reviewed-by: Christoph Hellwig <hch@lst.de>
-Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
----
- libxfs/libxfs_priv.h        |   1 +
- libxfs/xfs_alloc_btree.c    |  20 ++--
- libxfs/xfs_attr_remote.c    |   8 +-
- libxfs/xfs_attr_sf.h        |  10 +-
- libxfs/xfs_bit.h            |  24 ++---
- libxfs/xfs_bmap_btree.c     |   8 +-
- libxfs/xfs_btree.c          |  22 ++--
- libxfs/xfs_btree.h          |  18 ++--
- libxfs/xfs_cksum.h          |  16 +--
- libxfs/xfs_da_btree.c       |   2 +-
- libxfs/xfs_da_btree.h       |   8 +-
- libxfs/xfs_da_format.c      |  28 ++---
- libxfs/xfs_da_format.h      |  64 +++++------
- libxfs/xfs_dir2.h           |   8 +-
- libxfs/xfs_dir2_leaf.c      |  12 +--
- libxfs/xfs_dir2_priv.h      |   2 +-
- libxfs/xfs_dir2_sf.c        |   4 +-
- libxfs/xfs_format.h         | 112 +++++++++----------
- libxfs/xfs_fs.h             |  12 +--
- libxfs/xfs_ialloc.c         |   6 +-
- libxfs/xfs_ialloc_btree.c   |   4 +-
- libxfs/xfs_inode_buf.c      |   2 +-
- libxfs/xfs_inode_buf.h      |  28 ++---
- libxfs/xfs_log_format.h     | 256 ++++++++++++++++++++++----------------------
- libxfs/xfs_quota_defs.h     |   4 +-
- libxfs/xfs_refcount_btree.c |   8 +-
- libxfs/xfs_rmap.c           |   8 +-
- libxfs/xfs_rmap.h           |   8 +-
- libxfs/xfs_rmap_btree.c     |  30 +++---
- libxfs/xfs_rtbitmap.c       |   2 +-
- libxfs/xfs_sb.c             |   4 +-
- libxfs/xfs_types.h          |  46 ++++----
- 32 files changed, 393 insertions(+), 392 deletions(-)
-
-diff --git a/libxfs/libxfs_priv.h b/libxfs/libxfs_priv.h
-index 0b4c4890..b3cc7e53 100644
---- a/libxfs/libxfs_priv.h
-+++ b/libxfs/libxfs_priv.h
-@@ -504,5 +504,6 @@ bool xfs_log_check_lsn(struct xfs_mount *, xfs_lsn_t);
- #define XFS_STATS_INC_OFF(mp, off)
- #define XFS_STATS_ADD_OFF(mp, off, val)
- 
-+typedef unsigned char u8;
- 
- #endif	/* __LIBXFS_INTERNAL_XFS_H__ */
-diff --git a/libxfs/xfs_alloc_btree.c b/libxfs/xfs_alloc_btree.c
-index e11d89a3..8e77e6e3 100644
---- a/libxfs/xfs_alloc_btree.c
-+++ b/libxfs/xfs_alloc_btree.c
-@@ -251,7 +251,7 @@ xfs_allocbt_init_ptr_from_cur(
- 	ptr->s = agf->agf_roots[cur->bc_btnum];
- }
- 
--STATIC __int64_t
-+STATIC int64_t
- xfs_bnobt_key_diff(
- 	struct xfs_btree_cur	*cur,
- 	union xfs_btree_key	*key)
-@@ -259,42 +259,42 @@ xfs_bnobt_key_diff(
- 	xfs_alloc_rec_incore_t	*rec = &cur->bc_rec.a;
- 	xfs_alloc_key_t		*kp = &key->alloc;
- 
--	return (__int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock;
-+	return (int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock;
- }
- 
--STATIC __int64_t
-+STATIC int64_t
- xfs_cntbt_key_diff(
- 	struct xfs_btree_cur	*cur,
- 	union xfs_btree_key	*key)
- {
- 	xfs_alloc_rec_incore_t	*rec = &cur->bc_rec.a;
- 	xfs_alloc_key_t		*kp = &key->alloc;
--	__int64_t		diff;
-+	int64_t			diff;
- 
--	diff = (__int64_t)be32_to_cpu(kp->ar_blockcount) - rec->ar_blockcount;
-+	diff = (int64_t)be32_to_cpu(kp->ar_blockcount) - rec->ar_blockcount;
- 	if (diff)
- 		return diff;
- 
--	return (__int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock;
-+	return (int64_t)be32_to_cpu(kp->ar_startblock) - rec->ar_startblock;
- }
- 
--STATIC __int64_t
-+STATIC int64_t
- xfs_bnobt_diff_two_keys(
- 	struct xfs_btree_cur	*cur,
- 	union xfs_btree_key	*k1,
- 	union xfs_btree_key	*k2)
- {
--	return (__int64_t)be32_to_cpu(k1->alloc.ar_startblock) -
-+	return (int64_t)be32_to_cpu(k1->alloc.ar_startblock) -
- 			  be32_to_cpu(k2->alloc.ar_startblock);
- }
- 
--STATIC __int64_t
-+STATIC int64_t
- xfs_cntbt_diff_two_keys(
- 	struct xfs_btree_cur	*cur,
- 	union xfs_btree_key	*k1,
- 	union xfs_btree_key	*k2)
- {
--	__int64_t		diff;
-+	int64_t			diff;
- 
- 	diff =  be32_to_cpu(k1->alloc.ar_blockcount) -
- 		be32_to_cpu(k2->alloc.ar_blockcount);
-diff --git a/libxfs/xfs_attr_remote.c b/libxfs/xfs_attr_remote.c
-index abe17052..1f25e363 100644
---- a/libxfs/xfs_attr_remote.c
-+++ b/libxfs/xfs_attr_remote.c
-@@ -248,7 +248,7 @@ xfs_attr_rmtval_copyout(
- 	xfs_ino_t	ino,
- 	int		*offset,
- 	int		*valuelen,
--	__uint8_t	**dst)
-+	uint8_t		**dst)
- {
- 	char		*src = bp->b_addr;
- 	xfs_daddr_t	bno = bp->b_bn;
-@@ -296,7 +296,7 @@ xfs_attr_rmtval_copyin(
- 	xfs_ino_t	ino,
- 	int		*offset,
- 	int		*valuelen,
--	__uint8_t	**src)
-+	uint8_t		**src)
- {
- 	char		*dst = bp->b_addr;
- 	xfs_daddr_t	bno = bp->b_bn;
-@@ -350,7 +350,7 @@ xfs_attr_rmtval_get(
- 	struct xfs_mount	*mp = args->dp->i_mount;
- 	struct xfs_buf		*bp;
- 	xfs_dablk_t		lblkno = args->rmtblkno;
--	__uint8_t		*dst = args->value;
-+	uint8_t			*dst = args->value;
- 	int			valuelen;
- 	int			nmap;
- 	int			error;
-@@ -416,7 +416,7 @@ xfs_attr_rmtval_set(
- 	struct xfs_bmbt_irec	map;
- 	xfs_dablk_t		lblkno;
- 	xfs_fileoff_t		lfileoff = 0;
--	__uint8_t		*src = args->value;
-+	uint8_t			*src = args->value;
- 	int			blkcnt;
- 	int			valuelen;
- 	int			nmap;
-diff --git a/libxfs/xfs_attr_sf.h b/libxfs/xfs_attr_sf.h
-index 90928bbe..afd684ae 100644
---- a/libxfs/xfs_attr_sf.h
-+++ b/libxfs/xfs_attr_sf.h
-@@ -31,10 +31,10 @@ typedef struct xfs_attr_sf_entry xfs_attr_sf_entry_t;
-  * We generate this then sort it, attr_list() must return things in hash-order.
-  */
- typedef struct xfs_attr_sf_sort {
--	__uint8_t	entno;		/* entry number in original list */
--	__uint8_t	namelen;	/* length of name value (no null) */
--	__uint8_t	valuelen;	/* length of value */
--	__uint8_t	flags;		/* flags bits (see xfs_attr_leaf.h) */
-+	uint8_t		entno;		/* entry number in original list */
-+	uint8_t		namelen;	/* length of name value (no null) */
-+	uint8_t		valuelen;	/* length of value */
-+	uint8_t		flags;		/* flags bits (see xfs_attr_leaf.h) */
- 	xfs_dahash_t	hash;		/* this entry's hash value */
- 	unsigned char	*name;		/* name value, pointer into buffer */
- } xfs_attr_sf_sort_t;
-@@ -42,7 +42,7 @@ typedef struct xfs_attr_sf_sort {
- #define XFS_ATTR_SF_ENTSIZE_BYNAME(nlen,vlen)	/* space name/value uses */ \
- 	(((int)sizeof(xfs_attr_sf_entry_t)-1 + (nlen)+(vlen)))
- #define XFS_ATTR_SF_ENTSIZE_MAX			/* max space for name&value */ \
--	((1 << (NBBY*(int)sizeof(__uint8_t))) - 1)
-+	((1 << (NBBY*(int)sizeof(uint8_t))) - 1)
- #define XFS_ATTR_SF_ENTSIZE(sfep)		/* space an entry uses */ \
- 	((int)sizeof(xfs_attr_sf_entry_t)-1 + (sfep)->namelen+(sfep)->valuelen)
- #define XFS_ATTR_SF_NEXTENTRY(sfep)		/* next entry in struct */ \
-diff --git a/libxfs/xfs_bit.h b/libxfs/xfs_bit.h
-index e1649c0d..61c6b202 100644
---- a/libxfs/xfs_bit.h
-+++ b/libxfs/xfs_bit.h
-@@ -25,47 +25,47 @@
- /*
-  * masks with n high/low bits set, 64-bit values
-  */
--static inline __uint64_t xfs_mask64hi(int n)
-+static inline uint64_t xfs_mask64hi(int n)
- {
--	return (__uint64_t)-1 << (64 - (n));
-+	return (uint64_t)-1 << (64 - (n));
- }
--static inline __uint32_t xfs_mask32lo(int n)
-+static inline uint32_t xfs_mask32lo(int n)
- {
--	return ((__uint32_t)1 << (n)) - 1;
-+	return ((uint32_t)1 << (n)) - 1;
- }
--static inline __uint64_t xfs_mask64lo(int n)
-+static inline uint64_t xfs_mask64lo(int n)
- {
--	return ((__uint64_t)1 << (n)) - 1;
-+	return ((uint64_t)1 << (n)) - 1;
- }
- 
- /* Get high bit set out of 32-bit argument, -1 if none set */
--static inline int xfs_highbit32(__uint32_t v)
-+static inline int xfs_highbit32(uint32_t v)
- {
- 	return fls(v) - 1;
- }
- 
- /* Get high bit set out of 64-bit argument, -1 if none set */
--static inline int xfs_highbit64(__uint64_t v)
-+static inline int xfs_highbit64(uint64_t v)
- {
- 	return fls64(v) - 1;
- }
- 
- /* Get low bit set out of 32-bit argument, -1 if none set */
--static inline int xfs_lowbit32(__uint32_t v)
-+static inline int xfs_lowbit32(uint32_t v)
- {
- 	return ffs(v) - 1;
- }
- 
- /* Get low bit set out of 64-bit argument, -1 if none set */
--static inline int xfs_lowbit64(__uint64_t v)
-+static inline int xfs_lowbit64(uint64_t v)
- {
--	__uint32_t	w = (__uint32_t)v;
-+	uint32_t	w = (uint32_t)v;
- 	int		n = 0;
- 
- 	if (w) {	/* lower bits */
- 		n = ffs(w);
- 	} else {	/* upper bits */
--		w = (__uint32_t)(v >> 32);
-+		w = (uint32_t)(v >> 32);
- 		if (w) {
- 			n = ffs(w);
- 			if (n)
-diff --git a/libxfs/xfs_bmap_btree.c b/libxfs/xfs_bmap_btree.c
-index c48cbec1..9ee40d8b 100644
---- a/libxfs/xfs_bmap_btree.c
-+++ b/libxfs/xfs_bmap_btree.c
-@@ -91,8 +91,8 @@ xfs_bmdr_to_bmbt(
-  */
- STATIC void
- __xfs_bmbt_get_all(
--		__uint64_t l0,
--		__uint64_t l1,
-+		uint64_t l0,
-+		uint64_t l1,
- 		xfs_bmbt_irec_t *s)
- {
- 	int	ext_flag;
-@@ -585,12 +585,12 @@ xfs_bmbt_init_ptr_from_cur(
- 	ptr->l = 0;
- }
- 
--STATIC __int64_t
-+STATIC int64_t
- xfs_bmbt_key_diff(
- 	struct xfs_btree_cur	*cur,
- 	union xfs_btree_key	*key)
- {
--	return (__int64_t)be64_to_cpu(key->bmbt.br_startoff) -
-+	return (int64_t)be64_to_cpu(key->bmbt.br_startoff) -
- 				      cur->bc_rec.b.br_startoff;
- }
- 
-diff --git a/libxfs/xfs_btree.c b/libxfs/xfs_btree.c
-index 3d293520..56b50a5b 100644
---- a/libxfs/xfs_btree.c
-+++ b/libxfs/xfs_btree.c
-@@ -39,7 +39,7 @@ kmem_zone_t	*xfs_btree_cur_zone;
- /*
-  * Btree magic numbers.
-  */
--static const __uint32_t xfs_magics[2][XFS_BTNUM_MAX] = {
-+static const uint32_t xfs_magics[2][XFS_BTNUM_MAX] = {
- 	{ XFS_ABTB_MAGIC, XFS_ABTC_MAGIC, 0, XFS_BMAP_MAGIC, XFS_IBT_MAGIC,
- 	  XFS_FIBT_MAGIC, 0 },
- 	{ XFS_ABTB_CRC_MAGIC, XFS_ABTC_CRC_MAGIC, XFS_RMAP_CRC_MAGIC,
-@@ -47,12 +47,12 @@ static const __uint32_t xfs_magics[2][XFS_BTNUM_MAX] = {
- 	  XFS_REFC_CRC_MAGIC }
- };
- 
--__uint32_t
-+uint32_t
- xfs_btree_magic(
- 	int			crc,
- 	xfs_btnum_t		btnum)
- {
--	__uint32_t		magic = xfs_magics[crc][btnum];
-+	uint32_t		magic = xfs_magics[crc][btnum];
- 
- 	/* Ensure we asked for crc for crc-only magics. */
- 	ASSERT(magic != 0);
-@@ -774,14 +774,14 @@ xfs_btree_lastrec(
-  */
- void
- xfs_btree_offsets(
--	__int64_t	fields,		/* bitmask of fields */
-+	int64_t		fields,		/* bitmask of fields */
- 	const short	*offsets,	/* table of field offsets */
- 	int		nbits,		/* number of bits to inspect */
- 	int		*first,		/* output: first byte offset */
- 	int		*last)		/* output: last byte offset */
- {
- 	int		i;		/* current bit number */
--	__int64_t	imask;		/* mask for current bit number */
-+	int64_t		imask;		/* mask for current bit number */
- 
- 	ASSERT(fields != 0);
- 	/*
-@@ -1842,7 +1842,7 @@ xfs_btree_lookup(
- 	int			*stat)	/* success/failure */
- {
- 	struct xfs_btree_block	*block;	/* current btree block */
--	__int64_t		diff;	/* difference for the current key */
-+	int64_t			diff;	/* difference for the current key */
- 	int			error;	/* error return value */
- 	int			keyno;	/* current key number */
- 	int			level;	/* level in the btree */
-@@ -4435,7 +4435,7 @@ xfs_btree_visit_blocks(
-  * recovery completion writes the changes to disk.
-  */
- struct xfs_btree_block_change_owner_info {
--	__uint64_t		new_owner;
-+	uint64_t		new_owner;
- 	struct list_head	*buffer_list;
- };
- 
-@@ -4481,7 +4481,7 @@ xfs_btree_block_change_owner(
- int
- xfs_btree_change_owner(
- 	struct xfs_btree_cur	*cur,
--	__uint64_t		new_owner,
-+	uint64_t		new_owner,
- 	struct list_head	*buffer_list)
- {
- 	struct xfs_btree_block_change_owner_info	bbcoi;
-@@ -4585,7 +4585,7 @@ xfs_btree_simple_query_range(
- {
- 	union xfs_btree_rec		*recp;
- 	union xfs_btree_key		rec_key;
--	__int64_t			diff;
-+	int64_t				diff;
- 	int				stat;
- 	bool				firstrec = true;
- 	int				error;
-@@ -4682,8 +4682,8 @@ xfs_btree_overlapped_query_range(
- 	union xfs_btree_key		*hkp;
- 	union xfs_btree_rec		*recp;
- 	struct xfs_btree_block		*block;
--	__int64_t			ldiff;
--	__int64_t			hdiff;
-+	int64_t				ldiff;
-+	int64_t				hdiff;
- 	int				level;
- 	struct xfs_buf			*bp;
- 	int				i;
-diff --git a/libxfs/xfs_btree.h b/libxfs/xfs_btree.h
-index 05cf35b5..3c1fed23 100644
---- a/libxfs/xfs_btree.h
-+++ b/libxfs/xfs_btree.h
-@@ -76,7 +76,7 @@ union xfs_btree_rec {
- #define	XFS_BTNUM_RMAP	((xfs_btnum_t)XFS_BTNUM_RMAPi)
- #define	XFS_BTNUM_REFC	((xfs_btnum_t)XFS_BTNUM_REFCi)
- 
--__uint32_t xfs_btree_magic(int crc, xfs_btnum_t btnum);
-+uint32_t xfs_btree_magic(int crc, xfs_btnum_t btnum);
- 
- /*
-  * For logging record fields.
-@@ -150,14 +150,14 @@ struct xfs_btree_ops {
- 					  union xfs_btree_rec *rec);
- 
- 	/* difference between key value and cursor value */
--	__int64_t (*key_diff)(struct xfs_btree_cur *cur,
-+	int64_t (*key_diff)(struct xfs_btree_cur *cur,
- 			      union xfs_btree_key *key);
- 
- 	/*
- 	 * Difference between key2 and key1 -- positive if key1 > key2,
- 	 * negative if key1 < key2, and zero if equal.
- 	 */
--	__int64_t (*diff_two_keys)(struct xfs_btree_cur *cur,
-+	int64_t (*diff_two_keys)(struct xfs_btree_cur *cur,
- 				   union xfs_btree_key *key1,
- 				   union xfs_btree_key *key2);
- 
-@@ -213,11 +213,11 @@ typedef struct xfs_btree_cur
- 	union xfs_btree_irec	bc_rec;	/* current insert/search record value */
- 	struct xfs_buf	*bc_bufs[XFS_BTREE_MAXLEVELS];	/* buf ptr per level */
- 	int		bc_ptrs[XFS_BTREE_MAXLEVELS];	/* key/record # */
--	__uint8_t	bc_ra[XFS_BTREE_MAXLEVELS];	/* readahead bits */
-+	uint8_t		bc_ra[XFS_BTREE_MAXLEVELS];	/* readahead bits */
- #define	XFS_BTCUR_LEFTRA	1	/* left sibling has been read-ahead */
- #define	XFS_BTCUR_RIGHTRA	2	/* right sibling has been read-ahead */
--	__uint8_t	bc_nlevels;	/* number of levels in the tree */
--	__uint8_t	bc_blocklog;	/* log2(blocksize) of btree blocks */
-+	uint8_t		bc_nlevels;	/* number of levels in the tree */
-+	uint8_t		bc_blocklog;	/* log2(blocksize) of btree blocks */
- 	xfs_btnum_t	bc_btnum;	/* identifies which btree type */
- 	int		bc_statoff;	/* offset of btre stats array */
- 	union {
-@@ -330,7 +330,7 @@ xfs_btree_islastblock(
-  */
- void
- xfs_btree_offsets(
--	__int64_t		fields,	/* bitmask of fields */
-+	int64_t			fields,	/* bitmask of fields */
- 	const short		*offsets,/* table of field offsets */
- 	int			nbits,	/* number of bits to inspect */
- 	int			*first,	/* output: first byte offset */
-@@ -408,7 +408,7 @@ int xfs_btree_new_iroot(struct xfs_btree_cur *, int *, int *);
- int xfs_btree_insert(struct xfs_btree_cur *, int *);
- int xfs_btree_delete(struct xfs_btree_cur *, int *);
- int xfs_btree_get_rec(struct xfs_btree_cur *, union xfs_btree_rec **, int *);
--int xfs_btree_change_owner(struct xfs_btree_cur *cur, __uint64_t new_owner,
-+int xfs_btree_change_owner(struct xfs_btree_cur *cur, uint64_t new_owner,
- 			   struct list_head *buffer_list);
- 
- /*
-@@ -434,7 +434,7 @@ static inline int xfs_btree_get_numrecs(struct xfs_btree_block *block)
- }
- 
- static inline void xfs_btree_set_numrecs(struct xfs_btree_block *block,
--		__uint16_t numrecs)
-+		uint16_t numrecs)
- {
- 	block->bb_numrecs = cpu_to_be16(numrecs);
- }
-diff --git a/libxfs/xfs_cksum.h b/libxfs/xfs_cksum.h
-index a416c7cb..8211f48b 100644
---- a/libxfs/xfs_cksum.h
-+++ b/libxfs/xfs_cksum.h
-@@ -1,7 +1,7 @@
- #ifndef _XFS_CKSUM_H
- #define _XFS_CKSUM_H 1
- 
--#define XFS_CRC_SEED	(~(__uint32_t)0)
-+#define XFS_CRC_SEED	(~(uint32_t)0)
- 
- /*
-  * Calculate the intermediate checksum for a buffer that has the CRC field
-@@ -9,11 +9,11 @@
-  * cksum_offset parameter. We do not modify the buffer during verification,
-  * hence we have to split the CRC calculation across the cksum_offset.
-  */
--static inline __uint32_t
-+static inline uint32_t
- xfs_start_cksum_safe(char *buffer, size_t length, unsigned long cksum_offset)
- {
--	__uint32_t zero = 0;
--	__uint32_t crc;
-+	uint32_t zero = 0;
-+	uint32_t crc;
- 
- 	/* Calculate CRC up to the checksum. */
- 	crc = crc32c(XFS_CRC_SEED, buffer, cksum_offset);
-@@ -30,7 +30,7 @@ xfs_start_cksum_safe(char *buffer, size_t length, unsigned long cksum_offset)
-  * Fast CRC method where the buffer is modified. Callers must have exclusive
-  * access to the buffer while the calculation takes place.
-  */
--static inline __uint32_t
-+static inline uint32_t
- xfs_start_cksum_update(char *buffer, size_t length, unsigned long cksum_offset)
- {
- 	/* zero the CRC field */
-@@ -48,7 +48,7 @@ xfs_start_cksum_update(char *buffer, size_t length, unsigned long cksum_offset)
-  * so that it is consistent on disk.
-  */
- static inline __le32
--xfs_end_cksum(__uint32_t crc)
-+xfs_end_cksum(uint32_t crc)
- {
- 	return ~cpu_to_le32(crc);
- }
-@@ -62,7 +62,7 @@ xfs_end_cksum(__uint32_t crc)
- static inline void
- xfs_update_cksum(char *buffer, size_t length, unsigned long cksum_offset)
- {
--	__uint32_t crc = xfs_start_cksum_update(buffer, length, cksum_offset);
-+	uint32_t crc = xfs_start_cksum_update(buffer, length, cksum_offset);
- 
- 	*(__le32 *)(buffer + cksum_offset) = xfs_end_cksum(crc);
- }
-@@ -73,7 +73,7 @@ xfs_update_cksum(char *buffer, size_t length, unsigned long cksum_offset)
- static inline int
- xfs_verify_cksum(char *buffer, size_t length, unsigned long cksum_offset)
- {
--	__uint32_t crc = xfs_start_cksum_safe(buffer, length, cksum_offset);
-+	uint32_t crc = xfs_start_cksum_safe(buffer, length, cksum_offset);
- 
- 	return *(__le32 *)(buffer + cksum_offset) == xfs_end_cksum(crc);
- }
-diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c
-index bc12f58f..08447be8 100644
---- a/libxfs/xfs_da_btree.c
-+++ b/libxfs/xfs_da_btree.c
-@@ -1947,7 +1947,7 @@ xfs_da3_path_shift(
-  * This is implemented with some source-level loop unrolling.
-  */
- xfs_dahash_t
--xfs_da_hashname(const __uint8_t *name, int namelen)
-+xfs_da_hashname(const uint8_t *name, int namelen)
- {
- 	xfs_dahash_t hash;
- 
-diff --git a/libxfs/xfs_da_btree.h b/libxfs/xfs_da_btree.h
-index 4e29cb6a..ae6de174 100644
---- a/libxfs/xfs_da_btree.h
-+++ b/libxfs/xfs_da_btree.h
-@@ -60,10 +60,10 @@ enum xfs_dacmp {
-  */
- typedef struct xfs_da_args {
- 	struct xfs_da_geometry *geo;	/* da block geometry */
--	const __uint8_t	*name;		/* string (maybe not NULL terminated) */
-+	const uint8_t		*name;		/* string (maybe not NULL terminated) */
- 	int		namelen;	/* length of string (maybe no NULL) */
--	__uint8_t	filetype;	/* filetype of inode for directories */
--	__uint8_t	*value;		/* set of bytes (maybe contain NULLs) */
-+	uint8_t		filetype;	/* filetype of inode for directories */
-+	uint8_t		*value;		/* set of bytes (maybe contain NULLs) */
- 	int		valuelen;	/* length of value */
- 	int		flags;		/* argument flags (eg: ATTR_NOCREATE) */
- 	xfs_dahash_t	hashval;	/* hash value of name */
-@@ -207,7 +207,7 @@ int	xfs_da_reada_buf(struct xfs_inode *dp, xfs_dablk_t bno,
- int	xfs_da_shrink_inode(xfs_da_args_t *args, xfs_dablk_t dead_blkno,
- 					  struct xfs_buf *dead_buf);
- 
--uint xfs_da_hashname(const __uint8_t *name_string, int name_length);
-+uint xfs_da_hashname(const uint8_t *name_string, int name_length);
- enum xfs_dacmp xfs_da_compname(struct xfs_da_args *args,
- 				const unsigned char *name, int len);
- 
-diff --git a/libxfs/xfs_da_format.c b/libxfs/xfs_da_format.c
-index 2b732b3c..f30004f6 100644
---- a/libxfs/xfs_da_format.c
-+++ b/libxfs/xfs_da_format.c
-@@ -49,7 +49,7 @@ xfs_dir3_sf_entsize(
- 	struct xfs_dir2_sf_hdr	*hdr,
- 	int			len)
- {
--	return xfs_dir2_sf_entsize(hdr, len) + sizeof(__uint8_t);
-+	return xfs_dir2_sf_entsize(hdr, len) + sizeof(uint8_t);
- }
- 
- static struct xfs_dir2_sf_entry *
-@@ -77,7 +77,7 @@ xfs_dir3_sf_nextentry(
-  * not necessary. For non-filetype enable directories, the type is always
-  * unknown and we never store the value.
-  */
--static __uint8_t
-+static uint8_t
- xfs_dir2_sfe_get_ftype(
- 	struct xfs_dir2_sf_entry *sfep)
- {
-@@ -87,16 +87,16 @@ xfs_dir2_sfe_get_ftype(
- static void
- xfs_dir2_sfe_put_ftype(
- 	struct xfs_dir2_sf_entry *sfep,
--	__uint8_t		ftype)
-+	uint8_t			ftype)
- {
- 	ASSERT(ftype < XFS_DIR3_FT_MAX);
- }
- 
--static __uint8_t
-+static uint8_t
- xfs_dir3_sfe_get_ftype(
- 	struct xfs_dir2_sf_entry *sfep)
- {
--	__uint8_t	ftype;
-+	uint8_t		ftype;
- 
- 	ftype = sfep->name[sfep->namelen];
- 	if (ftype >= XFS_DIR3_FT_MAX)
-@@ -107,7 +107,7 @@ xfs_dir3_sfe_get_ftype(
- static void
- xfs_dir3_sfe_put_ftype(
- 	struct xfs_dir2_sf_entry *sfep,
--	__uint8_t		ftype)
-+	uint8_t			ftype)
- {
- 	ASSERT(ftype < XFS_DIR3_FT_MAX);
- 
-@@ -124,7 +124,7 @@ xfs_dir3_sfe_put_ftype(
- static xfs_ino_t
- xfs_dir2_sf_get_ino(
- 	struct xfs_dir2_sf_hdr	*hdr,
--	__uint8_t		*from)
-+	uint8_t			*from)
- {
- 	if (hdr->i8count)
- 		return get_unaligned_be64(from) & 0x00ffffffffffffffULL;
-@@ -135,7 +135,7 @@ xfs_dir2_sf_get_ino(
- static void
- xfs_dir2_sf_put_ino(
- 	struct xfs_dir2_sf_hdr	*hdr,
--	__uint8_t		*to,
-+	uint8_t			*to,
- 	xfs_ino_t		ino)
- {
- 	ASSERT((ino & 0xff00000000000000ULL) == 0);
-@@ -225,7 +225,7 @@ xfs_dir3_sfe_put_ino(
- 
- #define XFS_DIR3_DATA_ENTSIZE(n)					\
- 	round_up((offsetof(struct xfs_dir2_data_entry, name[0]) + (n) +	\
--		 sizeof(xfs_dir2_data_off_t) + sizeof(__uint8_t)),	\
-+		 sizeof(xfs_dir2_data_off_t) + sizeof(uint8_t)),	\
- 		XFS_DIR2_DATA_ALIGN)
- 
- static int
-@@ -242,7 +242,7 @@ xfs_dir3_data_entsize(
- 	return XFS_DIR3_DATA_ENTSIZE(n);
- }
- 
--static __uint8_t
-+static uint8_t
- xfs_dir2_data_get_ftype(
- 	struct xfs_dir2_data_entry *dep)
- {
-@@ -252,16 +252,16 @@ xfs_dir2_data_get_ftype(
- static void
- xfs_dir2_data_put_ftype(
- 	struct xfs_dir2_data_entry *dep,
--	__uint8_t		ftype)
-+	uint8_t			ftype)
- {
- 	ASSERT(ftype < XFS_DIR3_FT_MAX);
- }
- 
--static __uint8_t
-+static uint8_t
- xfs_dir3_data_get_ftype(
- 	struct xfs_dir2_data_entry *dep)
- {
--	__uint8_t	ftype = dep->name[dep->namelen];
-+	uint8_t		ftype = dep->name[dep->namelen];
- 
- 	if (ftype >= XFS_DIR3_FT_MAX)
- 		return XFS_DIR3_FT_UNKNOWN;
-@@ -271,7 +271,7 @@ xfs_dir3_data_get_ftype(
- static void
- xfs_dir3_data_put_ftype(
- 	struct xfs_dir2_data_entry *dep,
--	__uint8_t		type)
-+	uint8_t			type)
- {
- 	ASSERT(type < XFS_DIR3_FT_MAX);
- 	ASSERT(dep->namelen != 0);
-diff --git a/libxfs/xfs_da_format.h b/libxfs/xfs_da_format.h
-index 9a492a9e..3771edcb 100644
---- a/libxfs/xfs_da_format.h
-+++ b/libxfs/xfs_da_format.h
-@@ -111,11 +111,11 @@ struct xfs_da3_intnode {
-  * appropriate.
-  */
- struct xfs_da3_icnode_hdr {
--	__uint32_t	forw;
--	__uint32_t	back;
--	__uint16_t	magic;
--	__uint16_t	count;
--	__uint16_t	level;
-+	uint32_t	forw;
-+	uint32_t	back;
-+	uint16_t	magic;
-+	uint16_t	count;
-+	uint16_t	level;
- };
- 
- /*
-@@ -187,14 +187,14 @@ struct xfs_da3_icnode_hdr {
- /*
-  * Byte offset in data block and shortform entry.
-  */
--typedef	__uint16_t	xfs_dir2_data_off_t;
-+typedef uint16_t	xfs_dir2_data_off_t;
- #define	NULLDATAOFF	0xffffU
- typedef uint		xfs_dir2_data_aoff_t;	/* argument form */
- 
- /*
-  * Offset in data space of a data entry.
-  */
--typedef	__uint32_t	xfs_dir2_dataptr_t;
-+typedef uint32_t	xfs_dir2_dataptr_t;
- #define	XFS_DIR2_MAX_DATAPTR	((xfs_dir2_dataptr_t)0xffffffff)
- #define	XFS_DIR2_NULL_DATAPTR	((xfs_dir2_dataptr_t)0)
- 
-@@ -206,7 +206,7 @@ typedef	xfs_off_t	xfs_dir2_off_t;
- /*
-  * Directory block number (logical dirblk in file)
-  */
--typedef	__uint32_t	xfs_dir2_db_t;
-+typedef uint32_t	xfs_dir2_db_t;
- 
- #define XFS_INO32_SIZE	4
- #define XFS_INO64_SIZE	8
-@@ -226,9 +226,9 @@ typedef	__uint32_t	xfs_dir2_db_t;
-  * over them.
-  */
- typedef struct xfs_dir2_sf_hdr {
--	__uint8_t		count;		/* count of entries */
--	__uint8_t		i8count;	/* count of 8-byte inode #s */
--	__uint8_t		parent[8];	/* parent dir inode number */
-+	uint8_t			count;		/* count of entries */
-+	uint8_t			i8count;	/* count of 8-byte inode #s */
-+	uint8_t			parent[8];	/* parent dir inode number */
- } __packed xfs_dir2_sf_hdr_t;
- 
- typedef struct xfs_dir2_sf_entry {
-@@ -447,11 +447,11 @@ struct xfs_dir3_leaf_hdr {
- };
- 
- struct xfs_dir3_icleaf_hdr {
--	__uint32_t		forw;
--	__uint32_t		back;
--	__uint16_t		magic;
--	__uint16_t		count;
--	__uint16_t		stale;
-+	uint32_t		forw;
-+	uint32_t		back;
-+	uint16_t		magic;
-+	uint16_t		count;
-+	uint16_t		stale;
- };
- 
- /*
-@@ -538,10 +538,10 @@ struct xfs_dir3_free {
-  * xfs_dir3_free_hdr_from_disk/xfs_dir3_free_hdr_to_disk.
-  */
- struct xfs_dir3_icfree_hdr {
--	__uint32_t	magic;
--	__uint32_t	firstdb;
--	__uint32_t	nvalid;
--	__uint32_t	nused;
-+	uint32_t	magic;
-+	uint32_t	firstdb;
-+	uint32_t	nvalid;
-+	uint32_t	nused;
- 
- };
- 
-@@ -632,10 +632,10 @@ typedef struct xfs_attr_shortform {
- 		__u8	padding;
- 	} hdr;
- 	struct xfs_attr_sf_entry {
--		__uint8_t namelen;	/* actual length of name (no NULL) */
--		__uint8_t valuelen;	/* actual length of value (no NULL) */
--		__uint8_t flags;	/* flags bits (see xfs_attr_leaf.h) */
--		__uint8_t nameval[1];	/* name & value bytes concatenated */
-+		uint8_t namelen;	/* actual length of name (no NULL) */
-+		uint8_t valuelen;	/* actual length of value (no NULL) */
-+		uint8_t flags;	/* flags bits (see xfs_attr_leaf.h) */
-+		uint8_t nameval[1];	/* name & value bytes concatenated */
- 	} list[1];			/* variable sized array */
- } xfs_attr_shortform_t;
- 
-@@ -725,22 +725,22 @@ struct xfs_attr3_leafblock {
-  * incore, neutral version of the attribute leaf header
-  */
- struct xfs_attr3_icleaf_hdr {
--	__uint32_t	forw;
--	__uint32_t	back;
--	__uint16_t	magic;
--	__uint16_t	count;
--	__uint16_t	usedbytes;
-+	uint32_t	forw;
-+	uint32_t	back;
-+	uint16_t	magic;
-+	uint16_t	count;
-+	uint16_t	usedbytes;
- 	/*
- 	 * firstused is 32-bit here instead of 16-bit like the on-disk variant
- 	 * to support maximum fsb size of 64k without overflow issues throughout
- 	 * the attr code. Instead, the overflow condition is handled on
- 	 * conversion to/from disk.
- 	 */
--	__uint32_t	firstused;
-+	uint32_t	firstused;
- 	__u8		holes;
- 	struct {
--		__uint16_t	base;
--		__uint16_t	size;
-+		uint16_t	base;
-+		uint16_t	size;
- 	} freemap[XFS_ATTR_LEAF_MAPSIZE];
- };
- 
-diff --git a/libxfs/xfs_dir2.h b/libxfs/xfs_dir2.h
-index d6e6d9d1..21c8f8bf 100644
---- a/libxfs/xfs_dir2.h
-+++ b/libxfs/xfs_dir2.h
-@@ -47,9 +47,9 @@ struct xfs_dir_ops {
- 	struct xfs_dir2_sf_entry *
- 		(*sf_nextentry)(struct xfs_dir2_sf_hdr *hdr,
- 				struct xfs_dir2_sf_entry *sfep);
--	__uint8_t (*sf_get_ftype)(struct xfs_dir2_sf_entry *sfep);
-+	uint8_t (*sf_get_ftype)(struct xfs_dir2_sf_entry *sfep);
- 	void	(*sf_put_ftype)(struct xfs_dir2_sf_entry *sfep,
--				__uint8_t ftype);
-+				uint8_t ftype);
- 	xfs_ino_t (*sf_get_ino)(struct xfs_dir2_sf_hdr *hdr,
- 				struct xfs_dir2_sf_entry *sfep);
- 	void	(*sf_put_ino)(struct xfs_dir2_sf_hdr *hdr,
-@@ -60,9 +60,9 @@ struct xfs_dir_ops {
- 				     xfs_ino_t ino);
- 
- 	int	(*data_entsize)(int len);
--	__uint8_t (*data_get_ftype)(struct xfs_dir2_data_entry *dep);
-+	uint8_t (*data_get_ftype)(struct xfs_dir2_data_entry *dep);
- 	void	(*data_put_ftype)(struct xfs_dir2_data_entry *dep,
--				__uint8_t ftype);
-+				uint8_t ftype);
- 	__be16 * (*data_entry_tag_p)(struct xfs_dir2_data_entry *dep);
- 	struct xfs_dir2_data_free *
- 		(*data_bestfree_p)(struct xfs_dir2_data_hdr *hdr);
-diff --git a/libxfs/xfs_dir2_leaf.c b/libxfs/xfs_dir2_leaf.c
-index f80d91fc..40a35b84 100644
---- a/libxfs/xfs_dir2_leaf.c
-+++ b/libxfs/xfs_dir2_leaf.c
-@@ -142,7 +142,7 @@ xfs_dir3_leaf_check_int(
- static bool
- xfs_dir3_leaf_verify(
- 	struct xfs_buf		*bp,
--	__uint16_t		magic)
-+	uint16_t		magic)
- {
- 	struct xfs_mount	*mp = bp->b_target->bt_mount;
- 	struct xfs_dir2_leaf	*leaf = bp->b_addr;
-@@ -151,7 +151,7 @@ xfs_dir3_leaf_verify(
- 
- 	if (xfs_sb_version_hascrc(&mp->m_sb)) {
- 		struct xfs_dir3_leaf_hdr *leaf3 = bp->b_addr;
--		__uint16_t		magic3;
-+		uint16_t		magic3;
- 
- 		magic3 = (magic == XFS_DIR2_LEAF1_MAGIC) ? XFS_DIR3_LEAF1_MAGIC
- 							 : XFS_DIR3_LEAFN_MAGIC;
-@@ -175,7 +175,7 @@ xfs_dir3_leaf_verify(
- static void
- __read_verify(
- 	struct xfs_buf  *bp,
--	__uint16_t	magic)
-+	uint16_t	magic)
- {
- 	struct xfs_mount	*mp = bp->b_target->bt_mount;
- 
-@@ -192,7 +192,7 @@ __read_verify(
- static void
- __write_verify(
- 	struct xfs_buf  *bp,
--	__uint16_t	magic)
-+	uint16_t	magic)
- {
- 	struct xfs_mount	*mp = bp->b_target->bt_mount;
- 	struct xfs_buf_log_item	*bip = bp->b_fspriv;
-@@ -296,7 +296,7 @@ xfs_dir3_leaf_init(
- 	struct xfs_trans	*tp,
- 	struct xfs_buf		*bp,
- 	xfs_ino_t		owner,
--	__uint16_t		type)
-+	uint16_t		type)
- {
- 	struct xfs_dir2_leaf	*leaf = bp->b_addr;
- 
-@@ -340,7 +340,7 @@ xfs_dir3_leaf_get_buf(
- 	xfs_da_args_t		*args,
- 	xfs_dir2_db_t		bno,
- 	struct xfs_buf		**bpp,
--	__uint16_t		magic)
-+	uint16_t		magic)
- {
- 	struct xfs_inode	*dp = args->dp;
- 	struct xfs_trans	*tp = args->trans;
-diff --git a/libxfs/xfs_dir2_priv.h b/libxfs/xfs_dir2_priv.h
-index 39f8604f..011df4da 100644
---- a/libxfs/xfs_dir2_priv.h
-+++ b/libxfs/xfs_dir2_priv.h
-@@ -69,7 +69,7 @@ extern void xfs_dir3_leaf_compact_x1(struct xfs_dir3_icleaf_hdr *leafhdr,
- 		struct xfs_dir2_leaf_entry *ents, int *indexp,
- 		int *lowstalep, int *highstalep, int *lowlogp, int *highlogp);
- extern int xfs_dir3_leaf_get_buf(struct xfs_da_args *args, xfs_dir2_db_t bno,
--		struct xfs_buf **bpp, __uint16_t magic);
-+		struct xfs_buf **bpp, uint16_t magic);
- extern void xfs_dir3_leaf_log_ents(struct xfs_da_args *args,
- 		struct xfs_buf *bp, int first, int last);
- extern void xfs_dir3_leaf_log_header(struct xfs_da_args *args,
-diff --git a/libxfs/xfs_dir2_sf.c b/libxfs/xfs_dir2_sf.c
-index 195f816d..0c453988 100644
---- a/libxfs/xfs_dir2_sf.c
-+++ b/libxfs/xfs_dir2_sf.c
-@@ -125,7 +125,7 @@ xfs_dir2_block_sfsize(
- 		 * Calculate the new size, see if we should give up yet.
- 		 */
- 		size = xfs_dir2_sf_hdr_size(i8count) +	/* header */
--		       count * 3 * sizeof(__u8) +	/* namelen + offset */
-+		       count * 3 * sizeof(u8) +		/* namelen + offset */
- 		       namelen +			/* name */
- 		       (i8count ?			/* inumber */
- 				count * XFS_INO64_SIZE :
-@@ -645,7 +645,7 @@ xfs_dir2_sf_verify(
- 	int				offset;
- 	int				size;
- 	int				error;
--	__uint8_t			filetype;
-+	uint8_t				filetype;
- 
- 	ASSERT(ip->i_d.di_format == XFS_DINODE_FMT_LOCAL);
- 	/*
-diff --git a/libxfs/xfs_format.h b/libxfs/xfs_format.h
-index 4c3ed1fd..a53f035f 100644
---- a/libxfs/xfs_format.h
-+++ b/libxfs/xfs_format.h
-@@ -103,8 +103,8 @@ struct xfs_ifork;
-  * Must be padded to 64 bit alignment.
-  */
- typedef struct xfs_sb {
--	__uint32_t	sb_magicnum;	/* magic number == XFS_SB_MAGIC */
--	__uint32_t	sb_blocksize;	/* logical block size, bytes */
-+	uint32_t	sb_magicnum;	/* magic number == XFS_SB_MAGIC */
-+	uint32_t	sb_blocksize;	/* logical block size, bytes */
- 	xfs_rfsblock_t	sb_dblocks;	/* number of data blocks */
- 	xfs_rfsblock_t	sb_rblocks;	/* number of realtime blocks */
- 	xfs_rtblock_t	sb_rextents;	/* number of realtime extents */
-@@ -118,45 +118,45 @@ typedef struct xfs_sb {
- 	xfs_agnumber_t	sb_agcount;	/* number of allocation groups */
- 	xfs_extlen_t	sb_rbmblocks;	/* number of rt bitmap blocks */
- 	xfs_extlen_t	sb_logblocks;	/* number of log blocks */
--	__uint16_t	sb_versionnum;	/* header version == XFS_SB_VERSION */
--	__uint16_t	sb_sectsize;	/* volume sector size, bytes */
--	__uint16_t	sb_inodesize;	/* inode size, bytes */
--	__uint16_t	sb_inopblock;	/* inodes per block */
-+	uint16_t	sb_versionnum;	/* header version == XFS_SB_VERSION */
-+	uint16_t	sb_sectsize;	/* volume sector size, bytes */
-+	uint16_t	sb_inodesize;	/* inode size, bytes */
-+	uint16_t	sb_inopblock;	/* inodes per block */
- 	char		sb_fname[12];	/* file system name */
--	__uint8_t	sb_blocklog;	/* log2 of sb_blocksize */
--	__uint8_t	sb_sectlog;	/* log2 of sb_sectsize */
--	__uint8_t	sb_inodelog;	/* log2 of sb_inodesize */
--	__uint8_t	sb_inopblog;	/* log2 of sb_inopblock */
--	__uint8_t	sb_agblklog;	/* log2 of sb_agblocks (rounded up) */
--	__uint8_t	sb_rextslog;	/* log2 of sb_rextents */
--	__uint8_t	sb_inprogress;	/* mkfs is in progress, don't mount */
--	__uint8_t	sb_imax_pct;	/* max % of fs for inode space */
-+	uint8_t		sb_blocklog;	/* log2 of sb_blocksize */
-+	uint8_t		sb_sectlog;	/* log2 of sb_sectsize */
-+	uint8_t		sb_inodelog;	/* log2 of sb_inodesize */
-+	uint8_t		sb_inopblog;	/* log2 of sb_inopblock */
-+	uint8_t		sb_agblklog;	/* log2 of sb_agblocks (rounded up) */
-+	uint8_t		sb_rextslog;	/* log2 of sb_rextents */
-+	uint8_t		sb_inprogress;	/* mkfs is in progress, don't mount */
-+	uint8_t		sb_imax_pct;	/* max % of fs for inode space */
- 					/* statistics */
- 	/*
- 	 * These fields must remain contiguous.  If you really
- 	 * want to change their layout, make sure you fix the
- 	 * code in xfs_trans_apply_sb_deltas().
- 	 */
--	__uint64_t	sb_icount;	/* allocated inodes */
--	__uint64_t	sb_ifree;	/* free inodes */
--	__uint64_t	sb_fdblocks;	/* free data blocks */
--	__uint64_t	sb_frextents;	/* free realtime extents */
-+	uint64_t	sb_icount;	/* allocated inodes */
-+	uint64_t	sb_ifree;	/* free inodes */
-+	uint64_t	sb_fdblocks;	/* free data blocks */
-+	uint64_t	sb_frextents;	/* free realtime extents */
- 	/*
- 	 * End contiguous fields.
- 	 */
- 	xfs_ino_t	sb_uquotino;	/* user quota inode */
- 	xfs_ino_t	sb_gquotino;	/* group quota inode */
--	__uint16_t	sb_qflags;	/* quota flags */
--	__uint8_t	sb_flags;	/* misc. flags */
--	__uint8_t	sb_shared_vn;	/* shared version number */
-+	uint16_t	sb_qflags;	/* quota flags */
-+	uint8_t		sb_flags;	/* misc. flags */
-+	uint8_t		sb_shared_vn;	/* shared version number */
- 	xfs_extlen_t	sb_inoalignmt;	/* inode chunk alignment, fsblocks */
--	__uint32_t	sb_unit;	/* stripe or raid unit */
--	__uint32_t	sb_width;	/* stripe or raid width */
--	__uint8_t	sb_dirblklog;	/* log2 of dir block size (fsbs) */
--	__uint8_t	sb_logsectlog;	/* log2 of the log sector size */
--	__uint16_t	sb_logsectsize;	/* sector size for the log, bytes */
--	__uint32_t	sb_logsunit;	/* stripe unit size for the log */
--	__uint32_t	sb_features2;	/* additional feature bits */
-+	uint32_t	sb_unit;	/* stripe or raid unit */
-+	uint32_t	sb_width;	/* stripe or raid width */
-+	uint8_t		sb_dirblklog;	/* log2 of dir block size (fsbs) */
-+	uint8_t		sb_logsectlog;	/* log2 of the log sector size */
-+	uint16_t	sb_logsectsize;	/* sector size for the log, bytes */
-+	uint32_t	sb_logsunit;	/* stripe unit size for the log */
-+	uint32_t	sb_features2;	/* additional feature bits */
- 
- 	/*
- 	 * bad features2 field as a result of failing to pad the sb structure to
-@@ -167,17 +167,17 @@ typedef struct xfs_sb {
- 	 * the value in sb_features2 when formatting the incore superblock to
- 	 * the disk buffer.
- 	 */
--	__uint32_t	sb_bad_features2;
-+	uint32_t	sb_bad_features2;
- 
- 	/* version 5 superblock fields start here */
- 
- 	/* feature masks */
--	__uint32_t	sb_features_compat;
--	__uint32_t	sb_features_ro_compat;
--	__uint32_t	sb_features_incompat;
--	__uint32_t	sb_features_log_incompat;
-+	uint32_t	sb_features_compat;
-+	uint32_t	sb_features_ro_compat;
-+	uint32_t	sb_features_incompat;
-+	uint32_t	sb_features_log_incompat;
- 
--	__uint32_t	sb_crc;		/* superblock crc */
-+	uint32_t	sb_crc;		/* superblock crc */
- 	xfs_extlen_t	sb_spino_align;	/* sparse inode chunk alignment */
- 
- 	xfs_ino_t	sb_pquotino;	/* project quota inode */
-@@ -449,7 +449,7 @@ static inline void xfs_sb_version_addprojid32bit(struct xfs_sb *sbp)
- static inline bool
- xfs_sb_has_compat_feature(
- 	struct xfs_sb	*sbp,
--	__uint32_t	feature)
-+	uint32_t	feature)
- {
- 	return (sbp->sb_features_compat & feature) != 0;
- }
-@@ -465,7 +465,7 @@ xfs_sb_has_compat_feature(
- static inline bool
- xfs_sb_has_ro_compat_feature(
- 	struct xfs_sb	*sbp,
--	__uint32_t	feature)
-+	uint32_t	feature)
- {
- 	return (sbp->sb_features_ro_compat & feature) != 0;
- }
-@@ -482,7 +482,7 @@ xfs_sb_has_ro_compat_feature(
- static inline bool
- xfs_sb_has_incompat_feature(
- 	struct xfs_sb	*sbp,
--	__uint32_t	feature)
-+	uint32_t	feature)
- {
- 	return (sbp->sb_features_incompat & feature) != 0;
- }
-@@ -492,7 +492,7 @@ xfs_sb_has_incompat_feature(
- static inline bool
- xfs_sb_has_incompat_log_feature(
- 	struct xfs_sb	*sbp,
--	__uint32_t	feature)
-+	uint32_t	feature)
- {
- 	return (sbp->sb_features_log_incompat & feature) != 0;
- }
-@@ -594,8 +594,8 @@ xfs_is_quota_inode(struct xfs_sb *sbp, xfs_ino_t ino)
-  */
- #define XFS_FSB_TO_B(mp,fsbno)	((xfs_fsize_t)(fsbno) << (mp)->m_sb.sb_blocklog)
- #define XFS_B_TO_FSB(mp,b)	\
--	((((__uint64_t)(b)) + (mp)->m_blockmask) >> (mp)->m_sb.sb_blocklog)
--#define XFS_B_TO_FSBT(mp,b)	(((__uint64_t)(b)) >> (mp)->m_sb.sb_blocklog)
-+	((((uint64_t)(b)) + (mp)->m_blockmask) >> (mp)->m_sb.sb_blocklog)
-+#define XFS_B_TO_FSBT(mp,b)	(((uint64_t)(b)) >> (mp)->m_sb.sb_blocklog)
- #define XFS_B_FSB_OFFSET(mp,b)	((b) & (mp)->m_blockmask)
- 
- /*
-@@ -1072,7 +1072,7 @@ static inline void xfs_dinode_put_rdev(struct xfs_dinode *dip, xfs_dev_t rdev)
-  * next agno_log bits - ag number
-  * high agno_log-agblklog-inopblog bits - 0
-  */
--#define	XFS_INO_MASK(k)			(__uint32_t)((1ULL << (k)) - 1)
-+#define	XFS_INO_MASK(k)			(uint32_t)((1ULL << (k)) - 1)
- #define	XFS_INO_OFFSET_BITS(mp)		(mp)->m_sb.sb_inopblog
- #define	XFS_INO_AGBNO_BITS(mp)		(mp)->m_sb.sb_agblklog
- #define	XFS_INO_AGINO_BITS(mp)		(mp)->m_agino_log
-@@ -1269,16 +1269,16 @@ typedef __be32 xfs_alloc_ptr_t;
- #define	XFS_FIBT_MAGIC		0x46494254	/* 'FIBT' */
- #define	XFS_FIBT_CRC_MAGIC	0x46494233	/* 'FIB3' */
- 
--typedef	__uint64_t	xfs_inofree_t;
-+typedef uint64_t	xfs_inofree_t;
- #define	XFS_INODES_PER_CHUNK		(NBBY * sizeof(xfs_inofree_t))
- #define	XFS_INODES_PER_CHUNK_LOG	(XFS_NBBYLOG + 3)
- #define	XFS_INOBT_ALL_FREE		((xfs_inofree_t)-1)
- #define	XFS_INOBT_MASK(i)		((xfs_inofree_t)1 << (i))
- 
- #define XFS_INOBT_HOLEMASK_FULL		0	/* holemask for full chunk */
--#define XFS_INOBT_HOLEMASK_BITS		(NBBY * sizeof(__uint16_t))
-+#define XFS_INOBT_HOLEMASK_BITS		(NBBY * sizeof(uint16_t))
- #define XFS_INODES_PER_HOLEMASK_BIT	\
--	(XFS_INODES_PER_CHUNK / (NBBY * sizeof(__uint16_t)))
-+	(XFS_INODES_PER_CHUNK / (NBBY * sizeof(uint16_t)))
- 
- static inline xfs_inofree_t xfs_inobt_maskn(int i, int n)
- {
-@@ -1312,9 +1312,9 @@ typedef struct xfs_inobt_rec {
- 
- typedef struct xfs_inobt_rec_incore {
- 	xfs_agino_t	ir_startino;	/* starting inode number */
--	__uint16_t	ir_holemask;	/* hole mask for sparse chunks */
--	__uint8_t	ir_count;	/* total inode count */
--	__uint8_t	ir_freecount;	/* count of free inodes (set bits) */
-+	uint16_t	ir_holemask;	/* hole mask for sparse chunks */
-+	uint8_t		ir_count;	/* total inode count */
-+	uint8_t		ir_freecount;	/* count of free inodes (set bits) */
- 	xfs_inofree_t	ir_free;	/* free inode mask */
- } xfs_inobt_rec_incore_t;
- 
-@@ -1397,15 +1397,15 @@ struct xfs_rmap_rec {
-  *  rm_offset:54-60 aren't used and should be zero
-  *  rm_offset:0-53 is the block offset within the inode
-  */
--#define XFS_RMAP_OFF_ATTR_FORK	((__uint64_t)1ULL << 63)
--#define XFS_RMAP_OFF_BMBT_BLOCK	((__uint64_t)1ULL << 62)
--#define XFS_RMAP_OFF_UNWRITTEN	((__uint64_t)1ULL << 61)
-+#define XFS_RMAP_OFF_ATTR_FORK	((uint64_t)1ULL << 63)
-+#define XFS_RMAP_OFF_BMBT_BLOCK	((uint64_t)1ULL << 62)
-+#define XFS_RMAP_OFF_UNWRITTEN	((uint64_t)1ULL << 61)
- 
--#define XFS_RMAP_LEN_MAX	((__uint32_t)~0U)
-+#define XFS_RMAP_LEN_MAX	((uint32_t)~0U)
- #define XFS_RMAP_OFF_FLAGS	(XFS_RMAP_OFF_ATTR_FORK | \
- 				 XFS_RMAP_OFF_BMBT_BLOCK | \
- 				 XFS_RMAP_OFF_UNWRITTEN)
--#define XFS_RMAP_OFF_MASK	((__uint64_t)0x3FFFFFFFFFFFFFULL)
-+#define XFS_RMAP_OFF_MASK	((uint64_t)0x3FFFFFFFFFFFFFULL)
- 
- #define XFS_RMAP_OFF(off)		((off) & XFS_RMAP_OFF_MASK)
- 
-@@ -1431,8 +1431,8 @@ struct xfs_rmap_rec {
- struct xfs_rmap_irec {
- 	xfs_agblock_t	rm_startblock;	/* extent start block */
- 	xfs_extlen_t	rm_blockcount;	/* extent length */
--	__uint64_t	rm_owner;	/* extent owner */
--	__uint64_t	rm_offset;	/* offset within the owner */
-+	uint64_t	rm_owner;	/* extent owner */
-+	uint64_t	rm_offset;	/* offset within the owner */
- 	unsigned int	rm_flags;	/* state flags */
- };
- 
-@@ -1544,11 +1544,11 @@ typedef struct xfs_bmbt_rec {
- 	__be64			l0, l1;
- } xfs_bmbt_rec_t;
- 
--typedef __uint64_t	xfs_bmbt_rec_base_t;	/* use this for casts */
-+typedef uint64_t	xfs_bmbt_rec_base_t;	/* use this for casts */
- typedef xfs_bmbt_rec_t xfs_bmdr_rec_t;
- 
- typedef struct xfs_bmbt_rec_host {
--	__uint64_t		l0, l1;
-+	uint64_t		l0, l1;
- } xfs_bmbt_rec_host_t;
- 
- /*
-diff --git a/libxfs/xfs_fs.h b/libxfs/xfs_fs.h
-index 99f7f881..8a0c0eec 100644
---- a/libxfs/xfs_fs.h
-+++ b/libxfs/xfs_fs.h
-@@ -323,10 +323,10 @@ typedef struct xfs_bstat {
-  * and using two 16bit values to hold new 32bit projid was choosen
-  * to retain compatibility with "old" filesystems).
-  */
--static inline __uint32_t
-+static inline uint32_t
- bstat_get_projid(struct xfs_bstat *bs)
- {
--	return (__uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
-+	return (uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo;
- }
- 
- /*
-@@ -472,10 +472,10 @@ typedef struct xfs_handle {
-  */
- typedef struct xfs_swapext
- {
--	__int64_t	sx_version;	/* version */
-+	int64_t		sx_version;	/* version */
- #define XFS_SX_VERSION		0
--	__int64_t	sx_fdtarget;	/* fd of target file */
--	__int64_t	sx_fdtmp;	/* fd of tmp file */
-+	int64_t		sx_fdtarget;	/* fd of target file */
-+	int64_t		sx_fdtmp;	/* fd of tmp file */
- 	xfs_off_t	sx_offset;	/* offset into file */
- 	xfs_off_t	sx_length;	/* leng from offset */
- 	char		sx_pad[16];	/* pad space, unused */
-@@ -562,7 +562,7 @@ typedef struct xfs_swapext
- #define XFS_IOC_ATTRLIST_BY_HANDLE   _IOW ('X', 122, struct xfs_fsop_attrlist_handlereq)
- #define XFS_IOC_ATTRMULTI_BY_HANDLE  _IOW ('X', 123, struct xfs_fsop_attrmulti_handlereq)
- #define XFS_IOC_FSGEOMETRY	     _IOR ('X', 124, struct xfs_fsop_geom)
--#define XFS_IOC_GOINGDOWN	     _IOR ('X', 125, __uint32_t)
-+#define XFS_IOC_GOINGDOWN	     _IOR ('X', 125, uint32_t)
- /*	XFS_IOC_GETFSUUID ---------- deprecated 140	 */
- 
- /* reflink ioctls; these MUST match the btrfs ioctl definitions */
-diff --git a/libxfs/xfs_ialloc.c b/libxfs/xfs_ialloc.c
-index 55cc4507..8d245184 100644
---- a/libxfs/xfs_ialloc.c
-+++ b/libxfs/xfs_ialloc.c
-@@ -134,9 +134,9 @@ xfs_inobt_get_rec(
- STATIC int
- xfs_inobt_insert_rec(
- 	struct xfs_btree_cur	*cur,
--	__uint16_t		holemask,
--	__uint8_t		count,
--	__int32_t		freecount,
-+	uint16_t		holemask,
-+	uint8_t			count,
-+	int32_t			freecount,
- 	xfs_inofree_t		free,
- 	int			*stat)
- {
-diff --git a/libxfs/xfs_ialloc_btree.c b/libxfs/xfs_ialloc_btree.c
-index 7b4be766..5b281054 100644
---- a/libxfs/xfs_ialloc_btree.c
-+++ b/libxfs/xfs_ialloc_btree.c
-@@ -218,12 +218,12 @@ xfs_finobt_init_ptr_from_cur(
- 	ptr->s = agi->agi_free_root;
- }
- 
--STATIC __int64_t
-+STATIC int64_t
- xfs_inobt_key_diff(
- 	struct xfs_btree_cur	*cur,
- 	union xfs_btree_key	*key)
- {
--	return (__int64_t)be32_to_cpu(key->inobt.ir_startino) -
-+	return (int64_t)be32_to_cpu(key->inobt.ir_startino) -
- 			  cur->bc_rec.i.ir_startino;
- }
- 
-diff --git a/libxfs/xfs_inode_buf.c b/libxfs/xfs_inode_buf.c
-index 2972701d..fcc6fb8e 100644
---- a/libxfs/xfs_inode_buf.c
-+++ b/libxfs/xfs_inode_buf.c
-@@ -442,7 +442,7 @@ xfs_dinode_calc_crc(
- 	struct xfs_mount	*mp,
- 	struct xfs_dinode	*dip)
- {
--	__uint32_t		crc;
-+	uint32_t		crc;
- 
- 	if (dip->di_version < 3)
- 		return;
-diff --git a/libxfs/xfs_inode_buf.h b/libxfs/xfs_inode_buf.h
-index 6848a0af..0827d7de 100644
---- a/libxfs/xfs_inode_buf.h
-+++ b/libxfs/xfs_inode_buf.h
-@@ -28,26 +28,26 @@ struct xfs_dinode;
-  * format specific structures at the appropriate time.
-  */
- struct xfs_icdinode {
--	__int8_t	di_version;	/* inode version */
--	__int8_t	di_format;	/* format of di_c data */
--	__uint16_t	di_flushiter;	/* incremented on flush */
--	__uint32_t	di_uid;		/* owner's user id */
--	__uint32_t	di_gid;		/* owner's group id */
--	__uint16_t	di_projid_lo;	/* lower part of owner's project id */
--	__uint16_t	di_projid_hi;	/* higher part of owner's project id */
-+	int8_t		di_version;	/* inode version */
-+	int8_t		di_format;	/* format of di_c data */
-+	uint16_t	di_flushiter;	/* incremented on flush */
-+	uint32_t	di_uid;		/* owner's user id */
-+	uint32_t	di_gid;		/* owner's group id */
-+	uint16_t	di_projid_lo;	/* lower part of owner's project id */
-+	uint16_t	di_projid_hi;	/* higher part of owner's project id */
- 	xfs_fsize_t	di_size;	/* number of bytes in file */
- 	xfs_rfsblock_t	di_nblocks;	/* # of direct & btree blocks used */
- 	xfs_extlen_t	di_extsize;	/* basic/minimum extent size for file */
- 	xfs_extnum_t	di_nextents;	/* number of extents in data fork */
- 	xfs_aextnum_t	di_anextents;	/* number of extents in attribute fork*/
--	__uint8_t	di_forkoff;	/* attr fork offs, <<3 for 64b align */
--	__int8_t	di_aformat;	/* format of attr fork's data */
--	__uint32_t	di_dmevmask;	/* DMIG event mask */
--	__uint16_t	di_dmstate;	/* DMIG state info */
--	__uint16_t	di_flags;	/* random flags, XFS_DIFLAG_... */
-+	uint8_t		di_forkoff;	/* attr fork offs, <<3 for 64b align */
-+	int8_t		di_aformat;	/* format of attr fork's data */
-+	uint32_t	di_dmevmask;	/* DMIG event mask */
-+	uint16_t	di_dmstate;	/* DMIG state info */
-+	uint16_t	di_flags;	/* random flags, XFS_DIFLAG_... */
- 
--	__uint64_t	di_flags2;	/* more random flags */
--	__uint32_t	di_cowextsize;	/* basic cow extent size for file */
-+	uint64_t	di_flags2;	/* more random flags */
-+	uint32_t	di_cowextsize;	/* basic cow extent size for file */
- 
- 	xfs_ictimestamp_t di_crtime;	/* time created */
- };
-diff --git a/libxfs/xfs_log_format.h b/libxfs/xfs_log_format.h
-index 7ae571f8..8372e9bc 100644
---- a/libxfs/xfs_log_format.h
-+++ b/libxfs/xfs_log_format.h
-@@ -31,7 +31,7 @@ struct xfs_trans_res;
-  * through all the log items definitions and everything they encode into the
-  * log.
-  */
--typedef __uint32_t xlog_tid_t;
-+typedef uint32_t xlog_tid_t;
- 
- #define XLOG_MIN_ICLOGS		2
- #define XLOG_MAX_ICLOGS		8
-@@ -211,7 +211,7 @@ typedef struct xfs_log_iovec {
- typedef struct xfs_trans_header {
- 	uint		th_magic;		/* magic number */
- 	uint		th_type;		/* transaction type */
--	__int32_t	th_tid;			/* transaction id (unused) */
-+	int32_t		th_tid;			/* transaction id (unused) */
- 	uint		th_num_items;		/* num items logged by trans */
- } xfs_trans_header_t;
- 
-@@ -265,52 +265,52 @@ typedef struct xfs_trans_header {
-  * must be added on to the end.
-  */
- typedef struct xfs_inode_log_format {
--	__uint16_t		ilf_type;	/* inode log item type */
--	__uint16_t		ilf_size;	/* size of this item */
--	__uint32_t		ilf_fields;	/* flags for fields logged */
--	__uint16_t		ilf_asize;	/* size of attr d/ext/root */
--	__uint16_t		ilf_dsize;	/* size of data/ext/root */
--	__uint64_t		ilf_ino;	/* inode number */
-+	uint16_t		ilf_type;	/* inode log item type */
-+	uint16_t		ilf_size;	/* size of this item */
-+	uint32_t		ilf_fields;	/* flags for fields logged */
-+	uint16_t		ilf_asize;	/* size of attr d/ext/root */
-+	uint16_t		ilf_dsize;	/* size of data/ext/root */
-+	uint64_t		ilf_ino;	/* inode number */
- 	union {
--		__uint32_t	ilfu_rdev;	/* rdev value for dev inode*/
-+		uint32_t	ilfu_rdev;	/* rdev value for dev inode*/
- 		uuid_t		ilfu_uuid;	/* mount point value */
- 	} ilf_u;
--	__int64_t		ilf_blkno;	/* blkno of inode buffer */
--	__int32_t		ilf_len;	/* len of inode buffer */
--	__int32_t		ilf_boffset;	/* off of inode in buffer */
-+	int64_t			ilf_blkno;	/* blkno of inode buffer */
-+	int32_t			ilf_len;	/* len of inode buffer */
-+	int32_t			ilf_boffset;	/* off of inode in buffer */
- } xfs_inode_log_format_t;
- 
- typedef struct xfs_inode_log_format_32 {
--	__uint16_t		ilf_type;	/* inode log item type */
--	__uint16_t		ilf_size;	/* size of this item */
--	__uint32_t		ilf_fields;	/* flags for fields logged */
--	__uint16_t		ilf_asize;	/* size of attr d/ext/root */
--	__uint16_t		ilf_dsize;	/* size of data/ext/root */
--	__uint64_t		ilf_ino;	/* inode number */
-+	uint16_t		ilf_type;	/* inode log item type */
-+	uint16_t		ilf_size;	/* size of this item */
-+	uint32_t		ilf_fields;	/* flags for fields logged */
-+	uint16_t		ilf_asize;	/* size of attr d/ext/root */
-+	uint16_t		ilf_dsize;	/* size of data/ext/root */
-+	uint64_t		ilf_ino;	/* inode number */
- 	union {
--		__uint32_t	ilfu_rdev;	/* rdev value for dev inode*/
-+		uint32_t	ilfu_rdev;	/* rdev value for dev inode*/
- 		uuid_t		ilfu_uuid;	/* mount point value */
- 	} ilf_u;
--	__int64_t		ilf_blkno;	/* blkno of inode buffer */
--	__int32_t		ilf_len;	/* len of inode buffer */
--	__int32_t		ilf_boffset;	/* off of inode in buffer */
-+	int64_t			ilf_blkno;	/* blkno of inode buffer */
-+	int32_t			ilf_len;	/* len of inode buffer */
-+	int32_t			ilf_boffset;	/* off of inode in buffer */
- } __attribute__((packed)) xfs_inode_log_format_32_t;
- 
- typedef struct xfs_inode_log_format_64 {
--	__uint16_t		ilf_type;	/* inode log item type */
--	__uint16_t		ilf_size;	/* size of this item */
--	__uint32_t		ilf_fields;	/* flags for fields logged */
--	__uint16_t		ilf_asize;	/* size of attr d/ext/root */
--	__uint16_t		ilf_dsize;	/* size of data/ext/root */
--	__uint32_t		ilf_pad;	/* pad for 64 bit boundary */
--	__uint64_t		ilf_ino;	/* inode number */
-+	uint16_t		ilf_type;	/* inode log item type */
-+	uint16_t		ilf_size;	/* size of this item */
-+	uint32_t		ilf_fields;	/* flags for fields logged */
-+	uint16_t		ilf_asize;	/* size of attr d/ext/root */
-+	uint16_t		ilf_dsize;	/* size of data/ext/root */
-+	uint32_t		ilf_pad;	/* pad for 64 bit boundary */
-+	uint64_t		ilf_ino;	/* inode number */
- 	union {
--		__uint32_t	ilfu_rdev;	/* rdev value for dev inode*/
-+		uint32_t	ilfu_rdev;	/* rdev value for dev inode*/
- 		uuid_t		ilfu_uuid;	/* mount point value */
- 	} ilf_u;
--	__int64_t		ilf_blkno;	/* blkno of inode buffer */
--	__int32_t		ilf_len;	/* len of inode buffer */
--	__int32_t		ilf_boffset;	/* off of inode in buffer */
-+	int64_t			ilf_blkno;	/* blkno of inode buffer */
-+	int32_t			ilf_len;	/* len of inode buffer */
-+	int32_t			ilf_boffset;	/* off of inode in buffer */
- } xfs_inode_log_format_64_t;
- 
- 
-@@ -379,8 +379,8 @@ static inline int xfs_ilog_fdata(int w)
-  * information.
-  */
- typedef struct xfs_ictimestamp {
--	__int32_t	t_sec;		/* timestamp seconds */
--	__int32_t	t_nsec;		/* timestamp nanoseconds */
-+	int32_t		t_sec;		/* timestamp seconds */
-+	int32_t		t_nsec;		/* timestamp nanoseconds */
- } xfs_ictimestamp_t;
- 
- /*
-@@ -388,18 +388,18 @@ typedef struct xfs_ictimestamp {
-  * kept identical to struct xfs_dinode except for the endianness annotations.
-  */
- struct xfs_log_dinode {
--	__uint16_t	di_magic;	/* inode magic # = XFS_DINODE_MAGIC */
--	__uint16_t	di_mode;	/* mode and type of file */
--	__int8_t	di_version;	/* inode version */
--	__int8_t	di_format;	/* format of di_c data */
--	__uint8_t	di_pad3[2];	/* unused in v2/3 inodes */
--	__uint32_t	di_uid;		/* owner's user id */
--	__uint32_t	di_gid;		/* owner's group id */
--	__uint32_t	di_nlink;	/* number of links to file */
--	__uint16_t	di_projid_lo;	/* lower part of owner's project id */
--	__uint16_t	di_projid_hi;	/* higher part of owner's project id */
--	__uint8_t	di_pad[6];	/* unused, zeroed space */
--	__uint16_t	di_flushiter;	/* incremented on flush */
-+	uint16_t	di_magic;	/* inode magic # = XFS_DINODE_MAGIC */
-+	uint16_t	di_mode;	/* mode and type of file */
-+	int8_t		di_version;	/* inode version */
-+	int8_t		di_format;	/* format of di_c data */
-+	uint8_t		di_pad3[2];	/* unused in v2/3 inodes */
-+	uint32_t	di_uid;		/* owner's user id */
-+	uint32_t	di_gid;		/* owner's group id */
-+	uint32_t	di_nlink;	/* number of links to file */
-+	uint16_t	di_projid_lo;	/* lower part of owner's project id */
-+	uint16_t	di_projid_hi;	/* higher part of owner's project id */
-+	uint8_t		di_pad[6];	/* unused, zeroed space */
-+	uint16_t	di_flushiter;	/* incremented on flush */
- 	xfs_ictimestamp_t di_atime;	/* time last accessed */
- 	xfs_ictimestamp_t di_mtime;	/* time last modified */
- 	xfs_ictimestamp_t di_ctime;	/* time created/inode modified */
-@@ -408,23 +408,23 @@ struct xfs_log_dinode {
- 	xfs_extlen_t	di_extsize;	/* basic/minimum extent size for file */
- 	xfs_extnum_t	di_nextents;	/* number of extents in data fork */
- 	xfs_aextnum_t	di_anextents;	/* number of extents in attribute fork*/
--	__uint8_t	di_forkoff;	/* attr fork offs, <<3 for 64b align */
--	__int8_t	di_aformat;	/* format of attr fork's data */
--	__uint32_t	di_dmevmask;	/* DMIG event mask */
--	__uint16_t	di_dmstate;	/* DMIG state info */
--	__uint16_t	di_flags;	/* random flags, XFS_DIFLAG_... */
--	__uint32_t	di_gen;		/* generation number */
-+	uint8_t		di_forkoff;	/* attr fork offs, <<3 for 64b align */
-+	int8_t		di_aformat;	/* format of attr fork's data */
-+	uint32_t	di_dmevmask;	/* DMIG event mask */
-+	uint16_t	di_dmstate;	/* DMIG state info */
-+	uint16_t	di_flags;	/* random flags, XFS_DIFLAG_... */
-+	uint32_t	di_gen;		/* generation number */
- 
- 	/* di_next_unlinked is the only non-core field in the old dinode */
- 	xfs_agino_t	di_next_unlinked;/* agi unlinked list ptr */
- 
- 	/* start of the extended dinode, writable fields */
--	__uint32_t	di_crc;		/* CRC of the inode */
--	__uint64_t	di_changecount;	/* number of attribute changes */
-+	uint32_t	di_crc;		/* CRC of the inode */
-+	uint64_t	di_changecount;	/* number of attribute changes */
- 	xfs_lsn_t	di_lsn;		/* flush sequence */
--	__uint64_t	di_flags2;	/* more random flags */
--	__uint32_t	di_cowextsize;	/* basic cow extent size for file */
--	__uint8_t	di_pad2[12];	/* more padding for future expansion */
-+	uint64_t	di_flags2;	/* more random flags */
-+	uint32_t	di_cowextsize;	/* basic cow extent size for file */
-+	uint8_t		di_pad2[12];	/* more padding for future expansion */
- 
- 	/* fields only written to during inode creation */
- 	xfs_ictimestamp_t di_crtime;	/* time created */
-@@ -483,7 +483,7 @@ typedef struct xfs_buf_log_format {
- 	unsigned short	blf_size;	/* size of this item */
- 	unsigned short	blf_flags;	/* misc state */
- 	unsigned short	blf_len;	/* number of blocks in this buf */
--	__int64_t	blf_blkno;	/* starting blkno of this buf */
-+	int64_t		blf_blkno;	/* starting blkno of this buf */
- 	unsigned int	blf_map_size;	/* used size of data bitmap in words */
- 	unsigned int	blf_data_map[XFS_BLF_DATAMAP_SIZE]; /* dirty bitmap */
- } xfs_buf_log_format_t;
-@@ -533,7 +533,7 @@ xfs_blft_to_flags(struct xfs_buf_log_format *blf, enum xfs_blft type)
- 	blf->blf_flags |= ((type << XFS_BLFT_SHIFT) & XFS_BLFT_MASK);
- }
- 
--static inline __uint16_t
-+static inline uint16_t
- xfs_blft_from_flags(struct xfs_buf_log_format *blf)
- {
- 	return (blf->blf_flags & XFS_BLFT_MASK) >> XFS_BLFT_SHIFT;
-@@ -554,14 +554,14 @@ typedef struct xfs_extent {
-  * conversion routine.
-  */
- typedef struct xfs_extent_32 {
--	__uint64_t	ext_start;
--	__uint32_t	ext_len;
-+	uint64_t	ext_start;
-+	uint32_t	ext_len;
- } __attribute__((packed)) xfs_extent_32_t;
- 
- typedef struct xfs_extent_64 {
--	__uint64_t	ext_start;
--	__uint32_t	ext_len;
--	__uint32_t	ext_pad;
-+	uint64_t	ext_start;
-+	uint32_t	ext_len;
-+	uint32_t	ext_pad;
- } xfs_extent_64_t;
- 
- /*
-@@ -570,26 +570,26 @@ typedef struct xfs_extent_64 {
-  * size is given by efi_nextents.
-  */
- typedef struct xfs_efi_log_format {
--	__uint16_t		efi_type;	/* efi log item type */
--	__uint16_t		efi_size;	/* size of this item */
--	__uint32_t		efi_nextents;	/* # extents to free */
--	__uint64_t		efi_id;		/* efi identifier */
-+	uint16_t		efi_type;	/* efi log item type */
-+	uint16_t		efi_size;	/* size of this item */
-+	uint32_t		efi_nextents;	/* # extents to free */
-+	uint64_t		efi_id;		/* efi identifier */
- 	xfs_extent_t		efi_extents[1];	/* array of extents to free */
- } xfs_efi_log_format_t;
- 
- typedef struct xfs_efi_log_format_32 {
--	__uint16_t		efi_type;	/* efi log item type */
--	__uint16_t		efi_size;	/* size of this item */
--	__uint32_t		efi_nextents;	/* # extents to free */
--	__uint64_t		efi_id;		/* efi identifier */
-+	uint16_t		efi_type;	/* efi log item type */
-+	uint16_t		efi_size;	/* size of this item */
-+	uint32_t		efi_nextents;	/* # extents to free */
-+	uint64_t		efi_id;		/* efi identifier */
- 	xfs_extent_32_t		efi_extents[1];	/* array of extents to free */
- } __attribute__((packed)) xfs_efi_log_format_32_t;
- 
- typedef struct xfs_efi_log_format_64 {
--	__uint16_t		efi_type;	/* efi log item type */
--	__uint16_t		efi_size;	/* size of this item */
--	__uint32_t		efi_nextents;	/* # extents to free */
--	__uint64_t		efi_id;		/* efi identifier */
-+	uint16_t		efi_type;	/* efi log item type */
-+	uint16_t		efi_size;	/* size of this item */
-+	uint32_t		efi_nextents;	/* # extents to free */
-+	uint64_t		efi_id;		/* efi identifier */
- 	xfs_extent_64_t		efi_extents[1];	/* array of extents to free */
- } xfs_efi_log_format_64_t;
- 
-@@ -599,26 +599,26 @@ typedef struct xfs_efi_log_format_64 {
-  * size is given by efd_nextents;
-  */
- typedef struct xfs_efd_log_format {
--	__uint16_t		efd_type;	/* efd log item type */
--	__uint16_t		efd_size;	/* size of this item */
--	__uint32_t		efd_nextents;	/* # of extents freed */
--	__uint64_t		efd_efi_id;	/* id of corresponding efi */
-+	uint16_t		efd_type;	/* efd log item type */
-+	uint16_t		efd_size;	/* size of this item */
-+	uint32_t		efd_nextents;	/* # of extents freed */
-+	uint64_t		efd_efi_id;	/* id of corresponding efi */
- 	xfs_extent_t		efd_extents[1];	/* array of extents freed */
- } xfs_efd_log_format_t;
- 
- typedef struct xfs_efd_log_format_32 {
--	__uint16_t		efd_type;	/* efd log item type */
--	__uint16_t		efd_size;	/* size of this item */
--	__uint32_t		efd_nextents;	/* # of extents freed */
--	__uint64_t		efd_efi_id;	/* id of corresponding efi */
-+	uint16_t		efd_type;	/* efd log item type */
-+	uint16_t		efd_size;	/* size of this item */
-+	uint32_t		efd_nextents;	/* # of extents freed */
-+	uint64_t		efd_efi_id;	/* id of corresponding efi */
- 	xfs_extent_32_t		efd_extents[1];	/* array of extents freed */
- } __attribute__((packed)) xfs_efd_log_format_32_t;
- 
- typedef struct xfs_efd_log_format_64 {
--	__uint16_t		efd_type;	/* efd log item type */
--	__uint16_t		efd_size;	/* size of this item */
--	__uint32_t		efd_nextents;	/* # of extents freed */
--	__uint64_t		efd_efi_id;	/* id of corresponding efi */
-+	uint16_t		efd_type;	/* efd log item type */
-+	uint16_t		efd_size;	/* size of this item */
-+	uint32_t		efd_nextents;	/* # of extents freed */
-+	uint64_t		efd_efi_id;	/* id of corresponding efi */
- 	xfs_extent_64_t		efd_extents[1];	/* array of extents freed */
- } xfs_efd_log_format_64_t;
- 
-@@ -626,11 +626,11 @@ typedef struct xfs_efd_log_format_64 {
-  * RUI/RUD (reverse mapping) log format definitions
-  */
- struct xfs_map_extent {
--	__uint64_t		me_owner;
--	__uint64_t		me_startblock;
--	__uint64_t		me_startoff;
--	__uint32_t		me_len;
--	__uint32_t		me_flags;
-+	uint64_t		me_owner;
-+	uint64_t		me_startblock;
-+	uint64_t		me_startoff;
-+	uint32_t		me_len;
-+	uint32_t		me_flags;
- };
- 
- /* rmap me_flags: upper bits are flags, lower byte is type code */
-@@ -659,10 +659,10 @@ struct xfs_map_extent {
-  * size is given by rui_nextents.
-  */
- struct xfs_rui_log_format {
--	__uint16_t		rui_type;	/* rui log item type */
--	__uint16_t		rui_size;	/* size of this item */
--	__uint32_t		rui_nextents;	/* # extents to free */
--	__uint64_t		rui_id;		/* rui identifier */
-+	uint16_t		rui_type;	/* rui log item type */
-+	uint16_t		rui_size;	/* size of this item */
-+	uint32_t		rui_nextents;	/* # extents to free */
-+	uint64_t		rui_id;		/* rui identifier */
- 	struct xfs_map_extent	rui_extents[];	/* array of extents to rmap */
- };
- 
-@@ -680,19 +680,19 @@ xfs_rui_log_format_sizeof(
-  * size is given by rud_nextents;
-  */
- struct xfs_rud_log_format {
--	__uint16_t		rud_type;	/* rud log item type */
--	__uint16_t		rud_size;	/* size of this item */
--	__uint32_t		__pad;
--	__uint64_t		rud_rui_id;	/* id of corresponding rui */
-+	uint16_t		rud_type;	/* rud log item type */
-+	uint16_t		rud_size;	/* size of this item */
-+	uint32_t		__pad;
-+	uint64_t		rud_rui_id;	/* id of corresponding rui */
- };
- 
- /*
-  * CUI/CUD (refcount update) log format definitions
-  */
- struct xfs_phys_extent {
--	__uint64_t		pe_startblock;
--	__uint32_t		pe_len;
--	__uint32_t		pe_flags;
-+	uint64_t		pe_startblock;
-+	uint32_t		pe_len;
-+	uint32_t		pe_flags;
- };
- 
- /* refcount pe_flags: upper bits are flags, lower byte is type code */
-@@ -707,10 +707,10 @@ struct xfs_phys_extent {
-  * size is given by cui_nextents.
-  */
- struct xfs_cui_log_format {
--	__uint16_t		cui_type;	/* cui log item type */
--	__uint16_t		cui_size;	/* size of this item */
--	__uint32_t		cui_nextents;	/* # extents to free */
--	__uint64_t		cui_id;		/* cui identifier */
-+	uint16_t		cui_type;	/* cui log item type */
-+	uint16_t		cui_size;	/* size of this item */
-+	uint32_t		cui_nextents;	/* # extents to free */
-+	uint64_t		cui_id;		/* cui identifier */
- 	struct xfs_phys_extent	cui_extents[];	/* array of extents */
- };
- 
-@@ -728,10 +728,10 @@ xfs_cui_log_format_sizeof(
-  * size is given by cud_nextents;
-  */
- struct xfs_cud_log_format {
--	__uint16_t		cud_type;	/* cud log item type */
--	__uint16_t		cud_size;	/* size of this item */
--	__uint32_t		__pad;
--	__uint64_t		cud_cui_id;	/* id of corresponding cui */
-+	uint16_t		cud_type;	/* cud log item type */
-+	uint16_t		cud_size;	/* size of this item */
-+	uint32_t		__pad;
-+	uint64_t		cud_cui_id;	/* id of corresponding cui */
- };
- 
- /*
-@@ -755,10 +755,10 @@ struct xfs_cud_log_format {
-  * size is given by bui_nextents.
-  */
- struct xfs_bui_log_format {
--	__uint16_t		bui_type;	/* bui log item type */
--	__uint16_t		bui_size;	/* size of this item */
--	__uint32_t		bui_nextents;	/* # extents to free */
--	__uint64_t		bui_id;		/* bui identifier */
-+	uint16_t		bui_type;	/* bui log item type */
-+	uint16_t		bui_size;	/* size of this item */
-+	uint32_t		bui_nextents;	/* # extents to free */
-+	uint64_t		bui_id;		/* bui identifier */
- 	struct xfs_map_extent	bui_extents[];	/* array of extents to bmap */
- };
- 
-@@ -776,10 +776,10 @@ xfs_bui_log_format_sizeof(
-  * size is given by bud_nextents;
-  */
- struct xfs_bud_log_format {
--	__uint16_t		bud_type;	/* bud log item type */
--	__uint16_t		bud_size;	/* size of this item */
--	__uint32_t		__pad;
--	__uint64_t		bud_bui_id;	/* id of corresponding bui */
-+	uint16_t		bud_type;	/* bud log item type */
-+	uint16_t		bud_size;	/* size of this item */
-+	uint32_t		__pad;
-+	uint64_t		bud_bui_id;	/* id of corresponding bui */
- };
- 
- /*
-@@ -789,12 +789,12 @@ struct xfs_bud_log_format {
-  * 32 bits : log_recovery code assumes that.
-  */
- typedef struct xfs_dq_logformat {
--	__uint16_t		qlf_type;      /* dquot log item type */
--	__uint16_t		qlf_size;      /* size of this item */
-+	uint16_t		qlf_type;      /* dquot log item type */
-+	uint16_t		qlf_size;      /* size of this item */
- 	xfs_dqid_t		qlf_id;	       /* usr/grp/proj id : 32 bits */
--	__int64_t		qlf_blkno;     /* blkno of dquot buffer */
--	__int32_t		qlf_len;       /* len of dquot buffer */
--	__uint32_t		qlf_boffset;   /* off of dquot in buffer */
-+	int64_t			qlf_blkno;     /* blkno of dquot buffer */
-+	int32_t			qlf_len;       /* len of dquot buffer */
-+	uint32_t		qlf_boffset;   /* off of dquot in buffer */
- } xfs_dq_logformat_t;
- 
- /*
-@@ -853,8 +853,8 @@ typedef struct xfs_qoff_logformat {
-  * decoding can be done correctly.
-  */
- struct xfs_icreate_log {
--	__uint16_t	icl_type;	/* type of log format structure */
--	__uint16_t	icl_size;	/* size of log format structure */
-+	uint16_t	icl_type;	/* type of log format structure */
-+	uint16_t	icl_size;	/* size of log format structure */
- 	__be32		icl_ag;		/* ag being allocated in */
- 	__be32		icl_agbno;	/* start block of inode range */
- 	__be32		icl_count;	/* number of inodes to initialise */
-diff --git a/libxfs/xfs_quota_defs.h b/libxfs/xfs_quota_defs.h
-index 8eed5127..d69c7722 100644
---- a/libxfs/xfs_quota_defs.h
-+++ b/libxfs/xfs_quota_defs.h
-@@ -27,8 +27,8 @@
-  * they may need 64-bit accounting. Hence, 64-bit quota-counters,
-  * and quota-limits. This is a waste in the common case, but hey ...
-  */
--typedef __uint64_t	xfs_qcnt_t;
--typedef __uint16_t	xfs_qwarncnt_t;
-+typedef uint64_t	xfs_qcnt_t;
-+typedef uint16_t	xfs_qwarncnt_t;
- 
- /*
-  * flags for q_flags field in the dquot.
-diff --git a/libxfs/xfs_refcount_btree.c b/libxfs/xfs_refcount_btree.c
-index 2814f94f..bd1a8f2d 100644
---- a/libxfs/xfs_refcount_btree.c
-+++ b/libxfs/xfs_refcount_btree.c
-@@ -201,7 +201,7 @@ xfs_refcountbt_init_ptr_from_cur(
- 	ptr->s = agf->agf_refcount_root;
- }
- 
--STATIC __int64_t
-+STATIC int64_t
- xfs_refcountbt_key_diff(
- 	struct xfs_btree_cur	*cur,
- 	union xfs_btree_key	*key)
-@@ -209,16 +209,16 @@ xfs_refcountbt_key_diff(
- 	struct xfs_refcount_irec	*rec = &cur->bc_rec.rc;
- 	struct xfs_refcount_key		*kp = &key->refc;
- 
--	return (__int64_t)be32_to_cpu(kp->rc_startblock) - rec->rc_startblock;
-+	return (int64_t)be32_to_cpu(kp->rc_startblock) - rec->rc_startblock;
- }
- 
--STATIC __int64_t
-+STATIC int64_t
- xfs_refcountbt_diff_two_keys(
- 	struct xfs_btree_cur	*cur,
- 	union xfs_btree_key	*k1,
- 	union xfs_btree_key	*k2)
- {
--	return (__int64_t)be32_to_cpu(k1->refc.rc_startblock) -
-+	return (int64_t)be32_to_cpu(k1->refc.rc_startblock) -
- 			  be32_to_cpu(k2->refc.rc_startblock);
- }
- 
-diff --git a/libxfs/xfs_rmap.c b/libxfs/xfs_rmap.c
-index f78771d1..0d6b5d41 100644
---- a/libxfs/xfs_rmap.c
-+++ b/libxfs/xfs_rmap.c
-@@ -2059,7 +2059,7 @@ int
- xfs_rmap_finish_one(
- 	struct xfs_trans		*tp,
- 	enum xfs_rmap_intent_type	type,
--	__uint64_t			owner,
-+	uint64_t			owner,
- 	int				whichfork,
- 	xfs_fileoff_t			startoff,
- 	xfs_fsblock_t			startblock,
-@@ -2180,7 +2180,7 @@ __xfs_rmap_add(
- 	struct xfs_mount		*mp,
- 	struct xfs_defer_ops		*dfops,
- 	enum xfs_rmap_intent_type	type,
--	__uint64_t			owner,
-+	uint64_t			owner,
- 	int				whichfork,
- 	struct xfs_bmbt_irec		*bmap)
- {
-@@ -2264,7 +2264,7 @@ xfs_rmap_alloc_extent(
- 	xfs_agnumber_t		agno,
- 	xfs_agblock_t		bno,
- 	xfs_extlen_t		len,
--	__uint64_t		owner)
-+	uint64_t		owner)
- {
- 	struct xfs_bmbt_irec	bmap;
- 
-@@ -2288,7 +2288,7 @@ xfs_rmap_free_extent(
- 	xfs_agnumber_t		agno,
- 	xfs_agblock_t		bno,
- 	xfs_extlen_t		len,
--	__uint64_t		owner)
-+	uint64_t		owner)
- {
- 	struct xfs_bmbt_irec	bmap;
- 
-diff --git a/libxfs/xfs_rmap.h b/libxfs/xfs_rmap.h
-index 98f908fe..265116d0 100644
---- a/libxfs/xfs_rmap.h
-+++ b/libxfs/xfs_rmap.h
-@@ -179,7 +179,7 @@ enum xfs_rmap_intent_type {
- struct xfs_rmap_intent {
- 	struct list_head			ri_list;
- 	enum xfs_rmap_intent_type		ri_type;
--	__uint64_t				ri_owner;
-+	uint64_t				ri_owner;
- 	int					ri_whichfork;
- 	struct xfs_bmbt_irec			ri_bmap;
- };
-@@ -196,15 +196,15 @@ int xfs_rmap_convert_extent(struct xfs_mount *mp, struct xfs_defer_ops *dfops,
- 		struct xfs_bmbt_irec *imap);
- int xfs_rmap_alloc_extent(struct xfs_mount *mp, struct xfs_defer_ops *dfops,
- 		xfs_agnumber_t agno, xfs_agblock_t bno, xfs_extlen_t len,
--		__uint64_t owner);
-+		uint64_t owner);
- int xfs_rmap_free_extent(struct xfs_mount *mp, struct xfs_defer_ops *dfops,
- 		xfs_agnumber_t agno, xfs_agblock_t bno, xfs_extlen_t len,
--		__uint64_t owner);
-+		uint64_t owner);
- 
- void xfs_rmap_finish_one_cleanup(struct xfs_trans *tp,
- 		struct xfs_btree_cur *rcur, int error);
- int xfs_rmap_finish_one(struct xfs_trans *tp, enum xfs_rmap_intent_type type,
--		__uint64_t owner, int whichfork, xfs_fileoff_t startoff,
-+		uint64_t owner, int whichfork, xfs_fileoff_t startoff,
- 		xfs_fsblock_t startblock, xfs_filblks_t blockcount,
- 		xfs_exntst_t state, struct xfs_btree_cur **pcur);
- 
-diff --git a/libxfs/xfs_rmap_btree.c b/libxfs/xfs_rmap_btree.c
-index a186c872..45ac436f 100644
---- a/libxfs/xfs_rmap_btree.c
-+++ b/libxfs/xfs_rmap_btree.c
-@@ -197,7 +197,7 @@ xfs_rmapbt_init_high_key_from_rec(
- 	union xfs_btree_key	*key,
- 	union xfs_btree_rec	*rec)
- {
--	__uint64_t		off;
-+	uint64_t		off;
- 	int			adj;
- 
- 	adj = be32_to_cpu(rec->rmap.rm_blockcount) - 1;
-@@ -239,7 +239,7 @@ xfs_rmapbt_init_ptr_from_cur(
- 	ptr->s = agf->agf_roots[cur->bc_btnum];
- }
- 
--STATIC __int64_t
-+STATIC int64_t
- xfs_rmapbt_key_diff(
- 	struct xfs_btree_cur	*cur,
- 	union xfs_btree_key	*key)
-@@ -247,9 +247,9 @@ xfs_rmapbt_key_diff(
- 	struct xfs_rmap_irec	*rec = &cur->bc_rec.r;
- 	struct xfs_rmap_key	*kp = &key->rmap;
- 	__u64			x, y;
--	__int64_t		d;
-+	int64_t			d;
- 
--	d = (__int64_t)be32_to_cpu(kp->rm_startblock) - rec->rm_startblock;
-+	d = (int64_t)be32_to_cpu(kp->rm_startblock) - rec->rm_startblock;
- 	if (d)
- 		return d;
- 
-@@ -269,7 +269,7 @@ xfs_rmapbt_key_diff(
- 	return 0;
- }
- 
--STATIC __int64_t
-+STATIC int64_t
- xfs_rmapbt_diff_two_keys(
- 	struct xfs_btree_cur	*cur,
- 	union xfs_btree_key	*k1,
-@@ -277,10 +277,10 @@ xfs_rmapbt_diff_two_keys(
- {
- 	struct xfs_rmap_key	*kp1 = &k1->rmap;
- 	struct xfs_rmap_key	*kp2 = &k2->rmap;
--	__int64_t		d;
-+	int64_t			d;
- 	__u64			x, y;
- 
--	d = (__int64_t)be32_to_cpu(kp1->rm_startblock) -
-+	d = (int64_t)be32_to_cpu(kp1->rm_startblock) -
- 		       be32_to_cpu(kp2->rm_startblock);
- 	if (d)
- 		return d;
-@@ -382,10 +382,10 @@ xfs_rmapbt_keys_inorder(
- 	union xfs_btree_key	*k1,
- 	union xfs_btree_key	*k2)
- {
--	__uint32_t		x;
--	__uint32_t		y;
--	__uint64_t		a;
--	__uint64_t		b;
-+	uint32_t		x;
-+	uint32_t		y;
-+	uint64_t		a;
-+	uint64_t		b;
- 
- 	x = be32_to_cpu(k1->rmap.rm_startblock);
- 	y = be32_to_cpu(k2->rmap.rm_startblock);
-@@ -412,10 +412,10 @@ xfs_rmapbt_recs_inorder(
- 	union xfs_btree_rec	*r1,
- 	union xfs_btree_rec	*r2)
- {
--	__uint32_t		x;
--	__uint32_t		y;
--	__uint64_t		a;
--	__uint64_t		b;
-+	uint32_t		x;
-+	uint32_t		y;
-+	uint64_t		a;
-+	uint64_t		b;
- 
- 	x = be32_to_cpu(r1->rmap.rm_startblock);
- 	y = be32_to_cpu(r2->rmap.rm_startblock);
-diff --git a/libxfs/xfs_rtbitmap.c b/libxfs/xfs_rtbitmap.c
-index dbd2f881..8f8a99d6 100644
---- a/libxfs/xfs_rtbitmap.c
-+++ b/libxfs/xfs_rtbitmap.c
-@@ -1006,7 +1006,7 @@ xfs_rtfree_extent(
- 	    mp->m_sb.sb_rextents) {
- 		if (!(mp->m_rbmip->i_d.di_flags & XFS_DIFLAG_NEWRTBM))
- 			mp->m_rbmip->i_d.di_flags |= XFS_DIFLAG_NEWRTBM;
--		*(__uint64_t *)&VFS_I(mp->m_rbmip)->i_atime = 0;
-+		*(uint64_t *)&VFS_I(mp->m_rbmip)->i_atime = 0;
- 		xfs_trans_log_inode(tp, mp->m_rbmip, XFS_ILOG_CORE);
- 	}
- 	return 0;
-diff --git a/libxfs/xfs_sb.c b/libxfs/xfs_sb.c
-index 93a18190..51f69704 100644
---- a/libxfs/xfs_sb.c
-+++ b/libxfs/xfs_sb.c
-@@ -430,7 +430,7 @@ xfs_sb_quota_to_disk(
- 	struct xfs_dsb	*to,
- 	struct xfs_sb	*from)
- {
--	__uint16_t	qflags = from->sb_qflags;
-+	uint16_t	qflags = from->sb_qflags;
- 
- 	to->sb_uquotino = cpu_to_be64(from->sb_uquotino);
- 	if (xfs_sb_version_has_pquotino(from)) {
-@@ -738,7 +738,7 @@ xfs_sb_mount_common(
- 	mp->m_refc_mnr[1] = mp->m_refc_mxr[1] / 2;
- 
- 	mp->m_bsize = XFS_FSB_TO_BB(mp, 1);
--	mp->m_ialloc_inos = (int)MAX((__uint16_t)XFS_INODES_PER_CHUNK,
-+	mp->m_ialloc_inos = (int)MAX((uint16_t)XFS_INODES_PER_CHUNK,
- 					sbp->sb_inopblock);
- 	mp->m_ialloc_blks = mp->m_ialloc_inos >> sbp->sb_inopblog;
- 
-diff --git a/libxfs/xfs_types.h b/libxfs/xfs_types.h
-index 717909f2..0220159b 100644
---- a/libxfs/xfs_types.h
-+++ b/libxfs/xfs_types.h
-@@ -18,34 +18,34 @@
- #ifndef __XFS_TYPES_H__
- #define	__XFS_TYPES_H__
- 
--typedef __uint32_t	prid_t;		/* project ID */
-+typedef uint32_t	prid_t;		/* project ID */
- 
--typedef __uint32_t	xfs_agblock_t;	/* blockno in alloc. group */
--typedef	__uint32_t	xfs_agino_t;	/* inode # within allocation grp */
--typedef	__uint32_t	xfs_extlen_t;	/* extent length in blocks */
--typedef	__uint32_t	xfs_agnumber_t;	/* allocation group number */
--typedef __int32_t	xfs_extnum_t;	/* # of extents in a file */
--typedef __int16_t	xfs_aextnum_t;	/* # extents in an attribute fork */
--typedef	__int64_t	xfs_fsize_t;	/* bytes in a file */
--typedef __uint64_t	xfs_ufsize_t;	/* unsigned bytes in a file */
-+typedef uint32_t	xfs_agblock_t;	/* blockno in alloc. group */
-+typedef uint32_t	xfs_agino_t;	/* inode # within allocation grp */
-+typedef uint32_t	xfs_extlen_t;	/* extent length in blocks */
-+typedef uint32_t	xfs_agnumber_t;	/* allocation group number */
-+typedef int32_t		xfs_extnum_t;	/* # of extents in a file */
-+typedef int16_t		xfs_aextnum_t;	/* # extents in an attribute fork */
-+typedef int64_t		xfs_fsize_t;	/* bytes in a file */
-+typedef uint64_t	xfs_ufsize_t;	/* unsigned bytes in a file */
- 
--typedef	__int32_t	xfs_suminfo_t;	/* type of bitmap summary info */
--typedef	__int32_t	xfs_rtword_t;	/* word type for bitmap manipulations */
-+typedef int32_t		xfs_suminfo_t;	/* type of bitmap summary info */
-+typedef int32_t		xfs_rtword_t;	/* word type for bitmap manipulations */
- 
--typedef	__int64_t	xfs_lsn_t;	/* log sequence number */
--typedef	__int32_t	xfs_tid_t;	/* transaction identifier */
-+typedef int64_t		xfs_lsn_t;	/* log sequence number */
-+typedef int32_t		xfs_tid_t;	/* transaction identifier */
- 
--typedef	__uint32_t	xfs_dablk_t;	/* dir/attr block number (in file) */
--typedef	__uint32_t	xfs_dahash_t;	/* dir/attr hash value */
-+typedef uint32_t	xfs_dablk_t;	/* dir/attr block number (in file) */
-+typedef uint32_t	xfs_dahash_t;	/* dir/attr hash value */
- 
--typedef	__uint64_t	xfs_fsblock_t;	/* blockno in filesystem (agno|agbno) */
--typedef __uint64_t	xfs_rfsblock_t;	/* blockno in filesystem (raw) */
--typedef __uint64_t	xfs_rtblock_t;	/* extent (block) in realtime area */
--typedef __uint64_t	xfs_fileoff_t;	/* block number in a file */
--typedef __uint64_t	xfs_filblks_t;	/* number of blocks in a file */
-+typedef uint64_t	xfs_fsblock_t;	/* blockno in filesystem (agno|agbno) */
-+typedef uint64_t	xfs_rfsblock_t;	/* blockno in filesystem (raw) */
-+typedef uint64_t	xfs_rtblock_t;	/* extent (block) in realtime area */
-+typedef uint64_t	xfs_fileoff_t;	/* block number in a file */
-+typedef uint64_t	xfs_filblks_t;	/* number of blocks in a file */
- 
--typedef	__int64_t	xfs_srtblock_t;	/* signed version of xfs_rtblock_t */
--typedef __int64_t	xfs_sfiloff_t;	/* signed block number in a file */
-+typedef int64_t		xfs_srtblock_t;	/* signed version of xfs_rtblock_t */
-+typedef int64_t		xfs_sfiloff_t;	/* signed block number in a file */
- 
- /*
-  * Null values for the types.
-@@ -125,7 +125,7 @@ struct xfs_name {
-  * uid_t and gid_t are hard-coded to 32 bits in the inode.
-  * Hence, an 'id' in a dquot is 32 bits..
-  */
--typedef __uint32_t	xfs_dqid_t;
-+typedef uint32_t	xfs_dqid_t;
- 
- /*
-  * Constants for bit manipulations.
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfsprogs-remove-double-underscore-integer-types.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfsprogs-remove-double-underscore-integer-types.patch
deleted file mode 100644
index 5e08f0d..0000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-xfsprogs-remove-double-underscore-integer-types.patch
+++ /dev/null
@@ -1,3800 +0,0 @@
-From 14f8b6810bd240cc58131483790a099fcf56c073 Mon Sep 17 00:00:00 2001
-From: "Darrick J. Wong" <darrick.wong@oracle.com>
-Date: Fri, 4 Aug 2017 16:33:51 -0500
-Subject: [PATCH] xfsprogs: remove double-underscore integer types
-
-This is a purely mechanical patch that removes the private
-__{u,}int{8,16,32,64}_t typedefs in favor of using the system
-{u,}int{8,16,32,64}_t typedefs.  This is the sed script used to perform
-the transformation and fix the resulting whitespace and indentation
-errors:
-
-s/typedef\t__uint8_t/typedef __uint8_t\t/g
-s/typedef\t__uint/typedef __uint/g
-s/typedef\t__int\([0-9]*\)_t/typedef int\1_t\t/g
-s/__uint8_t\t/__uint8_t\t\t/g
-s/__uint/uint/g
-s/__int\([0-9]*\)_t\t/__int\1_t\t\t/g
-s/__int/int/g
-/^typedef.*int[0-9]*_t;$/d
-
-Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
-Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
-[sandeen: fix whitespace incidentals]
-Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
-Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
----
- copy/xfs_copy.c           | 14 ++++-----
- copy/xfs_copy.h           |  2 +-
- db/attr.c                 |  8 ++---
- db/attrshort.c            |  4 +--
- db/bit.c                  |  4 +--
- db/bit.h                  |  2 +-
- db/block.c                |  8 ++---
- db/check.c                | 18 +++++------
- db/convert.c              | 28 ++++++++---------
- db/faddr.c                | 14 ++++-----
- db/field.c                | 44 +++++++++++++--------------
- db/fprint.c               |  8 ++---
- db/frag.c                 |  8 ++---
- db/inode.c                | 34 ++++++++++-----------
- db/io.c                   |  2 +-
- db/io.h                   |  6 ++--
- db/metadump.c             | 12 ++++----
- db/sb.c                   |  6 ++--
- fsr/xfs_fsr.c             |  2 +-
- include/darwin.h          | 18 +++++------
- include/freebsd.h         |  6 ++--
- include/gnukfreebsd.h     |  6 ++--
- include/libxcmd.h         |  6 ++--
- include/linux.h           |  8 ++---
- include/xfs_arch.h        | 22 +++++++-------
- include/xfs_inode.h       |  4 +--
- include/xfs_log_recover.h |  2 +-
- include/xfs_metadump.h    |  4 +--
- include/xfs_mount.h       | 22 +++++++-------
- libhandle/handle.c        |  2 +-
- libhandle/jdm.c           |  2 +-
- libxcmd/topology.c        | 14 ++++-----
- libxfs/darwin.c           |  2 +-
- libxfs/freebsd.c          |  2 +-
- libxfs/init.c             |  2 +-
- libxfs/irix.c             |  2 +-
- libxfs/libxfs_priv.h      |  4 +--
- libxfs/linux.c            |  2 +-
- libxfs/logitem.c          |  2 +-
- libxfs/radix-tree.c       |  8 ++---
- libxfs/rdwr.c             |  6 ++--
- libxfs/util.c             |  8 ++---
- logprint/log_misc.c       |  6 ++--
- mdrestore/xfs_mdrestore.c |  2 +-
- mkfs/proto.c              |  2 +-
- mkfs/xfs_mkfs.c           | 76 +++++++++++++++++++++++------------------------
- quota/edit.c              | 64 +++++++++++++++++++--------------------
- quota/free.c              | 44 +++++++++++++--------------
- quota/quot.c              | 24 +++++++--------
- quota/quota.c             |  4 +--
- quota/quota.h             | 12 ++++----
- quota/report.c            |  4 +--
- quota/state.c             |  2 +-
- quota/util.c              | 66 ++++++++++++++++++++--------------------
- repair/README             |  2 +-
- repair/agheader.h         | 14 ++++-----
- repair/attr_repair.h      | 26 ++++++++--------
- repair/avl64.c            | 38 ++++++++++++------------
- repair/avl64.h            | 18 +++++------
- repair/dinode.c           | 38 ++++++++++++------------
- repair/dinode.h           |  4 +--
- repair/dir2.c             |  2 +-
- repair/globals.h          | 18 +++++------
- repair/incore.c           | 10 +++----
- repair/incore.h           | 46 ++++++++++++++--------------
- repair/incore_ext.c       |  6 ++--
- repair/incore_ino.c       | 72 ++++++++++++++++++++++----------------------
- repair/phase2.c           |  2 +-
- repair/phase3.c           |  6 ++--
- repair/phase4.c           |  4 +--
- repair/phase5.c           | 28 ++++++++---------
- repair/phase6.c           | 16 +++++-----
- repair/phase7.c           |  6 ++--
- repair/progress.c         | 30 +++++++++----------
- repair/progress.h         |  4 +--
- repair/rmap.c             | 18 +++++------
- repair/rmap.h             |  2 +-
- repair/sb.c               | 24 +++++++--------
- repair/scan.c             | 50 +++++++++++++++----------------
- repair/scan.h             | 12 ++++----
- 80 files changed, 590 insertions(+), 590 deletions(-)
-
-diff --git a/copy/xfs_copy.c b/copy/xfs_copy.c
-index a7da824f..33e05dfd 100644
---- a/copy/xfs_copy.c
-+++ b/copy/xfs_copy.c
-@@ -43,7 +43,7 @@ unsigned int	source_sectorsize;	/* source disk sectorsize */
- 
- xfs_agblock_t	first_agbno;
- 
--__uint64_t	barcount[11];
-+uint64_t	barcount[11];
- 
- unsigned int	num_targets;
- target_control	*target;
-@@ -313,7 +313,7 @@ usage(void)
- }
- 
- void
--init_bar(__uint64_t source_blocks)
-+init_bar(uint64_t source_blocks)
- {
- 	int	i;
- 
-@@ -322,7 +322,7 @@ init_bar(__uint64_t source_blocks)
- }
- 
- int
--bump_bar(int tenths, __uint64_t numblocks)
-+bump_bar(int tenths, uint64_t numblocks)
- {
- 	static char *bar[11] = {
- 		" 0% ",
-@@ -534,8 +534,8 @@ main(int argc, char **argv)
- 	xfs_off_t	pos;
- 	size_t		length;
- 	int		c;
--	__uint64_t	size, sizeb;
--	__uint64_t	numblocks = 0;
-+	uint64_t	size, sizeb;
-+	uint64_t	numblocks = 0;
- 	int		wblocks = 0;
- 	int		num_threads = 0;
- 	struct dioattr	d;
-@@ -951,8 +951,8 @@ main(int argc, char **argv)
- 	num_ags = mp->m_sb.sb_agcount;
- 
- 	init_bar(mp->m_sb.sb_blocksize / BBSIZE
--			* ((__uint64_t)mp->m_sb.sb_dblocks
--			    - (__uint64_t)mp->m_sb.sb_fdblocks + 10 * num_ags));
-+			* ((uint64_t)mp->m_sb.sb_dblocks
-+			    - (uint64_t)mp->m_sb.sb_fdblocks + 10 * num_ags));
- 
- 	kids = num_targets;
- 
-diff --git a/copy/xfs_copy.h b/copy/xfs_copy.h
-index 27370688..53c6e42c 100644
---- a/copy/xfs_copy.h
-+++ b/copy/xfs_copy.h
-@@ -76,7 +76,7 @@ typedef struct {
- 
- typedef int thread_id;
- typedef int tm_index;			/* index into thread mask array */
--typedef __uint32_t thread_mask;		/* a thread mask */
-+typedef uint32_t thread_mask;		/* a thread mask */
- 
- typedef struct {
- 	char		*name;
-diff --git a/db/attr.c b/db/attr.c
-index 31536a8b..23ffcd5f 100644
---- a/db/attr.c
-+++ b/db/attr.c
-@@ -77,16 +77,16 @@ const field_t	attr_leaf_entry_flds[] = {
- 	{ "nameidx", FLDT_UINT16D, OI(LEOFF(nameidx)), C1, 0, TYP_NONE },
- 	{ "flags", FLDT_UINT8X, OI(LEOFF(flags)), C1, FLD_SKIPALL, TYP_NONE },
- 	{ "incomplete", FLDT_UINT1,
--	  OI(LEOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_INCOMPLETE_BIT - 1), C1,
-+	  OI(LEOFF(flags) + bitsz(uint8_t) - XFS_ATTR_INCOMPLETE_BIT - 1), C1,
- 	  0, TYP_NONE },
- 	{ "root", FLDT_UINT1,
--	  OI(LEOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_ROOT_BIT - 1), C1, 0,
-+	  OI(LEOFF(flags) + bitsz(uint8_t) - XFS_ATTR_ROOT_BIT - 1), C1, 0,
- 	  TYP_NONE },
- 	{ "secure", FLDT_UINT1,
--	  OI(LEOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_SECURE_BIT - 1), C1, 0,
-+	  OI(LEOFF(flags) + bitsz(uint8_t) - XFS_ATTR_SECURE_BIT - 1), C1, 0,
- 	  TYP_NONE },
- 	{ "local", FLDT_UINT1,
--	  OI(LEOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_LOCAL_BIT - 1), C1, 0,
-+	  OI(LEOFF(flags) + bitsz(uint8_t) - XFS_ATTR_LOCAL_BIT - 1), C1, 0,
- 	  TYP_NONE },
- 	{ "pad2", FLDT_UINT8X, OI(LEOFF(pad2)), C1, FLD_SKIPALL, TYP_NONE },
- 	{ NULL }
-diff --git a/db/attrshort.c b/db/attrshort.c
-index d82559cc..2ef358f5 100644
---- a/db/attrshort.c
-+++ b/db/attrshort.c
-@@ -51,10 +51,10 @@ const field_t	attr_sf_entry_flds[] = {
- 	{ "valuelen", FLDT_UINT8D, OI(EOFF(valuelen)), C1, 0, TYP_NONE },
- 	{ "flags", FLDT_UINT8X, OI(EOFF(flags)), C1, FLD_SKIPALL, TYP_NONE },
- 	{ "root", FLDT_UINT1,
--	  OI(EOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_ROOT_BIT - 1), C1, 0,
-+	  OI(EOFF(flags) + bitsz(uint8_t) - XFS_ATTR_ROOT_BIT - 1), C1, 0,
- 	  TYP_NONE },
- 	{ "secure", FLDT_UINT1,
--	  OI(EOFF(flags) + bitsz(__uint8_t) - XFS_ATTR_SECURE_BIT - 1), C1, 0,
-+	  OI(EOFF(flags) + bitsz(uint8_t) - XFS_ATTR_SECURE_BIT - 1), C1, 0,
- 	  TYP_NONE },
- 	{ "name", FLDT_CHARNS, OI(EOFF(nameval)), attr_sf_entry_name_count,
- 	  FLD_COUNT, TYP_NONE },
-diff --git a/db/bit.c b/db/bit.c
-index 24872bf7..f5ebf681 100644
---- a/db/bit.c
-+++ b/db/bit.c
-@@ -60,7 +60,7 @@ setbit(
- 	}
- }
- 
--__int64_t
-+int64_t
- getbitval(
- 	void		*obj,
- 	int		bitoff,
-@@ -70,7 +70,7 @@ getbitval(
- 	int		bit;
- 	int		i;
- 	char		*p;
--	__int64_t	rval;
-+	int64_t		rval;
- 	int		signext;
- 	int		z1, z2, z3, z4;
- 
-diff --git a/db/bit.h b/db/bit.h
-index 80ba24c4..9fd71f4b 100644
---- a/db/bit.h
-+++ b/db/bit.h
-@@ -25,5 +25,5 @@
- #define	BVUNSIGNED	0
- #define	BVSIGNED	1
- 
--extern __int64_t	getbitval(void *obj, int bitoff, int nbits, int flags);
-+extern int64_t		getbitval(void *obj, int bitoff, int nbits, int flags);
- extern void             setbitval(void *obuf, int bitoff, int nbits, void *ibuf);
-diff --git a/db/block.c b/db/block.c
-index 4a357ced..5ecd687a 100644
---- a/db/block.c
-+++ b/db/block.c
-@@ -98,7 +98,7 @@ ablock_f(
- 	}
- 	dfsbno = bm.startblock + (bno - bm.startoff);
- 	ASSERT(typtab[TYP_ATTR].typnm == TYP_ATTR);
--	set_cur(&typtab[TYP_ATTR], (__int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
-+	set_cur(&typtab[TYP_ATTR], (int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
- 		blkbb, DB_RING_ADD, NULL);
- 	return 0;
- }
-@@ -128,14 +128,14 @@ daddr_f(
- 	int		argc,
- 	char		**argv)
- {
--	__int64_t	d;
-+	int64_t		d;
- 	char		*p;
- 
- 	if (argc == 1) {
- 		dbprintf(_("current daddr is %lld\n"), iocur_top->off >> BBSHIFT);
- 		return 0;
- 	}
--	d = (__int64_t)strtoull(argv[1], &p, 0);
-+	d = (int64_t)strtoull(argv[1], &p, 0);
- 	if (*p != '\0' ||
- 	    d >= mp->m_sb.sb_dblocks << (mp->m_sb.sb_blocklog - BBSHIFT)) {
- 		dbprintf(_("bad daddr %s\n"), argv[1]);
-@@ -197,7 +197,7 @@ dblock_f(
- 	ASSERT(typtab[type].typnm == type);
- 	if (nex > 1)
- 		make_bbmap(&bbmap, nex, bmp);
--	set_cur(&typtab[type], (__int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
-+	set_cur(&typtab[type], (int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
- 		nb * blkbb, DB_RING_ADD, nex > 1 ? &bbmap : NULL);
- 	free(bmp);
- 	return 0;
-diff --git a/db/check.c b/db/check.c
-index 8e618a23..81ba63a6 100644
---- a/db/check.c
-+++ b/db/check.c
-@@ -114,8 +114,8 @@ typedef struct dirhash {
- 
- static xfs_extlen_t	agffreeblks;
- static xfs_extlen_t	agflongest;
--static __uint64_t	agf_aggr_freeblks;	/* aggregate count over all */
--static __uint32_t	agfbtreeblks;
-+static uint64_t	agf_aggr_freeblks;	/* aggregate count over all */
-+static uint32_t	agfbtreeblks;
- static int		lazycount;
- static xfs_agino_t	agicount;
- static xfs_agino_t	agifreecount;
-@@ -124,10 +124,10 @@ static int		blist_size;
- static char		**dbmap;	/* really dbm_t:8 */
- static dirhash_t	**dirhash;
- static int		error;
--static __uint64_t	fdblocks;
--static __uint64_t	frextents;
--static __uint64_t	icount;
--static __uint64_t	ifree;
-+static uint64_t	fdblocks;
-+static uint64_t	frextents;
-+static uint64_t	icount;
-+static uint64_t	ifree;
- static inodata_t	***inodata;
- static int		inodata_hash_size;
- static inodata_t	***inomap;
-@@ -1187,7 +1187,7 @@ blocktrash_f(
- 		goto out;
- 	}
- 	for (i = 0; i < count; i++) {
--		randb = (xfs_rfsblock_t)((((__int64_t)random() << 32) |
-+		randb = (xfs_rfsblock_t)((((int64_t)random() << 32) |
- 					 random()) % blocks);
- 		for (bi = 0, agno = 0, done = 0;
- 		     !done && agno < mp->m_sb.sb_agcount;
-@@ -3032,7 +3032,7 @@ process_leaf_node_dir_v2(
- 		}
- 		if (v)
- 			dbprintf(_("dir inode %lld block %u=%llu\n"), id->ino,
--				(__uint32_t)dbno,
-+				(uint32_t)dbno,
- 				(xfs_fsblock_t)bmp->startblock);
- 		push_cur();
- 		if (nex > 1)
-@@ -3045,7 +3045,7 @@ process_leaf_node_dir_v2(
- 			if (!sflag || v)
- 				dbprintf(_("can't read block %u for directory "
- 					 "inode %lld\n"),
--					(__uint32_t)dbno, id->ino);
-+					(uint32_t)dbno, id->ino);
- 			error++;
- 			pop_cur();
- 			dbno += mp->m_dir_geo->fsbcount - 1;
-diff --git a/db/convert.c b/db/convert.c
-index a337abea..fa4f9623 100644
---- a/db/convert.c
-+++ b/db/convert.c
-@@ -24,13 +24,13 @@
- 
- #define	M(A)	(1 << CT_ ## A)
- #define	agblock_to_bytes(x)	\
--	((__uint64_t)(x) << mp->m_sb.sb_blocklog)
-+	((uint64_t)(x) << mp->m_sb.sb_blocklog)
- #define	agino_to_bytes(x)	\
--	((__uint64_t)(x) << mp->m_sb.sb_inodelog)
-+	((uint64_t)(x) << mp->m_sb.sb_inodelog)
- #define	agnumber_to_bytes(x)	\
--	agblock_to_bytes((__uint64_t)(x) * mp->m_sb.sb_agblocks)
-+	agblock_to_bytes((uint64_t)(x) * mp->m_sb.sb_agblocks)
- #define	daddr_to_bytes(x)	\
--	((__uint64_t)(x) << BBSHIFT)
-+	((uint64_t)(x) << BBSHIFT)
- #define	fsblock_to_bytes(x)	\
- 	(agnumber_to_bytes(XFS_FSB_TO_AGNO(mp, (x))) + \
- 	 agblock_to_bytes(XFS_FSB_TO_AGBNO(mp, (x))))
-@@ -38,7 +38,7 @@
- 	(agnumber_to_bytes(XFS_INO_TO_AGNO(mp, (x))) + \
- 	 agino_to_bytes(XFS_INO_TO_AGINO(mp, (x))))
- #define	inoidx_to_bytes(x)	\
--	((__uint64_t)(x) << mp->m_sb.sb_inodelog)
-+	((uint64_t)(x) << mp->m_sb.sb_inodelog)
- 
- typedef enum {
- 	CT_NONE = -1,
-@@ -68,7 +68,7 @@ typedef union {
- 	xfs_agnumber_t	agnumber;
- 	int		bboff;
- 	int		blkoff;
--	__uint64_t	byte;
-+	uint64_t	byte;
- 	xfs_daddr_t	daddr;
- 	xfs_fsblock_t	fsblock;
- 	xfs_ino_t	ino;
-@@ -76,7 +76,7 @@ typedef union {
- 	int		inooff;
- } cval_t;
- 
--static __uint64_t		bytevalue(ctype_t ctype, cval_t *val);
-+static uint64_t		bytevalue(ctype_t ctype, cval_t *val);
- static int		convert_f(int argc, char **argv);
- static int		getvalue(char *s, ctype_t ctype, cval_t *val);
- static ctype_t		lookupcty(char *ctyname);
-@@ -118,7 +118,7 @@ static const cmdinfo_t	convert_cmd =
- 	{ "convert", NULL, convert_f, 3, 9, 0, "type num [type num]... type",
- 	  "convert from one address form to another", NULL };
- 
--static __uint64_t
-+static uint64_t
- bytevalue(ctype_t ctype, cval_t *val)
- {
- 	switch (ctype) {
-@@ -129,9 +129,9 @@ bytevalue(ctype_t ctype, cval_t *val)
- 	case CT_AGNUMBER:
- 		return agnumber_to_bytes(val->agnumber);
- 	case CT_BBOFF:
--		return (__uint64_t)val->bboff;
-+		return (uint64_t)val->bboff;
- 	case CT_BLKOFF:
--		return (__uint64_t)val->blkoff;
-+		return (uint64_t)val->blkoff;
- 	case CT_BYTE:
- 		return val->byte;
- 	case CT_DADDR:
-@@ -143,7 +143,7 @@ bytevalue(ctype_t ctype, cval_t *val)
- 	case CT_INOIDX:
- 		return inoidx_to_bytes(val->inoidx);
- 	case CT_INOOFF:
--		return (__uint64_t)val->inooff;
-+		return (uint64_t)val->inooff;
- 	case CT_NONE:
- 	case NCTS:
- 		break;
-@@ -160,7 +160,7 @@ convert_f(int argc, char **argv)
- 	cval_t		cvals[NCTS] = {};
- 	int		i;
- 	int		mask;
--	__uint64_t	v;
-+	uint64_t	v;
- 	ctype_t		wtype;
- 
- 	/* move past the "convert" command */
-@@ -262,7 +262,7 @@ static int
- getvalue(char *s, ctype_t ctype, cval_t *val)
- {
- 	char		*p;
--	__uint64_t	v;
-+	uint64_t	v;
- 
- 	v = strtoull(s, &p, 0);
- 	if (*p != '\0') {
-@@ -286,7 +286,7 @@ getvalue(char *s, ctype_t ctype, cval_t *val)
- 		val->blkoff = (int)v;
- 		break;
- 	case CT_BYTE:
--		val->byte = (__uint64_t)v;
-+		val->byte = (uint64_t)v;
- 		break;
- 	case CT_DADDR:
- 		val->daddr = (xfs_daddr_t)v;
-diff --git a/db/faddr.c b/db/faddr.c
-index 877200bf..56207648 100644
---- a/db/faddr.c
-+++ b/db/faddr.c
-@@ -79,11 +79,11 @@ fa_attrblock(
- 	typnm_t		next)
- {
- 	bmap_ext_t	bm;
--	__uint32_t	bno;
-+	uint32_t	bno;
- 	xfs_fsblock_t	dfsbno;
- 	int		nex;
- 
--	bno = (__uint32_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
-+	bno = (uint32_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
- 	if (bno == 0) {
- 		dbprintf(_("null attribute block number, cannot set new addr\n"));
- 		return;
-@@ -96,7 +96,7 @@ fa_attrblock(
- 	}
- 	dfsbno = bm.startblock + (bno - bm.startoff);
- 	ASSERT(typtab[next].typnm == next);
--	set_cur(&typtab[next], (__int64_t)XFS_FSB_TO_DADDR(mp, dfsbno), blkbb,
-+	set_cur(&typtab[next], (int64_t)XFS_FSB_TO_DADDR(mp, dfsbno), blkbb,
- 		DB_RING_ADD, NULL);
- }
- 
-@@ -276,11 +276,11 @@ fa_dirblock(
- {
- 	bbmap_t		bbmap;
- 	bmap_ext_t	*bmp;
--	__uint32_t	bno;
-+	uint32_t	bno;
- 	xfs_fsblock_t	dfsbno;
- 	int		nex;
- 
--	bno = (__uint32_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
-+	bno = (uint32_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
- 	if (bno == 0) {
- 		dbprintf(_("null directory block number, cannot set new addr\n"));
- 		return;
-@@ -297,7 +297,7 @@ fa_dirblock(
- 	ASSERT(typtab[next].typnm == next);
- 	if (nex > 1)
- 		make_bbmap(&bbmap, nex, bmp);
--	set_cur(&typtab[next], (__int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
-+	set_cur(&typtab[next], (int64_t)XFS_FSB_TO_DADDR(mp, dfsbno),
- 		XFS_FSB_TO_BB(mp, mp->m_dir_geo->fsbcount), DB_RING_ADD,
- 		nex > 1 ? &bbmap : NULL);
- 	free(bmp);
-@@ -317,7 +317,7 @@ fa_drfsbno(
- 		return;
- 	}
- 	ASSERT(typtab[next].typnm == next);
--	set_cur(&typtab[next], (__int64_t)XFS_FSB_TO_BB(mp, bno), blkbb,
-+	set_cur(&typtab[next], (int64_t)XFS_FSB_TO_BB(mp, bno), blkbb,
- 		DB_RING_ADD, NULL);
- }
- 
-diff --git a/db/field.c b/db/field.c
-index 865b0b71..f1e5f35e 100644
---- a/db/field.c
-+++ b/db/field.c
-@@ -83,7 +83,7 @@ const ftattr_t	ftattrtab[] = {
- 	  attr_sf_entry_size, FTARG_SIZE, NULL, attr_sf_entry_flds },
- 	{ FLDT_ATTR_SF_HDR, "attr_sf_hdr", NULL, (char *)attr_sf_hdr_flds,
- 	  SI(bitsz(struct xfs_attr_sf_hdr)), 0, NULL, attr_sf_hdr_flds },
--	{ FLDT_ATTRBLOCK, "attrblock", fp_num, "%u", SI(bitsz(__uint32_t)), 0,
-+	{ FLDT_ATTRBLOCK, "attrblock", fp_num, "%u", SI(bitsz(uint32_t)), 0,
- 	  fa_attrblock, NULL },
- 	{ FLDT_ATTRSHORT, "attrshort", NULL, (char *)attr_shortform_flds,
- 	  attrshort_size, FTARG_SIZE, NULL, attr_shortform_flds },
-@@ -199,7 +199,7 @@ const ftattr_t	ftattrtab[] = {
- 	  SI(bitsz(struct xfs_refcount_rec)), 0, NULL, refcbt_rec_flds },
- 
- /* CRC field */
--	{ FLDT_CRC, "crc", fp_crc, "%#x (%s)", SI(bitsz(__uint32_t)),
-+	{ FLDT_CRC, "crc", fp_crc, "%#x (%s)", SI(bitsz(uint32_t)),
- 	  0, NULL, NULL },
- 
- 	{ FLDT_DEV, "dev", fp_num, "%#x", SI(bitsz(xfs_dev_t)), 0, NULL, NULL },
-@@ -214,7 +214,7 @@ const ftattr_t	ftattrtab[] = {
- 	{ FLDT_DINODE_CORE, "dinode_core", NULL, (char *)inode_core_flds,
- 	  SI(bitsz(xfs_dinode_t)), 0, NULL, inode_core_flds },
- 	{ FLDT_DINODE_FMT, "dinode_fmt", fp_dinode_fmt, NULL,
--	  SI(bitsz(__int8_t)), 0, NULL, NULL },
-+	  SI(bitsz(int8_t)), 0, NULL, NULL },
- 	{ FLDT_DINODE_U, "dinode_u", NULL, (char *)inode_u_flds, inode_u_size,
- 	  FTARG_SIZE|FTARG_OKEMPTY, NULL, inode_u_flds },
- 	{ FLDT_DINODE_V3, "dinode_v3", NULL, (char *)inode_v3_flds,
-@@ -295,7 +295,7 @@ const ftattr_t	ftattrtab[] = {
- 	{ FLDT_DA3_NODE_HDR, "dir_node_hdr", NULL, (char *)da3_node_hdr_flds,
- 	  SI(bitsz(struct xfs_da3_node_hdr)), 0, NULL, da3_node_hdr_flds },
- 
--	{ FLDT_DIRBLOCK, "dirblock", fp_num, "%u", SI(bitsz(__uint32_t)), 0,
-+	{ FLDT_DIRBLOCK, "dirblock", fp_num, "%u", SI(bitsz(uint32_t)), 0,
- 	  fa_dirblock, NULL },
- 	{ FLDT_DISK_DQUOT, "disk_dquot", NULL, (char *)disk_dquot_flds,
- 	  SI(bitsz(xfs_disk_dquot_t)), 0, NULL, disk_dquot_flds },
-@@ -335,15 +335,15 @@ const ftattr_t	ftattrtab[] = {
- 	  FTARG_SIZE, NULL, inode_crc_flds },
- 	{ FLDT_INOFREE, "inofree", fp_num, "%#llx", SI(bitsz(xfs_inofree_t)), 0,
- 	  NULL, NULL },
--	{ FLDT_INT16D, "int16d", fp_num, "%d", SI(bitsz(__int16_t)),
-+	{ FLDT_INT16D, "int16d", fp_num, "%d", SI(bitsz(int16_t)),
- 	  FTARG_SIGNED, NULL, NULL },
--	{ FLDT_INT32D, "int32d", fp_num, "%d", SI(bitsz(__int32_t)),
-+	{ FLDT_INT32D, "int32d", fp_num, "%d", SI(bitsz(int32_t)),
- 	  FTARG_SIGNED, NULL, NULL },
--	{ FLDT_INT64D, "int64d", fp_num, "%lld", SI(bitsz(__int64_t)),
-+	{ FLDT_INT64D, "int64d", fp_num, "%lld", SI(bitsz(int64_t)),
- 	  FTARG_SIGNED, NULL, NULL },
--	{ FLDT_INT8D, "int8d", fp_num, "%d", SI(bitsz(__int8_t)), FTARG_SIGNED,
-+	{ FLDT_INT8D, "int8d", fp_num, "%d", SI(bitsz(int8_t)), FTARG_SIGNED,
- 	  NULL, NULL },
--	{ FLDT_NSEC, "nsec", fp_num, "%09d", SI(bitsz(__int32_t)), FTARG_SIGNED,
-+	{ FLDT_NSEC, "nsec", fp_num, "%09d", SI(bitsz(int32_t)), FTARG_SIGNED,
- 	  NULL, NULL },
- 	{ FLDT_QCNT, "qcnt", fp_num, "%llu", SI(bitsz(xfs_qcnt_t)), 0, NULL,
- 	  NULL },
-@@ -356,34 +356,34 @@ const ftattr_t	ftattrtab[] = {
- 	{ FLDT_SYMLINK_CRC, "symlink", NULL, (char *)symlink_crc_flds,
- 	  symlink_size, FTARG_SIZE, NULL, symlink_crc_flds },
- 
--	{ FLDT_TIME, "time", fp_time, NULL, SI(bitsz(__int32_t)), FTARG_SIGNED,
-+	{ FLDT_TIME, "time", fp_time, NULL, SI(bitsz(int32_t)), FTARG_SIGNED,
- 	  NULL, NULL },
- 	{ FLDT_TIMESTAMP, "timestamp", NULL, (char *)timestamp_flds,
- 	  SI(bitsz(xfs_timestamp_t)), 0, NULL, timestamp_flds },
- 	{ FLDT_UINT1, "uint1", fp_num, "%u", SI(1), 0, NULL, NULL },
--	{ FLDT_UINT16D, "uint16d", fp_num, "%u", SI(bitsz(__uint16_t)), 0, NULL,
-+	{ FLDT_UINT16D, "uint16d", fp_num, "%u", SI(bitsz(uint16_t)), 0, NULL,
- 	  NULL },
--	{ FLDT_UINT16O, "uint16o", fp_num, "%#o", SI(bitsz(__uint16_t)), 0,
-+	{ FLDT_UINT16O, "uint16o", fp_num, "%#o", SI(bitsz(uint16_t)), 0,
- 	  NULL, NULL },
--	{ FLDT_UINT16X, "uint16x", fp_num, "%#x", SI(bitsz(__uint16_t)), 0,
-+	{ FLDT_UINT16X, "uint16x", fp_num, "%#x", SI(bitsz(uint16_t)), 0,
- 	  NULL, NULL },
--	{ FLDT_UINT32D, "uint32d", fp_num, "%u", SI(bitsz(__uint32_t)), 0, NULL,
-+	{ FLDT_UINT32D, "uint32d", fp_num, "%u", SI(bitsz(uint32_t)), 0, NULL,
- 	  NULL },
--	{ FLDT_UINT32O, "uint32o", fp_num, "%#o", SI(bitsz(__uint32_t)), 0,
-+	{ FLDT_UINT32O, "uint32o", fp_num, "%#o", SI(bitsz(uint32_t)), 0,
- 	  NULL, NULL },
--	{ FLDT_UINT32X, "uint32x", fp_num, "%#x", SI(bitsz(__uint32_t)), 0,
-+	{ FLDT_UINT32X, "uint32x", fp_num, "%#x", SI(bitsz(uint32_t)), 0,
- 	  NULL, NULL },
--	{ FLDT_UINT64D, "uint64d", fp_num, "%llu", SI(bitsz(__uint64_t)), 0,
-+	{ FLDT_UINT64D, "uint64d", fp_num, "%llu", SI(bitsz(uint64_t)), 0,
- 	  NULL, NULL },
--	{ FLDT_UINT64O, "uint64o", fp_num, "%#llo", SI(bitsz(__uint64_t)), 0,
-+	{ FLDT_UINT64O, "uint64o", fp_num, "%#llo", SI(bitsz(uint64_t)), 0,
- 	  NULL, NULL },
--	{ FLDT_UINT64X, "uint64x", fp_num, "%#llx", SI(bitsz(__uint64_t)), 0,
-+	{ FLDT_UINT64X, "uint64x", fp_num, "%#llx", SI(bitsz(uint64_t)), 0,
- 	  NULL, NULL },
--	{ FLDT_UINT8D, "uint8d", fp_num, "%u", SI(bitsz(__uint8_t)), 0, NULL,
-+	{ FLDT_UINT8D, "uint8d", fp_num, "%u", SI(bitsz(uint8_t)), 0, NULL,
- 	  NULL },
--	{ FLDT_UINT8O, "uint8o", fp_num, "%#o", SI(bitsz(__uint8_t)), 0, NULL,
-+	{ FLDT_UINT8O, "uint8o", fp_num, "%#o", SI(bitsz(uint8_t)), 0, NULL,
- 	  NULL },
--	{ FLDT_UINT8X, "uint8x", fp_num, "%#x", SI(bitsz(__uint8_t)), 0, NULL,
-+	{ FLDT_UINT8X, "uint8x", fp_num, "%#x", SI(bitsz(uint8_t)), 0, NULL,
- 	  NULL },
- 	{ FLDT_UUID, "uuid", fp_uuid, NULL, SI(bitsz(uuid_t)), 0, NULL, NULL },
- 	{ FLDT_ZZZ, NULL }
-diff --git a/db/fprint.c b/db/fprint.c
-index fd7e7f45..261a31ef 100644
---- a/db/fprint.c
-+++ b/db/fprint.c
-@@ -80,7 +80,7 @@ fp_num(
- 	int		bitpos;
- 	int		i;
- 	int		isnull;
--	__int64_t	val;
-+	int64_t		val;
- 
- 	for (i = 0, bitpos = bit;
- 	     i < count && !seenint();
-@@ -100,7 +100,7 @@ fp_num(
- 		else if (size > 32)
- 			dbprintf(fmtstr, val);
- 		else
--			dbprintf(fmtstr, (__int32_t)val);
-+			dbprintf(fmtstr, (int32_t)val);
- 		if (i < count - 1)
- 			dbprintf(" ");
- 	}
-@@ -203,7 +203,7 @@ fp_crc(
- {
- 	int		bitpos;
- 	int		i;
--	__int64_t	val;
-+	int64_t		val;
- 	char		*ok;
- 
- 	switch (iocur_crc_valid()) {
-@@ -230,7 +230,7 @@ fp_crc(
- 		if (size > 32)
- 			dbprintf(fmtstr, val, ok);
- 		else
--			dbprintf(fmtstr, (__int32_t)val, ok);
-+			dbprintf(fmtstr, (int32_t)val, ok);
- 		if (i < count - 1)
- 			dbprintf(" ");
- 	}
-diff --git a/db/frag.c b/db/frag.c
-index 8005e45d..d224f0c2 100644
---- a/db/frag.c
-+++ b/db/frag.c
-@@ -42,8 +42,8 @@ typedef	struct extmap {
- 
- static int		aflag;
- static int		dflag;
--static __uint64_t	extcount_actual;
--static __uint64_t	extcount_ideal;
-+static uint64_t	extcount_actual;
-+static uint64_t	extcount_ideal;
- static int		fflag;
- static int		lflag;
- static int		qflag;
-@@ -310,8 +310,8 @@ process_inode(
- 	xfs_agino_t		agino,
- 	xfs_dinode_t		*dip)
- {
--	__uint64_t		actual;
--	__uint64_t		ideal;
-+	uint64_t		actual;
-+	uint64_t		ideal;
- 	xfs_ino_t		ino;
- 	int			skipa;
- 	int			skipd;
-diff --git a/db/inode.c b/db/inode.c
-index 8b7a41e4..6cc47d6a 100644
---- a/db/inode.c
-+++ b/db/inode.c
-@@ -119,49 +119,49 @@ const field_t	inode_core_flds[] = {
- 	{ "dmstate", FLDT_UINT16D, OI(COFF(dmstate)), C1, 0, TYP_NONE },
- 	{ "flags", FLDT_UINT16X, OI(COFF(flags)), C1, FLD_SKIPALL, TYP_NONE },
- 	{ "newrtbm", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_NEWRTBM_BIT - 1), C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_NEWRTBM_BIT - 1), C1,
- 	  0, TYP_NONE },
- 	{ "prealloc", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_PREALLOC_BIT - 1), C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_PREALLOC_BIT - 1), C1,
- 	  0, TYP_NONE },
- 	{ "realtime", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_REALTIME_BIT - 1), C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_REALTIME_BIT - 1), C1,
- 	  0, TYP_NONE },
- 	{ "immutable", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_IMMUTABLE_BIT-1), C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_IMMUTABLE_BIT-1), C1,
- 	  0, TYP_NONE },
- 	{ "append", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_APPEND_BIT - 1), C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_APPEND_BIT - 1), C1,
- 	  0, TYP_NONE },
- 	{ "sync", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_SYNC_BIT - 1), C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_SYNC_BIT - 1), C1,
- 	  0, TYP_NONE },
- 	{ "noatime", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_NOATIME_BIT - 1), C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_NOATIME_BIT - 1), C1,
- 	  0, TYP_NONE },
- 	{ "nodump", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_NODUMP_BIT - 1), C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_NODUMP_BIT - 1), C1,
- 	  0, TYP_NONE },
- 	{ "rtinherit", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_RTINHERIT_BIT-1), C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_RTINHERIT_BIT-1), C1,
- 	  0, TYP_NONE },
- 	{ "projinherit", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_PROJINHERIT_BIT-1),C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_PROJINHERIT_BIT-1), C1,
- 	  0, TYP_NONE },
- 	{ "nosymlinks", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_NOSYMLINKS_BIT-1), C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_NOSYMLINKS_BIT-1), C1,
- 	  0, TYP_NONE },
- 	{ "extsz", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_EXTSIZE_BIT-1),C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_EXTSIZE_BIT-1), C1,
- 	  0, TYP_NONE },
- 	{ "extszinherit", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_EXTSZINHERIT_BIT-1),C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_EXTSZINHERIT_BIT-1), C1,
- 	  0, TYP_NONE },
- 	{ "nodefrag", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_NODEFRAG_BIT-1),C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_NODEFRAG_BIT-1), C1,
- 	  0, TYP_NONE },
- 	{ "filestream", FLDT_UINT1,
--	  OI(COFF(flags) + bitsz(__uint16_t) - XFS_DIFLAG_FILESTREAM_BIT-1),C1,
-+	  OI(COFF(flags) + bitsz(uint16_t) - XFS_DIFLAG_FILESTREAM_BIT-1), C1,
- 	  0, TYP_NONE },
- 	{ "gen", FLDT_UINT32D, OI(COFF(gen)), C1, 0, TYP_NONE },
- 	{ NULL }
-@@ -177,10 +177,10 @@ const field_t	inode_v3_flds[] = {
- 	{ "inumber", FLDT_INO, OI(COFF(ino)), C1, 0, TYP_NONE },
- 	{ "uuid", FLDT_UUID, OI(COFF(uuid)), C1, 0, TYP_NONE },
- 	{ "reflink", FLDT_UINT1,
--	  OI(COFF(flags2) + bitsz(__uint64_t) - XFS_DIFLAG2_REFLINK_BIT-1), C1,
-+	  OI(COFF(flags2) + bitsz(uint64_t) - XFS_DIFLAG2_REFLINK_BIT-1), C1,
- 	  0, TYP_NONE },
- 	{ "cowextsz", FLDT_UINT1,
--	  OI(COFF(flags2) + bitsz(__uint64_t) - XFS_DIFLAG2_COWEXTSIZE_BIT-1), C1,
-+	  OI(COFF(flags2) + bitsz(uint64_t) - XFS_DIFLAG2_COWEXTSIZE_BIT-1), C1,
- 	  0, TYP_NONE },
- 	{ NULL }
- };
-diff --git a/db/io.c b/db/io.c
-index 1f27f6b3..fd9b9f4b 100644
---- a/db/io.c
-+++ b/db/io.c
-@@ -545,7 +545,7 @@ set_cur(
- 	struct xfs_buf	*bp;
- 	xfs_ino_t	dirino;
- 	xfs_ino_t	ino;
--	__uint16_t	mode;
-+	uint16_t	mode;
- 	const struct xfs_buf_ops *ops = type ? type->bops : NULL;
- 
- 	if (iocur_sp < 0) {
-diff --git a/db/io.h b/db/io.h
-index 99730048..df0fdd75 100644
---- a/db/io.h
-+++ b/db/io.h
-@@ -25,7 +25,7 @@ typedef struct bbmap {
- } bbmap_t;
- 
- typedef struct iocur {
--	__int64_t		bb;	/* BB number in filesystem of buf */
-+	int64_t			bb;	/* BB number in filesystem of buf */
- 	int			blen;	/* length of "buf", bb's */
- 	int			boff;	/* data - buf */
- 	void			*buf;	/* base address of buffer */
-@@ -33,7 +33,7 @@ typedef struct iocur {
- 	xfs_ino_t		dirino;	/* current directory inode number */
- 	xfs_ino_t		ino;	/* current inode number */
- 	int			len;	/* length of "data", bytes */
--	__uint16_t		mode;	/* current inode's mode */
-+	uint16_t		mode;	/* current inode's mode */
- 	xfs_off_t		off;	/* fs offset of "data" in bytes */
- 	const struct typ	*typ;	/* type of "data" */
- 	bbmap_t			*bbmap;	/* map daddr if fragmented */
-@@ -57,7 +57,7 @@ extern void	off_cur(int off, int len);
- extern void	pop_cur(void);
- extern void	print_iocur(char *tag, iocur_t *ioc);
- extern void	push_cur(void);
--extern int	read_buf(__int64_t daddr, int count, void *bufp);
-+extern int	read_buf(int64_t daddr, int count, void *bufp);
- extern void     write_cur(void);
- extern void	set_cur(const struct typ *type, xfs_daddr_t blknum,
- 			int len, int ring_add, bbmap_t *bbmap);
-diff --git a/db/metadump.c b/db/metadump.c
-index 31bb5959..67bdf14e 100644
---- a/db/metadump.c
-+++ b/db/metadump.c
-@@ -175,7 +175,7 @@ write_index(void)
- static int
- write_buf_segment(
- 	char		*data,
--	__int64_t	off,
-+	int64_t		off,
- 	int		len)
- {
- 	int		i;
-@@ -1256,7 +1256,7 @@ process_sf_dir(
- {
- 	struct xfs_dir2_sf_hdr	*sfp;
- 	xfs_dir2_sf_entry_t	*sfep;
--	__uint64_t		ino_dir_size;
-+	uint64_t		ino_dir_size;
- 	int			i;
- 
- 	sfp = (struct xfs_dir2_sf_hdr *)XFS_DFORK_DPTR(dip);
-@@ -1322,7 +1322,7 @@ process_sf_dir(
- static void
- obfuscate_path_components(
- 	char			*buf,
--	__uint64_t		len)
-+	uint64_t		len)
- {
- 	unsigned char		*comp = (unsigned char *)buf;
- 	unsigned char		*end = comp + len;
-@@ -1359,7 +1359,7 @@ static void
- process_sf_symlink(
- 	xfs_dinode_t		*dip)
- {
--	__uint64_t		len;
-+	uint64_t		len;
- 	char			*buf;
- 
- 	len = be64_to_cpu(dip->di_size);
-@@ -1631,7 +1631,7 @@ process_attr_block(
- 	xfs_attr_leaf_entry_t 		*entry;
- 	xfs_attr_leaf_name_local_t 	*local;
- 	xfs_attr_leaf_name_remote_t 	*remote;
--	__uint32_t			bs = mp->m_sb.sb_blocksize;
-+	uint32_t			bs = mp->m_sb.sb_blocksize;
- 	char				*first_name;
- 
- 
-@@ -2270,7 +2270,7 @@ done:
- 	return success;
- }
- 
--static __uint32_t	inodes_copied = 0;
-+static uint32_t	inodes_copied;
- 
- static int
- copy_inode_chunk(
-diff --git a/db/sb.c b/db/sb.c
-index 8e7722cd..f19248d7 100644
---- a/db/sb.c
-+++ b/db/sb.c
-@@ -606,7 +606,7 @@ version_help(void)
- }
- 
- static int
--do_version(xfs_agnumber_t agno, __uint16_t version, __uint32_t features)
-+do_version(xfs_agnumber_t agno, uint16_t version, uint32_t features)
- {
- 	xfs_sb_t	tsb;
- 
-@@ -710,8 +710,8 @@ version_f(
- 	int		argc,
- 	char		**argv)
- {
--	__uint16_t	version = 0;
--	__uint32_t	features = 0;
-+	uint16_t	version = 0;
-+	uint32_t	features = 0;
- 	xfs_agnumber_t	ag;
- 
- 	if (argc == 2) {	/* WRITE VERSION */
-diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c
-index 517b75f0..d4846a32 100644
---- a/fsr/xfs_fsr.c
-+++ b/fsr/xfs_fsr.c
-@@ -54,7 +54,7 @@ struct getbmap  *outmap = NULL;
- int             outmap_size = 0;
- int		RealUid;
- int		tmp_agi;
--static __int64_t	minimumfree = 2048;
-+static int64_t		minimumfree = 2048;
- 
- #define MNTTYPE_XFS             "xfs"
- 
-diff --git a/include/darwin.h b/include/darwin.h
-index 7bbd5764..51031c42 100644
---- a/include/darwin.h
-+++ b/include/darwin.h
-@@ -125,15 +125,15 @@ typedef signed int		__s32;
- typedef unsigned long long int	__u64;
- typedef signed long long int	__s64;
- 
--#define __int8_t	int8_t
--#define __int16_t	int16_t
--#define __int32_t	int32_t
--#define __int32_t	int32_t
--#define __int64_t	int64_t
--#define __uint8_t	u_int8_t
--#define __uint16_t	u_int16_t
--#define __uint32_t	u_int32_t
--#define __uint64_t	u_int64_t
-+#define int8_t		int8_t
-+#define int16_t		int16_t
-+#define int32_t		int32_t
-+#define int32_t		int32_t
-+#define int64_t		int64_t
-+#define uint8_t		u_int8_t
-+#define uint16_t	u_int16_t
-+#define uint32_t	u_int32_t
-+#define uint64_t	u_int64_t
- 
- typedef off_t		xfs_off_t;
- typedef u_int64_t	xfs_ino_t;
-diff --git a/include/freebsd.h b/include/freebsd.h
-index fb318b89..f52ed0a9 100644
---- a/include/freebsd.h
-+++ b/include/freebsd.h
-@@ -50,9 +50,9 @@ typedef unsigned long long int	__u64;
- typedef signed long long int	__s64;
- 
- typedef off_t		xfs_off_t;
--typedef __uint64_t	xfs_ino_t;
--typedef __uint32_t	xfs_dev_t;
--typedef __int64_t	xfs_daddr_t;
-+typedef uint64_t	xfs_ino_t;
-+typedef uint32_t	xfs_dev_t;
-+typedef int64_t		xfs_daddr_t;
- typedef __u32		xfs_nlink_t;
- 
- #define	O_LARGEFILE	0
-diff --git a/include/gnukfreebsd.h b/include/gnukfreebsd.h
-index 6916e65a..1db3f4f0 100644
---- a/include/gnukfreebsd.h
-+++ b/include/gnukfreebsd.h
-@@ -46,9 +46,9 @@ typedef unsigned long long int	__u64;
- typedef signed long long int	__s64;
- 
- typedef off_t		xfs_off_t;
--typedef __uint64_t	xfs_ino_t;
--typedef __uint32_t	xfs_dev_t;
--typedef __int64_t	xfs_daddr_t;
-+typedef uint64_t	xfs_ino_t;
-+typedef uint32_t	xfs_dev_t;
-+typedef int64_t		xfs_daddr_t;
- typedef __u32		xfs_nlink_t;
- 
- #define HAVE_FID	1
-diff --git a/include/libxcmd.h b/include/libxcmd.h
-index e8d2ffc8..6806380c 100644
---- a/include/libxcmd.h
-+++ b/include/libxcmd.h
-@@ -42,10 +42,10 @@ get_topology(
- extern void
- calc_default_ag_geometry(
- 	int		blocklog,
--	__uint64_t	dblocks,
-+	uint64_t	dblocks,
- 	int		multidisk,
--	__uint64_t	*agsize,
--	__uint64_t	*agcount);
-+	uint64_t	*agsize,
-+	uint64_t	*agcount);
- 
- extern int
- check_overwrite(
-diff --git a/include/linux.h b/include/linux.h
-index 9611a37f..6ce344c5 100644
---- a/include/linux.h
-+++ b/include/linux.h
-@@ -132,7 +132,7 @@ static __inline__ void platform_uuid_copy(uuid_t *dst, uuid_t *src)
- static __inline__ int
- platform_discard_blocks(int fd, uint64_t start, uint64_t len)
- {
--	__uint64_t range[2] = { start, len };
-+	uint64_t range[2] = { start, len };
- 
- 	if (ioctl(fd, BLKDISCARD, &range) < 0)
- 		return errno;
-@@ -144,9 +144,9 @@ platform_discard_blocks(int fd, uint64_t start, uint64_t len)
- #define EFSBADCRC	EBADMSG	/* Bad CRC detected */
- 
- typedef off_t		xfs_off_t;
--typedef __uint64_t	xfs_ino_t;
--typedef __uint32_t	xfs_dev_t;
--typedef __int64_t	xfs_daddr_t;
-+typedef uint64_t	xfs_ino_t;
-+typedef uint32_t	xfs_dev_t;
-+typedef int64_t		xfs_daddr_t;
- typedef __u32		xfs_nlink_t;
- 
- /**
-diff --git a/include/xfs_arch.h b/include/xfs_arch.h
-index 12cd43e6..186cadba 100644
---- a/include/xfs_arch.h
-+++ b/include/xfs_arch.h
-@@ -244,39 +244,39 @@ static inline void be64_add_cpu(__be64 *a, __s64 b)
- 	*a = cpu_to_be64(be64_to_cpu(*a) + b);
- }
- 
--static inline __uint16_t get_unaligned_be16(void *p)
-+static inline uint16_t get_unaligned_be16(void *p)
- {
--	__uint8_t *__p = p;
-+	uint8_t *__p = p;
- 	return __p[0] << 8 | __p[1];
- }
- 
--static inline __uint32_t get_unaligned_be32(void *p)
-+static inline uint32_t get_unaligned_be32(void *p)
- {
--	__uint8_t *__p = p;
-+	uint8_t *__p = p;
-         return __p[0] << 24 | __p[1] << 16 | __p[2] << 8 | __p[3];
- }
- 
--static inline __uint64_t get_unaligned_be64(void *p)
-+static inline uint64_t get_unaligned_be64(void *p)
- {
--	return (__uint64_t)get_unaligned_be32(p) << 32 |
-+	return (uint64_t)get_unaligned_be32(p) << 32 |
- 			   get_unaligned_be32(p + 4);
- }
- 
--static inline void put_unaligned_be16(__uint16_t val, void *p)
-+static inline void put_unaligned_be16(uint16_t val, void *p)
- {
--	__uint8_t *__p = p;
-+	uint8_t *__p = p;
- 	*__p++ = val >> 8;
- 	*__p++ = val;
- }
- 
--static inline void put_unaligned_be32(__uint32_t val, void *p)
-+static inline void put_unaligned_be32(uint32_t val, void *p)
- {
--	__uint8_t *__p = p;
-+	uint8_t *__p = p;
- 	put_unaligned_be16(val >> 16, __p);
- 	put_unaligned_be16(val, __p + 2);
- }
- 
--static inline void put_unaligned_be64(__uint64_t val, void *p)
-+static inline void put_unaligned_be64(uint64_t val, void *p)
- {
- 	put_unaligned_be32(val >> 32, p);
- 	put_unaligned_be32(val, p + 4);
-diff --git a/include/xfs_inode.h b/include/xfs_inode.h
-index fb6b5429..8766024e 100644
---- a/include/xfs_inode.h
-+++ b/include/xfs_inode.h
-@@ -123,8 +123,8 @@ xfs_get_projid(struct xfs_icdinode *id)
- static inline void
- xfs_set_projid(struct xfs_icdinode *id, prid_t projid)
- {
--	id->di_projid_hi = (__uint16_t) (projid >> 16);
--	id->di_projid_lo = (__uint16_t) (projid & 0xffff);
-+	id->di_projid_hi = (uint16_t) (projid >> 16);
-+	id->di_projid_lo = (uint16_t) (projid & 0xffff);
- }
- 
- static inline bool xfs_is_reflink_inode(struct xfs_inode *ip)
-diff --git a/include/xfs_log_recover.h b/include/xfs_log_recover.h
-index 7582676b..0d098628 100644
---- a/include/xfs_log_recover.h
-+++ b/include/xfs_log_recover.h
-@@ -26,7 +26,7 @@
- #define XLOG_RHASH_SIZE	16
- #define XLOG_RHASH_SHIFT 2
- #define XLOG_RHASH(tid)	\
--	((((__uint32_t)tid)>>XLOG_RHASH_SHIFT) & (XLOG_RHASH_SIZE-1))
-+	((((uint32_t)tid)>>XLOG_RHASH_SHIFT) & (XLOG_RHASH_SIZE-1))
- 
- #define XLOG_MAX_REGIONS_IN_ITEM   (XFS_MAX_BLOCKSIZE / XFS_BLF_CHUNK / 2 + 1)
- 
-diff --git a/include/xfs_metadump.h b/include/xfs_metadump.h
-index 7f3039eb..13afb8dd 100644
---- a/include/xfs_metadump.h
-+++ b/include/xfs_metadump.h
-@@ -24,8 +24,8 @@
- typedef struct xfs_metablock {
- 	__be32		mb_magic;
- 	__be16		mb_count;
--	__uint8_t	mb_blocklog;
--	__uint8_t	mb_info;
-+	uint8_t		mb_blocklog;
-+	uint8_t		mb_info;
- 	/* followed by an array of xfs_daddr_t */
- } xfs_metablock_t;
- 
-diff --git a/include/xfs_mount.h b/include/xfs_mount.h
-index 5ff24ebf..5b323bb1 100644
---- a/include/xfs_mount.h
-+++ b/include/xfs_mount.h
-@@ -48,12 +48,12 @@ typedef struct xfs_mount {
- #define m_dev		m_ddev_targp
- #define m_logdev	m_logdev_targp
- #define m_rtdev		m_rtdev_targp
--	__uint8_t		m_dircook_elog;	/* log d-cookie entry bits */
--	__uint8_t		m_blkbit_log;	/* blocklog + NBBY */
--	__uint8_t		m_blkbb_log;	/* blocklog - BBSHIFT */
--	__uint8_t		m_sectbb_log;	/* sectorlog - BBSHIFT */
--	__uint8_t		m_agno_log;	/* log #ag's */
--	__uint8_t		m_agino_log;	/* #bits for agino in inum */
-+	uint8_t			m_dircook_elog;	/* log d-cookie entry bits */
-+	uint8_t			m_blkbit_log;	/* blocklog + NBBY */
-+	uint8_t			m_blkbb_log;	/* blocklog - BBSHIFT */
-+	uint8_t			m_sectbb_log;	/* sectorlog - BBSHIFT */
-+	uint8_t			m_agno_log;	/* log #ag's */
-+	uint8_t			m_agino_log;	/* #bits for agino in inum */
- 	uint			m_inode_cluster_size;/* min inode buf size */
- 	uint			m_blockmask;	/* sb_blocksize-1 */
- 	uint			m_blockwsize;	/* sb_blocksize in words */
-@@ -88,7 +88,7 @@ typedef struct xfs_mount {
- 	int			m_litino;	/* size of inode union area */
- 	int			m_inoalign_mask;/* mask sb_inoalignmt if used */
- 	struct xfs_trans_resv	m_resv;		/* precomputed res values */
--	__uint64_t		m_maxicount;	/* maximum inode count */
-+	uint64_t		m_maxicount;	/* maximum inode count */
- 	int			m_dalign;	/* stripe unit */
- 	int			m_swidth;	/* stripe width */
- 	int			m_sinoalign;	/* stripe unit inode alignmnt */
-@@ -144,12 +144,12 @@ typedef struct xfs_perag {
- 	char		pagi_init;	/* this agi's entry is initialized */
- 	char		pagf_metadata;	/* the agf is preferred to be metadata */
- 	char		pagi_inodeok;	/* The agi is ok for inodes */
--	__uint8_t	pagf_levels[XFS_BTNUM_AGF];
-+	uint8_t		pagf_levels[XFS_BTNUM_AGF];
- 					/* # of levels in bno & cnt btree */
--	__uint32_t	pagf_flcount;	/* count of blocks in freelist */
-+	uint32_t	pagf_flcount;	/* count of blocks in freelist */
- 	xfs_extlen_t	pagf_freeblks;	/* total free blocks */
- 	xfs_extlen_t	pagf_longest;	/* longest free space */
--	__uint32_t	pagf_btreeblks;	/* # of blocks held in AGF btrees */
-+	uint32_t	pagf_btreeblks;	/* # of blocks held in AGF btrees */
- 	xfs_agino_t	pagi_freecount;	/* number of free inodes */
- 	xfs_agino_t	pagi_count;	/* number of allocated inodes */
- 
-@@ -169,7 +169,7 @@ typedef struct xfs_perag {
- 	struct xfs_ag_resv	pag_agfl_resv;
- 
- 	/* reference count */
--	__uint8_t	pagf_refcount_level;
-+	uint8_t		pagf_refcount_level;
- } xfs_perag_t;
- 
- static inline struct xfs_ag_resv *
-diff --git a/libhandle/handle.c b/libhandle/handle.c
-index 236ed22a..00127b3c 100644
---- a/libhandle/handle.c
-+++ b/libhandle/handle.c
-@@ -232,7 +232,7 @@ obj_to_handle(
- {
- 	char		hbuf [MAXHANSIZ];
- 	int		ret;
--	__uint32_t	handlen;
-+	uint32_t	handlen;
- 	xfs_fsop_handlereq_t hreq;
- 
- 	if (opcode == XFS_IOC_FD_TO_HANDLE) {
-diff --git a/libhandle/jdm.c b/libhandle/jdm.c
-index e52f5d83..821061b4 100644
---- a/libhandle/jdm.c
-+++ b/libhandle/jdm.c
-@@ -36,7 +36,7 @@ typedef struct filehandle {
- 	fshandle_t fh_fshandle;		/* handle of fs containing this inode */
- 	int16_t fh_sz_following;	/* bytes in handle after this member */
- 	char fh_pad[FILEHANDLE_SZ_PAD];	/* padding, must be zeroed */
--	__uint32_t fh_gen;		/* generation count */
-+	uint32_t fh_gen;		/* generation count */
- 	xfs_ino_t fh_ino;		/* 64 bit ino */
- } filehandle_t;
- 
-diff --git a/libxcmd/topology.c b/libxcmd/topology.c
-index 8b0276a7..f66dd1bc 100644
---- a/libxcmd/topology.c
-+++ b/libxcmd/topology.c
-@@ -23,19 +23,19 @@
- #endif /* ENABLE_BLKID */
- #include "xfs_multidisk.h"
- 
--#define TERABYTES(count, blog)	((__uint64_t)(count) << (40 - (blog)))
--#define GIGABYTES(count, blog)	((__uint64_t)(count) << (30 - (blog)))
--#define MEGABYTES(count, blog)	((__uint64_t)(count) << (20 - (blog)))
-+#define TERABYTES(count, blog)	((uint64_t)(count) << (40 - (blog)))
-+#define GIGABYTES(count, blog)	((uint64_t)(count) << (30 - (blog)))
-+#define MEGABYTES(count, blog)	((uint64_t)(count) << (20 - (blog)))
- 
- void
- calc_default_ag_geometry(
- 	int		blocklog,
--	__uint64_t	dblocks,
-+	uint64_t	dblocks,
- 	int		multidisk,
--	__uint64_t	*agsize,
--	__uint64_t	*agcount)
-+	uint64_t	*agsize,
-+	uint64_t	*agcount)
- {
--	__uint64_t	blocks = 0;
-+	uint64_t	blocks = 0;
- 	int		shift = 0;
- 
- 	/*
-diff --git a/libxfs/darwin.c b/libxfs/darwin.c
-index 74507e81..16d2c35c 100644
---- a/libxfs/darwin.c
-+++ b/libxfs/darwin.c
-@@ -68,7 +68,7 @@ platform_flush_device(int fd, dev_t device)
- void
- platform_findsizes(char *path, int fd, long long *sz, int *bsz)
- {
--	__uint64_t	size;
-+	uint64_t	size;
- 	struct stat	st;
- 
- 	if (fstat(fd, &st) < 0) {
-diff --git a/libxfs/freebsd.c b/libxfs/freebsd.c
-index 4667d1f5..d7bca142 100644
---- a/libxfs/freebsd.c
-+++ b/libxfs/freebsd.c
-@@ -109,7 +109,7 @@ void
- platform_findsizes(char *path, int fd, long long *sz, int *bsz)
- {
- 	struct stat	st;
--	__int64_t	size;
-+	int64_t		size;
- 	u_int		ssize;
- 
- 	if (fstat(fd, &st) < 0) {
-diff --git a/libxfs/init.c b/libxfs/init.c
-index fc14c5e4..0f41a853 100644
---- a/libxfs/init.c
-+++ b/libxfs/init.c
-@@ -546,7 +546,7 @@ libxfs_initialize_perag(
- 		 * the max inode percentage.
- 		 */
- 		if (mp->m_maxicount) {
--			__uint64_t	icount;
-+			uint64_t	icount;
- 
- 			icount = sbp->sb_dblocks * sbp->sb_imax_pct;
- 			do_div(icount, 100);
-diff --git a/libxfs/irix.c b/libxfs/irix.c
-index 32fcb3e5..0f14aec7 100644
---- a/libxfs/irix.c
-+++ b/libxfs/irix.c
-@@ -22,7 +22,7 @@
- 
- int platform_has_uuid = 0;
- extern char *progname;
--extern __int64_t findsize(char *);
-+extern int64_t findsize(char *);
- 
- int
- platform_check_ismounted(char *name, char *block, struct stat *s, int verbose)
-diff --git a/libxfs/libxfs_priv.h b/libxfs/libxfs_priv.h
-index b4f766db..d525b667 100644
---- a/libxfs/libxfs_priv.h
-+++ b/libxfs/libxfs_priv.h
-@@ -296,8 +296,8 @@ roundup_pow_of_two(uint v)
- 	return 0;
- }
- 
--static inline __uint64_t
--roundup_64(__uint64_t x, __uint32_t y)
-+static inline uint64_t
-+roundup_64(uint64_t x, uint32_t y)
- {
- 	x += y - 1;
- 	do_div(x, y);
-diff --git a/libxfs/linux.c b/libxfs/linux.c
-index 69f04ad9..0bace3eb 100644
---- a/libxfs/linux.c
-+++ b/libxfs/linux.c
-@@ -163,7 +163,7 @@ void
- platform_findsizes(char *path, int fd, long long *sz, int *bsz)
- {
- 	struct stat	st;
--	__uint64_t	size;
-+	uint64_t	size;
- 	int		error;
- 
- 	if (fstat(fd, &st) < 0) {
-diff --git a/libxfs/logitem.c b/libxfs/logitem.c
-index 7e93f609..466b4421 100644
---- a/libxfs/logitem.c
-+++ b/libxfs/logitem.c
-@@ -121,7 +121,7 @@ xfs_buf_item_init(
- 	bip->bli_item.li_mountp = mp;
- 	bip->bli_buf = bp;
- 	bip->bli_format.blf_type = XFS_LI_BUF;
--	bip->bli_format.blf_blkno = (__int64_t)XFS_BUF_ADDR(bp);
-+	bip->bli_format.blf_blkno = (int64_t)XFS_BUF_ADDR(bp);
- 	bip->bli_format.blf_len = (unsigned short)BTOBB(XFS_BUF_COUNT(bp));
- 	XFS_BUF_SET_FSPRIVATE(bp, bip);
- }
-diff --git a/libxfs/radix-tree.c b/libxfs/radix-tree.c
-index eef9c36d..3f0257fe 100644
---- a/libxfs/radix-tree.c
-+++ b/libxfs/radix-tree.c
-@@ -66,21 +66,21 @@ static unsigned long height_to_maxindex[RADIX_TREE_MAX_PATH];
- static inline void tag_set(struct radix_tree_node *node, unsigned int tag,
- 		int offset)
- {
--	*((__uint32_t *)node->tags[tag] + (offset >> 5)) |= (1 << (offset & 31));
-+	*((uint32_t *)node->tags[tag] + (offset >> 5)) |= (1 << (offset & 31));
- }
- 
- static inline void tag_clear(struct radix_tree_node *node, unsigned int tag,
- 		int offset)
- {
--	__uint32_t 	*p = (__uint32_t*)node->tags[tag] + (offset >> 5);
--	__uint32_t 	m = 1 << (offset & 31);
-+	uint32_t 	*p = (uint32_t*)node->tags[tag] + (offset >> 5);
-+	uint32_t 	m = 1 << (offset & 31);
- 	*p &= ~m;
- }
- 
- static inline int tag_get(struct radix_tree_node *node, unsigned int tag,
- 		int offset)
- {
--	return 1 & (((const __uint32_t *)node->tags[tag])[offset >> 5] >> (offset & 31));
-+	return 1 & (((const uint32_t *)node->tags[tag])[offset >> 5] >> (offset & 31));
- }
- 
- /*
-diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c
-index 21c42f14..474e5ebc 100644
---- a/libxfs/rdwr.c
-+++ b/libxfs/rdwr.c
-@@ -118,9 +118,9 @@ static void unmount_record(void *p)
- 	xlog_op_header_t	*op = (xlog_op_header_t *)p;
- 	/* the data section must be 32 bit size aligned */
- 	struct {
--	    __uint16_t magic;
--	    __uint16_t pad1;
--	    __uint32_t pad2; /* may as well make it 64 bits */
-+	    uint16_t magic;
-+	    uint16_t pad1;
-+	    uint32_t pad2; /* may as well make it 64 bits */
- 	} magic = { XLOG_UNMOUNT_TYPE, 0, 0 };
- 
- 	memset(p, 0, BBSIZE);
-diff --git a/libxfs/util.c b/libxfs/util.c
-index dcfca397..7938e317 100644
---- a/libxfs/util.c
-+++ b/libxfs/util.c
-@@ -170,8 +170,8 @@ libxfs_trans_ichgtime(
- 	if (flags & XFS_ICHGTIME_CHG)
- 		VFS_I(ip)->i_ctime = tv;
- 	if (flags & XFS_ICHGTIME_CREATE) {
--		ip->i_d.di_crtime.t_sec = (__int32_t)tv.tv_sec;
--		ip->i_d.di_crtime.t_nsec = (__int32_t)tv.tv_nsec;
-+		ip->i_d.di_crtime.t_sec = (int32_t)tv.tv_sec;
-+		ip->i_d.di_crtime.t_nsec = (int32_t)tv.tv_nsec;
- 	}
- }
- 
-@@ -261,8 +261,8 @@ libxfs_ialloc(
- 		ASSERT(uuid_equal(&ip->i_d.di_uuid, &mp->m_sb.sb_meta_uuid));
- 		VFS_I(ip)->i_version = 1;
- 		ip->i_d.di_flags2 = 0;
--		ip->i_d.di_crtime.t_sec = (__int32_t)VFS_I(ip)->i_mtime.tv_sec;
--		ip->i_d.di_crtime.t_nsec = (__int32_t)VFS_I(ip)->i_mtime.tv_nsec;
-+		ip->i_d.di_crtime.t_sec = (int32_t)VFS_I(ip)->i_mtime.tv_sec;
-+		ip->i_d.di_crtime.t_nsec = (int32_t)VFS_I(ip)->i_mtime.tv_nsec;
- 	}
- 
- 	flags = XFS_ILOG_CORE;
-diff --git a/logprint/log_misc.c b/logprint/log_misc.c
-index 0dfcfd19..2fd01ceb 100644
---- a/logprint/log_misc.c
-+++ b/logprint/log_misc.c
-@@ -166,12 +166,12 @@ xlog_print_trans_header(char **ptr, int len)
- {
-     xfs_trans_header_t  *h;
-     char		*cptr = *ptr;
--    __uint32_t          magic;
-+    uint32_t          magic;
-     char                *magic_c = (char *)&magic;
- 
-     *ptr += len;
- 
--    magic=*(__uint32_t*)cptr; /* XXX be32_to_cpu soon */
-+    magic = *(uint32_t *)cptr; /* XXX be32_to_cpu soon */
- 
-     if (len >= 4) {
- #if __BYTE_ORDER == __LITTLE_ENDIAN
-@@ -201,7 +201,7 @@ xlog_print_trans_buffer(char **ptr, int len, int *i, int num_ops)
-     int			 num, skip;
-     int			 super_block = 0;
-     int			 bucket, col, buckets;
--    __int64_t		 blkno;
-+    int64_t			 blkno;
-     xfs_buf_log_format_t lbuf;
-     int			 size, blen, map_size, struct_size;
-     __be64		 x, y;
-diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c
-index 9d1b4e80..c49c13aa 100644
---- a/mdrestore/xfs_mdrestore.c
-+++ b/mdrestore/xfs_mdrestore.c
-@@ -66,7 +66,7 @@ perform_restore(
- 	int			mb_count;
- 	xfs_metablock_t		tmb;
- 	xfs_sb_t		sb;
--	__int64_t		bytes_read;
-+	int64_t			bytes_read;
- 
- 	/*
- 	 * read in first blocks (superblock 0), set "inprogress" flag for it,
-diff --git a/mkfs/proto.c b/mkfs/proto.c
-index 89cd2379..cf8cc391 100644
---- a/mkfs/proto.c
-+++ b/mkfs/proto.c
-@@ -667,7 +667,7 @@ rtinit(
- 	mp->m_sb.sb_rbmino = rbmip->i_ino;
- 	rbmip->i_d.di_size = mp->m_sb.sb_rbmblocks * mp->m_sb.sb_blocksize;
- 	rbmip->i_d.di_flags = XFS_DIFLAG_NEWRTBM;
--	*(__uint64_t *)&VFS_I(rbmip)->i_atime = 0;
-+	*(uint64_t *)&VFS_I(rbmip)->i_atime = 0;
- 	libxfs_trans_log_inode(tp, rbmip, XFS_ILOG_CORE);
- 	libxfs_log_sb(tp);
- 	mp->m_rbmip = rbmip;
-diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
-index b5c3a57e..7bb6408f 100644
---- a/mkfs/xfs_mkfs.c
-+++ b/mkfs/xfs_mkfs.c
-@@ -705,9 +705,9 @@ struct opt_params mopts = {
- 	},
- };
- 
--#define TERABYTES(count, blog)	((__uint64_t)(count) << (40 - (blog)))
--#define GIGABYTES(count, blog)	((__uint64_t)(count) << (30 - (blog)))
--#define MEGABYTES(count, blog)	((__uint64_t)(count) << (20 - (blog)))
-+#define TERABYTES(count, blog)	((uint64_t)(count) << (40 - (blog)))
-+#define GIGABYTES(count, blog)	((uint64_t)(count) << (30 - (blog)))
-+#define MEGABYTES(count, blog)	((uint64_t)(count) << (20 - (blog)))
- 
- /*
-  * Use this macro before we have superblock and mount structure
-@@ -878,7 +878,7 @@ fixup_log_stripe_unit(
- 	xfs_rfsblock_t	*logblocks,
- 	int		blocklog)
- {
--	__uint64_t	tmp_logblocks;
-+	uint64_t	tmp_logblocks;
- 
- 	/*
- 	 * Make sure that the log size is a multiple of the stripe unit
-@@ -910,7 +910,7 @@ fixup_internal_log_stripe(
- 	xfs_mount_t	*mp,
- 	int		lsflag,
- 	xfs_fsblock_t	logstart,
--	__uint64_t	agsize,
-+	uint64_t	agsize,
- 	int		sunit,
- 	xfs_rfsblock_t	*logblocks,
- 	int		blocklog,
-@@ -934,7 +934,7 @@ fixup_internal_log_stripe(
- }
- 
- void
--validate_log_size(__uint64_t logblocks, int blocklog, int min_logblocks)
-+validate_log_size(uint64_t logblocks, int blocklog, int min_logblocks)
- {
- 	if (logblocks < min_logblocks) {
- 		fprintf(stderr,
-@@ -959,7 +959,7 @@ validate_log_size(__uint64_t logblocks, int blocklog, int min_logblocks)
- static int
- calc_default_imaxpct(
- 	int		blocklog,
--	__uint64_t	dblocks)
-+	uint64_t	dblocks)
- {
- 	/*
- 	 * This returns the % of the disk space that is used for
-@@ -981,9 +981,9 @@ calc_default_imaxpct(
- static void
- validate_ag_geometry(
- 	int		blocklog,
--	__uint64_t	dblocks,
--	__uint64_t	agsize,
--	__uint64_t	agcount)
-+	uint64_t	dblocks,
-+	uint64_t	agsize,
-+	uint64_t	agcount)
- {
- 	if (agsize < XFS_AG_MIN_BLOCKS(blocklog)) {
- 		fprintf(stderr,
-@@ -1059,7 +1059,7 @@ zero_old_xfs_structures(
- {
- 	void 			*buf;
- 	xfs_sb_t 		sb;
--	__uint32_t		bsize;
-+	uint32_t		bsize;
- 	int			i;
- 	xfs_off_t		off;
- 
-@@ -1112,8 +1112,8 @@ zero_old_xfs_structures(
- 			i != sb.sb_blocklog)
- 		goto done;
- 
--	if (sb.sb_dblocks > ((__uint64_t)sb.sb_agcount * sb.sb_agblocks) ||
--			sb.sb_dblocks < ((__uint64_t)(sb.sb_agcount - 1) *
-+	if (sb.sb_dblocks > ((uint64_t)sb.sb_agcount * sb.sb_agblocks) ||
-+			sb.sb_dblocks < ((uint64_t)(sb.sb_agcount - 1) *
- 					 sb.sb_agblocks + XFS_MIN_AG_BLOCKS))
- 		goto done;
- 
-@@ -1133,7 +1133,7 @@ done:
- }
- 
- static void
--discard_blocks(dev_t dev, __uint64_t nsectors)
-+discard_blocks(dev_t dev, uint64_t nsectors)
- {
- 	int fd;
- 
-@@ -1395,11 +1395,11 @@ main(
- 	int			argc,
- 	char			**argv)
- {
--	__uint64_t		agcount;
-+	uint64_t		agcount;
- 	xfs_agf_t		*agf;
- 	xfs_agi_t		*agi;
- 	xfs_agnumber_t		agno;
--	__uint64_t		agsize;
-+	uint64_t		agsize;
- 	xfs_alloc_rec_t		*arec;
- 	struct xfs_btree_block	*block;
- 	int			blflag;
-@@ -1475,10 +1475,10 @@ main(
- 	char			*rtsize;
- 	xfs_sb_t		*sbp;
- 	int			sectorlog;
--	__uint64_t		sector_mask;
-+	uint64_t		sector_mask;
- 	int			slflag;
- 	int			ssflag;
--	__uint64_t		tmp_agsize;
-+	uint64_t		tmp_agsize;
- 	uuid_t			uuid;
- 	int			worst_freelist;
- 	libxfs_init_t		xi;
-@@ -2167,7 +2167,7 @@ _("rmapbt not supported with realtime devices\n"));
- 
- 
- 	if (dsize) {
--		__uint64_t dbytes;
-+		uint64_t dbytes;
- 
- 		dbytes = getnum(dsize, &dopts, D_SIZE);
- 		if (dbytes % XFS_MIN_BLOCKSIZE) {
-@@ -2199,7 +2199,7 @@ _("rmapbt not supported with realtime devices\n"));
- 	}
- 
- 	if (logsize) {
--		__uint64_t logbytes;
-+		uint64_t logbytes;
- 
- 		logbytes = getnum(logsize, &lopts, L_SIZE);
- 		if (logbytes % XFS_MIN_BLOCKSIZE) {
-@@ -2216,7 +2216,7 @@ _("rmapbt not supported with realtime devices\n"));
- 				(long long)(logblocks << blocklog));
- 	}
- 	if (rtsize) {
--		__uint64_t rtbytes;
-+		uint64_t rtbytes;
- 
- 		rtbytes = getnum(rtsize, &ropts, R_SIZE);
- 		if (rtbytes % XFS_MIN_BLOCKSIZE) {
-@@ -2236,7 +2236,7 @@ _("rmapbt not supported with realtime devices\n"));
- 	 * If specified, check rt extent size against its constraints.
- 	 */
- 	if (rtextsize) {
--		__uint64_t rtextbytes;
-+		uint64_t rtextbytes;
- 
- 		rtextbytes = getnum(rtextsize, &ropts, R_EXTSIZE);
- 		if (rtextbytes % blocksize) {
-@@ -2252,8 +2252,8 @@ _("rmapbt not supported with realtime devices\n"));
- 		 * and the underlying volume is striped, then set rtextblocks
- 		 * to the stripe width.
- 		 */
--		__uint64_t	rswidth;
--		__uint64_t	rtextbytes;
-+		uint64_t	rswidth;
-+		uint64_t	rtextbytes;
- 
- 		if (!norsflag && !xi.risfile && !(!rtsize && xi.disfile))
- 			rswidth = ft.rtswidth;
-@@ -2335,10 +2335,10 @@ _("rmapbt not supported with realtime devices\n"));
- 	 * multiple of the sector size, or 1024, whichever is larger.
- 	 */
- 
--	sector_mask = (__uint64_t)-1 << (MAX(sectorlog, 10) - BBSHIFT);
-+	sector_mask = (uint64_t)-1 << (MAX(sectorlog, 10) - BBSHIFT);
- 	xi.dsize &= sector_mask;
- 	xi.rtsize &= sector_mask;
--	xi.logBBsize &= (__uint64_t)-1 << (MAX(lsectorlog, 10) - BBSHIFT);
-+	xi.logBBsize &= (uint64_t)-1 << (MAX(lsectorlog, 10) - BBSHIFT);
- 
- 
- 	/* don't do discards on print-only runs or on files */
-@@ -2696,9 +2696,9 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
- 	mp = &mbuf;
- 	sbp = &mp->m_sb;
- 	memset(mp, 0, sizeof(xfs_mount_t));
--	sbp->sb_blocklog = (__uint8_t)blocklog;
--	sbp->sb_sectlog = (__uint8_t)sectorlog;
--	sbp->sb_agblklog = (__uint8_t)libxfs_log2_roundup((unsigned int)agsize);
-+	sbp->sb_blocklog = (uint8_t)blocklog;
-+	sbp->sb_sectlog = (uint8_t)sectorlog;
-+	sbp->sb_agblklog = (uint8_t)libxfs_log2_roundup((unsigned int)agsize);
- 	sbp->sb_agblocks = (xfs_agblock_t)agsize;
- 	mp->m_blkbb_log = sbp->sb_blocklog - BBSHIFT;
- 	mp->m_sectbb_log = sbp->sb_sectlog - BBSHIFT;
-@@ -2805,14 +2805,14 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
- 	sbp->sb_agcount = (xfs_agnumber_t)agcount;
- 	sbp->sb_rbmblocks = nbmblocks;
- 	sbp->sb_logblocks = (xfs_extlen_t)logblocks;
--	sbp->sb_sectsize = (__uint16_t)sectorsize;
--	sbp->sb_inodesize = (__uint16_t)isize;
--	sbp->sb_inopblock = (__uint16_t)(blocksize / isize);
--	sbp->sb_sectlog = (__uint8_t)sectorlog;
--	sbp->sb_inodelog = (__uint8_t)inodelog;
--	sbp->sb_inopblog = (__uint8_t)(blocklog - inodelog);
-+	sbp->sb_sectsize = (uint16_t)sectorsize;
-+	sbp->sb_inodesize = (uint16_t)isize;
-+	sbp->sb_inopblock = (uint16_t)(blocksize / isize);
-+	sbp->sb_sectlog = (uint8_t)sectorlog;
-+	sbp->sb_inodelog = (uint8_t)inodelog;
-+	sbp->sb_inopblog = (uint8_t)(blocklog - inodelog);
- 	sbp->sb_rextslog =
--		(__uint8_t)(rtextents ?
-+		(uint8_t)(rtextents ?
- 			libxfs_highbit32((unsigned int)rtextents) : 0);
- 	sbp->sb_inprogress = 1;	/* mkfs is in progress */
- 	sbp->sb_imax_pct = imaxpct;
-@@ -2840,8 +2840,8 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"),
- 	} else
- 		sbp->sb_inoalignmt = 0;
- 	if (lsectorsize != BBSIZE || sectorsize != BBSIZE) {
--		sbp->sb_logsectlog = (__uint8_t)lsectorlog;
--		sbp->sb_logsectsize = (__uint16_t)lsectorsize;
-+		sbp->sb_logsectlog = (uint8_t)lsectorlog;
-+		sbp->sb_logsectsize = (uint16_t)lsectorsize;
- 	} else {
- 		sbp->sb_logsectlog = 0;
- 		sbp->sb_logsectsize = 0;
-diff --git a/quota/edit.c b/quota/edit.c
-index 36b327a5..8418e858 100644
---- a/quota/edit.c
-+++ b/quota/edit.c
-@@ -115,16 +115,16 @@ warn_help(void)
- 
- static void
- set_limits(
--	__uint32_t	id,
-+	uint32_t	id,
- 	uint		type,
- 	uint		mask,
- 	char		*dev,
--	__uint64_t	*bsoft,
--	__uint64_t	*bhard,
--	__uint64_t	*isoft,
--	__uint64_t	*ihard,
--	__uint64_t	*rtbsoft,
--	__uint64_t	*rtbhard)
-+	uint64_t	*bsoft,
-+	uint64_t	*bhard,
-+	uint64_t	*isoft,
-+	uint64_t	*ihard,
-+	uint64_t	*rtbsoft,
-+	uint64_t	*rtbhard)
- {
- 	fs_disk_quota_t	d;
- 
-@@ -152,12 +152,12 @@ set_user_limits(
- 	char		*name,
- 	uint		type,
- 	uint		mask,
--	__uint64_t	*bsoft,
--	__uint64_t	*bhard,
--	__uint64_t	*isoft,
--	__uint64_t	*ihard,
--	__uint64_t	*rtbsoft,
--	__uint64_t	*rtbhard)
-+	uint64_t	*bsoft,
-+	uint64_t	*bhard,
-+	uint64_t	*isoft,
-+	uint64_t	*ihard,
-+	uint64_t	*rtbsoft,
-+	uint64_t	*rtbhard)
- {
- 	uid_t		uid = uid_from_string(name);
- 
-@@ -175,12 +175,12 @@ set_group_limits(
- 	char		*name,
- 	uint		type,
- 	uint		mask,
--	__uint64_t	*bsoft,
--	__uint64_t	*bhard,
--	__uint64_t	*isoft,
--	__uint64_t	*ihard,
--	__uint64_t	*rtbsoft,
--	__uint64_t	*rtbhard)
-+	uint64_t	*bsoft,
-+	uint64_t	*bhard,
-+	uint64_t	*isoft,
-+	uint64_t	*ihard,
-+	uint64_t	*rtbsoft,
-+	uint64_t	*rtbhard)
- {
- 	gid_t		gid = gid_from_string(name);
- 
-@@ -198,12 +198,12 @@ set_project_limits(
- 	char		*name,
- 	uint		type,
- 	uint		mask,
--	__uint64_t	*bsoft,
--	__uint64_t	*bhard,
--	__uint64_t	*isoft,
--	__uint64_t	*ihard,
--	__uint64_t	*rtbsoft,
--	__uint64_t	*rtbhard)
-+	uint64_t	*bsoft,
-+	uint64_t	*bhard,
-+	uint64_t	*isoft,
-+	uint64_t	*ihard,
-+	uint64_t	*rtbsoft,
-+	uint64_t	*rtbhard)
- {
- 	prid_t		prid = prid_from_string(name);
- 
-@@ -224,7 +224,7 @@ extractb(
- 	int		length,
- 	uint		blocksize,
- 	uint		sectorsize,
--	__uint64_t	*value)
-+	uint64_t	*value)
- {
- 	long long	v;
- 	char		*s = string;
-@@ -238,7 +238,7 @@ extractb(
- 				progname, s);
- 			return 0;
- 		}
--		*value = (__uint64_t)v >> 9;	/* syscalls use basic blocks */
-+		*value = (uint64_t)v >> 9;	/* syscalls use basic blocks */
- 		if (v > 0 && *value == 0)
- 			fprintf(stderr, _("%s: Warning: `%s' in quota blocks is 0 (unlimited).\n"), progname, s);
- 		return 1;
-@@ -252,7 +252,7 @@ extracti(
- 	char		*string,
- 	const char	*prefix,
- 	int		length,
--	__uint64_t	*value)
-+	uint64_t	*value)
- {
- 	char		*sp, *s = string;
- 
-@@ -270,7 +270,7 @@ limit_f(
- 	char		**argv)
- {
- 	char		*name;
--	__uint64_t	bsoft, bhard, isoft, ihard, rtbsoft, rtbhard;
-+	uint64_t	bsoft, bhard, isoft, ihard, rtbsoft, rtbhard;
- 	int		c, type = 0, mask = 0, flags = 0;
- 	uint		bsize, ssize, endoptions;
- 
-@@ -384,8 +384,8 @@ restore_file(
- 	char		*dev = NULL;
- 	uint		mask;
- 	int		cnt;
--	__uint32_t	id;
--	__uint64_t	bsoft, bhard, isoft, ihard, rtbsoft, rtbhard;
-+	uint32_t	id;
-+	uint64_t	bsoft, bhard, isoft, ihard, rtbsoft, rtbhard;
- 
- 	while (fgets(buffer, sizeof(buffer), fp) != NULL) {
- 		if (strncmp("fs = ", buffer, 5) == 0) {
-@@ -546,7 +546,7 @@ timer_f(
- 
- static void
- set_warnings(
--	__uint32_t	id,
-+	uint32_t	id,
- 	uint		type,
- 	uint		mask,
- 	char		*dev,
-diff --git a/quota/free.c b/quota/free.c
-index cee15ee9..1f8378d2 100644
---- a/quota/free.c
-+++ b/quota/free.c
-@@ -49,20 +49,20 @@ free_help(void)
- static int
- mount_free_space_data(
- 	struct fs_path		*mount,
--	__uint64_t		*bcount,
--	__uint64_t		*bused,
--	__uint64_t		*bfree,
--	__uint64_t		*icount,
--	__uint64_t		*iused,
--	__uint64_t		*ifree,
--	__uint64_t		*rcount,
--	__uint64_t		*rused,
--	__uint64_t		*rfree)
-+	uint64_t		*bcount,
-+	uint64_t		*bused,
-+	uint64_t		*bfree,
-+	uint64_t		*icount,
-+	uint64_t		*iused,
-+	uint64_t		*ifree,
-+	uint64_t		*rcount,
-+	uint64_t		*rused,
-+	uint64_t		*rfree)
- {
- 	struct xfs_fsop_counts	fscounts;
- 	struct xfs_fsop_geom	fsgeo;
- 	struct statfs		st;
--	__uint64_t		logsize, count, free;
-+	uint64_t		logsize, count, free;
- 	int			fd;
- 
- 	if ((fd = open(mount->fs_dir, O_RDONLY)) < 0) {
-@@ -132,15 +132,15 @@ mount_free_space_data(
- static int
- projects_free_space_data(
- 	struct fs_path		*path,
--	__uint64_t		*bcount,
--	__uint64_t		*bused,
--	__uint64_t		*bfree,
--	__uint64_t		*icount,
--	__uint64_t		*iused,
--	__uint64_t		*ifree,
--	__uint64_t		*rcount,
--	__uint64_t		*rused,
--	__uint64_t		*rfree)
-+	uint64_t		*bcount,
-+	uint64_t		*bused,
-+	uint64_t		*bfree,
-+	uint64_t		*icount,
-+	uint64_t		*iused,
-+	uint64_t		*ifree,
-+	uint64_t		*rcount,
-+	uint64_t		*rused,
-+	uint64_t		*rfree)
- {
- 	fs_quota_stat_t		qfs;
- 	fs_disk_quota_t		d;
-@@ -226,9 +226,9 @@ free_space(
- 	fs_path_t	*path,
- 	uint		flags)
- {
--	__uint64_t	bcount, bused, bfree;
--	__uint64_t	icount, iused, ifree;
--	__uint64_t	rcount, rused, rfree;
-+	uint64_t	bcount, bused, bfree;
-+	uint64_t	icount, iused, ifree;
-+	uint64_t	rcount, rused, rfree;
- 	char		a[8], s[8], u[8], p[8];
- 	int		count;
- 
-diff --git a/quota/quot.c b/quota/quot.c
-index ccc154f5..6378fbb7 100644
---- a/quota/quot.c
-+++ b/quota/quot.c
-@@ -26,17 +26,17 @@
- 
- typedef struct du {
- 	struct du	*next;
--	__uint64_t	blocks;
--	__uint64_t	blocks30;
--	__uint64_t	blocks60;
--	__uint64_t	blocks90;
--	__uint64_t	nfiles;
--	__uint32_t	id;
-+	uint64_t	blocks;
-+	uint64_t	blocks30;
-+	uint64_t	blocks60;
-+	uint64_t	blocks90;
-+	uint64_t	nfiles;
-+	uint32_t	id;
- } du_t;
- 
- #define	TSIZE		500
--static __uint64_t	sizes[TSIZE];
--static __uint64_t	overflow;
-+static uint64_t	sizes[TSIZE];
-+static uint64_t	overflow;
- 
- #define	NDU		60000
- #define	DUHASH		8209
-@@ -84,8 +84,8 @@ quot_bulkstat_add(
- {
- 	du_t		*dp;
- 	du_t		**hp;
--	__uint64_t	size;
--	__uint32_t	i, id;
-+	uint64_t	size;
-+	uint32_t	i, id;
- 
- 	if ((p->bs_mode & S_IFMT) == 0)
- 		return;
-@@ -203,7 +203,7 @@ qcompare(
- 	return 0;
- }
- 
--typedef char *(*idtoname_t)(__uint32_t);
-+typedef char *(*idtoname_t)(uint32_t);
- 
- static void
- quot_report_mount_any_type(
-@@ -291,7 +291,7 @@ quot_histogram_mount(
- 	fs_path_t	*mount,
- 	uint		flags)
- {
--	__uint64_t	t = 0;
-+	uint64_t	t = 0;
- 	int		i;
- 
- 	fprintf(fp, _("%s (%s):\n"), mount->fs_name, mount->fs_dir);
-diff --git a/quota/quota.c b/quota/quota.c
-index d09e239b..479b970e 100644
---- a/quota/quota.c
-+++ b/quota/quota.c
-@@ -52,7 +52,7 @@ quota_help(void)
- static int
- quota_mount(
- 	FILE		*fp,
--	__uint32_t	id,
-+	uint32_t	id,
- 	char		*name,
- 	uint		form,
- 	uint		type,
-@@ -181,7 +181,7 @@ quota_mount(
- static void
- quota(
- 	FILE		*fp,
--	__uint32_t	id,
-+	uint32_t	id,
- 	char		*name,
- 	uint		form,
- 	uint		type,
-diff --git a/quota/quota.h b/quota/quota.h
-index 4bde3513..9ed28bee 100644
---- a/quota/quota.h
-+++ b/quota/quota.h
-@@ -53,9 +53,9 @@ enum {
- extern char *type_to_string(uint __type);
- extern char *form_to_string(uint __form);
- extern char *time_to_string(time_t __time, uint __flags);
--extern char *bbs_to_string(__uint64_t __v, char *__c, uint __size);
--extern char *num_to_string(__uint64_t __v, char *__c, uint __size);
--extern char *pct_to_string(__uint64_t __v, __uint64_t __t, char *__c, uint __s);
-+extern char *bbs_to_string(uint64_t __v, char *__c, uint __size);
-+extern char *num_to_string(uint64_t __v, char *__c, uint __size);
-+extern char *pct_to_string(uint64_t __v, uint64_t __t, char *__c, uint __s);
- 
- extern FILE *fopen_write_secure(char *__filename);
- 
-@@ -81,7 +81,7 @@ enum {
-  * Identifier (uid/gid/prid) cache routines
-  */
- #define NMAX 32
--extern char *uid_to_name(__uint32_t __uid);
--extern char *gid_to_name(__uint32_t __gid);
--extern char *prid_to_name(__uint32_t __prid);
-+extern char *uid_to_name(uint32_t __uid);
-+extern char *gid_to_name(uint32_t __gid);
-+extern char *prid_to_name(uint32_t __prid);
- extern bool isdigits_only(const char *);
-diff --git a/quota/report.c b/quota/report.c
-index d0509c25..b2ea3bbe 100644
---- a/quota/report.c
-+++ b/quota/report.c
-@@ -333,9 +333,9 @@ report_header(
- static int
- report_mount(
- 	FILE		*fp,
--	__uint32_t	id,
-+	uint32_t	id,
- 	char		*name,
--	__uint32_t	*oid,
-+	uint32_t	*oid,
- 	uint		form,
- 	uint		type,
- 	fs_path_t	*mount,
-diff --git a/quota/state.c b/quota/state.c
-index 09dfa705..b08bf50b 100644
---- a/quota/state.c
-+++ b/quota/state.c
-@@ -135,7 +135,7 @@ static void
- state_timelimit(
- 	FILE		*fp,
- 	uint		form,
--	__uint32_t	timelimit)
-+	uint32_t	timelimit)
- {
- 	fprintf(fp, _("%s grace time: %s\n"),
- 		form_to_string(form),
-diff --git a/quota/util.c b/quota/util.c
-index cafd45f5..37840a86 100644
---- a/quota/util.c
-+++ b/quota/util.c
-@@ -94,8 +94,8 @@ round_snprintf(
- 	size_t		size,
- 	const char	*fmt_round,
- 	const char	*fmt_not_round,
--	__uint64_t	value,
--	__uint64_t	divisor)
-+	uint64_t	value,
-+	uint64_t	divisor)
- {
- 	double		v = (double)value / divisor;
- 
-@@ -107,23 +107,23 @@ round_snprintf(
- }
- 
- /* Basic blocks (512) bytes are returned from quotactl */
--#define BBS_TO_EXABYTES(bbs)	((__uint64_t)(bbs)>>51)
--#define BBS_TO_PETABYTES(bbs)	((__uint64_t)(bbs)>>41)
--#define BBS_TO_TERABYTES(bbs)	((__uint64_t)(bbs)>>31)
--#define BBS_TO_GIGABYTES(bbs)	((__uint64_t)(bbs)>>21)
--#define BBS_TO_MEGABYTES(bbs)	((__uint64_t)(bbs)>>11)
--#define BBS_TO_KILOBYTES(bbs)	((__uint64_t)(bbs)>>1)
--
--#define BBEXABYTE		((__uint64_t)1<<51)
--#define BBPETABYTE		((__uint64_t)1<<41)
--#define BBTERABYTE		((__uint64_t)1<<31)
--#define BBGIGABYTE		((__uint64_t)1<<21)
--#define BBMEGABYTE		((__uint64_t)1<<11)
--#define BBKILOBYTE		((__uint64_t)1<< 1)
-+#define BBS_TO_EXABYTES(bbs)	((uint64_t)(bbs)>>51)
-+#define BBS_TO_PETABYTES(bbs)	((uint64_t)(bbs)>>41)
-+#define BBS_TO_TERABYTES(bbs)	((uint64_t)(bbs)>>31)
-+#define BBS_TO_GIGABYTES(bbs)	((uint64_t)(bbs)>>21)
-+#define BBS_TO_MEGABYTES(bbs)	((uint64_t)(bbs)>>11)
-+#define BBS_TO_KILOBYTES(bbs)	((uint64_t)(bbs)>>1)
-+
-+#define BBEXABYTE		((uint64_t)1<<51)
-+#define BBPETABYTE		((uint64_t)1<<41)
-+#define BBTERABYTE		((uint64_t)1<<31)
-+#define BBGIGABYTE		((uint64_t)1<<21)
-+#define BBMEGABYTE		((uint64_t)1<<11)
-+#define BBKILOBYTE		((uint64_t)1<< 1)
- 
- char *
- bbs_to_string(
--	__uint64_t	v,
-+	uint64_t	v,
- 	char		*sp,
- 	uint		size)
- {
-@@ -146,17 +146,17 @@ bbs_to_string(
- 	return sp;
- }
- 
--#define THOUSAND		((__uint64_t)1000)
--#define MILLION			((__uint64_t)1000*1000)
--#define BILLION			((__uint64_t)1000*1000*1000)
--#define TRILLION		((__uint64_t)1000*1000*1000*1000)
--#define GAZILLION		((__uint64_t)1000*1000*1000*1000*1000)
--#define RIDICULOUS		((__uint64_t)1000*1000*1000*1000*1000*1000)
--#define STOPALREADY		((__uint64_t)1000*1000*1000*1000*1000*1000*1000)
-+#define THOUSAND		((uint64_t)1000)
-+#define MILLION			((uint64_t)1000*1000)
-+#define BILLION			((uint64_t)1000*1000*1000)
-+#define TRILLION		((uint64_t)1000*1000*1000*1000)
-+#define GAZILLION		((uint64_t)1000*1000*1000*1000*1000)
-+#define RIDICULOUS		((uint64_t)1000*1000*1000*1000*1000*1000)
-+#define STOPALREADY		((uint64_t)1000*1000*1000*1000*1000*1000*1000)
- 
- char *
- num_to_string(
--	__uint64_t	v,
-+	uint64_t	v,
- 	char		*sp,
- 	uint		size)
- {
-@@ -183,8 +183,8 @@ num_to_string(
- 
- char *
- pct_to_string(
--	__uint64_t	portion,
--	__uint64_t	whole,
-+	uint64_t	portion,
-+	uint64_t	whole,
- 	char		*buf,
- 	uint		size)
- {
-@@ -237,7 +237,7 @@ type_to_string(
- #define IDMASK		(NID-1)
- 
- typedef struct {
--	__uint32_t	id;
-+	uint32_t	id;
- 	char		name[NMAX+1];
- } idcache_t;
- 
-@@ -250,7 +250,7 @@ static int		pentriesleft = NID;
- 
- static idcache_t *
- getnextpwent(
--	__uint32_t	id,
-+	uint32_t	id,
- 	int		byid)
- {
- 	struct passwd	*pw;
-@@ -266,7 +266,7 @@ getnextpwent(
- 
- static idcache_t *
- getnextgrent(
--	__uint32_t	id,
-+	uint32_t	id,
- 	int		byid)
- {
- 	struct group	*gr;
-@@ -281,7 +281,7 @@ getnextgrent(
- 
- static idcache_t *
- getnextprent(
--	__uint32_t	id,
-+	uint32_t	id,
- 	int		byid)
- {
- 	fs_project_t	*pr;
-@@ -296,7 +296,7 @@ getnextprent(
- 
- char *
- uid_to_name(
--	__uint32_t	id)
-+	uint32_t	id)
- {
- 	idcache_t	*ncp, *idp;
- 
-@@ -333,7 +333,7 @@ uid_to_name(
- 
- char *
- gid_to_name(
--	__uint32_t	id)
-+	uint32_t	id)
- {
- 	idcache_t	*ncp, *idp;
- 
-@@ -370,7 +370,7 @@ gid_to_name(
- 
- char *
- prid_to_name(
--	__uint32_t	id)
-+	uint32_t	id)
- {
- 	idcache_t	*ncp, *idp;
- 
-diff --git a/repair/README b/repair/README
-index 7f168e69..4692463d 100644
---- a/repair/README
-+++ b/repair/README
-@@ -189,7 +189,7 @@ D - 0) look at usage of XFS_MAKE_IPTR().  It does the right
- 
- 
- D - 0) look at references to XFS_INODES_PER_CHUNK.  change the
--	ones that really mean sizeof(__uint64_t)*NBBY to
-+	ones that really mean sizeof(uint64_t)*NBBY to
- 	something else (like that only defined as a constant
- 	INOS_PER_IREC. this isn't as important since
- 	XFS_INODES_PER_CHUNK will never chang
-diff --git a/repair/agheader.h b/repair/agheader.h
-index 6b2974ca..2f7246d2 100644
---- a/repair/agheader.h
-+++ b/repair/agheader.h
-@@ -20,7 +20,7 @@ typedef struct fs_geometry  {
- 	/*
- 	 * these types should match the superblock types
- 	 */
--	__uint32_t	sb_blocksize;	/* blocksize (bytes) */
-+	uint32_t	sb_blocksize;	/* blocksize (bytes) */
- 	xfs_rfsblock_t	sb_dblocks;	/* # data blocks */
- 	xfs_rfsblock_t	sb_rblocks;	/* # realtime blocks */
- 	xfs_rtblock_t	sb_rextents;	/* # realtime extents */
-@@ -30,9 +30,9 @@ typedef struct fs_geometry  {
- 	xfs_agnumber_t	sb_agcount;	/* # of ags */
- 	xfs_extlen_t	sb_rbmblocks;	/* # of rt bitmap blocks */
- 	xfs_extlen_t	sb_logblocks;	/* # of log blocks */
--	__uint16_t	sb_sectsize;	/* volume sector size (bytes) */
--	__uint16_t	sb_inodesize;	/* inode size (bytes) */
--	__uint8_t	sb_imax_pct;	/* max % of fs for inode space */
-+	uint16_t	sb_sectsize;	/* volume sector size (bytes) */
-+	uint16_t	sb_inodesize;	/* inode size (bytes) */
-+	uint8_t		sb_imax_pct;	/* max % of fs for inode space */
- 
- 	/*
- 	 * these don't have to match the superblock types but are placed
-@@ -49,10 +49,10 @@ typedef struct fs_geometry  {
- 	/*
- 	 * fields after this point have to be checked manually in compare_sb()
- 	 */
--	__uint8_t	sb_shared_vn;	/* shared version number */
-+	uint8_t		sb_shared_vn;	/* shared version number */
- 	xfs_extlen_t	sb_inoalignmt;	/* inode chunk alignment, fsblocks */
--	__uint32_t	sb_unit;	/* stripe or raid unit */
--	__uint32_t	sb_width;	/* stripe or width unit */
-+	uint32_t	sb_unit;	/* stripe or raid unit */
-+	uint32_t	sb_width;	/* stripe or width unit */
- 
- 	/*
- 	 * these don't have to match, they track superblock properties
-diff --git a/repair/attr_repair.h b/repair/attr_repair.h
-index 7010e4ff..294fad44 100644
---- a/repair/attr_repair.h
-+++ b/repair/attr_repair.h
-@@ -32,10 +32,10 @@
- #define ACL_WRITE	02
- #define ACL_EXECUTE	01
- 
--typedef __uint16_t	xfs_acl_perm_t;
--typedef __int32_t	xfs_acl_type_t;
--typedef __int32_t	xfs_acl_tag_t;
--typedef __int32_t	xfs_acl_id_t;
-+typedef uint16_t	xfs_acl_perm_t;
-+typedef int32_t		xfs_acl_type_t;
-+typedef int32_t		xfs_acl_tag_t;
-+typedef int32_t		xfs_acl_id_t;
- 
- /*
-  * "icacl" = in-core ACL. There is no equivalent in the XFS kernel code,
-@@ -50,7 +50,7 @@ struct xfs_icacl_entry {
- };
- 
- struct xfs_icacl {
--	__int32_t		acl_cnt;
-+	int32_t			acl_cnt;
- 	struct xfs_icacl_entry	acl_entry[0];
- };
- 
-@@ -59,14 +59,14 @@ struct xfs_icacl {
-  */
- #define XFS_MAC_MAX_SETS	250
- typedef struct xfs_mac_label {
--	__uint8_t       ml_msen_type;	/* MSEN label type */
--	__uint8_t       ml_mint_type;	/* MINT label type */
--	__uint8_t       ml_level;	/* Hierarchical level */
--	__uint8_t       ml_grade;	/* Hierarchical grade */
--	__uint16_t      ml_catcount;	/* Category count */
--	__uint16_t      ml_divcount;	/* Division count */
-+	uint8_t       ml_msen_type;	/* MSEN label type */
-+	uint8_t       ml_mint_type;	/* MINT label type */
-+	uint8_t       ml_level;	/* Hierarchical level */
-+	uint8_t       ml_grade;	/* Hierarchical grade */
-+	uint16_t      ml_catcount;	/* Category count */
-+	uint16_t      ml_divcount;	/* Division count */
- 					/* Category set, then Division set */
--	__uint16_t      ml_list[XFS_MAC_MAX_SETS];
-+	uint16_t      ml_list[XFS_MAC_MAX_SETS];
- } xfs_mac_label_t;
- 
- /* MSEN label type names. Choose an upper case ASCII character.  */
-@@ -93,7 +93,7 @@ typedef struct xfs_mac_label {
- /*
-  * Capabilities (IRIX)
-  */
--typedef __uint64_t xfs_cap_value_t;
-+typedef uint64_t xfs_cap_value_t;
- 
- typedef struct xfs_cap_set {
- 	xfs_cap_value_t	cap_effective;  /* use in capability checks */
-diff --git a/repair/avl64.c b/repair/avl64.c
-index 51cd624c..8f4a1211 100644
---- a/repair/avl64.c
-+++ b/repair/avl64.c
-@@ -70,8 +70,8 @@ avl64_checktree(
- 	avl64node_t *root)
- {
- 	avl64node_t *nlast, *nnext, *np;
--	__uint64_t offset = 0;
--	__uint64_t end;
-+	uint64_t offset = 0;
-+	uint64_t end;
- 
- 	nlast = nnext = root;
- 
-@@ -583,8 +583,8 @@ attach:
- avl64node_t *
- avl64_findanyrange(
- 	avl64tree_desc_t *tree,
--	__uint64_t start,
--	__uint64_t end,
-+	uint64_t start,
-+	uint64_t end,
- 	int	checklen)
- {
- 	avl64node_t *np = tree->avl_root;
-@@ -655,7 +655,7 @@ avl64_findanyrange(
- avl64node_t *
- avl64_findrange(
- 	avl64tree_desc_t *tree,
--	__uint64_t value)
-+	uint64_t value)
- {
- 	avl64node_t *np = tree->avl_root;
- 
-@@ -682,10 +682,10 @@ avl64_findrange(
- avl64node_t *
- avl64_find(
- 	avl64tree_desc_t *tree,
--	__uint64_t value)
-+	uint64_t value)
- {
- 	avl64node_t *np = tree->avl_root;
--	__uint64_t nvalue;
-+	uint64_t nvalue;
- 
- 	while (np) {
- 		nvalue = AVL_START(tree, np);
-@@ -909,8 +909,8 @@ static
- avl64node_t *
- avl64_insert_find_growth(
- 		avl64tree_desc_t *tree,
--		__uint64_t start,	/* range start at start, */
--		__uint64_t end,	/* exclusive */
-+		uint64_t start,	/* range start at start, */
-+		uint64_t end,	/* exclusive */
- 		int   *growthp)	/* OUT */
- {
- 	avl64node_t *root = tree->avl_root;
-@@ -963,7 +963,7 @@ avl64_insert_grow(
- 	int growth)
- {
- 	avl64node_t *nnext;
--	__uint64_t start = AVL_START(tree, newnode);
-+	uint64_t start = AVL_START(tree, newnode);
- 
- 	if (growth == AVL_BACK) {
- 
-@@ -1005,8 +1005,8 @@ avl64_insert(
- 	avl64node_t *newnode)
- {
- 	avl64node_t *np;
--	__uint64_t start = AVL_START(tree, newnode);
--	__uint64_t end = AVL_END(tree, newnode);
-+	uint64_t start = AVL_START(tree, newnode);
-+	uint64_t end = AVL_END(tree, newnode);
- 	int growth;
- 
- 	ASSERT(newnode);
-@@ -1159,16 +1159,16 @@ avl64ops_t avl_debug_ops = {
- 	avl_debug_end,
- }
- 
--static __uint64_t
-+static uint64_t
- avl64_debug_start(avl64node_t *node)
- {
--	return (__uint64_t)(struct avl_debug_node *)node->avl_start;
-+	return (uint64_t)(struct avl_debug_node *)node->avl_start;
- }
- 
--static __uint64_t
-+static uint64_t
- avl64_debug_end(avl64node_t *node)
- {
--	return (__uint64_t)
-+	return (uint64_t)
- 		((struct avl_debug_node *)node->avl_start +
- 		 (struct avl_debug_node *)node->avl_size);
- }
-@@ -1304,7 +1304,7 @@ main()
- avl64node_t *
- avl64_findadjacent(
- 	avl64tree_desc_t *tree,
--	__uint64_t value,
-+	uint64_t value,
- 	int		dir)
- {
- 	avl64node_t *np = tree->avl_root;
-@@ -1378,8 +1378,8 @@ avl64_findadjacent(
- void
- avl64_findranges(
- 	avl64tree_desc_t *tree,
--	__uint64_t start,
--	__uint64_t end,
-+	uint64_t start,
-+	uint64_t end,
- 	avl64node_t	        **startp,
- 	avl64node_t		**endp)
- {
-diff --git a/repair/avl64.h b/repair/avl64.h
-index fd193218..cd079a00 100644
---- a/repair/avl64.h
-+++ b/repair/avl64.h
-@@ -32,8 +32,8 @@ typedef struct	avl64node {
-  * avl-tree operations
-  */
- typedef struct avl64ops {
--	__uint64_t	(*avl_start)(avl64node_t *);
--	__uint64_t	(*avl_end)(avl64node_t *);
-+	uint64_t	(*avl_start)(avl64node_t *);
-+	uint64_t	(*avl_end)(avl64node_t *);
- } avl64ops_t;
- 
- /*
-@@ -89,32 +89,32 @@ avl64_init_tree(
- avl64node_t *
- avl64_findrange(
- 	avl64tree_desc_t *tree,
--	__uint64_t value);
-+	uint64_t value);
- 
- avl64node_t *
- avl64_find(
- 	avl64tree_desc_t *tree,
--	__uint64_t value);
-+	uint64_t value);
- 
- avl64node_t *
- avl64_findanyrange(
- 	avl64tree_desc_t *tree,
--	__uint64_t	start,
--	__uint64_t	end,
-+	uint64_t	start,
-+	uint64_t	end,
- 	int     checklen);
- 
- 
- avl64node_t *
- avl64_findadjacent(
- 	avl64tree_desc_t *tree,
--	__uint64_t	value,
-+	uint64_t	value,
- 	int		dir);
- 
- void
- avl64_findranges(
- 	avl64tree_desc_t *tree,
--	__uint64_t	start,
--	__uint64_t	end,
-+	uint64_t	start,
-+	uint64_t	end,
- 	avl64node_t	        **startp,
- 	avl64node_t		**endp);
- 
-diff --git a/repair/dinode.c b/repair/dinode.c
-index d664f87a..da872178 100644
---- a/repair/dinode.c
-+++ b/repair/dinode.c
-@@ -746,7 +746,7 @@ _("%s fork in ino %" PRIu64 " claims dup extent, "
- 			case XR_E_FREE1:
- 				do_warn(
- _("%s fork in ino %" PRIu64 " claims free block %" PRIu64 "\n"),
--					forkname, ino, (__uint64_t) b);
-+					forkname, ino, (uint64_t) b);
- 				/* fall through ... */
- 			case XR_E_INUSE1:	/* seen by rmap */
- 			case XR_E_UNKNOWN:
-@@ -923,7 +923,7 @@ process_btinode(
- 	int			type,
- 	int			*dirty,
- 	xfs_rfsblock_t		*tot,
--	__uint64_t		*nex,
-+	uint64_t		*nex,
- 	blkmap_t		**blkmapp,
- 	int			whichfork,
- 	int			check_dups)
-@@ -939,7 +939,7 @@ process_btinode(
- 	int			level;
- 	int			numrecs;
- 	bmap_cursor_t		cursor;
--	__uint64_t		magic;
-+	uint64_t		magic;
- 
- 	dib = (xfs_bmdr_block_t *)XFS_DFORK_PTR(dip, whichfork);
- 	lino = XFS_AGINO_TO_INO(mp, agno, ino);
-@@ -1098,7 +1098,7 @@ process_exinode(
- 	int			type,
- 	int			*dirty,
- 	xfs_rfsblock_t		*tot,
--	__uint64_t		*nex,
-+	uint64_t		*nex,
- 	blkmap_t		**blkmapp,
- 	int			whichfork,
- 	int			check_dups)
-@@ -1200,14 +1200,14 @@ process_symlink_extlist(xfs_mount_t *mp, xfs_ino_t lino, xfs_dinode_t *dino)
- 		do_warn(
- _("mismatch between format (%d) and size (%" PRId64 ") in symlink ino %" PRIu64 "\n"),
- 			dino->di_format,
--			(__int64_t)be64_to_cpu(dino->di_size), lino);
-+			(int64_t)be64_to_cpu(dino->di_size), lino);
- 		return 1;
- 	}
- 	if (dino->di_format == XFS_DINODE_FMT_LOCAL) {
- 		do_warn(
- _("mismatch between format (%d) and size (%" PRId64 ") in symlink inode %" PRIu64 "\n"),
- 			dino->di_format,
--			(__int64_t)be64_to_cpu(dino->di_size), lino);
-+			(int64_t)be64_to_cpu(dino->di_size), lino);
- 		return 1;
- 	}
- 
-@@ -1454,22 +1454,22 @@ _("inode %" PRIu64 " has bad inode type (IFMNT)\n"), lino);
- 		case XR_INO_CHRDEV:
- 			do_warn(
- _("size of character device inode %" PRIu64 " != 0 (%" PRId64 " bytes)\n"), lino,
--				(__int64_t)be64_to_cpu(dino->di_size));
-+				(int64_t)be64_to_cpu(dino->di_size));
- 			break;
- 		case XR_INO_BLKDEV:
- 			do_warn(
- _("size of block device inode %" PRIu64 " != 0 (%" PRId64 " bytes)\n"), lino,
--				(__int64_t)be64_to_cpu(dino->di_size));
-+				(int64_t)be64_to_cpu(dino->di_size));
- 			break;
- 		case XR_INO_SOCK:
- 			do_warn(
- _("size of socket inode %" PRIu64 " != 0 (%" PRId64 " bytes)\n"), lino,
--				(__int64_t)be64_to_cpu(dino->di_size));
-+				(int64_t)be64_to_cpu(dino->di_size));
- 			break;
- 		case XR_INO_FIFO:
- 			do_warn(
- _("size of fifo inode %" PRIu64 " != 0 (%" PRId64 " bytes)\n"), lino,
--				(__int64_t)be64_to_cpu(dino->di_size));
-+				(int64_t)be64_to_cpu(dino->di_size));
- 			break;
- 		default:
- 			do_warn(_("Internal error - process_misc_ino_types, "
-@@ -1743,12 +1743,12 @@ _("found inode %" PRIu64 " claiming to be a real-time file\n"), lino);
- 		break;
- 
- 	case XR_INO_RTBITMAP:
--		if (size != (__int64_t)mp->m_sb.sb_rbmblocks *
-+		if (size != (int64_t)mp->m_sb.sb_rbmblocks *
- 					mp->m_sb.sb_blocksize) {
- 			do_warn(
- _("realtime bitmap inode %" PRIu64 " has bad size %" PRId64 " (should be %" PRIu64 ")\n"),
- 				lino, size,
--				(__int64_t) mp->m_sb.sb_rbmblocks *
-+				(int64_t) mp->m_sb.sb_rbmblocks *
- 					mp->m_sb.sb_blocksize);
- 			return 1;
- 		}
-@@ -1817,8 +1817,8 @@ static int
- process_inode_blocks_and_extents(
- 	xfs_dinode_t	*dino,
- 	xfs_rfsblock_t	nblocks,
--	__uint64_t	nextents,
--	__uint64_t	anextents,
-+	uint64_t	nextents,
-+	uint64_t	anextents,
- 	xfs_ino_t	lino,
- 	int		*dirty)
- {
-@@ -1908,7 +1908,7 @@ process_inode_data_fork(
- 	int		type,
- 	int		*dirty,
- 	xfs_rfsblock_t	*totblocks,
--	__uint64_t	*nextents,
-+	uint64_t	*nextents,
- 	blkmap_t	**dblkmap,
- 	int		check_dups)
- {
-@@ -2017,7 +2017,7 @@ process_inode_attr_fork(
- 	int		type,
- 	int		*dirty,
- 	xfs_rfsblock_t	*atotblocks,
--	__uint64_t	*anextents,
-+	uint64_t	*anextents,
- 	int		check_dups,
- 	int		extra_attr_check,
- 	int		*retval)
-@@ -2228,8 +2228,8 @@ process_dinode_int(xfs_mount_t *mp,
- 	int			di_mode;
- 	int			type;
- 	int			retval = 0;
--	__uint64_t		nextents;
--	__uint64_t		anextents;
-+	uint64_t		nextents;
-+	uint64_t		anextents;
- 	xfs_ino_t		lino;
- 	const int		is_free = 0;
- 	const int		is_used = 1;
-@@ -2346,7 +2346,7 @@ _("inode identifier %llu mismatch on inode %" PRIu64 "\n"),
- 		if (!uncertain)
- 			do_warn(
- _("bad (negative) size %" PRId64 " on inode %" PRIu64 "\n"),
--				(__int64_t)be64_to_cpu(dino->di_size),
-+				(int64_t)be64_to_cpu(dino->di_size),
- 				lino);
- 		if (verify_mode)
- 			return 1;
-diff --git a/repair/dinode.h b/repair/dinode.h
-index 61d07363..39d6a72f 100644
---- a/repair/dinode.h
-+++ b/repair/dinode.h
-@@ -46,8 +46,8 @@ process_bmbt_reclist(xfs_mount_t	*mp,
- 		xfs_ino_t		ino,
- 		xfs_rfsblock_t		*tot,
- 		struct blkmap		**blkmapp,
--		__uint64_t		*first_key,
--		__uint64_t		*last_key,
-+		uint64_t		*first_key,
-+		uint64_t		*last_key,
- 		int			whichfork);
- 
- int
-diff --git a/repair/dir2.c b/repair/dir2.c
-index e6415e49..73dff902 100644
---- a/repair/dir2.c
-+++ b/repair/dir2.c
-@@ -160,7 +160,7 @@ process_sf_dir2(
- 	int			bad_sfnamelen;
- 	int			i;
- 	int			i8;
--	__int64_t		ino_dir_size;
-+	int64_t			ino_dir_size;
- 	int			ino_off;
- 	ino_tree_node_t		*irec_p;
- 	int			junkit;
-diff --git a/repair/globals.h b/repair/globals.h
-index 4085ccc4..c7bbe6f1 100644
---- a/repair/globals.h
-+++ b/repair/globals.h
-@@ -141,7 +141,7 @@ EXTERN int		inodes_per_cluster;
- EXTERN unsigned int	glob_agcount;
- EXTERN int		chunks_pblock;	/* # of 64-ino chunks per allocation */
- EXTERN int		max_symlink_blocks;
--EXTERN __int64_t	fs_max_file_offset;
-+EXTERN int64_t		fs_max_file_offset;
- 
- /* realtime info */
- 
-@@ -161,24 +161,24 @@ EXTERN int		full_ino_ex_data;/*
- 
- /* superblock counters */
- 
--EXTERN __uint64_t	sb_icount;	/* allocated (made) inodes */
--EXTERN __uint64_t	sb_ifree;	/* free inodes */
--EXTERN __uint64_t	sb_fdblocks;	/* free data blocks */
--EXTERN __uint64_t	sb_frextents;	/* free realtime extents */
-+EXTERN uint64_t	sb_icount;	/* allocated (made) inodes */
-+EXTERN uint64_t	sb_ifree;	/* free inodes */
-+EXTERN uint64_t	sb_fdblocks;	/* free data blocks */
-+EXTERN uint64_t	sb_frextents;	/* free realtime extents */
- 
- /* superblock geometry info */
- 
- EXTERN xfs_extlen_t	sb_inoalignmt;
--EXTERN __uint32_t	sb_unit;
--EXTERN __uint32_t	sb_width;
-+EXTERN uint32_t	sb_unit;
-+EXTERN uint32_t	sb_width;
- 
- struct aglock {
- 	pthread_mutex_t	lock __attribute__((__aligned__(64)));
- };
- EXTERN struct aglock	*ag_locks;
- 
--EXTERN int 		report_interval;
--EXTERN __uint64_t 	*prog_rpt_done;
-+EXTERN int		report_interval;
-+EXTERN uint64_t		*prog_rpt_done;
- 
- EXTERN int		ag_stride;
- EXTERN int		thread_count;
-diff --git a/repair/incore.c b/repair/incore.c
-index cb573165..a9191ae2 100644
---- a/repair/incore.c
-+++ b/repair/incore.c
-@@ -179,7 +179,7 @@ get_bmap_ext(
- static uint64_t		*rt_bmap;
- static size_t		rt_bmap_size;
- 
--/* block records fit into __uint64_t's units */
-+/* block records fit into uint64_t's units */
- #define XR_BB_UNIT	64			/* number of bits/unit */
- #define XR_BB		4			/* bits per block record */
- #define XR_BB_NUM	(XR_BB_UNIT/XR_BB)	/* number of records per unit */
-@@ -203,8 +203,8 @@ set_rtbmap(
- {
- 	*(rt_bmap + bno / XR_BB_NUM) =
- 	 ((*(rt_bmap + bno / XR_BB_NUM) &
--	  (~((__uint64_t) XR_BB_MASK << ((bno % XR_BB_NUM) * XR_BB)))) |
--	 (((__uint64_t) state) << ((bno % XR_BB_NUM) * XR_BB)));
-+	  (~((uint64_t) XR_BB_MASK << ((bno % XR_BB_NUM) * XR_BB)))) |
-+	 (((uint64_t) state) << ((bno % XR_BB_NUM) * XR_BB)));
- }
- 
- static void
-@@ -222,9 +222,9 @@ init_rt_bmap(
- 		return;
- 
- 	rt_bmap_size = roundup(mp->m_sb.sb_rextents / (NBBY / XR_BB),
--			       sizeof(__uint64_t));
-+			       sizeof(uint64_t));
- 
--	rt_bmap = memalign(sizeof(__uint64_t), rt_bmap_size);
-+	rt_bmap = memalign(sizeof(uint64_t), rt_bmap_size);
- 	if (!rt_bmap) {
- 		do_error(
- 	_("couldn't allocate realtime block map, size = %" PRIu64 "\n"),
-diff --git a/repair/incore.h b/repair/incore.h
-index c23a3a3c..fd66084f 100644
---- a/repair/incore.h
-+++ b/repair/incore.h
-@@ -257,7 +257,7 @@ typedef xfs_ino_t parent_entry_t;
- struct nlink_ops;
- 
- typedef struct parent_list  {
--	__uint64_t		pmask;
-+	uint64_t		pmask;
- 	parent_entry_t		*pentries;
- #ifdef DEBUG
- 	short			cnt;
-@@ -265,14 +265,14 @@ typedef struct parent_list  {
- } parent_list_t;
- 
- union ino_nlink {
--	__uint8_t	*un8;
--	__uint16_t	*un16;
--	__uint32_t	*un32;
-+	uint8_t		*un8;
-+	uint16_t	*un16;
-+	uint32_t	*un32;
- };
- 
- typedef struct ino_ex_data  {
--	__uint64_t		ino_reached;	/* bit == 1 if reached */
--	__uint64_t		ino_processed;	/* reference checked bit mask */
-+	uint64_t		ino_reached;	/* bit == 1 if reached */
-+	uint64_t		ino_processed;	/* reference checked bit mask */
- 	parent_list_t		*parents;
- 	union ino_nlink		counted_nlinks;/* counted nlinks in P6 */
- } ino_ex_data_t;
-@@ -281,22 +281,22 @@ typedef struct ino_tree_node  {
- 	avlnode_t		avl_node;
- 	xfs_agino_t		ino_startnum;	/* starting inode # */
- 	xfs_inofree_t		ir_free;	/* inode free bit mask */
--	__uint64_t		ir_sparse;	/* sparse inode bitmask */
--	__uint64_t		ino_confirmed;	/* confirmed bitmask */
--	__uint64_t		ino_isa_dir;	/* bit == 1 if a directory */
--	__uint64_t		ino_was_rl;	/* bit == 1 if reflink flag set */
--	__uint64_t		ino_is_rl;	/* bit == 1 if reflink flag should be set */
--	__uint8_t		nlink_size;
-+	uint64_t		ir_sparse;	/* sparse inode bitmask */
-+	uint64_t		ino_confirmed;	/* confirmed bitmask */
-+	uint64_t		ino_isa_dir;	/* bit == 1 if a directory */
-+	uint64_t		ino_was_rl;	/* bit == 1 if reflink flag set */
-+	uint64_t		ino_is_rl;	/* bit == 1 if reflink flag should be set */
-+	uint8_t			nlink_size;
- 	union ino_nlink		disk_nlinks;	/* on-disk nlinks, set in P3 */
- 	union  {
- 		ino_ex_data_t	*ex_data;	/* phases 6,7 */
- 		parent_list_t	*plist;		/* phases 2-5 */
- 	} ino_un;
--	__uint8_t		*ftypes;	/* phases 3,6 */
-+	uint8_t			*ftypes;	/* phases 3,6 */
- } ino_tree_node_t;
- 
--#define INOS_PER_IREC	(sizeof(__uint64_t) * NBBY)
--#define	IREC_MASK(i)	((__uint64_t)1 << (i))
-+#define INOS_PER_IREC	(sizeof(uint64_t) * NBBY)
-+#define	IREC_MASK(i)	((uint64_t)1 << (i))
- 
- void		add_ino_ex_data(xfs_mount_t *mp);
- 
-@@ -543,10 +543,10 @@ static inline int inode_is_rl(struct ino_tree_node *irec, int offset)
-  */
- void add_inode_ref(struct ino_tree_node *irec, int offset);
- void drop_inode_ref(struct ino_tree_node *irec, int offset);
--__uint32_t num_inode_references(struct ino_tree_node *irec, int offset);
-+uint32_t num_inode_references(struct ino_tree_node *irec, int offset);
- 
--void set_inode_disk_nlinks(struct ino_tree_node *irec, int offset, __uint32_t nlinks);
--__uint32_t get_inode_disk_nlinks(struct ino_tree_node *irec, int offset);
-+void set_inode_disk_nlinks(struct ino_tree_node *irec, int offset, uint32_t nlinks);
-+uint32_t get_inode_disk_nlinks(struct ino_tree_node *irec, int offset);
- 
- static inline int is_inode_reached(struct ino_tree_node *irec, int offset)
- {
-@@ -567,13 +567,13 @@ static inline void add_inode_reached(struct ino_tree_node *irec, int offset)
- static inline void
- set_inode_ftype(struct ino_tree_node *irec,
- 	int		ino_offset,
--	__uint8_t	ftype)
-+	uint8_t		ftype)
- {
- 	if (irec->ftypes)
- 		irec->ftypes[ino_offset] = ftype;
- }
- 
--static inline __uint8_t
-+static inline uint8_t
- get_inode_ftype(
- 	struct ino_tree_node *irec,
- 	int		ino_offset)
-@@ -606,11 +606,11 @@ typedef struct bm_level_state  {
- 	xfs_fsblock_t		fsbno;
- 	xfs_fsblock_t		left_fsbno;
- 	xfs_fsblock_t		right_fsbno;
--	__uint64_t		first_key;
--	__uint64_t		last_key;
-+	uint64_t		first_key;
-+	uint64_t		last_key;
- /*
- 	int			level;
--	__uint64_t		prev_last_key;
-+	uint64_t		prev_last_key;
- 	xfs_buf_t		*bp;
- 	xfs_bmbt_block_t	*block;
- */
-diff --git a/repair/incore_ext.c b/repair/incore_ext.c
-index 7e6786c5..0a8138a9 100644
---- a/repair/incore_ext.c
-+++ b/repair/incore_ext.c
-@@ -721,13 +721,13 @@ search_rt_dup_extent(xfs_mount_t *mp, xfs_rtblock_t bno)
- 	return(ret);
- }
- 
--static __uint64_t
-+static uint64_t
- avl64_rt_ext_start(avl64node_t *node)
- {
- 	return(((rt_extent_tree_node_t *) node)->rt_startblock);
- }
- 
--static __uint64_t
-+static uint64_t
- avl64_ext_end(avl64node_t *node)
- {
- 	return(((rt_extent_tree_node_t *) node)->rt_startblock +
-@@ -834,7 +834,7 @@ count_extents(xfs_agnumber_t agno, avltree_desc_t *tree, int whichtree)
- int
- count_bno_extents_blocks(xfs_agnumber_t agno, uint *numblocks)
- {
--	__uint64_t nblocks;
-+	uint64_t nblocks;
- 	extent_tree_node_t *node;
- 	int i = 0;
- 
-diff --git a/repair/incore_ino.c b/repair/incore_ino.c
-index 2ec17657..3b6b44d4 100644
---- a/repair/incore_ino.c
-+++ b/repair/incore_ino.c
-@@ -38,7 +38,7 @@ static avltree_desc_t	**inode_uncertain_tree_ptrs;
- /* memory optimised nlink counting for all inodes */
- 
- static void *
--alloc_nlink_array(__uint8_t nlink_size)
-+alloc_nlink_array(uint8_t nlink_size)
- {
- 	void *ptr;
- 
-@@ -51,10 +51,10 @@ alloc_nlink_array(__uint8_t nlink_size)
- static void
- nlink_grow_8_to_16(ino_tree_node_t *irec)
- {
--	__uint16_t	*new_nlinks;
-+	uint16_t	*new_nlinks;
- 	int		i;
- 
--	irec->nlink_size = sizeof(__uint16_t);
-+	irec->nlink_size = sizeof(uint16_t);
- 
- 	new_nlinks = alloc_nlink_array(irec->nlink_size);
- 	for (i = 0; i < XFS_INODES_PER_CHUNK; i++)
-@@ -76,10 +76,10 @@ nlink_grow_8_to_16(ino_tree_node_t *irec)
- static void
- nlink_grow_16_to_32(ino_tree_node_t *irec)
- {
--	__uint32_t	*new_nlinks;
-+	uint32_t	*new_nlinks;
- 	int		i;
- 
--	irec->nlink_size = sizeof(__uint32_t);
-+	irec->nlink_size = sizeof(uint32_t);
- 
- 	new_nlinks = alloc_nlink_array(irec->nlink_size);
- 	for (i = 0; i < XFS_INODES_PER_CHUNK; i++)
-@@ -104,21 +104,21 @@ void add_inode_ref(struct ino_tree_node *irec, int ino_offset)
- 	ASSERT(irec->ino_un.ex_data != NULL);
- 
- 	switch (irec->nlink_size) {
--	case sizeof(__uint8_t):
-+	case sizeof(uint8_t):
- 		if (irec->ino_un.ex_data->counted_nlinks.un8[ino_offset] < 0xff) {
- 			irec->ino_un.ex_data->counted_nlinks.un8[ino_offset]++;
- 			break;
- 		}
- 		nlink_grow_8_to_16(irec);
- 		/*FALLTHRU*/
--	case sizeof(__uint16_t):
-+	case sizeof(uint16_t):
- 		if (irec->ino_un.ex_data->counted_nlinks.un16[ino_offset] < 0xffff) {
- 			irec->ino_un.ex_data->counted_nlinks.un16[ino_offset]++;
- 			break;
- 		}
- 		nlink_grow_16_to_32(irec);
- 		/*FALLTHRU*/
--	case sizeof(__uint32_t):
-+	case sizeof(uint32_t):
- 		irec->ino_un.ex_data->counted_nlinks.un32[ino_offset]++;
- 		break;
- 	default:
-@@ -128,20 +128,20 @@ void add_inode_ref(struct ino_tree_node *irec, int ino_offset)
- 
- void drop_inode_ref(struct ino_tree_node *irec, int ino_offset)
- {
--	__uint32_t	refs = 0;
-+	uint32_t	refs = 0;
- 
- 	ASSERT(irec->ino_un.ex_data != NULL);
- 
- 	switch (irec->nlink_size) {
--	case sizeof(__uint8_t):
-+	case sizeof(uint8_t):
- 		ASSERT(irec->ino_un.ex_data->counted_nlinks.un8[ino_offset] > 0);
- 		refs = --irec->ino_un.ex_data->counted_nlinks.un8[ino_offset];
- 		break;
--	case sizeof(__uint16_t):
-+	case sizeof(uint16_t):
- 		ASSERT(irec->ino_un.ex_data->counted_nlinks.un16[ino_offset] > 0);
- 		refs = --irec->ino_un.ex_data->counted_nlinks.un16[ino_offset];
- 		break;
--	case sizeof(__uint32_t):
-+	case sizeof(uint32_t):
- 		ASSERT(irec->ino_un.ex_data->counted_nlinks.un32[ino_offset] > 0);
- 		refs = --irec->ino_un.ex_data->counted_nlinks.un32[ino_offset];
- 		break;
-@@ -153,16 +153,16 @@ void drop_inode_ref(struct ino_tree_node *irec, int ino_offset)
- 		irec->ino_un.ex_data->ino_reached &= ~IREC_MASK(ino_offset);
- }
- 
--__uint32_t num_inode_references(struct ino_tree_node *irec, int ino_offset)
-+uint32_t num_inode_references(struct ino_tree_node *irec, int ino_offset)
- {
- 	ASSERT(irec->ino_un.ex_data != NULL);
- 
- 	switch (irec->nlink_size) {
--	case sizeof(__uint8_t):
-+	case sizeof(uint8_t):
- 		return irec->ino_un.ex_data->counted_nlinks.un8[ino_offset];
--	case sizeof(__uint16_t):
-+	case sizeof(uint16_t):
- 		return irec->ino_un.ex_data->counted_nlinks.un16[ino_offset];
--	case sizeof(__uint32_t):
-+	case sizeof(uint32_t):
- 		return irec->ino_un.ex_data->counted_nlinks.un32[ino_offset];
- 	default:
- 		ASSERT(0);
-@@ -171,24 +171,24 @@ __uint32_t num_inode_references(struct ino_tree_node *irec, int ino_offset)
- }
- 
- void set_inode_disk_nlinks(struct ino_tree_node *irec, int ino_offset,
--		__uint32_t nlinks)
-+		uint32_t nlinks)
- {
- 	switch (irec->nlink_size) {
--	case sizeof(__uint8_t):
-+	case sizeof(uint8_t):
- 		if (nlinks < 0xff) {
- 			irec->disk_nlinks.un8[ino_offset] = nlinks;
- 			break;
- 		}
- 		nlink_grow_8_to_16(irec);
- 		/*FALLTHRU*/
--	case sizeof(__uint16_t):
-+	case sizeof(uint16_t):
- 		if (nlinks < 0xffff) {
- 			irec->disk_nlinks.un16[ino_offset] = nlinks;
- 			break;
- 		}
- 		nlink_grow_16_to_32(irec);
- 		/*FALLTHRU*/
--	case sizeof(__uint32_t):
-+	case sizeof(uint32_t):
- 		irec->disk_nlinks.un32[ino_offset] = nlinks;
- 		break;
- 	default:
-@@ -196,14 +196,14 @@ void set_inode_disk_nlinks(struct ino_tree_node *irec, int ino_offset,
- 	}
- }
- 
--__uint32_t get_inode_disk_nlinks(struct ino_tree_node *irec, int ino_offset)
-+uint32_t get_inode_disk_nlinks(struct ino_tree_node *irec, int ino_offset)
- {
- 	switch (irec->nlink_size) {
--	case sizeof(__uint8_t):
-+	case sizeof(uint8_t):
- 		return irec->disk_nlinks.un8[ino_offset];
--	case sizeof(__uint16_t):
-+	case sizeof(uint16_t):
- 		return irec->disk_nlinks.un16[ino_offset];
--	case sizeof(__uint32_t):
-+	case sizeof(uint32_t):
- 		return irec->disk_nlinks.un32[ino_offset];
- 	default:
- 		ASSERT(0);
-@@ -211,11 +211,11 @@ __uint32_t get_inode_disk_nlinks(struct ino_tree_node *irec, int ino_offset)
- 	return 0;
- }
- 
--static __uint8_t *
-+static uint8_t *
- alloc_ftypes_array(
- 	struct xfs_mount *mp)
- {
--	__uint8_t	*ptr;
-+	uint8_t		*ptr;
- 
- 	if (!xfs_sb_version_hasftype(&mp->m_sb))
- 		return NULL;
-@@ -262,23 +262,23 @@ alloc_ino_node(
- 	irec->ir_free = (xfs_inofree_t) - 1;
- 	irec->ir_sparse = 0;
- 	irec->ino_un.ex_data = NULL;
--	irec->nlink_size = sizeof(__uint8_t);
-+	irec->nlink_size = sizeof(uint8_t);
- 	irec->disk_nlinks.un8 = alloc_nlink_array(irec->nlink_size);
- 	irec->ftypes = alloc_ftypes_array(mp);
- 	return irec;
- }
- 
- static void
--free_nlink_array(union ino_nlink nlinks, __uint8_t nlink_size)
-+free_nlink_array(union ino_nlink nlinks, uint8_t nlink_size)
- {
- 	switch (nlink_size) {
--	case sizeof(__uint8_t):
-+	case sizeof(uint8_t):
- 		free(nlinks.un8);
- 		break;
--	case sizeof(__uint16_t):
-+	case sizeof(uint16_t):
- 		free(nlinks.un16);
- 		break;
--	case sizeof(__uint32_t):
-+	case sizeof(uint32_t):
- 		free(nlinks.un32);
- 		break;
- 	default:
-@@ -609,7 +609,7 @@ set_inode_parent(
- 	int			i;
- 	int			cnt;
- 	int			target;
--	__uint64_t		bitmask;
-+	uint64_t		bitmask;
- 	parent_entry_t		*tmp;
- 
- 	if (full_ino_ex_data)
-@@ -699,7 +699,7 @@ set_inode_parent(
- xfs_ino_t
- get_inode_parent(ino_tree_node_t *irec, int offset)
- {
--	__uint64_t	bitmask;
-+	uint64_t	bitmask;
- 	parent_list_t	*ptbl;
- 	int		i;
- 	int		target;
-@@ -740,15 +740,15 @@ alloc_ex_data(ino_tree_node_t *irec)
- 	irec->ino_un.ex_data->parents = ptbl;
- 
- 	switch (irec->nlink_size) {
--	case sizeof(__uint8_t):
-+	case sizeof(uint8_t):
- 		irec->ino_un.ex_data->counted_nlinks.un8 =
- 			alloc_nlink_array(irec->nlink_size);
- 		break;
--	case sizeof(__uint16_t):
-+	case sizeof(uint16_t):
- 		irec->ino_un.ex_data->counted_nlinks.un16 =
- 			alloc_nlink_array(irec->nlink_size);
- 		break;
--	case sizeof(__uint32_t):
-+	case sizeof(uint32_t):
- 		irec->ino_un.ex_data->counted_nlinks.un32 =
- 			alloc_nlink_array(irec->nlink_size);
- 		break;
-diff --git a/repair/phase2.c b/repair/phase2.c
-index c21778b8..0085732b 100644
---- a/repair/phase2.c
-+++ b/repair/phase2.c
-@@ -179,7 +179,7 @@ phase2(
- 
- 	bad_ino_btree = 0;
- 
--	set_progress_msg(PROG_FMT_SCAN_AG, (__uint64_t) glob_agcount);
-+	set_progress_msg(PROG_FMT_SCAN_AG, (uint64_t) glob_agcount);
- 
- 	scan_ags(mp, scan_threads);
- 
-diff --git a/repair/phase3.c b/repair/phase3.c
-index 0890a27d..17b1c28d 100644
---- a/repair/phase3.c
-+++ b/repair/phase3.c
-@@ -122,7 +122,7 @@ phase3(
- 	else
- 		do_log(_("        - scan (but don't clear) agi unlinked lists...\n"));
- 
--	set_progress_msg(PROG_FMT_AGI_UNLINKED, (__uint64_t) glob_agcount);
-+	set_progress_msg(PROG_FMT_AGI_UNLINKED, (uint64_t) glob_agcount);
- 
- 	/* first clear the agi unlinked AGI list */
- 	if (!no_modify) {
-@@ -142,7 +142,7 @@ phase3(
- 	do_log(_(
- 	    "        - process known inodes and perform inode discovery...\n"));
- 
--	set_progress_msg(PROG_FMT_PROCESS_INO, (__uint64_t) mp->m_sb.sb_icount);
-+	set_progress_msg(PROG_FMT_PROCESS_INO, (uint64_t) mp->m_sb.sb_icount);
- 
- 	process_ags(mp);
- 
-@@ -152,7 +152,7 @@ phase3(
- 	 * process newly discovered inode chunks
- 	 */
- 	do_log(_("        - process newly discovered inodes...\n"));
--	set_progress_msg(PROG_FMT_NEW_INODES, (__uint64_t) glob_agcount);
-+	set_progress_msg(PROG_FMT_NEW_INODES, (uint64_t) glob_agcount);
- 
- 	counts = calloc(sizeof(*counts), mp->m_sb.sb_agcount);
- 	if (!counts) {
-diff --git a/repair/phase4.c b/repair/phase4.c
-index e59464b1..cc17ec03 100644
---- a/repair/phase4.c
-+++ b/repair/phase4.c
-@@ -290,7 +290,7 @@ phase4(xfs_mount_t *mp)
- 	do_log(_("Phase 4 - check for duplicate blocks...\n"));
- 	do_log(_("        - setting up duplicate extent list...\n"));
- 
--	set_progress_msg(PROG_FMT_DUP_EXTENT, (__uint64_t) glob_agcount);
-+	set_progress_msg(PROG_FMT_DUP_EXTENT, (uint64_t) glob_agcount);
- 
- 	irec = find_inode_rec(mp, XFS_INO_TO_AGNO(mp, mp->m_sb.sb_rootino),
- 				XFS_INO_TO_AGINO(mp, mp->m_sb.sb_rootino));
-@@ -404,7 +404,7 @@ phase4(xfs_mount_t *mp)
- 	reset_bmaps(mp);
- 
- 	do_log(_("        - check for inodes claiming duplicate blocks...\n"));
--	set_progress_msg(PROG_FMT_DUP_BLOCKS, (__uint64_t) mp->m_sb.sb_icount);
-+	set_progress_msg(PROG_FMT_DUP_BLOCKS, (uint64_t) mp->m_sb.sb_icount);
- 
- 	/*
- 	 * ok, now process the inodes -- signal 2-pass check per inode.
-diff --git a/repair/phase5.c b/repair/phase5.c
-index 0b833f13..21dce67a 100644
---- a/repair/phase5.c
-+++ b/repair/phase5.c
-@@ -86,9 +86,9 @@ struct agi_stat {
- 	xfs_agino_t		freecount;
- };
- 
--static __uint64_t	*sb_icount_ag;		/* allocated inodes per ag */
--static __uint64_t	*sb_ifree_ag;		/* free inodes per ag */
--static __uint64_t	*sb_fdblocks_ag;	/* free data blocks per ag */
-+static uint64_t	*sb_icount_ag;		/* allocated inodes per ag */
-+static uint64_t	*sb_ifree_ag;		/* free inodes per ag */
-+static uint64_t	*sb_fdblocks_ag;	/* free data blocks per ag */
- 
- static int
- mk_incore_fstree(xfs_mount_t *mp, xfs_agnumber_t agno)
-@@ -886,10 +886,10 @@ build_freespace_tree(xfs_mount_t *mp, xfs_agnumber_t agno,
-  */
- static void
- init_ino_cursor(xfs_mount_t *mp, xfs_agnumber_t agno, bt_status_t *btree_curs,
--		__uint64_t *num_inos, __uint64_t *num_free_inos, int finobt)
-+		uint64_t *num_inos, uint64_t *num_free_inos, int finobt)
- {
--	__uint64_t		ninos;
--	__uint64_t		nfinos;
-+	uint64_t		ninos;
-+	uint64_t		nfinos;
- 	int			rec_nfinos;
- 	int			rec_ninos;
- 	ino_tree_node_t		*ino_rec;
-@@ -2193,10 +2193,10 @@ phase5_func(
- 	xfs_agnumber_t	agno,
- 	struct xfs_slab	*lost_fsb)
- {
--	__uint64_t	num_inos;
--	__uint64_t	num_free_inos;
--	__uint64_t	finobt_num_inos;
--	__uint64_t	finobt_num_free_inos;
-+	uint64_t	num_inos;
-+	uint64_t	num_free_inos;
-+	uint64_t	finobt_num_inos;
-+	uint64_t	finobt_num_free_inos;
- 	bt_status_t	bno_btree_curs;
- 	bt_status_t	bcnt_btree_curs;
- 	bt_status_t	ino_btree_curs;
-@@ -2471,7 +2471,7 @@ phase5(xfs_mount_t *mp)
- 	int			error;
- 
- 	do_log(_("Phase 5 - rebuild AG headers and trees...\n"));
--	set_progress_msg(PROG_FMT_REBUILD_AG, (__uint64_t )glob_agcount);
-+	set_progress_msg(PROG_FMT_REBUILD_AG, (uint64_t)glob_agcount);
- 
- #ifdef XR_BLD_FREE_TRACE
- 	fprintf(stderr, "inobt level 1, maxrec = %d, minrec = %d\n",
-@@ -2497,15 +2497,15 @@ phase5(xfs_mount_t *mp)
- 	keep_fsinos(mp);
- 
- 	/* allocate per ag counters */
--	sb_icount_ag = calloc(mp->m_sb.sb_agcount, sizeof(__uint64_t));
-+	sb_icount_ag = calloc(mp->m_sb.sb_agcount, sizeof(uint64_t));
- 	if (sb_icount_ag == NULL)
- 		do_error(_("cannot alloc sb_icount_ag buffers\n"));
- 
--	sb_ifree_ag = calloc(mp->m_sb.sb_agcount, sizeof(__uint64_t));
-+	sb_ifree_ag = calloc(mp->m_sb.sb_agcount, sizeof(uint64_t));
- 	if (sb_ifree_ag == NULL)
- 		do_error(_("cannot alloc sb_ifree_ag buffers\n"));
- 
--	sb_fdblocks_ag = calloc(mp->m_sb.sb_agcount, sizeof(__uint64_t));
-+	sb_fdblocks_ag = calloc(mp->m_sb.sb_agcount, sizeof(uint64_t));
- 	if (sb_fdblocks_ag == NULL)
- 		do_error(_("cannot alloc sb_fdblocks_ag buffers\n"));
- 
-diff --git a/repair/phase6.c b/repair/phase6.c
-index 08636dcf..373b1a5b 100644
---- a/repair/phase6.c
-+++ b/repair/phase6.c
-@@ -82,7 +82,7 @@ typedef struct dir_hash_ent {
- 	struct dir_hash_ent	*nextbyhash;	/* next in name bucket */
- 	struct dir_hash_ent	*nextbyorder;	/* next in order added */
- 	xfs_dahash_t		hashval;	/* hash value of name */
--	__uint32_t		address;	/* offset of data entry */
-+	uint32_t		address;	/* offset of data entry */
- 	xfs_ino_t 		inum;		/* inode num of entry */
- 	short			junkit;		/* name starts with / */
- 	short			seen;		/* have seen leaf entry */
-@@ -170,11 +170,11 @@ static int
- dir_hash_add(
- 	xfs_mount_t		*mp,
- 	dir_hash_tab_t		*hashtab,
--	__uint32_t		addr,
-+	uint32_t		addr,
- 	xfs_ino_t		inum,
- 	int			namelen,
- 	unsigned char		*name,
--	__uint8_t		ftype)
-+	uint8_t			ftype)
- {
- 	xfs_dahash_t		hash = 0;
- 	int			byaddr;
-@@ -357,7 +357,7 @@ static void
- dir_hash_update_ftype(
- 	dir_hash_tab_t		*hashtab,
- 	xfs_dir2_dataptr_t	addr,
--	__uint8_t		ftype)
-+	uint8_t			ftype)
- {
- 	int			i;
- 	dir_hash_ent_t		*p;
-@@ -1791,8 +1791,8 @@ longform_dir2_entry_check_data(
- 
- 		/* validate ftype field if supported */
- 		if (xfs_sb_version_hasftype(&mp->m_sb)) {
--			__uint8_t dir_ftype;
--			__uint8_t ino_ftype;
-+			uint8_t dir_ftype;
-+			uint8_t ino_ftype;
- 
- 			dir_ftype = M_DIROPS(mp)->data_get_ftype(dep);
- 			ino_ftype = get_inode_ftype(irec, ino_offset);
-@@ -2703,8 +2703,8 @@ _("entry \"%s\" (ino %" PRIu64 ") in dir %" PRIu64 " is a duplicate name"),
- 
- 		/* validate ftype field if supported */
- 		if (xfs_sb_version_hasftype(&mp->m_sb)) {
--			__uint8_t dir_ftype;
--			__uint8_t ino_ftype;
-+			uint8_t dir_ftype;
-+			uint8_t ino_ftype;
- 
- 			dir_ftype = M_DIROPS(mp)->sf_get_ftype(sfep);
- 			ino_ftype = get_inode_ftype(irec, ino_offset);
-diff --git a/repair/phase7.c b/repair/phase7.c
-index 8bce117d..4ffb81a8 100644
---- a/repair/phase7.c
-+++ b/repair/phase7.c
-@@ -32,7 +32,7 @@ static void
- update_inode_nlinks(
- 	xfs_mount_t 		*mp,
- 	xfs_ino_t		ino,
--	__uint32_t		nlinks)
-+	uint32_t		nlinks)
- {
- 	xfs_trans_t		*tp;
- 	xfs_inode_t		*ip;
-@@ -104,7 +104,7 @@ do_link_updates(
- {
- 	ino_tree_node_t		*irec;
- 	int			j;
--	__uint32_t		nrefs;
-+	uint32_t		nrefs;
- 
- 	for (irec = findfirst_inode_rec(agno); irec;
- 	     irec = next_ino_rec(irec)) {
-@@ -143,7 +143,7 @@ phase7(
- 	else
- 		do_log(_("Phase 7 - verify link counts...\n"));
- 
--	set_progress_msg(PROGRESS_FMT_CORR_LINK, (__uint64_t) glob_agcount);
-+	set_progress_msg(PROGRESS_FMT_CORR_LINK, (uint64_t) glob_agcount);
- 
- 	create_work_queue(&wq, mp, scan_threads);
- 
-diff --git a/repair/progress.c b/repair/progress.c
-index 2a09b239..99d2658c 100644
---- a/repair/progress.c
-+++ b/repair/progress.c
-@@ -85,8 +85,8 @@ pthread_t	report_thread;
- typedef struct msg_block_s {
- 	pthread_mutex_t	mutex;
- 	progress_rpt_t	*format;
--	__uint64_t	*done;
--	__uint64_t	*total;
-+	uint64_t	*done;
-+	uint64_t	*total;
- 	int		count;
- 	int		interval;
- } msg_block_t;
-@@ -96,14 +96,14 @@ typedef struct phase_times_s {
- 	time_t		start;
- 	time_t		end;
- 	time_t		duration;
--	__uint64_t	item_counts[4];
-+	uint64_t	item_counts[4];
- } phase_times_t;
- static phase_times_t phase_times[8];
- 
- static void *progress_rpt_thread(void *);
- static int current_phase;
- static int running;
--static __uint64_t prog_rpt_total;
-+static uint64_t prog_rpt_total;
- 
- void
- init_progress_rpt (void)
-@@ -113,11 +113,11 @@ init_progress_rpt (void)
- 	 *  allocate the done vector
- 	 */
- 
--	if ((prog_rpt_done = (__uint64_t *)
--		malloc(sizeof(__uint64_t)*glob_agcount)) == NULL ) {
-+	if ((prog_rpt_done = (uint64_t *)
-+		malloc(sizeof(uint64_t)*glob_agcount)) == NULL) {
- 		do_error(_("cannot malloc pointer to done vector\n"));
- 	}
--	bzero(prog_rpt_done, sizeof(__uint64_t)*glob_agcount);
-+	bzero(prog_rpt_done, sizeof(uint64_t)*glob_agcount);
- 
- 	/*
- 	 *  Setup comm block, start the thread
-@@ -165,10 +165,10 @@ progress_rpt_thread (void *p)
- 	timer_t timerid;
- 	struct itimerspec timespec;
- 	char *msgbuf;
--	__uint64_t *donep;
--	__uint64_t sum;
-+	uint64_t *donep;
-+	uint64_t sum;
- 	msg_block_t *msgp = (msg_block_t *)p;
--	__uint64_t percent;
-+	uint64_t percent;
- 
- 	/* It's possible to get here very early w/ no progress msg set */
- 	if (!msgp->format)
-@@ -286,7 +286,7 @@ progress_rpt_thread (void *p)
- }
- 
- int
--set_progress_msg (int report, __uint64_t total)
-+set_progress_msg(int report, uint64_t total)
- {
- 
- 	if (!ag_stride)
-@@ -300,7 +300,7 @@ set_progress_msg (int report, __uint64_t total)
- 
- 	/* reset all the accumulative totals */
- 	if (prog_rpt_done)
--		bzero(prog_rpt_done, sizeof(__uint64_t)*glob_agcount);
-+		bzero(prog_rpt_done, sizeof(uint64_t)*glob_agcount);
- 
- 	if (pthread_mutex_unlock(&global_msgs.mutex))
- 		do_error(_("set_progress_msg: cannot unlock progress mutex\n"));
-@@ -308,14 +308,14 @@ set_progress_msg (int report, __uint64_t total)
- 	return (0);
- }
- 
--__uint64_t
-+uint64_t
- print_final_rpt(void)
- {
- 	int i;
- 	struct tm *tmp;
- 	time_t now;
--	__uint64_t *donep;
--	__uint64_t sum;
-+	uint64_t *donep;
-+	uint64_t sum;
- 	msg_block_t 	*msgp = &global_msgs;
- 	char		msgbuf[DURATION_BUF_SIZE];
- 
-diff --git a/repair/progress.h b/repair/progress.h
-index 33db8344..51526483 100644
---- a/repair/progress.h
-+++ b/repair/progress.h
-@@ -32,8 +32,8 @@
- extern void init_progress_rpt(void);
- extern void stop_progress_rpt(void);
- extern void summary_report(void);
--extern int  set_progress_msg(int report, __uint64_t total);
--extern __uint64_t print_final_rpt(void);
-+extern int  set_progress_msg(int report, uint64_t total);
-+extern uint64_t print_final_rpt(void);
- extern char *timestamp(int end, int phase, char *buf);
- extern char *duration(int val, char *buf);
- extern int do_parallel;
-diff --git a/repair/rmap.c b/repair/rmap.c
-index ab6e5839..01d6f0fc 100644
---- a/repair/rmap.c
-+++ b/repair/rmap.c
-@@ -343,7 +343,7 @@ err:
- 
- static int
- find_first_zero_bit(
--	__uint64_t	mask)
-+	uint64_t	mask)
- {
- 	int		n;
- 	int		b = 0;
-@@ -356,7 +356,7 @@ find_first_zero_bit(
- 
- static int
- popcnt(
--	__uint64_t	mask)
-+	uint64_t	mask)
- {
- 	int		n;
- 	int		b = 0;
-@@ -1064,14 +1064,14 @@ err:
-  * Compare the key fields of two rmap records -- positive if key1 > key2,
-  * negative if key1 < key2, and zero if equal.
-  */
--__int64_t
-+int64_t
- rmap_diffkeys(
- 	struct xfs_rmap_irec	*kp1,
- 	struct xfs_rmap_irec	*kp2)
- {
- 	__u64			oa;
- 	__u64			ob;
--	__int64_t		d;
-+	int64_t			d;
- 	struct xfs_rmap_irec	tmp;
- 
- 	tmp = *kp1;
-@@ -1081,7 +1081,7 @@ rmap_diffkeys(
- 	tmp.rm_flags &= ~XFS_RMAP_REC_FLAGS;
- 	ob = libxfs_rmap_irec_offset_pack(&tmp);
- 
--	d = (__int64_t)kp1->rm_startblock - kp2->rm_startblock;
-+	d = (int64_t)kp1->rm_startblock - kp2->rm_startblock;
- 	if (d)
- 		return d;
- 
-@@ -1192,10 +1192,10 @@ fix_inode_reflink_flags(
- {
- 	struct ino_tree_node	*irec;
- 	int			bit;
--	__uint64_t		was;
--	__uint64_t		is;
--	__uint64_t		diff;
--	__uint64_t		mask;
-+	uint64_t		was;
-+	uint64_t		is;
-+	uint64_t		diff;
-+	uint64_t		mask;
- 	int			error = 0;
- 	xfs_agino_t		agino;
- 
-diff --git a/repair/rmap.h b/repair/rmap.h
-index 752ece82..1616ab7d 100644
---- a/repair/rmap.h
-+++ b/repair/rmap.h
-@@ -44,7 +44,7 @@ extern int rmap_init_cursor(xfs_agnumber_t, struct xfs_slab_cursor **);
- extern void rmap_avoid_check(void);
- extern int rmaps_verify_btree(struct xfs_mount *, xfs_agnumber_t);
- 
--extern __int64_t rmap_diffkeys(struct xfs_rmap_irec *kp1,
-+extern int64_t rmap_diffkeys(struct xfs_rmap_irec *kp1,
- 		struct xfs_rmap_irec *kp2);
- extern void rmap_high_key_from_rec(struct xfs_rmap_irec *rec,
- 		struct xfs_rmap_irec *key);
-diff --git a/repair/sb.c b/repair/sb.c
-index 77e51546..acc92839 100644
---- a/repair/sb.c
-+++ b/repair/sb.c
-@@ -40,7 +40,7 @@ copy_sb(xfs_sb_t *source, xfs_sb_t *dest)
- 	xfs_ino_t	uquotino;
- 	xfs_ino_t	gquotino;
- 	xfs_ino_t	pquotino;
--	__uint16_t	versionnum;
-+	uint16_t	versionnum;
- 
- 	rootino = dest->sb_rootino;
- 	rbmino = dest->sb_rbmino;
-@@ -106,8 +106,8 @@ verify_sb_blocksize(xfs_sb_t *sb)
- static int
- __find_secondary_sb(
- 	xfs_sb_t	*rsb,
--	__uint64_t	start,
--	__uint64_t	skip)
-+	uint64_t	start,
-+	uint64_t	skip)
- {
- 	xfs_off_t	off;
- 	xfs_sb_t	*sb;
-@@ -187,13 +187,13 @@ __find_secondary_sb(
- 
- static int
- guess_default_geometry(
--	__uint64_t		*agsize,
--	__uint64_t		*agcount,
-+	uint64_t		*agsize,
-+	uint64_t		*agcount,
- 	libxfs_init_t		*x)
- {
- 	struct fs_topology	ft;
- 	int			blocklog;
--	__uint64_t		dblocks;
-+	uint64_t		dblocks;
- 	int			multidisk;
- 
- 	memset(&ft, 0, sizeof(ft));
-@@ -216,9 +216,9 @@ int
- find_secondary_sb(xfs_sb_t *rsb)
- {
- 	int		retval = 0;
--	__uint64_t	agcount;
--	__uint64_t	agsize;
--	__uint64_t	skip;
-+	uint64_t	agcount;
-+	uint64_t	agsize;
-+	uint64_t	skip;
- 	int		blocklog;
- 
- 	/*
-@@ -229,7 +229,7 @@ find_secondary_sb(xfs_sb_t *rsb)
- 	do_warn(_("\nattempting to find secondary superblock...\n"));
- 
- 	if (verify_sb_blocksize(rsb) == 0) {
--		skip = (__uint64_t)rsb->sb_agblocks * rsb->sb_blocksize;
-+		skip = (uint64_t)rsb->sb_agblocks * rsb->sb_blocksize;
- 		if (skip >= XFS_AG_MIN_BYTES && skip <= XFS_AG_MAX_BYTES)
- 			retval = __find_secondary_sb(rsb, skip, skip);
- 	}
-@@ -343,7 +343,7 @@ sb_validate_ino_align(struct xfs_sb *sb)
- int
- verify_sb(char *sb_buf, xfs_sb_t *sb, int is_primary_sb)
- {
--	__uint32_t	bsize;
-+	uint32_t	bsize;
- 	int		i;
- 	int		ret;
- 
-@@ -399,7 +399,7 @@ verify_sb(char *sb_buf, xfs_sb_t *sb, int is_primary_sb)
- 		sb->sb_dblocks < XFS_MIN_DBLOCKS(sb))
- 		return(XR_BAD_FS_SIZE_DATA);
- 
--	if (sb->sb_agblklog != (__uint8_t)libxfs_log2_roundup(sb->sb_agblocks))
-+	if (sb->sb_agblklog != (uint8_t)libxfs_log2_roundup(sb->sb_agblocks))
- 		return(XR_BAD_FS_SIZE_DATA);
- 
- 	if (sb->sb_inodesize < XFS_DINODE_MIN_SIZE                     ||
-diff --git a/repair/scan.c b/repair/scan.c
-index b9ef4dc3..447611ac 100644
---- a/repair/scan.c
-+++ b/repair/scan.c
-@@ -42,13 +42,13 @@ struct aghdr_cnts {
- 	xfs_agnumber_t	agno;
- 	xfs_extlen_t	agffreeblks;
- 	xfs_extlen_t	agflongest;
--	__uint64_t	agfbtreeblks;
--	__uint32_t	agicount;
--	__uint32_t	agifreecount;
--	__uint64_t	fdblocks;
--	__uint64_t	usedblocks;
--	__uint64_t	ifreecount;
--	__uint32_t	fibtfreecount;
-+	uint64_t	agfbtreeblks;
-+	uint32_t	agicount;
-+	uint32_t	agifreecount;
-+	uint64_t	fdblocks;
-+	uint64_t	usedblocks;
-+	uint64_t	ifreecount;
-+	uint32_t	fibtfreecount;
- };
- 
- void
-@@ -70,10 +70,10 @@ scan_sbtree(
- 				xfs_agnumber_t		agno,
- 				int			suspect,
- 				int			isroot,
--				__uint32_t		magic,
-+				uint32_t		magic,
- 				void			*priv),
- 	int		isroot,
--	__uint32_t	magic,
-+	uint32_t	magic,
- 	void		*priv,
- 	const struct xfs_buf_ops *ops)
- {
-@@ -110,23 +110,23 @@ scan_lbtree(
- 				xfs_fsblock_t		bno,
- 				xfs_ino_t		ino,
- 				xfs_rfsblock_t		*tot,
--				__uint64_t		*nex,
-+				uint64_t		*nex,
- 				blkmap_t		**blkmapp,
- 				bmap_cursor_t		*bm_cursor,
- 				int			isroot,
- 				int			check_dups,
- 				int			*dirty,
--				__uint64_t		magic),
-+				uint64_t		magic),
- 	int		type,
- 	int		whichfork,
- 	xfs_ino_t	ino,
- 	xfs_rfsblock_t	*tot,
--	__uint64_t	*nex,
-+	uint64_t	*nex,
- 	blkmap_t	**blkmapp,
- 	bmap_cursor_t	*bm_cursor,
- 	int		isroot,
- 	int		check_dups,
--	__uint64_t	magic,
-+	uint64_t	magic,
- 	const struct xfs_buf_ops *ops)
- {
- 	xfs_buf_t	*bp;
-@@ -179,13 +179,13 @@ scan_bmapbt(
- 	xfs_fsblock_t		bno,
- 	xfs_ino_t		ino,
- 	xfs_rfsblock_t		*tot,
--	__uint64_t		*nex,
-+	uint64_t		*nex,
- 	blkmap_t		**blkmapp,
- 	bmap_cursor_t		*bm_cursor,
- 	int			isroot,
- 	int			check_dups,
- 	int			*dirty,
--	__uint64_t		magic)
-+	uint64_t		magic)
- {
- 	int			i;
- 	int			err;
-@@ -548,7 +548,7 @@ scan_allocbt(
- 	xfs_agnumber_t		agno,
- 	int			suspect,
- 	int			isroot,
--	__uint32_t		magic,
-+	uint32_t		magic,
- 	void			*priv)
- {
- 	struct aghdr_cnts	*agcnts = priv;
-@@ -930,7 +930,7 @@ scan_rmapbt(
- 	xfs_agnumber_t		agno,
- 	int			suspect,
- 	int			isroot,
--	__uint32_t		magic,
-+	uint32_t		magic,
- 	void			*priv)
- {
- 	const char		*name = "rmap";
-@@ -1233,7 +1233,7 @@ scan_refcbt(
- 	xfs_agnumber_t		agno,
- 	int			suspect,
- 	int			isroot,
--	__uint32_t		magic,
-+	uint32_t		magic,
- 	void			*priv)
- {
- 	const char		*name = "refcount";
-@@ -1939,7 +1939,7 @@ scan_inobt(
- 	xfs_agnumber_t		agno,
- 	int			suspect,
- 	int			isroot,
--	__uint32_t		magic,
-+	uint32_t		magic,
- 	void			*priv)
- {
- 	struct aghdr_cnts	*agcnts = priv;
-@@ -2176,7 +2176,7 @@ validate_agf(
- 	struct aghdr_cnts	*agcnts)
- {
- 	xfs_agblock_t		bno;
--	__uint32_t		magic;
-+	uint32_t		magic;
- 
- 	bno = be32_to_cpu(agf->agf_roots[XFS_BTNUM_BNO]);
- 	if (bno != 0 && verify_agbno(mp, agno, bno)) {
-@@ -2274,7 +2274,7 @@ validate_agi(
- {
- 	xfs_agblock_t		bno;
- 	int			i;
--	__uint32_t		magic;
-+	uint32_t		magic;
- 
- 	bno = be32_to_cpu(agi->agi_root);
- 	if (bno != 0 && verify_agbno(mp, agno, bno)) {
-@@ -2499,10 +2499,10 @@ scan_ags(
- 	int			scan_threads)
- {
- 	struct aghdr_cnts *agcnts;
--	__uint64_t	fdblocks = 0;
--	__uint64_t	icount = 0;
--	__uint64_t	ifreecount = 0;
--	__uint64_t	usedblocks = 0;
-+	uint64_t	fdblocks = 0;
-+	uint64_t	icount = 0;
-+	uint64_t	ifreecount = 0;
-+	uint64_t	usedblocks = 0;
- 	xfs_agnumber_t	i;
- 	work_queue_t	wq;
- 
-diff --git a/repair/scan.h b/repair/scan.h
-index ea8c0bf2..9bbe1e69 100644
---- a/repair/scan.h
-+++ b/repair/scan.h
-@@ -30,23 +30,23 @@ int scan_lbtree(
- 				xfs_fsblock_t		bno,
- 				xfs_ino_t		ino,
- 				xfs_rfsblock_t		*tot,
--				__uint64_t		*nex,
-+				uint64_t		*nex,
- 				struct blkmap		**blkmapp,
- 				bmap_cursor_t		*bm_cursor,
- 				int			isroot,
- 				int			check_dups,
- 				int			*dirty,
--				__uint64_t		magic),
-+				uint64_t		magic),
- 	int		type,
- 	int		whichfork,
- 	xfs_ino_t	ino,
- 	xfs_rfsblock_t	*tot,
--	__uint64_t	*nex,
-+	uint64_t	*nex,
- 	struct blkmap	**blkmapp,
- 	bmap_cursor_t	*bm_cursor,
- 	int		isroot,
- 	int		check_dups,
--	__uint64_t	magic,
-+	uint64_t	magic,
- 	const struct xfs_buf_ops *ops);
- 
- int scan_bmapbt(
-@@ -57,13 +57,13 @@ int scan_bmapbt(
- 	xfs_fsblock_t		bno,
- 	xfs_ino_t		ino,
- 	xfs_rfsblock_t		*tot,
--	__uint64_t		*nex,
-+	uint64_t		*nex,
- 	struct blkmap		**blkmapp,
- 	bmap_cursor_t		*bm_cursor,
- 	int			isroot,
- 	int			check_dups,
- 	int			*dirty,
--	__uint64_t		magic);
-+	uint64_t		magic);
- 
- void
- scan_ags(
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch
index bba9a25..bd2d025 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch
@@ -1,13 +1,13 @@
-Index: xfsprogs-4.12.0/include/builddefs.in
+Index: xfsprogs-4.14.0/include/builddefs.in
 ===================================================================
---- xfsprogs-4.12.0.orig/include/builddefs.in
-+++ xfsprogs-4.12.0/include/builddefs.in
-@@ -164,7 +164,7 @@ ifeq ($(ENABLE_GETTEXT),yes)
+--- xfsprogs-4.14.0.orig/include/builddefs.in
++++ xfsprogs-4.14.0/include/builddefs.in
+@@ -168,7 +168,7 @@ ifeq ($(ENABLE_GETTEXT),yes)
  GCFLAGS += -DENABLE_GETTEXT
  endif
  
 -BUILD_CFLAGS += $(GCFLAGS) $(PCFLAGS)
 +BUILD_CFLAGS += $(GCFLAGS)
- # First, Global, Platform, Local CFLAGS
- CFLAGS += $(FCFLAGS) $(OPTIMIZER) $(GCFLAGS) $(PCFLAGS) $(LCFLAGS)
+ # First, Sanitizer, Global, Platform, Local CFLAGS
+ CFLAGS += $(FCFLAGS) $(SANITIZER_CFLAGS) $(OPTIMIZER) $(GCFLAGS) $(PCFLAGS) $(LCFLAGS)
  
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-4.12.0-fix_musl.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-4.12.0-fix_musl.patch
deleted file mode 100644
index efc57e4..0000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-4.12.0-fix_musl.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 21253610f9ef87db8e2a75b863b7fcfbd0cdb421 Mon Sep 17 00:00:00 2001
-From: "Darrick J. Wong" <darrick.wong@oracle.com>
-Date: Tue, 25 Jul 2017 13:45:01 -0500
-Subject: [PATCH] In patch 4944defad4 ("xfs_db: redirect printfs when
- metadumping to stdout"), we solved the problem of xfs_db printfs ending up in
- the metadump stream by reassigning stdout for the duration of a stdout
- metadump.  Unfortunately, musl doesn't allow stdout to be reassigned (in
- their view "extern FILE *stdout" means "extern FILE * const stdout"), so we
- abandon the old approach in favor of playing games with dup() to switch the
- raw file descriptors.
-
-While we're at it, fix a regression where an unconverted outf test
-allows progress info to end up in the metadump stream.
-
-Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
----
- db/metadump.c | 47 ++++++++++++++++++++++++++++++++++++-----------
- 1 file changed, 36 insertions(+), 11 deletions(-)
-
-diff --git a/db/metadump.c b/db/metadump.c
-index 96641e0..4e2f648 100644
---- a/db/metadump.c
-+++ b/db/metadump.c
-@@ -78,6 +78,7 @@ static int		obfuscate = 1;
- static int		zero_stale_data = 1;
- static int		show_warnings = 0;
- static int		progress_since_warning = 0;
-+static bool		stdout_metadump;
- 
- void
- metadump_init(void)
-@@ -137,7 +138,7 @@ print_progress(const char *fmt, ...)
- 	va_end(ap);
- 	buf[sizeof(buf)-1] = '\0';
- 
--	f = (outf == stdout) ? stderr : stdout;
-+	f = stdout_metadump ? stderr : stdout;
- 	fprintf(f, "\r%-59s", buf);
- 	fflush(f);
- 	progress_since_warning = 1;
-@@ -2750,7 +2751,8 @@ metadump_f(
- 	xfs_agnumber_t	agno;
- 	int		c;
- 	int		start_iocur_sp;
--	bool		stdout_metadump = false;
-+	int		outfd = -1;
-+	int		ret;
- 	char		*p;
- 
- 	exitcode = 1;
-@@ -2870,16 +2872,35 @@ metadump_f(
- 		 * metadump operation so that dbprintf and other messages
- 		 * are sent to the console instead of polluting the
- 		 * metadump stream.
-+		 *
-+		 * We get to do this the hard way because musl doesn't
-+		 * allow reassignment of stdout.
- 		 */
--		outf = stdout;
--		stdout = stderr;
-+		fflush(stdout);
-+		outfd = dup(STDOUT_FILENO);
-+		if (outfd < 0) {
-+			perror("opening dump stream");
-+			goto out;
-+		}
-+		ret = dup2(STDERR_FILENO, STDOUT_FILENO);
-+		if (ret < 0) {
-+			perror("redirecting stdout");
-+			close(outfd);
-+			goto out;
-+		}
-+		outf = fdopen(outfd, "a");
-+		if (outf == NULL) {
-+			fprintf(stderr, "cannot create dump stream\n");
-+			dup2(outfd, 1);
-+			close(outfd);
-+			goto out;
-+		}
- 		stdout_metadump = true;
- 	} else {
- 		outf = fopen(argv[optind], "wb");
- 		if (outf == NULL) {
- 			print_warning("cannot create dump file");
--			free(metablock);
--			return 0;
-+			goto out;
- 		}
- 	}
- 
-@@ -2907,15 +2928,19 @@ metadump_f(
- 	if (progress_since_warning)
- 		fputc('\n', stdout_metadump ? stderr : stdout);
- 
--	if (stdout_metadump)
--		stdout = outf;
--	else
--		fclose(outf);
-+	if (stdout_metadump) {
-+		fflush(outf);
-+		fflush(stdout);
-+		ret = dup2(outfd, STDOUT_FILENO);
-+		if (ret < 0)
-+			perror("un-redirecting stdout");
-+	}
-+	fclose(outf);
- 
- 	/* cleanup iocur stack */
- 	while (iocur_sp > start_iocur_sp)
- 		pop_cur();
--
-+out:
- 	free(metablock);
- 
- 	return 0;
--- 
-2.13.3
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.12.0.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.12.0.bb
deleted file mode 100644
index 0788695..0000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.12.0.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "XFS Filesystem Utilities"
-HOMEPAGE = "http://oss.sgi.com/projects/xfs"
-SECTION = "base"
-LICENSE = "GPLv2 & LGPLv2.1"
-LICENSE_libhandle = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=102f7fec3d53c7c8f0b7baf9bf9d76a8"
-DEPENDS = "util-linux util-linux-native"
-SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
-           file://0001-xfsprogs-remove-double-underscore-integer-types.patch \
-           file://0001-xfs-remove-double-underscore-integer-types.patch \
-           file://remove_flags_from_build_flags.patch \
-           file://xfsprogs-4.12.0-fix_musl.patch \
-           "
-SRC_URI[md5sum] = "e348b0e1d7bd1cd82d64b91ff37e727e"
-SRC_URI[sha256sum] = "b330ad8d737f4152ae511580102e2fc49212bb51dfb4b614084344abae46d0df"
-
-inherit autotools-brokensep
-
-PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
-
-DEPENDS += "util-linux"
-
-RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
-
-FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
-FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
-FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
-
-FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
-
-EXTRA_OECONF = "--enable-gettext=no \
-                INSTALL_USER=root \
-                INSTALL_GROUP=root \
-                ac_cv_header_aio_h=yes \
-                ac_cv_lib_rt_lio_listio=yes \
-"
-
-DISABLE_STATIC = ""
-EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
-
-PACKAGECONFIG ??= "readline blkid"
-
-PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
-PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
-
-export DEBUG="-DNDEBUG"
-export BUILD_VERBOSE="1"
-export tagname="CC"
-
-EXTRA_OEMAKE = "DIST_ROOT='${D}'"
-
-do_configure_prepend () {
-    export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
-    # Prevent Makefile from calling configure without arguments,
-    # when do_configure gets called for a second time.
-    rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
-    # Recreate configure script.
-    oe_runmake configure
-}
-
-do_install_append() {
-        oe_runmake 'DESTDIR=${D}' install-dev
-        rm ${D}${libdir}/*.la
-        rmdir --ignore-fail-on-non-empty ${D}${libdir}
-}
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.14.0.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.14.0.bb
new file mode 100644
index 0000000..5d76afe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.14.0.bb
@@ -0,0 +1,63 @@
+SUMMARY = "XFS Filesystem Utilities"
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE_libhandle = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=102f7fec3d53c7c8f0b7baf9bf9d76a8"
+DEPENDS = "util-linux util-linux-native"
+SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
+           file://remove_flags_from_build_flags.patch \
+           file://0001-build-Check-for-sync_file_range-libc-function.patch \
+           "
+SRC_URI[md5sum] = "2d50e3751cc98e6c9364bc3d2297b9fd"
+SRC_URI[sha256sum] = "b1b710b268bc95d6f45eca06e1262c29eb38865a19cd4404e48ba446e043b7ec"
+
+inherit autotools-brokensep
+
+PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
+
+DEPENDS += "util-linux"
+
+RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
+
+FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
+FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
+FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
+
+FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
+
+EXTRA_OECONF = "--enable-gettext=no \
+                INSTALL_USER=root \
+                INSTALL_GROUP=root \
+                ac_cv_header_aio_h=yes \
+                ac_cv_lib_rt_lio_listio=yes \
+"
+
+DISABLE_STATIC = ""
+EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
+
+PACKAGECONFIG ??= "readline blkid"
+
+PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
+PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
+
+export DEBUG="-DNDEBUG"
+export BUILD_VERBOSE="1"
+export tagname="CC"
+
+EXTRA_OEMAKE = "DIST_ROOT='${D}'"
+
+do_configure_prepend () {
+    export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
+    # Prevent Makefile from calling configure without arguments,
+    # when do_configure gets called for a second time.
+    rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
+    # Recreate configure script.
+    oe_runmake configure
+}
+
+do_install_append() {
+        oe_runmake 'DESTDIR=${D}' install-dev
+        rm ${D}${libdir}/*.la
+        rmdir --ignore-fail-on-non-empty ${D}${libdir}
+}
diff --git a/import-layers/meta-openembedded/meta-gnome/README b/import-layers/meta-openembedded/meta-gnome/README
index 25ef85d..2a682e7 100644
--- a/import-layers/meta-openembedded/meta-gnome/README
+++ b/import-layers/meta-openembedded/meta-gnome/README
@@ -1,17 +1,38 @@
+meta-gnome
+===========
+
+The recipe in this layer needs to have 'x11' in DISTRO_FEATURES 
+to have effect. To enable them, add in configuration file the following line.
+
+  DISTRO_FEATURES_append = " x11"
+
+If meta-gnome is included, but x11 is not enabled as a
+distro feature a warning is printed at parse time:
+
+    You have included the meta-gnome layer, but
+    'x11' has not been enabled in your DISTRO_FEATURES.
+
+If you know what you are doing, this warning can be disabled by setting the following
+variable in your configuration:
+
+  SKIP_META_GNOME_SANITY_CHECK = 1
+
+
+Dependencies
+------------
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: rocko
+branch: master
 revision: HEAD
 
 URI: git://github.com/openembedded/meta-oe.git
-branch: rocko
+branch: master
 revision: HEAD
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome][rocko]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome]' in the subject'
 
 When sending single patches, please using something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][rocko][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][PATCH'
 
-rocko Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
+Layer maintainer: Andreas Müller <schnitzeltony@googlemail.com>
diff --git a/import-layers/meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass b/import-layers/meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass
new file mode 100644
index 0000000..331ea19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass
@@ -0,0 +1,10 @@
+addhandler gnome_bbappend_distrocheck
+gnome_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck"
+python gnome_bbappend_distrocheck() {
+    skip_check = e.data.getVar('SKIP_META_GNOME_SANITY_CHECK') == "1"
+    if 'x11' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check:
+        bb.warn("You have included the meta-gnome layer, but \
+'x11' has not been enabled in your DISTRO_FEATURES. Some bbappend files \
+may not take effect. See the meta-gnome README for details on enabling \
+meta-gnome support.")
+}
diff --git a/import-layers/meta-openembedded/meta-gnome/conf/layer.conf b/import-layers/meta-openembedded/meta-gnome/conf/layer.conf
index a138818..e6e9532 100644
--- a/import-layers/meta-openembedded/meta-gnome/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-gnome/conf/layer.conf
@@ -14,4 +14,8 @@
 
 LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer"
 
-AVAHI_GTK_pn-avahi-ui = "gtk gtk3"
+LAYERSERIES_COMPAT_gnome-layer = "sumo"
+
+# Sanity check for meta-gnome layer.
+# Setting SKIP_META_GNOME_SANITY_CHECK to "1" would skip the bbappend files check.
+INHERIT += "sanity-meta-gnome"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb
deleted file mode 100644
index 14b336a..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.4.4.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "GTK+ applet for NetworkManager"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "gtk+3 libnotify libsecret networkmanager dbus-glib \
-           gconf libgnome-keyring iso-codes nss \
-           intltool-native \
-"
-
-inherit gnomebase gsettings gtk-icon-cache gobject-introspection
-
-GNOME_COMPRESS_TYPE = "xz"
-
-SRC_URI[archive.md5sum] = "3f82cedc4703df0277c76d9feb5bf2c8"
-SRC_URI[archive.sha256sum] = "693846eeae0986e79eb1cedfbc499f132f27a9976ef189a0f16938ac59ec3226"
-
-PACKAGECONFIG[modemmanager] = "--with-wwan,--without-wwan,modemmanager"
-PACKAGECONFIG ??= ""
-
-GI_DATA_ENABLED_libc-musl = "False"
-
-do_configure_append() {
-    # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
-    for i in $(find ${B} -name "Makefile") ; do
-        sed -i -e s%-Werror[^[:space:]]*%%g $i
-    done
-}
-
-RDEPENDS_${PN} =+ "networkmanager"
-
-FILES_${PN} += " \
-    ${datadir}/appdata \
-    ${datadir}/nm-applet/ \
-    ${datadir}/libnm-gtk/wifi.ui \
-    ${datadir}/libnma/wifi.ui \
-"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.10.bb b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.10.bb
new file mode 100644
index 0000000..dc2b964
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.10.bb
@@ -0,0 +1,45 @@
+SUMMARY = "GTK+ applet for NetworkManager"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "gtk+3 libnotify libsecret networkmanager dbus-glib \
+           gconf libgnome-keyring iso-codes nss \
+           intltool-native \
+"
+
+inherit distro_features_check gnomebase gsettings gtk-icon-cache gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "eae3be75e77ff1a7ea3174be25e62d03"
+SRC_URI[archive.sha256sum] = "0adc4bfae8b49f7a1d929c22ef20933bd41fb4a8b458280f44c65f9e45b4c9c3"
+
+PACKAGECONFIG[modemmanager] = "--with-wwan,--without-wwan,modemmanager"
+PACKAGECONFIG ??= ""
+
+EXTRA_OECONF = " \
+    --without-selinux \
+"
+
+do_configure_append() {
+    # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
+    for i in $(find ${B} -name "Makefile") ; do
+        sed -i -e s%-Werror[^[:space:]]*%%g $i
+    done
+}
+
+# gobject-introspection related
+GI_DATA_ENABLED_libc-musl = "False"
+
+do_compile_prepend() {
+    export GIR_EXTRA_LIBS_PATH="${B}/src/libnma/.libs:${B}/src/libnm-gtk/.libs"
+}
+
+RDEPENDS_${PN} =+ "networkmanager"
+
+FILES_${PN} += " \
+    ${datadir}/appdata \
+    ${datadir}/nm-applet/ \
+    ${datadir}/libnm-gtk/wifi.ui \
+    ${datadir}/libnma/wifi.ui \
+"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/obex/obexd/ssize_t_definition.patch b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/obex/obexd/ssize_t_definition.patch
index 2009dcd..570cb9e 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/obex/obexd/ssize_t_definition.patch
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/obex/obexd/ssize_t_definition.patch
@@ -1,4 +1,7 @@
-include unistd.h to get ssize_t definitions
+From fb5056fea9559b3ec3bb61967a112b6c793b700d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Jan 2013 21:33:34 -0800
+Subject: [PATCH] include unistd.h to get ssize_t definitions
 
 Fixes errors like
 
@@ -18,15 +21,20 @@
 Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: obexd-0.44/plugins/mas.c
-===================================================================
---- obexd-0.44.orig/plugins/mas.c	2012-01-11 14:53:53.000000000 -0800
-+++ obexd-0.44/plugins/mas.c	2013-01-08 12:51:12.681882174 -0800
-@@ -29,6 +29,7 @@
+
+---
+ plugins/mas.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/plugins/mas.c b/plugins/mas.c
+index 1b18059..b519507 100644
+--- a/plugins/mas.c
++++ b/plugins/mas.c
+@@ -30,6 +30,7 @@
  #include <glib.h>
  #include <fcntl.h>
  #include <inttypes.h>
 +#include <unistd.h>
  
- #include "obexd.h"
- #include "plugin.h"
+ #include <gobex/gobex.h>
+ #include <gobex/gobex-apparam.h>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch b/import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch
rename to import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch b/import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
rename to import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch b/import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch
rename to import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3/0002-fix-gcc-6-build.patch
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3_%.bbappend b/import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3_%.bbappend
deleted file mode 100644
index 3abacfb..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-PACKAGECONFIG ??= "gnome"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3_3.8.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3_3.8.5.bb
new file mode 100644
index 0000000..c3da3e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-devtools/glade/glade3_3.8.5.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Glade - A User Interface Designer"
+HOMEPAGE = "http://www.gnu.org/software/gnash"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
+                    file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+                    file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
+DEPENDS = "gtk+ gnome-doc-utils gnome-common libxml2 intltool-native"
+
+inherit distro_features_check autotools pkgconfig pythonnative gtk-icon-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \
+           file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch \
+           file://0002-fix-gcc-6-build.patch \
+           file://0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch \
+           "
+SRC_URI[md5sum] = "4e4b4f5ee34a03e017e4cef97d796c1f"
+SRC_URI[sha256sum] = "58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735"
+
+EXTRA_OECONF += "--disable-scrollkeeper"
+
+FILES_${PN} += "${datadir}/icons"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb
deleted file mode 100644
index 83ab6f2..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.28.1.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "A partition editor to graphically manage disk partitions "
-HOMEPAGE = "http://gparted.org/index.php"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit autotools pkgconfig gtk-icon-cache
-
-SRC_URI = " \
-    ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
-    file://org.yoctoproject.pkexec.run-gparted.policy \
-    file://gparted_polkit \
-"
-SRC_URI[md5sum] = "ab72464a3ab2137664d9df8462befd3f"
-SRC_URI[sha256sum] = "76891f14394754f7d6ecceba2af0e585bf89f9d780c389a255dcd41a2f45d333"
-
-DEPENDS = "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native"
-
-do_install_append() {
-    # Add a script which checks if polkit is installed.
-    # If yes: a policy is requested from polkit / otherwise start as usual
-    install ${WORKDIR}/gparted_polkit ${D}${sbindir}
-    sed -i 's:%sbindir%:${sbindir}:g' ${D}${sbindir}/gparted_polkit
-    # relink menu entry to use our script
-    sed -i 's:${sbindir}/gparted:${sbindir}/gparted_polkit:g' ${D}${datadir}/applications/gparted.desktop
-
-    install -d ${D}${datadir}/polkit-1/actions
-    install ${WORKDIR}/org.yoctoproject.pkexec.run-gparted.policy ${D}${datadir}/polkit-1/actions/org.yoctoproject.pkexec.run-gparted.policy
-}
-
-EXTRA_OECONF = "--disable-scrollkeeper --disable-doc"
-
-FILES_${PN} += " \
-    ${datadir}/appdata \
-    ${datadir}/icons \
-    ${datadir}/polkit-1 \
-"
-
-RDEPENDS_${PN} = "dosfstools mtools e2fsprogs"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.31.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.31.0.bb
new file mode 100644
index 0000000..58beaf6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.31.0.bb
@@ -0,0 +1,40 @@
+SUMMARY = "A partition editor to graphically manage disk partitions "
+HOMEPAGE = "http://gparted.org/index.php"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit distro_features_check autotools pkgconfig gtk-icon-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = " \
+    ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
+    file://org.yoctoproject.pkexec.run-gparted.policy \
+    file://gparted_polkit \
+"
+SRC_URI[md5sum] = "c554cc5734c50459dd551bd3fa10710e"
+SRC_URI[sha256sum] = "3b7b49a434d9e4b397bc41a1f5acab8539b9ff402b472dfd83ad77b2decd07ba"
+
+DEPENDS = "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native"
+
+do_install_append() {
+    # Add a script which checks if polkit is installed.
+    # If yes: a policy is requested from polkit / otherwise start as usual
+    install ${WORKDIR}/gparted_polkit ${D}${sbindir}
+    sed -i 's:%sbindir%:${sbindir}:g' ${D}${sbindir}/gparted_polkit
+    # relink menu entry to use our script
+    sed -i 's:${sbindir}/gparted:${sbindir}/gparted_polkit:g' ${D}${datadir}/applications/gparted.desktop
+
+    install -d ${D}${datadir}/polkit-1/actions
+    install ${WORKDIR}/org.yoctoproject.pkexec.run-gparted.policy ${D}${datadir}/polkit-1/actions/org.yoctoproject.pkexec.run-gparted.policy
+}
+
+EXTRA_OECONF = "--disable-scrollkeeper --disable-doc"
+
+FILES_${PN} += " \
+    ${datadir}/appdata \
+    ${datadir}/icons \
+    ${datadir}/polkit-1 \
+"
+
+RDEPENDS_${PN} = "dosfstools mtools e2fsprogs"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
index 2a13e48..d2c0186 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
@@ -8,7 +8,6 @@
     gtk+ \
     gtkmathview \
     wv \
-    libglade \
     libfribidi \
     jpeg \
     libpng \
@@ -38,7 +37,9 @@
 #want 3.x from 3.x.y for the installation directory
 SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
 
-inherit autotools-brokensep pkgconfig
+inherit distro_features_check autotools-brokensep pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 PACKAGECONFIG ??= " \
     collab-backend-xmpp collab-backend-tcp \
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/0001-bonobo-ui-node-qualify-functions-with-G_GNUC_PRINTF.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/0001-bonobo-ui-node-qualify-functions-with-G_GNUC_PRINTF.patch
deleted file mode 100644
index e9aebb8..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/0001-bonobo-ui-node-qualify-functions-with-G_GNUC_PRINTF.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From b75879e8c3e24d338c0e5843d616bc9b02da4d04 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 26 Aug 2017 09:52:17 -0700
-Subject: [PATCH] bonobo-ui-node: qualify functions with G_GNUC_PRINTF
-
-This helps compiler in doing format checking correctly
-Fixes
-bonobo-ui-node.c:864:38: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
-|         g_logv   ("XML", G_LOG_LEVEL_ERROR, msg, args);
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- bonobo/bonobo-ui-node.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/bonobo/bonobo-ui-node.c b/bonobo/bonobo-ui-node.c
-index 9bab5e5..6ec66e2 100644
---- a/bonobo/bonobo-ui-node.c
-+++ b/bonobo/bonobo-ui-node.c
-@@ -835,7 +835,7 @@ uiCharacters (ParseState *ps, const xmlChar *chars, int len)
- 	g_string_append_len (ps->content, chars, len);
- }
- 
--static void
-+static G_GNUC_PRINTF(2, 3) void
- uiWarning (ParseState *ps, const char *msg, ...)
- {
- 	va_list args;
-@@ -845,7 +845,7 @@ uiWarning (ParseState *ps, const char *msg, ...)
- 	va_end   (args);
- }
- 
--static void
-+static G_GNUC_PRINTF(2, 3) void
- uiError (ParseState *ps, const char *msg, ...)
- {
- 	va_list args;
-@@ -855,7 +855,7 @@ uiError (ParseState *ps, const char *msg, ...)
- 	va_end   (args);
- }
- 
--static void
-+static G_GNUC_PRINTF(2, 3) void
- uiFatalError (ParseState *ps, const char *msg, ...)
- {
- 	va_list args;
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/gcc5.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/gcc5.patch
deleted file mode 100644
index f7528ad..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/gcc5.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: libbonoboui-2.24.5/tools/browser/Makefile.am
-===================================================================
---- libbonoboui-2.24.5.orig/tools/browser/Makefile.am
-+++ libbonoboui-2.24.5/tools/browser/Makefile.am
-@@ -2,7 +2,6 @@ INCLUDES =	\
- 	-DBONOBO_BROWSER_DATADIR=\""$(datadir)"\"	\
-         -DBONOBO_SUPPORT_LOCALEDIR=\""$(datadir)/locale"\"        \
- 	-I$(srcdir) -I$(top_srcdir) 			\
--	-I$(top_srcdir)/bonobo-browser			\
- 	$(BONOBOUI_CFLAGS)				\
- 	$(WARN_CFLAGS)
- 
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/gtk-doc.m4 b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/gtk-doc.m4
deleted file mode 100644
index 3ec4166..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/gtk-doc.m4
+++ /dev/null
@@ -1,53 +0,0 @@
-dnl -*- mode: autoconf -*-
-
-# serial 1
-
-dnl Usage:
-dnl   GTK_DOC_CHECK([minimum-gtk-doc-version])
-AC_DEFUN([GTK_DOC_CHECK],
-[
-  AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
-  AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
-  dnl for overriding the documentation installation directory
-  AC_ARG_WITH(html-dir,
-    AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
-    [with_html_dir='${datadir}/gtk-doc/html'])
-  HTML_DIR="$with_html_dir"
-  AC_SUBST(HTML_DIR)
-
-  dnl enable/disable documentation building
-  AC_ARG_ENABLE(gtk-doc,
-    AC_HELP_STRING([--enable-gtk-doc],
-                   [use gtk-doc to build documentation [default=no]]),,
-    enable_gtk_doc=no)
-
-  have_gtk_doc=no
-  if test -z "$PKG_CONFIG"; then
-    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-  fi
-  if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
-    have_gtk_doc=yes
-  fi
-
-  dnl do we want to do a version check?
-ifelse([$1],[],,
-  [gtk_doc_min_version=$1
-  if test "$have_gtk_doc" = yes; then
-    AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
-    if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
-      AC_MSG_RESULT(yes)
-    else
-      AC_MSG_RESULT(no)
-      have_gtk_doc=no
-    fi
-  fi
-])
-  if test x$enable_gtk_doc = xyes; then
-    if test "$have_gtk_doc" != yes; then
-      enable_gtk_doc=no
-    fi
-  fi
-
-  AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
-  AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
-])
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/gtk-doc.make b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/gtk-doc.make
deleted file mode 100644
index 354ffb7..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/files/gtk-doc.make
+++ /dev/null
@@ -1,173 +0,0 @@
-# -*- mode: makefile -*-
-
-####################################
-# Everything below here is generic #
-####################################
-
-if GTK_DOC_USE_LIBTOOL
-GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-else
-GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-endif
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-
-EXTRA_DIST = 				\
-	$(content_files)		\
-	$(HTML_IMAGES)			\
-	$(DOC_MAIN_SGML_FILE)		\
-	$(DOC_MODULE)-sections.txt	\
-	$(DOC_MODULE)-overrides.txt
-
-DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
-	   $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
-
-SCANOBJ_FILES = 		 \
-	$(DOC_MODULE).args 	 \
-	$(DOC_MODULE).hierarchy  \
-	$(DOC_MODULE).interfaces \
-	$(DOC_MODULE).prerequisites \
-	$(DOC_MODULE).signals
-
-REPORT_FILES = \
-	$(DOC_MODULE)-undocumented.txt \
-	$(DOC_MODULE)-undeclared.txt \
-	$(DOC_MODULE)-unused.txt
-
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
-
-if ENABLE_GTK_DOC
-all-local: html-build.stamp
-else
-all-local:
-endif
-
-docs: html-build.stamp
-
-#### scan ####
-
-scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
-	@echo 'gtk-doc: Scanning header files'
-	@-chmod -R u+w $(srcdir)
-	cd $(srcdir) && \
-	  gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
-	if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
-	    CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
-	else \
-	    cd $(srcdir) ; \
-	    for i in $(SCANOBJ_FILES) ; do \
-               test -f $$i || touch $$i ; \
-	    done \
-	fi
-	touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
-	@true
-
-#### templates ####
-
-tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
-	@echo 'gtk-doc: Rebuilding template files'
-	@-chmod -R u+w $(srcdir)
-	cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
-	touch tmpl-build.stamp
-
-tmpl.stamp: tmpl-build.stamp
-	@true
-
-tmpl/*.sgml:
-	@true
-
-
-#### xml ####
-
-sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
-	@echo 'gtk-doc: Building XML'
-	@-chmod -R u+w $(srcdir)
-	cd $(srcdir) && \
-	gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
-	touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
-	@true
-
-#### html ####
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
-	@echo 'gtk-doc: Building HTML'
-	@-chmod -R u+w $(srcdir)
-	rm -rf $(srcdir)/html
-	mkdir $(srcdir)/html
-	cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
-	test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
-	@echo 'gtk-doc: Fixing cross-references'
-	cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
-	touch html-build.stamp
-
-##############
-
-clean-local:
-	rm -f *~ *.bak
-	rm -rf .libs
-
-distclean-local:
-	cd $(srcdir) && \
-	  rm -rf xml $(REPORT_FILES) \
-	         $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
-
-maintainer-clean-local: clean
-	cd $(srcdir) && rm -rf xml html
-
-install-data-local:
-	-installfiles=`echo $(srcdir)/html/*`; \
-	if test "$$installfiles" = '$(srcdir)/html/*'; \
-	then echo '-- Nothing to install' ; \
-	else \
-	  $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
-	  for i in $$installfiles; do \
-	    echo '-- Installing '$$i ; \
-	    $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
-	  done; \
-	  echo '-- Installing $(srcdir)/html/index.sgml' ; \
-	  $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
-	  which gtkdoc-rebase >/dev/null && \
-	    gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \
-	fi
-	
-
-uninstall-local:
-	rm -f $(DESTDIR)$(TARGET_DIR)/*
-
-#
-# Require gtk-doc when making dist
-#
-if ENABLE_GTK_DOC
-dist-check-gtkdoc:
-else
-dist-check-gtkdoc:
-	@echo "*** gtk-doc must be installed and enabled in order to make dist"
-	@false
-endif
-
-dist-hook: dist-check-gtkdoc dist-hook-local
-	mkdir $(distdir)/tmpl
-	mkdir $(distdir)/xml
-	mkdir $(distdir)/html
-	-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
-	-cp $(srcdir)/xml/*.xml $(distdir)/xml
-	cp $(srcdir)/html/* $(distdir)/html
-	-cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
-	-cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
-	cd $(distdir) && rm -f $(DISTCLEANFILES)
-	-gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
-
-.PHONY : dist-hook-local docs
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo.inc b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo.inc
deleted file mode 100644
index e4759a8..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "Bonobo CORBA interfaces library"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34"
-SECTION = "x11/gnome/libs"
-DEPENDS = "gnome-common-native glib-2.0 orbit2-native orbit2 intltool-native libxml2 dbus dbus-glib"
-
-inherit gnomebase gtk-doc lib_package
-
-EXTRA_OECONF += "'PERL_PATH=${USRBINPATH}/env perl'"
-ORBIT_IDL_SRC = "${STAGING_BINDIR_NATIVE}/orbit-idl-2"
-
-RDEPENDS_${PN}-bin = "${PN} perl"
-FILES_${PN} += "${libdir}/orbit-2.0/*.so ${libdir}/bonobo/monikers/*.so"
-FILES_${PN}-dbg += "${libdir}/bonobo/monikers/.debug \
-    ${libdir}/bonobo-2.0/samples/.debug ${libdir}/orbit-2.0/.debug"
-FILES_${PN}-dev += "${libdir}/orbit-2.0/*.la ${libdir}/bonobo/monikers/*.la ${libdir}/bonobo-2.0/samples"
-FILES_${PN}-staticdev += "${libdir}/orbit-2.0/*.a ${libdir}/bonobo/monikers/*.a"
-
-LEAD_SONAME = "libbonobo-2.so"
-
-PARALLEL_MAKE = ""
-
-do_compile() {
-    oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}"
-}
-
-do_install() {
-    oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" DESTDIR="${D}" install
-}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo/0001-Remove-use-of-G_DISABLE_DEPRECATED.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo/0001-Remove-use-of-G_DISABLE_DEPRECATED.patch
deleted file mode 100644
index 44cf1f9..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo/0001-Remove-use-of-G_DISABLE_DEPRECATED.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From fef13a371fc91f6d9b42518126c2a8b459fdf0e8 Mon Sep 17 00:00:00 2001
-From: Colin Walters <walters@verbum.org>
-Date: Thu, 2 May 2013 14:17:38 -0400
-Subject: [PATCH] Remove use of G_DISABLE_DEPRECATED
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This now trips up on GStaticRecMutex; I'm not going to bother to port,
-realistically no one is actively maintaining this code anymore.
-
-Upstream-Status: Applied
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- activation-server/Makefile.am |    1 -
- configure.in                  |    2 +-
- 2 files changed, 1 insertions(+), 2 deletions(-)
-
-diff --git a/activation-server/Makefile.am b/activation-server/Makefile.am
-index efb18a8..ffa90f6 100644
---- a/activation-server/Makefile.am
-+++ b/activation-server/Makefile.am
-@@ -17,7 +17,6 @@ INCLUDES=					\
- 	$(SERVER_CFLAGS)			\
- 	$(WARN_CFLAGS)				\
- 	-DSERVER_CONFDIR=\"$(sysconfdir)\"	\
--	-DG_DISABLE_DEPRECATED			\
- 	-DG_LOG_DOMAIN=\"Bonobo-Activation-Server\" \
- 	$(NULL)
- 
-diff --git a/configure.in b/configure.in
-index 70a4e26..6be2bca 100644
---- a/configure.in
-+++ b/configure.in
-@@ -132,7 +132,7 @@ AC_SUBST(SERVER_LIBS)
- AC_SUBST(SERVER_CFLAGS)
- 
- if test "$enable_maintainer_mode" = "yes"; then
--	DISABLE_DEPRECATED_CFLAGS="-DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES"
-+	DISABLE_DEPRECATED_CFLAGS="-DG_DISABLE_SINGLE_INCLUDES"
- 	AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
- fi
- 
--- 
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo/do-not-use-srcdir-variable.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo/do-not-use-srcdir-variable.patch
deleted file mode 100644
index a20edda..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo/do-not-use-srcdir-variable.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-| tests/Makefile.am:55: error: using '$(srcdir)' in TESTS is currently broken: '$(srcdir)/te
-st-properties.sh'
-| tests/test-activation/Makefile.am:76: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS
-' (or '*_CPPFLAGS')
-| utils/Makefile.am:9: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS
-')
-| autoreconf: automake failed with exit status: 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Not Submitted
-
-Index: libbonobo-2.32.1/tests/Makefile.am
-===================================================================
---- libbonobo-2.32.1.orig/tests/Makefile.am	2010-08-29 04:56:00.000000000 -0700
-+++ libbonobo-2.32.1/tests/Makefile.am	2014-04-25 15:38:22.024744384 -0700
-@@ -55,7 +55,7 @@
- 	MODELS_DIR="$(srcdir)/models"
- 
- TESTS = test-moniker$(EXEEXT) test-event-source$(EXEEXT) test-object$(EXEEXT) \
--	test-stream-mem$(EXEEXT) $(srcdir)/test-properties.sh test-storage-mem$(EXEEXT) \
-+	test-stream-mem$(EXEEXT) test-properties.sh test-storage-mem$(EXEEXT) \
- 	test-main-loop$(EXEEXT)
- 
- # TESTS += test-generic-factory.sh
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo/fix-nonliteral-in-string.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo/fix-nonliteral-in-string.patch
deleted file mode 100644
index 20db671..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo/fix-nonliteral-in-string.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-This checks whether the format string is a literal on the calling function. As bonobo_debug_print()
-takes already a va_list, we specify the format on the functions that call it
-The second number, which is 0 here, should then be the argument index of the variadic argument
-
-Fixed warning with clang
-
-| ../../libbonobo-2.32.1/bonobo/bonobo-debug.c:58:32: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
-|         vfprintf (_bonobo_debug_file, fmt, args);
-|                                       ^~~
-| 1 error generated.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: libbonobo-2.32.1/bonobo/bonobo-debug.c
-===================================================================
---- libbonobo-2.32.1.orig/bonobo/bonobo-debug.c
-+++ libbonobo-2.32.1/bonobo/bonobo-debug.c
-@@ -47,6 +47,7 @@ bonobo_debug_init(void)
- 	  _bonobo_debug_file = stderr;
- }
- 
-+__attribute__((__format__ (printf, 2, 0)))
- void
- bonobo_debug_print (const char *name, char *fmt, ...)
- {
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo_2.32.1.bb
deleted file mode 100644
index 8e00eb4..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo_2.32.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require libbonobo.inc
-
-SRC_URI += "file://0001-Remove-use-of-G_DISABLE_DEPRECATED.patch \
-            file://do-not-use-srcdir-variable.patch \
-            file://fix-nonliteral-in-string.patch \
-           "
-SRC_URI[archive.md5sum] = "27fa902d4fdf6762ee010e7053aaf77b"
-SRC_URI[archive.sha256sum] = "9160d4f277646400d3bb6b4fa73636cc6d1a865a32b9d0760e1e9e6ee624976b"
-GNOME_COMPRESS_TYPE="bz2"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb
deleted file mode 100644
index b3ca0a4..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SECTION = "x11/gnome/libs"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-inherit gnomebase pkgconfig gtk-doc
-
-SRC_URI += "file://gcc5.patch \
-            file://0001-bonobo-ui-node-qualify-functions-with-G_GNUC_PRINTF.patch \
-            "
-
-SRC_URI[archive.md5sum] = "853be8e28aaa4ce48ba60be7d9046bf4"
-SRC_URI[archive.sha256sum] = "fab5f2ac6c842d949861c07cb520afe5bee3dce55805151ce9cd01be0ec46fcd"
-GNOME_COMPRESS_TYPE="bz2"
-
-DEPENDS = "libgnomecanvas libbonobo libgnome glib-2.0 gconf libxml2 libglade gnome-common intltool-native"
-
-FILES_${PN} += "${libdir}/libglade/2.0/*.so"
-FILES_${PN}-dev += "${libdir}/libglade/2.0/*.la ${datadir}/gnome-2.0/ui \
-                    ${libdir}/bonobo-2.0/samples"
-FILES_${PN}-staticdev += "${libdir}/libglade/2.0/*.a"
-FILES_${PN}-dbg += "${libdir}/bonobo-2.0/samples/.debug \
-                    ${libdir}/libglade/2.0/.debug"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.42.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.42.bb
deleted file mode 100644
index ae2ec5a..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.42.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "Devilspie2 is a window matching utility, allowing the user to perform scripted actions on windows as they are created"
-HOMEPAGE = "http://www.gusnan.se/devilspie2"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=00aefaa50aad75c21367df66102d542c \
-                    file://GPL3.txt;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "gtk+ glib-2.0 libwnck lua virtual/libx11"
-
-SRC_URI = " \
-    http://download.savannah.gnu.org/releases/${BPN}/${BPN}_${PV}-src.tar.gz \
-    file://default.lua \
-    file://devilspie2.desktop \
-"
-SRC_URI[md5sum] = "f205409e921aa2d86481f1b8d518da45"
-SRC_URI[sha256sum] = "11f5bc310fba4df404c057461ffb3fadac8ef51d211008c665c48f587a5a3f85"
-
-inherit pkgconfig gettext
-
-do_compile() {
-    export GTK2=1
-    oe_runmake CC="${CC}" CPPFLAGS="${CPPFLAGS}" LDFLAGS=" -ldl -lm ${LDFLAGS}"
-}
-
-do_install() {
-    oe_runmake DESTDIR="${D}" PREFIX="${prefix}" install
-    install -d ${D}/${sysconfdir}/devilspie2
-    install -m 644 ${WORKDIR}/default.lua ${D}/${sysconfdir}/devilspie2
-    install -d ${D}/${sysconfdir}/xdg/autostart
-    install -m 644 ${WORKDIR}/devilspie2.desktop ${D}/${sysconfdir}/xdg/autostart
-}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb
new file mode 100644
index 0000000..6ef8e8a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Devilspie2 is a window matching utility, allowing the user to perform scripted actions on windows as they are created"
+HOMEPAGE = "http://www.gusnan.se/devilspie2"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=00aefaa50aad75c21367df66102d542c \
+                    file://GPL3.txt;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "gtk+ glib-2.0 libwnck lua virtual/libx11"
+
+SRC_URI = " \
+    http://download.savannah.gnu.org/releases/${BPN}/${BPN}_${PV}-src.tar.gz \
+    file://default.lua \
+    file://devilspie2.desktop \
+"
+SRC_URI[md5sum] = "26eed0b5b4af5c7e13c551eceaeab832"
+SRC_URI[sha256sum] = "ecffc17c62b41e196b72340192a90c4223329df041f135e74c0990860595f828"
+
+inherit distro_features_check pkgconfig gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_compile() {
+    export GTK2=1
+    oe_runmake CC="${CC}" CPPFLAGS="${CPPFLAGS}" LDFLAGS=" -ldl -lm ${LDFLAGS}"
+}
+
+do_install() {
+    oe_runmake DESTDIR="${D}" PREFIX="${prefix}" install
+    install -d ${D}/${sysconfdir}/devilspie2
+    install -m 644 ${WORKDIR}/default.lua ${D}/${sysconfdir}/devilspie2
+    install -d ${D}/${sysconfdir}/xdg/autostart
+    install -m 644 ${WORKDIR}/devilspie2.desktop ${D}/${sysconfdir}/xdg/autostart
+}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/files/devilspie2.desktop b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/files/devilspie2.desktop
index e34e881..b80904a 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/files/devilspie2.desktop
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/devilspie/files/devilspie2.desktop
@@ -1,5 +1,6 @@
 [Desktop Entry]
 Type=Application
 Name=Devilspie2
+Comment=Perform scripted actions on windows as they are created
 Exec=devilspie2 -f /etc/devilspie2
 
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch
new file mode 100644
index 0000000..a821a14
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch
@@ -0,0 +1,39 @@
+From 131b88a81aba3d72d566bc8a9d968941a98e0007 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 19 Dec 2017 16:37:20 +0100
+Subject: [PATCH] CMakeLists.txt: Remove TRY_RUN for iconv
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
+|    _correct_iconv_EXITCODE (advanced)
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ CMakeLists.txt | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8d07772..a2396f2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -521,13 +521,8 @@ if(NOT HAVE_ICONV)
+ endif(NOT HAVE_ICONV)
+ 
+ set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBS})
+-CHECK_C_SOURCE_RUNS("#include \"${CMAKE_SOURCE_DIR}/iconv-detect.c\"" _correct_iconv)
+ unset(CMAKE_REQUIRED_LIBRARIES)
+ 
+-if(NOT _correct_iconv)
+-	message(FATAL_ERROR "You need to install a working iconv implementation, such as ftp://ftp.gnu.org/pub/gnu/libiconv")
+-endif(NOT _correct_iconv)
+-
+ # ******************************
+ # Backtraces for debugging
+ # ******************************
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-contact-Replace-the-Novell-sample-contact-with-somet.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-contact-Replace-the-Novell-sample-contact-with-somet.patch
deleted file mode 100644
index b77e7b9..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-contact-Replace-the-Novell-sample-contact-with-somet.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-From 4df8bd8ae4258289663b27af1207027c7ee06340 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 4 Aug 2013 09:13:25 +0200
-Subject: [PATCH 1/5] contact: Replace the Novell sample contact with something
- more appropriate
-
-Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- addressbook/backends/file/Makefile.am    |   1 +
- addressbook/libedata-book/ximian-vcard.h | 179 ++++++++++++++++++-------------
- 2 files changed, 103 insertions(+), 77 deletions(-)
-
-diff --git a/addressbook/backends/file/Makefile.am b/addressbook/backends/file/Makefile.am
-index 08cf58f..17e7149 100644
---- a/addressbook/backends/file/Makefile.am
-+++ b/addressbook/backends/file/Makefile.am
-@@ -2,6 +2,7 @@ ebook_backend_LTLIBRARIES = libebookbackendfile.la
- 
- libebookbackendfile_la_CPPFLAGS = \
- 	$(AM_CPPFLAGS)					\
-+	-DCREATE_DEFAULT_VCARD \
- 	-DG_LOG_DOMAIN=\"libebookbackend\"		\
- 	-I$(top_srcdir)					\
- 	-I$(top_builddir)				\
-diff --git a/addressbook/libedata-book/ximian-vcard.h b/addressbook/libedata-book/ximian-vcard.h
-index 782d37b..5b0b250 100644
---- a/addressbook/libedata-book/ximian-vcard.h
-+++ b/addressbook/libedata-book/ximian-vcard.h
-@@ -1,80 +1,105 @@
- #define XIMIAN_VCARD \
- "BEGIN:VCARD\n" \
--"X-EVOLUTION-FILE-AS:Novell Ximian Group\n" \
--"ADR;TYPE=WORK:;Suite 500;8 Cambridge Center;Cambridge;MA;02142;USA\n" \
--"LABEL;TYPE=WORK:8 Cambridge Center, Suite 500\\nCambridge\\, MA\\n02142\\nUSA\n" \
--"TEL;WORK;VOICE:(617) 613-2000\n" \
--"TEL;WORK;FAX:(617) 613-2001\n" \
--"EMAIL;INTERNET:hello@ximian.com\n" \
--"URL:http://www.ximian.com/\n" \
--"ORG:Novell;Ximian Group\n" \
--"PHOTO;ENCODING=b;TYPE=JPEG:/9j/4AAQSkZJRgABAQEARwBHAAD//gAXQ3JlYXRlZCB3aXRo\n" \
--" IFRoZSBHSU1Q/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCM\n" \
--" cHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMj\n" \
--" IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAbgBkAwEiAAIRAQMRAf/EA\n" \
--" BwAAAIDAQEBAQAAAAAAAAAAAAAHBQYIBAMBAv/EAEYQAAEDAwEFBgMEBgQPAAAAAAECAwQABREG\n" \
--" BxIhMWETIkFRcYEUkaEIMkLBFSNSsbLRFmJydRgkMzY3Q0RGgpKTosLh8P/EABsBAQACAwEBAAA\n" \
--" AAAAAAAAAAAAEBQIDBgEH/8QALREAAQMCAwYGAgMAAAAAAAAAAQACAwQREiFRBRMiMUFhMnGBkb\n" \
--" HRBsEUofD/2gAMAwEAAhEDEQA/AH/RRRREVwXe9W2wwFzbpNZixkc1uqwPQeZ6CoHXevLfom1ds\n" \
--" 9h6a6D8PGCsFZHMk+CR4n86yzdbrqfaZqYBSnp0hRPZMoG62ynoOSR1Pua8Lg0XPJegX5Jv6k+0\n" \
--" bBjrWxp22LlkcBIlHs0HqEjiR64peT9umupqyWrhHhpP4WI6eHureNW7Tmw+DGaTI1FJVJdxksM\n" \
--" qKG09CrmfbFMCHpCw2xATDs8JrH4gykq+Z4mqifbMUZsxpd/QUllK53M2SCb2xa+bXvf0gcV0Uw\n" \
--" 0R/DVktH2hdUwlpFxjQrg1490tLPuOH0pvv2qE4jdchx1p8lNAj91Va87OtM3RCt+2Nx3Dyci/q\n" \
--" yPYcD7g1EZ+RR4rSMI9b/S2mhdbhKsmkdtWmNTuNxnXVW2cvgGZRASo+SV8j74PSmOlQUMpORWP\n" \
--" NU7MrjY0rlQFmdDTxOE4cQOo8R1Hyqe2Z7ZJ2m32bXfHnJVpJCUuqO8uP7+Kenh4eVXkFRFUMxx\n" \
--" G4UOSN0Zs4LU1FeEOWxOityYzqHWXEhSFoOQoHkQa963rBFFFFERUdfr1E09Y5d1mr3Y8ZsrV5n\n" \
--" yA6k4A6mpGkL9ojUym0W/TrLmAsGU+AeYBwgfPJ/4RREqrrcb1tJ1oUpBXLmObqUZ7rSByT0SkZ\n" \
--" J8zk1pHQmiLXo+zpbabC3SAp55Q7zyvM9PIUudiGmURbS7fpCMvzFFton8LSTxx6qH0FM7VV9VY\n" \
--" 9MzZ7aQt5tASw3+26ohKB/zEVSVFVvZzGMw02tqe/kpbI8LMR6/C/Xxq9QagfbbP+IW1QQ4Rycf\n" \
--" xncHRAIJ/rEfsmu2a9Fgsl2XIZjtj8bqwgfM1+9L2VFksESAV9o6hG886ebjqjvLWepUSarutdn\n" \
--" MXV+obRcZks/CwCQ5DKMpeBOTxzwzgA9KwfTtfxPOSB5GQUXc9pOjoC+zXe2HV5xiOC6PmkEfWp\n" \
--" xe6tAWghSVDIIOQRXxekNOx4b0WPZYLLTram19mwlJKSMHjjNUzQd2dZM7SNxczcLOsttqVzdYz\n" \
--" 3FewI9iKpK2mjMZdFe7ed9NfT9qZDI4OAd1Vkko50ndoui22kuXq2NBOO9JZSOH9sD9/z86c8gc\n" \
--" DUJNQlaFJUkKSoYII4EVGoKp9PIHt9e6lyRNlZhcqlsJ2guQpydL3F4mO7kw1KP3Fcyj0PEjrnz\n" \
--" rSAIIyOVYfvsJ3TGqlCKpTfYuJfjLHMDOR8jw9q2Foy+o1FpWBckY/XMpUoeRxxHsciu/jeJGB7\n" \
--" eRXPvaWuLT0U/RRRWaxQeVY82x3BVw2oXbJyhgoZR0AQM/UmthK+6fSsWbRQW9pV73x/tZPtwNE\n" \
--" Wj9Nw0WuwwIKQAGI6G/cAZ+tRW0lx5nTEW4Ntqdat9xjy5CEjJLSFZP5H2qaYdCkpUk5BGQa7Ap\n" \
--" DrSm3EpWhYKVJUMgg8wRXz+kqyyTG7VXUsV22Clrfc48+CzMiPIejvIC23EHIUDXNe79b7HbXbh\n" \
--" c5SI8ZvmtZ5nyA5k9BS7d0nfdMPuSdD3JtEZaitdom5Uznx3DzT6cPWkvq/V1611fGW5nZtBCgy\n" \
--" zFbXhtCycE5JxknxPhXR07RUeB3D11H+9lAfwcxmrrqLbxcHpikWGAw1FScByUkqWvrgEBPpxqi\n" \
--" ztdXWdqmNqIIjx7gykJUphJCXAM/eBJ5g4PQCmBZNiDKWEu364uF0jJYh4AT6qUDn2FVu6bPIkT\n" \
--" aTB08xKeMOU2H99eCtKRvZGQMZ7hwceNZxVGzsbmMzIBv5dfNeOjnsCdUwbTtKsV8nJgIccZkqw\n" \
--" lJcThDqvJJz8s4zUtLVzpc2vZZKt+qBIkyUKt0V0ONKSe+7g5SCPDr9Kv0tznXP1cNMyQfxnXBC\n" \
--" tqUyuB3gslftPjJLkGWB3u82o/Ij86bf2e7iqRoxyIpWfhpC0JHQ4V/5GlVtJcBt0RPiXif+00w\n" \
--" Ps5BQtNxP4TJP8Ka6rZZJpW37/Kq68ATlPeiiirBQ0HlWR9t9qVbtpEp/dwiY0h5J8Mgbp/h+ta\n" \
--" 4pM7fdKLumn2rxGbKn4BKl4HEtn73ywD7GiL7o28JuulLbKCsqLKUL/tJ7p+oqyIe4c6RGyzU4g\n" \
--" THLNJc3WpCt9gk8A54j3GPcdaZuoosy82V23QpaYpkEIdeIJKUeIAHieXPkTXA11DuassJsCefY\n" \
--" /SvYZN5FiGZU9edRwLDAXJny2mRukoStQBWQOQHjSjg7PYE7ZmzcZb7cG6KK5CZD6txOCcJQvPg\n" \
--" QAQfAn2q6RNOWi1D9J3R5dwlR2xmZPVv9mlI8ByTj59ar09Lm0jUIQl5Y0zAUMrQSPiXfHHpyz4\n" \
--" D1qTRvMQIieQAQXOtllfIDre/X2WqVmI8Qz6D9q0bP9SO37SrSpW8ZUVXw7q+YcKeSgeRyMZ65q\n" \
--" qammvWTalEv1yjOJtaWfh25CBvBOUkHPlxUeHlyq/MiPCitxorSGWG07qG0DASK45xZlx3GJDaH\n" \
--" WljCkLGQR6VGinY2ofIG8Lri2gOi37hxYG3zC+uT2HY6ZDbyFMrAUlwK7pB5HNRcp7nxqpzdN3G\n" \
--" CFQ7NObTa3nApcaSN/suOe4SDw6VK3O4swojsp9WGmxk9fIDrW4UzWkbt2K/v691vjec8YtZUTa\n" \
--" BL+IuMaIjiWWytXQn/wBD608tgtrVC0W2+tOFSFqd9icD6AVnmFFl6n1AhoAmRPdwcfgR4n2H7q\n" \
--" 2Ppi1N2exRojaQlKEBIHkAK7Gmi3MTWaLn6iTeSF+qmaKKK3rSiuedEanQ3I7qQpC0kEEZzXRRR\n" \
--" FjnaRoSVoq/KcYQv9HOr3mHB/qzz3SenhVi0ftAbnNNwLo6G5iQEodUcJd9fJX760ZqLTkHUdsd\n" \
--" hTWEOtuJwQoVl/XGyS7aakOPwGnJcDORujK0DqPH2qJV0cdUzC/0Oi3QTuhddqY84IuFukwnFFK\n" \
--" JDSmlEcwFDGR86ISI1tgtQ4jYaYaTuoSP/udJS1azvFoAZLnbsp4dm/klPQHmKs0faVEWkfEw32\n" \
--" 1f1CFj8q56XZNSwYG5t7fSt46yB5ucimM5L4c643pXWqU5tCteMpRKUfIIH86ipmvnnAUwoQSf2\n" \
--" 3lZ+g/nWEey5yfCtrquBo8Su0+4sQ46pEp1LTSeZUfoPOlnfr67fZKQlK0QkK/VtficV5nrXOkX\n" \
--" XUk9KQHp0gnghI7qPyAp1bOdkCmH2rneQHHxxQjHdb9OvWr2j2c2Didm74VZVVplGFuQXRsc2fO\n" \
--" Qgb1cmsSXQN1JH+TT4D+dPEAAADkK848duMylppISkDGBXrVkoCKKKKIiiqrrbX9m0JARIua1re\n" \
--" dJDMdoArcI58+AA8zVLsO26RqiS9Gsukpct5lHaKbTLaSrd8wFEZ9s0RN6vGRGZktlDqAoHzFKq\n" \
--" JtomzrPOuzGjZvwEBRTJfckttpbUOae9jJ5cBk8R514Wrbo7e489+3aTlvtQGTIkqElsdm2Mkq4\n" \
--" 4zyPKiKf1Hsj09flKdXEQh4/jR3VfMUvJ/2et1ZMOe8keSgFfyqz2LbfJ1M9IZs2kJsx2O0XnEN\n" \
--" yEAhA4ZwcZ58hxr7ZdtkvUS5SbTo2fJMRsuPkPoSG0jzKsDPPhz4HyoipDewC47+FXFWOjYH51Y\n" \
--" bTsAgtrSqc88/jwWrA+QxUlYtujupZ6oNo0nLlSUtqdKEyW04SMZOVYHiKjP8ACUt5/wB3pX/XT\n" \
--" /KiJnWLQ1nsTSURorad39lIFWZKUoThIAHSlNqDbLP0siKu96MnQ0ygSyVyGzvYxnlnB4jga87F\n" \
--" ttlamXJbs2j50xcZvtXUtyEZCfPB5+gyaIm9RSetm3J68RbhJgaSmPM25vtZaviW09knjxIOM8j\n" \
--" y8q7LHtzstwv/AOhrlBftkkudkFOLS43v5xgqSeHHx5daImrRX5QtK0hSTkGiiLMP2ho8wa1iSn\n" \
--" QoxVRQ20fAKClFQ9eIqq7LLJe7vreG7ZZCoZhqD8iZjustjnnwORkY8c+Wa1ZqbStt1PBMa4MId\n" \
--" Rz7wzg+dL8bEbA1vpa7RtK+CkpdWAfXjRFB7UpCNe6Kdm6NnJft1qluKuUJlvdKznPbYH3hzPXJ\n" \
--" PMGqZsk/zc2gf3G5/Cumc3sRsTO92Rcb3uB3XVjP1r4jYfYGwoN76QsYUEurGR5HjREudhUt2BP\n" \
--" 1TMYID0eyuuoJGRvJII+oq96I2iwtVz7rb7ZZWbalyzyJ9wKUjLsrKEkjH4cE8+Jz049bew+wNb\n" \
--" 3Z76N4YO66sZHlzob2H2Bkktb6CRglLqxkeXOiJZbAv9IMj+7X/wB6ag9lGnEaj17CRJA+BhZmy\n" \
--" lK+6EI44PQq3R6E06W9h9gZVvNb6FYxlLqwcfOhvYhYWt7s99G8MK3XVjI68aIo7UxgbR9IajhQ\n" \
--" 7/Du9yiSF3S3tMNrStlkAAt94DPDI4eJFUvYfNetqNYz4xAfjWZx5skZAUnJHD1FMVrYhYWVbzW\n" \
--" +2ojGUOrBx86EbD7A0FBvfRvDCt11YyPI8aIo23zdP6i2e621TaUJiXCfa1IucFPJt5KVnfHRWS\n" \
--" euPPNZ2YadfkNsspUp1aglCU8yTyrTSNh9gbCgjfSFjCgl1YyPI8al9PbItP2WamUywkuJ5KOVE\n" \
--" emeVEVw02ZH9H4YkEqdDYCifE4oqXbaS02lCRhIGBRRF//Z\n" \
-+"VERSION:3.0\n" \
-+"FN:Yocto Project\n" \
-+"URL:http://www.yoctoproject.org/\n" \
-+"EMAIL:yocto@yoctoproject.org\n" \
-+"TEL;TYPE=VOICE:+00 000 000 0000\n" \
-+"ADR;TYPE=HOME:;1720 Beaver Creek;Dam #4;Planet Earth\n" \
-+"LABEL:1720 Beaver Creek\\nDam #4\\nPlanet Earth\n" \
-+"PHOTO;ENCODING=b:iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pV\n" \
-+" UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAFE9JREFUeJztnXmQHNV9xz\n" \
-+" +ve86dvU/tanUiCVwRQuaIhSEOMsIiEsbGRtiVGFy4EsdU4bINOICPUtkQHOxgYoiDTVJxCBiwM\n" \
-+" CBxBjAlsIUlEQzISAhZN5JW2l3tvbNz9JU/fu/N7CwgVquVmEr194/t7enu97p73vf9zvcbCBEi\n" \
-+" RIgQIUKECDH5UB/0DYwXwZv/Mh8AK3ISgBs4AwAR29oCwNwFfQBKLXY/mDucHFgf9A2EKEXZMiT\n" \
-+" YdtdUADff+QCA5Q/9BQB+Xk7w9a27vpxP8g0AO9J4IYA64/qOE3m/k4WQIWWGsmJI/q0fn2P+t5\n" \
-+" zerwFYDK0ACAgCAMsXRuCLqPDTQ7LvBgogSDY8DODWLvguQOLkv9t6Qm5+khAypMwQfiFlhkmZs\n" \
-+" vY/9rOzAXK59EkAEc87BDD9c99cC6CU8t7tumD/PQ0A/uCOHwF4Vm6pOWbnc20AlvIDOTnQF8nU\n" \
-+" hJOT3XQ/AK7jyJRWUSXHIw1vAQQV078BEJ1/7f9MwqMed4QMKTNMiCF/uP/ONgC7Y/ODAF52YCE\n" \
-+" ArhcBwMIDiMZiLkAsVX8fwClfvfOrALldd5wGYGe6HgRQQfpkABXxi/fjCKkCX6ihtJ6rtFAP8i\n" \
-+" Ny3nAfAJ4dk/OiCQBsZSn5vLoXIJ+aezVAxfxvPDCRZz5RCBlSZpgQQzbe+qXzAYLcwAMAgRM0A\n" \
-+" UTQ072Sf6JKmo8HWQVgNSc7AU6+YG4AELiZKXITIic8gsL92J5uyzXixzBGbx1tIA73yIMkK2Vr\n" \
-+" x/R5cg9KaXU40gCAH2//lOkjsm3WkwB97KoEyOHUA2TTw9J5U0MWwNm5rw9g3tfuzB3lqzpqhAw\n" \
-+" pM0QmclE0knIBvOywD+ApB4BAG2u2EmoEnnw+xEAAsODD7S0AuGLMKZRRnYRBRpMCfMMMLTNUIP\n" \
-+" vKc0u2WPoaSz+KbeuPPQXge8I+5XeLDAqsX5k+OnK7bwJwe50bAHLZfBWAo9v2DnfK3dnxtQCv3\n" \
-+" vH1WwB2TPnoWoDLLrvsXbXHY0HIkDLDhBhizzx1J4C7tXcYQAVOC4CtRYAVyKh2/DQA886ZoQAS\n" \
-+" VVGgaEqosTJsFEOUN8aJyNjB6JdeY+mxFZQ2qSwtQzw50c4eSJhjUW/wHwF275O+UpX1Its0w72\n" \
-+" 88eSPLAZwoiMfAWj1131aH3iOSUbIkDLDhBhy2me/vB9gw21XPQQQH8zcAOArmdADJ6MApp5SB0\n" \
-+" D1lKqS6wtjODBGuLYt/FGxJSM7fDNmglF/QRkfo2aORel5Zlvsy9NMKfbR0CLXJPZIG44n51hKP\n" \
-+" ncLfcp+3sknALxMunbsO5kshAwpM0yIIQaLrr3rRoD1t15ZB5AY6vx7gGhKRlxNe61oOLYto1Nf\n" \
-+" F2hmKE/LBTNqNVNglP3hyvyuCtfIvm/cYyqpt7Y+T2t8Y5lSuqsvEf60z4gD8MarYvVX1WibRZ/\n" \
-+" saHnlqOQWgFjDzFfe+60cG0KGlBkmNUC1/t9XngfQ1nTg1wDTZ9jizS3M23p4+qZz3X1ExoWy7E\n" \
-+" JbgXHyau1JG/0of0xbuo3A1Z97pZZ9gX3umC2gHQRkhrIAvLxeLHTbEoYYZntWbBjAr5t6HcDHr\n" \
-+" 73950d4DceEkCFlhmOSIWOx6LwqmYyzNdUAXrav5LiypTsVE39TwYYwE7w3yg7Rmo7RtgjMyDfX\n" \
-+" 2HrP7BsmGc1IU8pY8rbpsiinDItiCfEU19aLzdLZKYxJVNbtAnAq638CcMFxZIZByJAyw6TIkGD\n" \
-+" vc7MBvM5nNgCoYKAJINDD1dIeVxPLANGEKPirHNPSqEaNvDHMUKVbY5nbhimaIfq4r4IxVwW6uV\n" \
-+" EWvyf3Y2lZ0tNrdQFs3hb7KYCTaH4U4IJrb3/j/d7BZCFkSJlhUmRILuckAGKD2SYAnAwAFmL5Z\n" \
-+" jKZACCTFgs+OyzHs3kJLzg62S2fLxLW08ywtWyIxuRYLCG3XBGXbVV1BQCpSn2tlhWWHdVPKGIt\n" \
-+" MHZKiSEibfiabTXNElP5y2mNjwGoj9xywphhEDKkzDApDEnMW/YmQG7DDyS2PsBXAF7dsPNigDe\n" \
-+" 27msDCIzfyZZRa+mRGTExjFESzVKxkj6M1Vzwe3nCMiffr9uQ4w3V0nZzszTWWC99NDbK6E9WJg\n" \
-+" ttqmhC7I7KavFhxWqbAdxI5ZSjfQeThZAhZYbwCykzTKphGF904yb971UAv1l5hQPQ3uZdLZ1Jt\n" \
-+" KngXNT+EEuZgFVxfPgFhdUIYatkz1zrG/VYq7M5TxSFvQdlf9N22R/JSDi2rqo4L86cJprAwvl2\n" \
-+" L0BFW634VWKRD2yNSciQMsOkMsRg67rVVQDD69acBoCq1u73Uoeg75e6Q7xRrhO/4IfUzsPRHg+\n" \
-+" KLDNX+JackNTqbjwqR6qrdLBJG6X5UQGq/f362r2V1wF8tL71fwFinTM+sIz5kCFlhuPCkNxbW2\n" \
-+" YAJOxYG0CvttYefWUnAGfOqAfg9FbZ5rXj0LOL87uvKeIaEVHIudYukDHnKW34YRtnozxajzZCa\n" \
-+" 5Ki7laM0qar4non0ZoBiC/95uaJPO9kImRImeG4MCTiZWYDxJORaQDPbpTlfvslK4hUp4zas2bK\n" \
-+" fB9xSmULFI1EIzsK3nhvjLNRlTLH4M2DAwA8sWk/AOd9qA2AD0+rL56kU4yi5C/Wnzw47oc8Tgg\n" \
-+" ZUmY4LgyxLW8ugB94cYADg7mSlFETNIpoGng6dBtRxfHhaoejju7iGQYYd3spIQpamQlodQ8KC1\n" \
-+" 0tW/b3yf6HWopaVkVSZIibHT7l6J/y+CBkSJlhUhnyp6eeigPk9v52FkBUB6C0x5z+rIze2Y2SO\n" \
-+" KfGWOyj00BNwoMJapnAk9L6lTVG7JgosGFKbUq0Ks+X5QoZR6/a9YoGja95FnhOJUAQBDF9P/mj\n" \
-+" ffbJQsiQMsOkMiTa2akA0k5OfOCOhGaXzW8HoCct+6e31wCQ0dpVXssLNdr/ruVJoBliZIrJB1K\n" \
-+" 2DtkWBrz8Y3Sw2U3Cwnk66NSiA1mxaHEMKl8CaK4nnW1/+j6TiB0yJIRgUhmyZ+ZMF6Byy5ZuKO\n" \
-+" akTauS+Xx6jWzNqDbmhxfIuOjuOlxoK1mRAqD5zLMBmDp/AQAdL64FYHDPdgBc7ZuKxoWURitLa\n" \
-+" at/+fxpQHHkGc8ygGuqQyjlAsxbdvngBB6bTZs2tANYFfE5APPnLPyDOaaUGjqatkKGlBkmlSGL\n" \
-+" F0utqg0/ve4FAKWiVwPkA6cKIHB8naqpSuIiRvNpbGgotGVkQVWrRFNrpk4H4GC7bL0dkn8QT1S\n" \
-+" U3oRxZWkZFLeMbFHvcAd4nvwfj9dMaKn0s8/ffzHAa5s2rgF4fNUaABoaG3abc35868rLAK65/n\n" \
-+" vjStAOGVJmOC7VgFYGIhTO/+dr7gDIDXd+CSDieUmASCFzuvQu7FFtFOZ8bU3bKdHMRgYlPTWql\n" \
-+" 5sZJcvEO4yZkdNZEb5ehOPp4zkVKdj4qqLuBYDPfu/ujx/N8z3x9H2fkrbdVQB73z4YA3ju8acD\n" \
-+" gP7unsJ7bZnSlgGYffKsCwFuve3u3x6p7ZAhZYYTUi9rzc1f/i5A98G3vw9Qoxf3VyVFhMULDqv\n" \
-+" Rlrp8ZhVSQsdEG8fE1M3WK0QG5eysF+QAPMt+HcCJVj5i+vibW/7zNnjv4jjveI41v1gE4OFLTS\n" \
-+" 7sNgBli99goH9QATy3+qkCC/ds26kAmqc0DwEsXXrRJQBXX3f98+/WR8iQMsNx8fYaGN/QvXddd\n" \
-+" T7Azr1iAO/auQcA1xGpYevRPm9mMYktEZNYSTIqW9ss3DFMcOUaNyeDeyAt+4Pa+LF04kheW//1\n" \
-+" 7W3bASJnT/9X08d4mfHLX981FyDvuqKNRWyd+Ie+F6F2MiUa3+KLLixQ/Yn06gBgsKurCuB3v3v\n" \
-+" uh/rQGe/WV8iQMkP4hZQZjotQf+WXP28EcBP+zwCG4sGnAQb6hy2A7l1bFcCiOgmvbu8Wj8Xat4\n" \
-+" vFdmrrqgFIJHX1B1MVVmc9ZLK6jsqQTINbtsv+nsOy/cxZcn0kIVpBqqVOAbTHpz1m+vjKd/6tU\n" \
-+" Bno3fDoow9MA3C9YUkAjFp1UHT1eDrDIghMtQh94SgnaW5EVmP96r/ulRXJmXwHwA/vuvN0gIUL\n" \
-+" z+ka3WfIkDLDMTHk9f++NgUQT0eaAEac3JUAvV2Hvg6wr3egGmD3iIzqs5b/FQCREUnrPCsiAy+\n" \
-+" bl1F0y7qBQttVzbLUpLJCC/WoKACONghHRoQJ+3d1A9CxR5gyNCLH/3yOFB46c34rANs6DwYAFf\n" \
-+" 3FRSgNze1vAcSTkRsAalMtUrZ8SnsGwG+s3ghgRW0p6myq22nXj6etUM8kXhgaB6MWoUTFy9nXI\n" \
-+" UR45uHHfgTw9Avr/+GdbzRkSNlhQmrvlv/49gyA6NDw7QD5bN8lAP6weJrNiLeaWgKAzte3K4C8\n" \
-+" /v47B2UARdNSN3HJKcKCl94qEna7Tua0IibZQa6Ja89HhTYYG4fkeI1OfqhNySO98baEbrd3Sr5\n" \
-+" odVRmgznVscLojXXvPwUgn0isBhipEpbVTm0GQNutONoLalnWEWeUIChlEICn1fDmltbV8N7MMA\n" \
-+" gZUmYYN0N2r/1Foc5Udstr3wIg138JQKATCNxAhrEKZCQ5VlIBXLrkPACaDu0DYOfmHQAMW5I5F\n" \
-+" 3xY5vmVFxb7+/4a0bjmatnRpjPmDudlgL+o5VKVzmqoTsjxXp1CGtGGpakE0ZeTezw0VJQhlQlp\n" \
-+" O6mrGFHfqAA2bJT40vwzTpf7ntqqQ7263uOYFKRgTOZ3aWK49RiAW2t9gXEgZEiZYdwM6d38ZiE\n" \
-+" HM54fOgPAz4umk8nLMM27kpvpOTJENq2XmExSj5zzW8S1UN8j2lTPdAm7Zl4TO2T+1mII958qpI\n" \
-+" 2WKaJtDc+eAUDt1l0A/G1C2KUCGfmNmkkHtUP+qRHZf13HiWt0FQl3OF3ow6/XNX4rErJaWAe79\n" \
-+" u4Q+2jX9r0AXHL5ZdJ3kwTQXLO+PijZoHSuUhCo9aYP2/a/CnDF0iuKHR8BIUPKDOPXspLFUGkm\n" \
-+" I3Oun5XRmdajMK0ZM5AVbaVrUOTAqoyMqFPrJCUn1yo2wut/Et28tUOOVwcFMUWtkS/aYu8+YxE\n" \
-+" ATXtEDjVrmRBTIitSMWHEbJ1gl9d1fdf3y3k9SNtWtugNmK3lj601obgenhVVcp993aKprb53FQ\n" \
-+" CXXiliIFktCRieXmFkGdPcsg4CpJI115s+VnxyxdscBUKGlBnGzZDTTzqv4HN5qXfViwBZV50JM\n" \
-+" JyRytWDOWHI7l5JbN6ake97d81skTE1LQrg2ks/BsCT9z0NwOY+sbaXnrug0N+da34PwEU7JGQ7\n" \
-+" c794vndoP9Kd/RLSnabXoX9xkSTjPfuaeAEe7hdZslWZer5yXrKY7MD2nhEFUF8hsizWI9b8SXO\n" \
-+" mK4BX+6RvNysOtGdWP6kAPnHJ8gAgkUpqH5bqArDtxOcBVnxyxe/e80W+D0KGlBnGzRC1uPhzdC\n" \
-+" /+9Ns/ARgeGJgG0DGUXQLQPTB8AGBzt5SuPhhtOB3Ar2tIAGw4JMx5/hWxQ7py0v36PgnpLpozt\n" \
-+" 9Df7mYZ6Vcf0rlrGZMYYcK+woAfzJH9tC+y5O4D0lZXXIJdkZSMfs/8RFIuU7BDtg1k0gDVKacX\n" \
-+" gM7N0wDmnHlmL8CfLZwfA/jjy5sqAboPCINeenatAjh36ZJBgGgscTnAFy79whETGMaDkCFlhmP\n" \
-+" y9r696rYkwM+fWf95gG279n8OoLM/PRWgI8fJAJ2pKVGAkXpJeivQUntLnRHRqM6e11Zoe5tekt\n" \
-+" aTLy0uYIziuOQusETcTgxpL/Dve6T1IKK3+gnjfQcBaBop2jqtFXZeN5oGUL5bBzB9SuPNABd/8\n" \
-+" Yu/AXjt5ZcfAXjzj3+sB1BW0AfwieUXXQnwtWu+s2Ycr2tcCBlSZjgmhtz07etOAtj86saNAE5m\n" \
-+" pBYgl3ctAE/n6gxlZUnbznxKAfQ0zAIgSIhtYGr0Wn7RSRQoPefrytaB+XUEnSJqKlmbKkAmLcj\n" \
-+" Tn1s6CTvZK3bL9LyIicZUtNCJrbMrzHK5vF4EWlFVGQC0z5p1GsA55yw+AOA72cUA6ezwawDXXH\n" \
-+" PjrqN4XeNCyJAywzEx5IpPffwJAC+fWwaQ1dZzoNtNZyUuMqLj33kdD+90RfM5VK1/TiQqlq/yi\n" \
-+" pE2W7mOfOZmAGxNEU9XCAgsKwngWzrrzpKN0nHu6NBBBTAzIzZOoy6YGo0Ux2ChrKPeutpGsXW9\n" \
-+" 3qbW1ucBVj365JKjfzsTQ8iQMsOEIobf+PJfnwrQsXf3qQC5jKhCvv6Vm5z2ablBacVqSy8NaLI\n" \
-+" kUhjpk/m9XzPEihfrXiz72MduBVix5NyHAJYtW9YF8MILLzQB/OSBxy8C2LZ330UAnQNDCwGC9E\n" \
-+" AKoCUv2lS9DvtFDDPUaIYYQhbctvIcOu6RT4+ce3Rv5tgRMqTMEH4hZYYJTVmeE9QA+L5UqjSra\n" \
-+" ANLV/XxSjPSi9+7WW0rbo5qW85PepL1oLLFckCnpOxfASxfvnzLmO479XYzwLp16x4C+Ob1Nz4C\n" \
-+" MJTvWQCQiprqQDpLXt+Tskb9JIapYl5YA19aN8Vx8/H3exeTjZAhZYYJMSTrcxgg70uBw+IaDTn\n" \
-+" ujd2aWldarTSV5Fy9TtwPxECrb6j9jenj+ptuehPghptvPuK9ZLq6+gHswBUdW7PQ9WSs2VrVDm\n" \
-+" zzG0klY1BSQY2DZUxloVi8YkKrco8FIUPKDBNiyJeuurwD4I5bbt8IMJLubgfIZXMWjKqXaKrCm\n" \
-+" a1ZuK5LNtTU1h8GaG+fthLg/oceusv0oVQxkHQkXPCZz/QA3HPPPSsAnn7y8SsBeroOnwtg4y8A\n" \
-+" yOez8qORjluQC+YHJH1fll1F7UgOIJlK7gOYPmvubXLmpP863nsiZEiZYVKWI6xc+a2FAHv/tP1\n" \
-+" cgM7OzmqAwLdaARzP6QCobajrA5gza+5LALfefuJ+BsKgt7d3xtjP6urqxP2u1OF3XnFiETIkRI\n" \
-+" gQIUKE+H+C/wMGX8Ias1s6CQAAAABJRU5ErkJggg==\n" \
- "END:VCARD"
--- 
-1.8.3.2
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-imapx-Fix-signature-for-imapx_tokenise_struct.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-imapx-Fix-signature-for-imapx_tokenise_struct.patch
deleted file mode 100644
index f82a76d..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-imapx-Fix-signature-for-imapx_tokenise_struct.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0e10e976025b21d12df099e82951f759024ad649 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 24 Aug 2017 22:04:56 -0700
-Subject: [PATCH] imapx: Fix signature for imapx_tokenise_struct()
-
-clang complains about different signature for this patch
-
-Fixes
-camel/providers/imapx/camel-imapx-tokens.txt:56:1: error: conflicting types for 'imapx_tokenise_struct'
-| imapx_tokenise_struct (register const char *str, register size_t len)
-| ^
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- camel/providers/imapx/camel-imapx-tokens.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/camel/providers/imapx/camel-imapx-tokens.txt b/camel/providers/imapx/camel-imapx-tokens.txt
-index d48501865..994c368c0 100644
---- a/camel/providers/imapx/camel-imapx-tokens.txt
-+++ b/camel/providers/imapx/camel-imapx-tokens.txt
-@@ -1,7 +1,7 @@
- /* This contains all of the keywords we care about.  These
-    can be converted to an id very efficiently */
- struct _imapx_keyword {const gchar *name; camel_imapx_id_t id; };
--struct _imapx_keyword *imapx_tokenise_struct (register const char *str, register unsigned int len);
-+struct _imapx_keyword *imapx_tokenise_struct (register const char *str, register size_t len);
- %%
- ALERT,          IMAPX_ALERT
- APPENDUID,	IMAPX_APPENDUID
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch
new file mode 100644
index 0000000..c8dc7e1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch
@@ -0,0 +1,53 @@
+From 210b204d9edd71202454ff04013cc52b23c598e4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 19 Dec 2017 16:55:13 +0100
+Subject: [PATCH] CMakeLists.txt: remove CHECK_C_SOURCE_RUNS check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* TRY_RUN: does not work for OE
+* HAVE_LKSTRFTIME is set by recipe as configure option
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ CMakeLists.txt | 23 -----------------------
+ 1 file changed, 23 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a2396f2..f3b271b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -573,29 +573,6 @@ CHECK_C_SOURCE_COMPILES("#include <langinfo.h>
+ CHECK_C_SOURCE_COMPILES("#include <langinfo.h>
+ 			int main(void) { char *detail = nl_langinfo (_NL_ADDRESS_COUNTRY_AB2); return 0; }" HAVE__NL_ADDRESS_COUNTRY_AB2)
+ 
+-# *******************************************************
+-# Check to see if strftime supports the use of %l and %k
+-# *******************************************************
+-
+-CHECK_C_SOURCE_RUNS("
+-	#include <stdlib.h>
+-	#include <string.h>
+-	#include <time.h>
+-	int main(int argc, char **argv)	{
+-	char buf[10];
+-	time_t rawtime;
+-	struct tm *timeinfo;
+-
+-	time(&rawtime);
+-	timeinfo=localtime(&rawtime);
+-	buf[0] = 0;
+-	strftime(buf, 10, \"%lx%k\", timeinfo);
+-
+-	if (!buf[0] || buf[0] == 'x' || strstr(buf, \"l\") || strstr(buf, \"k\"))
+-		return 1;
+-	return 0;
+-	}" HAVE_LKSTRFTIME)
+-
+ # ******************************
+ # system mail stuff
+ # ******************************
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-Fix-for-automake-1.12.x.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-Fix-for-automake-1.12.x.patch
deleted file mode 100644
index 5f222ae..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-Fix-for-automake-1.12.x.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From f46423c9e4b8b19eda27b307456a717de79b75f3 Mon Sep 17 00:00:00 2001
-From: Nitin A Kamble <nitin.a.kamble@intel.com>
-Date: Sun, 4 Aug 2013 09:15:43 +0200
-Subject: [PATCH 2/5] Fix for automake-1.12.x
-
-Fixed these kinds if warning-errors
-
-warning: 'libebookbackendfile.la': linking libtool libraries using a non-POSIX archiver requires 'AM_PROG_AR' in 'configure.ac'
-
-Upstream-Status: Pending
-
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/configure.ac b/configure.ac
-index 9bd97db..49d7506 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -31,6 +31,7 @@ AC_LANG(C)
- 
- dnl Automake 1.11 - Silent Build Rules
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-+m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) # required by automake 1.12
- 
- dnl Required Package Versions
- m4_define([glib_minimum_version], [2.28])
--- 
-1.8.3.2
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-Disable-Werror-for-automake.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-Disable-Werror-for-automake.patch
deleted file mode 100644
index a182d4d..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-Disable-Werror-for-automake.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 37b227cff78fd4c652651662dafd71537280824e Mon Sep 17 00:00:00 2001
-From: Nitin A Kamble <nitin.a.kamble@intel.com>
-Date: Sun, 4 Aug 2013 09:16:59 +0200
-Subject: [PATCH 3/5] Disable Werror for automake
-
-Avoid these warning-errors
-
-automake: warnings are treated as errors
-Makefile.am:15: warning: '%'-style pattern rules are a GNU make extension
-Makefile.am:21: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-addressbook/backends/file/Makefile.am: installing './depcomp'
-addressbook/libebook/Makefile.am:55: warning: '%'-style pattern rules are a GNU make extension
-addressbook/libebook/Makefile.am:65: warning: '%'-style pattern rules are a GNU make extension
-addressbook/libebook/Makefile.am:66: warning: subst -,_,$*: non-POSIX variable name
-addressbook/libebook/Makefile.am:66: (probably a GNU make extension)
-addressbook/libebook/Makefile.am:72: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-addressbook/libedata-book/Makefile.am:2: warning: '%'-style pattern rules are a GNU make extension
-addressbook/libedata-book/Makefile.am:3: warning: subst -,_,$*: non-POSIX variable name
-addressbook/libedata-book/Makefile.am:3: (probably a GNU make extension)
-glib-gen.mak:9: warning: '%'-style pattern rules are a GNU make extension
-addressbook/libedata-book/Makefile.am:5:   'glib-gen.mak' included from here
-glib-gen.mak:13: warning: '%'-style pattern rules are a GNU make extension
-addressbook/libedata-book/Makefile.am:5:   'glib-gen.mak' included from here
-glib-gen.mak:18: warning: '%'-style pattern rules are a GNU make extension
-addressbook/libedata-book/Makefile.am:5:   'glib-gen.mak' included from here
-glib-gen.mak:26: warning: '%'-style pattern rules are a GNU make extension
-addressbook/libedata-book/Makefile.am:5:   'glib-gen.mak' included from here
-glib-gen.mak:38: warning: '%'-style pattern rules are a GNU make extension
-addressbook/libedata-book/Makefile.am:5:   'glib-gen.mak' included from here
-glib-gen.mak:41: warning: '%'-style pattern rules are a GNU make extension
-addressbook/libedata-book/Makefile.am:5:   'glib-gen.mak' included from here
-addressbook/libedata-book/Makefile.am:86: warning: '%'-style pattern rules are a GNU make extension
-addressbook/libedata-book/Makefile.am:101: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-calendar/backends/weather/Makefile.am:44: warning: '%'-style pattern rules are a GNU make extension
-calendar/libecal/Makefile.am:53: warning: '%'-style pattern rules are a GNU make extension
-calendar/libecal/Makefile.am:61: warning: '%'-style pattern rules are a GNU make extension
-calendar/libecal/Makefile.am:62: warning: subst -,_,$*: non-POSIX variable name
-calendar/libecal/Makefile.am:62: (probably a GNU make extension) calendar/libecal/Makefile.am:68: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-calendar/libedata-cal/Makefile.am:5: warning: '%'-style pattern rules are a GNU make extension
-calendar/libedata-cal/Makefile.am:6: warning: subst -,_,$*: non-POSIX variable name
-calendar/libedata-cal/Makefile.am:6: (probably a GNU make extension)
-glib-gen.mak:9: warning: '%'-style pattern rules are a GNU make extension
-calendar/libedata-cal/Makefile.am:8:   'glib-gen.mak' included from here
-glib-gen.mak:13: warning: '%'-style pattern rules are a GNU make extension
-calendar/libedata-cal/Makefile.am:8:   'glib-gen.mak' included from here
-glib-gen.mak:18: warning: '%'-style pattern rules are a GNU make extension
-calendar/libedata-cal/Makefile.am:8:   'glib-gen.mak' included from here
-glib-gen.mak:26: warning: '%'-style pattern rules are a GNU make extension
-calendar/libedata-cal/Makefile.am:8:   'glib-gen.mak' included from here
-glib-gen.mak:38: warning: '%'-style pattern rules are a GNU make extension
-calendar/libedata-cal/Makefile.am:8:   'glib-gen.mak' included from here
-glib-gen.mak:41: warning: '%'-style pattern rules are a GNU make extension
-calendar/libedata-cal/Makefile.am:8:   'glib-gen.mak' included from here
-calendar/libedata-cal/Makefile.am:71: warning: '%'-style pattern rules are a GNU make extension
-calendar/libedata-cal/Makefile.am:86: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-camel/Makefile.am:17: warning: '%'-style pattern rules are a GNU make extension
-libebackend/Makefile.am:35: warning: '%'-style pattern rules are a GNU make extension
-libebackend/Makefile.am:41: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-libedataserver/Makefile.am:91: warning: '%'-style pattern rules are a GNU make extension
-libedataserver/Makefile.am:97: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-libedataserverui/Makefile.am:108: warning: '%'-style pattern rules are a GNU make extension
-libedataserverui/Makefile.am:118: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-servers/google/libgdata-google/Makefile.am:27: warning: '%'-style pattern rules are a GNU make extension
-servers/google/libgdata-google/Makefile.am:33: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-servers/google/libgdata/Makefile.am:31: warning: '%'-style pattern rules are a GNU make extension
-servers/google/libgdata/Makefile.am:37: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-servers/groupwise/Makefile.am:85: warning: '%'-style pattern rules are a GNU make extension
-servers/groupwise/Makefile.am:91: warning: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
-autoreconf: automake failed with exit status: 1
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-Conflicts:
-	configure.ac
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 49d7506..1c802ff 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -21,7 +21,7 @@ m4_define([api_version], [1.2])
- dnl Autoconf / Automake Initialization
- AC_PREREQ(2.62)
- AC_INIT([evolution-data-server],[eds_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution-Data-Server])
--AM_INIT_AUTOMAKE([gnu 1.10 tar-ustar dist-xz no-dist-gzip -Wall -Wno-portability -Werror foreign])
-+AM_INIT_AUTOMAKE([gnu 1.10 tar-ustar dist-xz no-dist-gzip -Wall -Wno-portability foreign])
- AC_CONFIG_MACRO_DIR([m4])
- AC_CONFIG_SRCDIR(README)
- AC_CONFIG_HEADERS(config.h)
--- 
-1.8.3.2
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch
new file mode 100644
index 0000000..3cdfa8b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch
@@ -0,0 +1,202 @@
+From 4df8bd8ae4258289663b27af1207027c7ee06340 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 4 Aug 2013 09:13:25 +0200
+Subject: [PATCH 1/5] contact: Replace the Novell sample contact with something
+ more appropriate
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/addressbook/libedata-book/ximian-vcard.h | 179 ++++++++++++++++++-------------
+ 2 files changed, 103 insertions(+), 77 deletions(-)
+
+diff --git a/src/addressbook/libedata-book/ximian-vcard.h b/src/addressbook/libedata-book/ximian-vcard.h
+index 782d37b..5b0b250 100644
+--- a/src/addressbook/libedata-book/ximian-vcard.h
++++ b/src/addressbook/libedata-book/ximian-vcard.h
+@@ -1,80 +1,105 @@
+ #define XIMIAN_VCARD \
+ "BEGIN:VCARD\n" \
+-"X-EVOLUTION-FILE-AS:Novell Ximian Group\n" \
+-"ADR;TYPE=WORK:;Suite 500;8 Cambridge Center;Cambridge;MA;02142;USA\n" \
+-"LABEL;TYPE=WORK:8 Cambridge Center, Suite 500\\nCambridge\\, MA\\n02142\\nUSA\n" \
+-"TEL;WORK;VOICE:(617) 613-2000\n" \
+-"TEL;WORK;FAX:(617) 613-2001\n" \
+-"EMAIL;INTERNET:hello@ximian.com\n" \
+-"URL:http://www.ximian.com/\n" \
+-"ORG:Novell;Ximian Group\n" \
+-"PHOTO;ENCODING=b;TYPE=JPEG:/9j/4AAQSkZJRgABAQEARwBHAAD//gAXQ3JlYXRlZCB3aXRo\n" \
+-" IFRoZSBHSU1Q/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCM\n" \
+-" cHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMj\n" \
+-" IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAbgBkAwEiAAIRAQMRAf/EA\n" \
+-" BwAAAIDAQEBAQAAAAAAAAAAAAAHBQYIBAMBAv/EAEYQAAEDAwEFBgMEBgQPAAAAAAECAwQABREG\n" \
+-" BxIhMWETIkFRcYEUkaEIMkLBFSNSsbLRFmJydRgkMzY3Q0RGgpKTosLh8P/EABsBAQACAwEBAAA\n" \
+-" AAAAAAAAAAAAEBQIDBgEH/8QALREAAQMCAwYGAgMAAAAAAAAAAQACAwQREiFRBRMiMUFhMnGBkb\n" \
+-" HRBsEUofD/2gAMAwEAAhEDEQA/AH/RRRREVwXe9W2wwFzbpNZixkc1uqwPQeZ6CoHXevLfom1ds\n" \
+-" 9h6a6D8PGCsFZHMk+CR4n86yzdbrqfaZqYBSnp0hRPZMoG62ynoOSR1Pua8Lg0XPJegX5Jv6k+0\n" \
+-" bBjrWxp22LlkcBIlHs0HqEjiR64peT9umupqyWrhHhpP4WI6eHureNW7Tmw+DGaTI1FJVJdxksM\n" \
+-" qKG09CrmfbFMCHpCw2xATDs8JrH4gykq+Z4mqifbMUZsxpd/QUllK53M2SCb2xa+bXvf0gcV0Uw\n" \
+-" 0R/DVktH2hdUwlpFxjQrg1490tLPuOH0pvv2qE4jdchx1p8lNAj91Va87OtM3RCt+2Nx3Dyci/q\n" \
+-" yPYcD7g1EZ+RR4rSMI9b/S2mhdbhKsmkdtWmNTuNxnXVW2cvgGZRASo+SV8j74PSmOlQUMpORWP\n" \
+-" NU7MrjY0rlQFmdDTxOE4cQOo8R1Hyqe2Z7ZJ2m32bXfHnJVpJCUuqO8uP7+Kenh4eVXkFRFUMxx\n" \
+-" G4UOSN0Zs4LU1FeEOWxOityYzqHWXEhSFoOQoHkQa963rBFFFFERUdfr1E09Y5d1mr3Y8ZsrV5n\n" \
+-" yA6k4A6mpGkL9ojUym0W/TrLmAsGU+AeYBwgfPJ/4RREqrrcb1tJ1oUpBXLmObqUZ7rSByT0SkZ\n" \
+-" J8zk1pHQmiLXo+zpbabC3SAp55Q7zyvM9PIUudiGmURbS7fpCMvzFFton8LSTxx6qH0FM7VV9VY\n" \
+-" 9MzZ7aQt5tASw3+26ohKB/zEVSVFVvZzGMw02tqe/kpbI8LMR6/C/Xxq9QagfbbP+IW1QQ4Rycf\n" \
+-" xncHRAIJ/rEfsmu2a9Fgsl2XIZjtj8bqwgfM1+9L2VFksESAV9o6hG886ebjqjvLWepUSarutdn\n" \
+-" MXV+obRcZks/CwCQ5DKMpeBOTxzwzgA9KwfTtfxPOSB5GQUXc9pOjoC+zXe2HV5xiOC6PmkEfWp\n" \
+-" xe6tAWghSVDIIOQRXxekNOx4b0WPZYLLTram19mwlJKSMHjjNUzQd2dZM7SNxczcLOsttqVzdYz\n" \
+-" 3FewI9iKpK2mjMZdFe7ed9NfT9qZDI4OAd1Vkko50ndoui22kuXq2NBOO9JZSOH9sD9/z86c8gc\n" \
+-" DUJNQlaFJUkKSoYII4EVGoKp9PIHt9e6lyRNlZhcqlsJ2guQpydL3F4mO7kw1KP3Fcyj0PEjrnz\n" \
+-" rSAIIyOVYfvsJ3TGqlCKpTfYuJfjLHMDOR8jw9q2Foy+o1FpWBckY/XMpUoeRxxHsciu/jeJGB7\n" \
+-" eRXPvaWuLT0U/RRRWaxQeVY82x3BVw2oXbJyhgoZR0AQM/UmthK+6fSsWbRQW9pV73x/tZPtwNE\n" \
+-" Wj9Nw0WuwwIKQAGI6G/cAZ+tRW0lx5nTEW4Ntqdat9xjy5CEjJLSFZP5H2qaYdCkpUk5BGQa7Ap\n" \
+-" DrSm3EpWhYKVJUMgg8wRXz+kqyyTG7VXUsV22Clrfc48+CzMiPIejvIC23EHIUDXNe79b7HbXbh\n" \
+-" c5SI8ZvmtZ5nyA5k9BS7d0nfdMPuSdD3JtEZaitdom5Uznx3DzT6cPWkvq/V1611fGW5nZtBCgy\n" \
+-" zFbXhtCycE5JxknxPhXR07RUeB3D11H+9lAfwcxmrrqLbxcHpikWGAw1FScByUkqWvrgEBPpxqi\n" \
+-" ztdXWdqmNqIIjx7gykJUphJCXAM/eBJ5g4PQCmBZNiDKWEu364uF0jJYh4AT6qUDn2FVu6bPIkT\n" \
+-" aTB08xKeMOU2H99eCtKRvZGQMZ7hwceNZxVGzsbmMzIBv5dfNeOjnsCdUwbTtKsV8nJgIccZkqw\n" \
+-" lJcThDqvJJz8s4zUtLVzpc2vZZKt+qBIkyUKt0V0ONKSe+7g5SCPDr9Kv0tznXP1cNMyQfxnXBC\n" \
+-" tqUyuB3gslftPjJLkGWB3u82o/Ij86bf2e7iqRoxyIpWfhpC0JHQ4V/5GlVtJcBt0RPiXif+00w\n" \
+-" Ps5BQtNxP4TJP8Ka6rZZJpW37/Kq68ATlPeiiirBQ0HlWR9t9qVbtpEp/dwiY0h5J8Mgbp/h+ta\n" \
+-" 4pM7fdKLumn2rxGbKn4BKl4HEtn73ywD7GiL7o28JuulLbKCsqLKUL/tJ7p+oqyIe4c6RGyzU4g\n" \
+-" THLNJc3WpCt9gk8A54j3GPcdaZuoosy82V23QpaYpkEIdeIJKUeIAHieXPkTXA11DuassJsCefY\n" \
+-" /SvYZN5FiGZU9edRwLDAXJny2mRukoStQBWQOQHjSjg7PYE7ZmzcZb7cG6KK5CZD6txOCcJQvPg\n" \
+-" QAQfAn2q6RNOWi1D9J3R5dwlR2xmZPVv9mlI8ByTj59ar09Lm0jUIQl5Y0zAUMrQSPiXfHHpyz4\n" \
+-" D1qTRvMQIieQAQXOtllfIDre/X2WqVmI8Qz6D9q0bP9SO37SrSpW8ZUVXw7q+YcKeSgeRyMZ65q\n" \
+-" qammvWTalEv1yjOJtaWfh25CBvBOUkHPlxUeHlyq/MiPCitxorSGWG07qG0DASK45xZlx3GJDaH\n" \
+-" WljCkLGQR6VGinY2ofIG8Lri2gOi37hxYG3zC+uT2HY6ZDbyFMrAUlwK7pB5HNRcp7nxqpzdN3G\n" \
+-" CFQ7NObTa3nApcaSN/suOe4SDw6VK3O4swojsp9WGmxk9fIDrW4UzWkbt2K/v691vjec8YtZUTa\n" \
+-" BL+IuMaIjiWWytXQn/wBD608tgtrVC0W2+tOFSFqd9icD6AVnmFFl6n1AhoAmRPdwcfgR4n2H7q\n" \
+-" 2Ppi1N2exRojaQlKEBIHkAK7Gmi3MTWaLn6iTeSF+qmaKKK3rSiuedEanQ3I7qQpC0kEEZzXRRR\n" \
+-" FjnaRoSVoq/KcYQv9HOr3mHB/qzz3SenhVi0ftAbnNNwLo6G5iQEodUcJd9fJX760ZqLTkHUdsd\n" \
+-" hTWEOtuJwQoVl/XGyS7aakOPwGnJcDORujK0DqPH2qJV0cdUzC/0Oi3QTuhddqY84IuFukwnFFK\n" \
+-" JDSmlEcwFDGR86ISI1tgtQ4jYaYaTuoSP/udJS1azvFoAZLnbsp4dm/klPQHmKs0faVEWkfEw32\n" \
+-" 1f1CFj8q56XZNSwYG5t7fSt46yB5ucimM5L4c643pXWqU5tCteMpRKUfIIH86ipmvnnAUwoQSf2\n" \
+-" 3lZ+g/nWEey5yfCtrquBo8Su0+4sQ46pEp1LTSeZUfoPOlnfr67fZKQlK0QkK/VtficV5nrXOkX\n" \
+-" XUk9KQHp0gnghI7qPyAp1bOdkCmH2rneQHHxxQjHdb9OvWr2j2c2Didm74VZVVplGFuQXRsc2fO\n" \
+-" Qgb1cmsSXQN1JH+TT4D+dPEAAADkK848duMylppISkDGBXrVkoCKKKKIiiqrrbX9m0JARIua1re\n" \
+-" dJDMdoArcI58+AA8zVLsO26RqiS9Gsukpct5lHaKbTLaSrd8wFEZ9s0RN6vGRGZktlDqAoHzFKq\n" \
+-" JtomzrPOuzGjZvwEBRTJfckttpbUOae9jJ5cBk8R514Wrbo7e489+3aTlvtQGTIkqElsdm2Mkq4\n" \
+-" 4zyPKiKf1Hsj09flKdXEQh4/jR3VfMUvJ/2et1ZMOe8keSgFfyqz2LbfJ1M9IZs2kJsx2O0XnEN\n" \
+-" yEAhA4ZwcZ58hxr7ZdtkvUS5SbTo2fJMRsuPkPoSG0jzKsDPPhz4HyoipDewC47+FXFWOjYH51Y\n" \
+-" bTsAgtrSqc88/jwWrA+QxUlYtujupZ6oNo0nLlSUtqdKEyW04SMZOVYHiKjP8ACUt5/wB3pX/XT\n" \
+-" /KiJnWLQ1nsTSURorad39lIFWZKUoThIAHSlNqDbLP0siKu96MnQ0ygSyVyGzvYxnlnB4jga87F\n" \
+-" ttlamXJbs2j50xcZvtXUtyEZCfPB5+gyaIm9RSetm3J68RbhJgaSmPM25vtZaviW09knjxIOM8j\n" \
+-" y8q7LHtzstwv/AOhrlBftkkudkFOLS43v5xgqSeHHx5daImrRX5QtK0hSTkGiiLMP2ho8wa1iSn\n" \
+-" QoxVRQ20fAKClFQ9eIqq7LLJe7vreG7ZZCoZhqD8iZjustjnnwORkY8c+Wa1ZqbStt1PBMa4MId\n" \
+-" Rz7wzg+dL8bEbA1vpa7RtK+CkpdWAfXjRFB7UpCNe6Kdm6NnJft1qluKuUJlvdKznPbYH3hzPXJ\n" \
+-" PMGqZsk/zc2gf3G5/Cumc3sRsTO92Rcb3uB3XVjP1r4jYfYGwoN76QsYUEurGR5HjREudhUt2BP\n" \
+-" 1TMYID0eyuuoJGRvJII+oq96I2iwtVz7rb7ZZWbalyzyJ9wKUjLsrKEkjH4cE8+Jz049bew+wNb\n" \
+-" 3Z76N4YO66sZHlzob2H2Bkktb6CRglLqxkeXOiJZbAv9IMj+7X/wB6ag9lGnEaj17CRJA+BhZmy\n" \
+-" lK+6EI44PQq3R6E06W9h9gZVvNb6FYxlLqwcfOhvYhYWt7s99G8MK3XVjI68aIo7UxgbR9IajhQ\n" \
+-" 7/Du9yiSF3S3tMNrStlkAAt94DPDI4eJFUvYfNetqNYz4xAfjWZx5skZAUnJHD1FMVrYhYWVbzW\n" \
+-" +2ojGUOrBx86EbD7A0FBvfRvDCt11YyPI8aIo23zdP6i2e621TaUJiXCfa1IucFPJt5KVnfHRWS\n" \
+-" euPPNZ2YadfkNsspUp1aglCU8yTyrTSNh9gbCgjfSFjCgl1YyPI8al9PbItP2WamUywkuJ5KOVE\n" \
+-" emeVEVw02ZH9H4YkEqdDYCifE4oqXbaS02lCRhIGBRRF//Z\n" \
++"VERSION:3.0\n" \
++"FN:Yocto Project\n" \
++"URL:http://www.yoctoproject.org/\n" \
++"EMAIL:yocto@yoctoproject.org\n" \
++"TEL;TYPE=VOICE:+00 000 000 0000\n" \
++"ADR;TYPE=HOME:;1720 Beaver Creek;Dam #4;Planet Earth\n" \
++"LABEL:1720 Beaver Creek\\nDam #4\\nPlanet Earth\n" \
++"PHOTO;ENCODING=b:iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pV\n" \
++" UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAFE9JREFUeJztnXmQHNV9xz\n" \
++" +ve86dvU/tanUiCVwRQuaIhSEOMsIiEsbGRtiVGFy4EsdU4bINOICPUtkQHOxgYoiDTVJxCBiwM\n" \
++" CBxBjAlsIUlEQzISAhZN5JW2l3tvbNz9JU/fu/N7CwgVquVmEr194/t7enu97p73vf9zvcbCBEi\n" \
++" RIgQIUKECDH5UB/0DYwXwZv/Mh8AK3ISgBs4AwAR29oCwNwFfQBKLXY/mDucHFgf9A2EKEXZMiT\n" \
++" YdtdUADff+QCA5Q/9BQB+Xk7w9a27vpxP8g0AO9J4IYA64/qOE3m/k4WQIWWGsmJI/q0fn2P+t5\n" \
++" zerwFYDK0ACAgCAMsXRuCLqPDTQ7LvBgogSDY8DODWLvguQOLkv9t6Qm5+khAypMwQfiFlhkmZs\n" \
++" vY/9rOzAXK59EkAEc87BDD9c99cC6CU8t7tumD/PQ0A/uCOHwF4Vm6pOWbnc20AlvIDOTnQF8nU\n" \
++" hJOT3XQ/AK7jyJRWUSXHIw1vAQQV078BEJ1/7f9MwqMed4QMKTNMiCF/uP/ONgC7Y/ODAF52YCE\n" \
++" ArhcBwMIDiMZiLkAsVX8fwClfvfOrALldd5wGYGe6HgRQQfpkABXxi/fjCKkCX6ihtJ6rtFAP8i\n" \
++" Ny3nAfAJ4dk/OiCQBsZSn5vLoXIJ+aezVAxfxvPDCRZz5RCBlSZpgQQzbe+qXzAYLcwAMAgRM0A\n" \
++" UTQ072Sf6JKmo8HWQVgNSc7AU6+YG4AELiZKXITIic8gsL92J5uyzXixzBGbx1tIA73yIMkK2Vr\n" \
++" x/R5cg9KaXU40gCAH2//lOkjsm3WkwB97KoEyOHUA2TTw9J5U0MWwNm5rw9g3tfuzB3lqzpqhAw\n" \
++" pM0QmclE0knIBvOywD+ApB4BAG2u2EmoEnnw+xEAAsODD7S0AuGLMKZRRnYRBRpMCfMMMLTNUIP\n" \
++" vKc0u2WPoaSz+KbeuPPQXge8I+5XeLDAqsX5k+OnK7bwJwe50bAHLZfBWAo9v2DnfK3dnxtQCv3\n" \
++" vH1WwB2TPnoWoDLLrvsXbXHY0HIkDLDhBhizzx1J4C7tXcYQAVOC4CtRYAVyKh2/DQA886ZoQAS\n" \
++" VVGgaEqosTJsFEOUN8aJyNjB6JdeY+mxFZQ2qSwtQzw50c4eSJhjUW/wHwF275O+UpX1Its0w72\n" \
++" 88eSPLAZwoiMfAWj1131aH3iOSUbIkDLDhBhy2me/vB9gw21XPQQQH8zcAOArmdADJ6MApp5SB0\n" \
++" D1lKqS6wtjODBGuLYt/FGxJSM7fDNmglF/QRkfo2aORel5Zlvsy9NMKfbR0CLXJPZIG44n51hKP\n" \
++" ncLfcp+3sknALxMunbsO5kshAwpM0yIIQaLrr3rRoD1t15ZB5AY6vx7gGhKRlxNe61oOLYto1Nf\n" \
++" F2hmKE/LBTNqNVNglP3hyvyuCtfIvm/cYyqpt7Y+T2t8Y5lSuqsvEf60z4gD8MarYvVX1WibRZ/\n" \
++" saHnlqOQWgFjDzFfe+60cG0KGlBkmNUC1/t9XngfQ1nTg1wDTZ9jizS3M23p4+qZz3X1ExoWy7E\n" \
++" JbgXHyau1JG/0of0xbuo3A1Z97pZZ9gX3umC2gHQRkhrIAvLxeLHTbEoYYZntWbBjAr5t6HcDHr\n" \
++" 73950d4DceEkCFlhmOSIWOx6LwqmYyzNdUAXrav5LiypTsVE39TwYYwE7w3yg7Rmo7RtgjMyDfX\n" \
++" 2HrP7BsmGc1IU8pY8rbpsiinDItiCfEU19aLzdLZKYxJVNbtAnAq638CcMFxZIZByJAyw6TIkGD\n" \
++" vc7MBvM5nNgCoYKAJINDD1dIeVxPLANGEKPirHNPSqEaNvDHMUKVbY5nbhimaIfq4r4IxVwW6uV\n" \
++" EWvyf3Y2lZ0tNrdQFs3hb7KYCTaH4U4IJrb3/j/d7BZCFkSJlhUmRILuckAGKD2SYAnAwAFmL5Z\n" \
++" jKZACCTFgs+OyzHs3kJLzg62S2fLxLW08ywtWyIxuRYLCG3XBGXbVV1BQCpSn2tlhWWHdVPKGIt\n" \
++" MHZKiSEibfiabTXNElP5y2mNjwGoj9xywphhEDKkzDApDEnMW/YmQG7DDyS2PsBXAF7dsPNigDe\n" \
++" 27msDCIzfyZZRa+mRGTExjFESzVKxkj6M1Vzwe3nCMiffr9uQ4w3V0nZzszTWWC99NDbK6E9WJg\n" \
++" ttqmhC7I7KavFhxWqbAdxI5ZSjfQeThZAhZYbwCykzTKphGF904yb971UAv1l5hQPQ3uZdLZ1Jt\n" \
++" KngXNT+EEuZgFVxfPgFhdUIYatkz1zrG/VYq7M5TxSFvQdlf9N22R/JSDi2rqo4L86cJprAwvl2\n" \
++" L0BFW634VWKRD2yNSciQMsOkMsRg67rVVQDD69acBoCq1u73Uoeg75e6Q7xRrhO/4IfUzsPRHg+\n" \
++" KLDNX+JackNTqbjwqR6qrdLBJG6X5UQGq/f362r2V1wF8tL71fwFinTM+sIz5kCFlhuPCkNxbW2\n" \
++" YAJOxYG0CvttYefWUnAGfOqAfg9FbZ5rXj0LOL87uvKeIaEVHIudYukDHnKW34YRtnozxajzZCa\n" \
++" 5Ki7laM0qar4non0ZoBiC/95uaJPO9kImRImeG4MCTiZWYDxJORaQDPbpTlfvslK4hUp4zas2bK\n" \
++" fB9xSmULFI1EIzsK3nhvjLNRlTLH4M2DAwA8sWk/AOd9qA2AD0+rL56kU4yi5C/Wnzw47oc8Tgg\n" \
++" ZUmY4LgyxLW8ugB94cYADg7mSlFETNIpoGng6dBtRxfHhaoejju7iGQYYd3spIQpamQlodQ8KC1\n" \
++" 0tW/b3yf6HWopaVkVSZIibHT7l6J/y+CBkSJlhUhnyp6eeigPk9v52FkBUB6C0x5z+rIze2Y2SO\n" \
++" KfGWOyj00BNwoMJapnAk9L6lTVG7JgosGFKbUq0Ks+X5QoZR6/a9YoGja95FnhOJUAQBDF9P/mj\n" \
++" ffbJQsiQMsOkMiTa2akA0k5OfOCOhGaXzW8HoCct+6e31wCQ0dpVXssLNdr/ruVJoBliZIrJB1K\n" \
++" 2DtkWBrz8Y3Sw2U3Cwnk66NSiA1mxaHEMKl8CaK4nnW1/+j6TiB0yJIRgUhmyZ+ZMF6Byy5ZuKO\n" \
++" akTauS+Xx6jWzNqDbmhxfIuOjuOlxoK1mRAqD5zLMBmDp/AQAdL64FYHDPdgBc7ZuKxoWURitLa\n" \
++" at/+fxpQHHkGc8ygGuqQyjlAsxbdvngBB6bTZs2tANYFfE5APPnLPyDOaaUGjqatkKGlBkmlSGL\n" \
++" F0utqg0/ve4FAKWiVwPkA6cKIHB8naqpSuIiRvNpbGgotGVkQVWrRFNrpk4H4GC7bL0dkn8QT1S\n" \
++" U3oRxZWkZFLeMbFHvcAd4nvwfj9dMaKn0s8/ffzHAa5s2rgF4fNUaABoaG3abc35868rLAK65/n\n" \
++" vjStAOGVJmOC7VgFYGIhTO/+dr7gDIDXd+CSDieUmASCFzuvQu7FFtFOZ8bU3bKdHMRgYlPTWql\n" \
++" 5sZJcvEO4yZkdNZEb5ehOPp4zkVKdj4qqLuBYDPfu/ujx/N8z3x9H2fkrbdVQB73z4YA3ju8acD\n" \
++" gP7unsJ7bZnSlgGYffKsCwFuve3u3x6p7ZAhZYYTUi9rzc1f/i5A98G3vw9Qoxf3VyVFhMULDqv\n" \
++" Rlrp8ZhVSQsdEG8fE1M3WK0QG5eysF+QAPMt+HcCJVj5i+vibW/7zNnjv4jjveI41v1gE4OFLTS\n" \
++" 7sNgBli99goH9QATy3+qkCC/ds26kAmqc0DwEsXXrRJQBXX3f98+/WR8iQMsNx8fYaGN/QvXddd\n" \
++" T7Azr1iAO/auQcA1xGpYevRPm9mMYktEZNYSTIqW9ss3DFMcOUaNyeDeyAt+4Pa+LF04kheW//1\n" \
++" 7W3bASJnT/9X08d4mfHLX981FyDvuqKNRWyd+Ie+F6F2MiUa3+KLLixQ/Yn06gBgsKurCuB3v3v\n" \
++" uh/rQGe/WV8iQMkP4hZQZjotQf+WXP28EcBP+zwCG4sGnAQb6hy2A7l1bFcCiOgmvbu8Wj8Xat4\n" \
++" vFdmrrqgFIJHX1B1MVVmc9ZLK6jsqQTINbtsv+nsOy/cxZcn0kIVpBqqVOAbTHpz1m+vjKd/6tU\n" \
++" Bno3fDoow9MA3C9YUkAjFp1UHT1eDrDIghMtQh94SgnaW5EVmP96r/ulRXJmXwHwA/vuvN0gIUL\n" \
++" z+ka3WfIkDLDMTHk9f++NgUQT0eaAEac3JUAvV2Hvg6wr3egGmD3iIzqs5b/FQCREUnrPCsiAy+\n" \
++" bl1F0y7qBQttVzbLUpLJCC/WoKACONghHRoQJ+3d1A9CxR5gyNCLH/3yOFB46c34rANs6DwYAFf\n" \
++" 3FRSgNze1vAcSTkRsAalMtUrZ8SnsGwG+s3ghgRW0p6myq22nXj6etUM8kXhgaB6MWoUTFy9nXI\n" \
++" UR45uHHfgTw9Avr/+GdbzRkSNlhQmrvlv/49gyA6NDw7QD5bN8lAP6weJrNiLeaWgKAzte3K4C8\n" \
++" /v47B2UARdNSN3HJKcKCl94qEna7Tua0IibZQa6Ja89HhTYYG4fkeI1OfqhNySO98baEbrd3Sr5\n" \
++" odVRmgznVscLojXXvPwUgn0isBhipEpbVTm0GQNutONoLalnWEWeUIChlEICn1fDmltbV8N7MMA\n" \
++" gZUmYYN0N2r/1Foc5Udstr3wIg138JQKATCNxAhrEKZCQ5VlIBXLrkPACaDu0DYOfmHQAMW5I5F\n" \
++" 3xY5vmVFxb7+/4a0bjmatnRpjPmDudlgL+o5VKVzmqoTsjxXp1CGtGGpakE0ZeTezw0VJQhlQlp\n" \
++" O6mrGFHfqAA2bJT40vwzTpf7ntqqQ7263uOYFKRgTOZ3aWK49RiAW2t9gXEgZEiZYdwM6d38ZiE\n" \
++" HM54fOgPAz4umk8nLMM27kpvpOTJENq2XmExSj5zzW8S1UN8j2lTPdAm7Zl4TO2T+1mII958qpI\n" \
++" 2WKaJtDc+eAUDt1l0A/G1C2KUCGfmNmkkHtUP+qRHZf13HiWt0FQl3OF3ow6/XNX4rErJaWAe79\n" \
++" u4Q+2jX9r0AXHL5ZdJ3kwTQXLO+PijZoHSuUhCo9aYP2/a/CnDF0iuKHR8BIUPKDOPXspLFUGkm\n" \
++" I3Oun5XRmdajMK0ZM5AVbaVrUOTAqoyMqFPrJCUn1yo2wut/Et28tUOOVwcFMUWtkS/aYu8+YxE\n" \
++" ATXtEDjVrmRBTIitSMWHEbJ1gl9d1fdf3y3k9SNtWtugNmK3lj601obgenhVVcp993aKprb53FQ\n" \
++" CXXiliIFktCRieXmFkGdPcsg4CpJI115s+VnxyxdscBUKGlBnGzZDTTzqv4HN5qXfViwBZV50JM\n" \
++" JyRytWDOWHI7l5JbN6ake97d81skTE1LQrg2ks/BsCT9z0NwOY+sbaXnrug0N+da34PwEU7JGQ7\n" \
++" c794vndoP9Kd/RLSnabXoX9xkSTjPfuaeAEe7hdZslWZer5yXrKY7MD2nhEFUF8hsizWI9b8SXO\n" \
++" mK4BX+6RvNysOtGdWP6kAPnHJ8gAgkUpqH5bqArDtxOcBVnxyxe/e80W+D0KGlBnGzRC1uPhzdC\n" \
++" /+9Ns/ARgeGJgG0DGUXQLQPTB8AGBzt5SuPhhtOB3Ar2tIAGw4JMx5/hWxQ7py0v36PgnpLpozt\n" \
++" 9Df7mYZ6Vcf0rlrGZMYYcK+woAfzJH9tC+y5O4D0lZXXIJdkZSMfs/8RFIuU7BDtg1k0gDVKacX\n" \
++" gM7N0wDmnHlmL8CfLZwfA/jjy5sqAboPCINeenatAjh36ZJBgGgscTnAFy79whETGMaDkCFlhmP\n" \
++" y9r696rYkwM+fWf95gG279n8OoLM/PRWgI8fJAJ2pKVGAkXpJeivQUntLnRHRqM6e11Zoe5tekt\n" \
++" aTLy0uYIziuOQusETcTgxpL/Dve6T1IKK3+gnjfQcBaBop2jqtFXZeN5oGUL5bBzB9SuPNABd/8\n" \
++" Yu/AXjt5ZcfAXjzj3+sB1BW0AfwieUXXQnwtWu+s2Ycr2tcCBlSZjgmhtz07etOAtj86saNAE5m\n" \
++" pBYgl3ctAE/n6gxlZUnbznxKAfQ0zAIgSIhtYGr0Wn7RSRQoPefrytaB+XUEnSJqKlmbKkAmLcj\n" \
++" Tn1s6CTvZK3bL9LyIicZUtNCJrbMrzHK5vF4EWlFVGQC0z5p1GsA55yw+AOA72cUA6ezwawDXXH\n" \
++" PjrqN4XeNCyJAywzEx5IpPffwJAC+fWwaQ1dZzoNtNZyUuMqLj33kdD+90RfM5VK1/TiQqlq/yi\n" \
++" pE2W7mOfOZmAGxNEU9XCAgsKwngWzrrzpKN0nHu6NBBBTAzIzZOoy6YGo0Ux2ChrKPeutpGsXW9\n" \
++" 3qbW1ucBVj365JKjfzsTQ8iQMsOEIobf+PJfnwrQsXf3qQC5jKhCvv6Vm5z2ablBacVqSy8NaLI\n" \
++" kUhjpk/m9XzPEihfrXiz72MduBVix5NyHAJYtW9YF8MILLzQB/OSBxy8C2LZ330UAnQNDCwGC9E\n" \
++" AKoCUv2lS9DvtFDDPUaIYYQhbctvIcOu6RT4+ce3Rv5tgRMqTMEH4hZYYJTVmeE9QA+L5UqjSra\n" \
++" ANLV/XxSjPSi9+7WW0rbo5qW85PepL1oLLFckCnpOxfASxfvnzLmO479XYzwLp16x4C+Ob1Nz4C\n" \
++" MJTvWQCQiprqQDpLXt+Tskb9JIapYl5YA19aN8Vx8/H3exeTjZAhZYYJMSTrcxgg70uBw+IaDTn\n" \
++" ujd2aWldarTSV5Fy9TtwPxECrb6j9jenj+ptuehPghptvPuK9ZLq6+gHswBUdW7PQ9WSs2VrVDm\n" \
++" zzG0klY1BSQY2DZUxloVi8YkKrco8FIUPKDBNiyJeuurwD4I5bbt8IMJLubgfIZXMWjKqXaKrCm\n" \
++" a1ZuK5LNtTU1h8GaG+fthLg/oceusv0oVQxkHQkXPCZz/QA3HPPPSsAnn7y8SsBeroOnwtg4y8A\n" \
++" yOez8qORjluQC+YHJH1fll1F7UgOIJlK7gOYPmvubXLmpP863nsiZEiZYVKWI6xc+a2FAHv/tP1\n" \
++" cgM7OzmqAwLdaARzP6QCobajrA5gza+5LALfefuJ+BsKgt7d3xtjP6urqxP2u1OF3XnFiETIkRI\n" \
++" gQIUKE+H+C/wMGX8Ias1s6CQAAAABJRU5ErkJggg==\n" \
+ "END:VCARD"
+-- 
+1.8.3.2
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-configure-Fix-libical-pkg-config-trying-to-use-host-.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-configure-Fix-libical-pkg-config-trying-to-use-host-.patch
deleted file mode 100644
index 1383347..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-configure-Fix-libical-pkg-config-trying-to-use-host-.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 2c73b588b9018cb59c666eae3a15fa1af42c56be Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 4 Aug 2013 10:57:08 +0200
-Subject: [PATCH 4/5] configure: Fix libical pkg-config trying to use host
- paths
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- calendar/libecal/libecal.pc.in | 2 +-
- configure.ac                   | 3 ++-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/calendar/libecal/libecal.pc.in b/calendar/libecal/libecal.pc.in
-index fc6b359..d3435bb 100644
---- a/calendar/libecal/libecal.pc.in
-+++ b/calendar/libecal/libecal.pc.in
-@@ -12,4 +12,4 @@ Description: Client library for evolution calendars
- Version: @VERSION@
- Requires: libical >= @LIBICAL_REQUIRED@ libedataserver-1.2 gio-2.0
- Libs: -L${libdir} -lecal-1.2
--Cflags: -I${privincludedir} @LIBICAL_EXTRA_CFLAGS@
-+Cflags: -I${privincludedir}
-diff --git a/configure.ac b/configure.ac
-index 1c802ff..f1d4ce8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1351,7 +1351,8 @@ dnl to differentiate between <libical/ical.h> and <ical.h>
- dnl We have fixed all our instances to use <libical/ical.h>. Until the .pc from
- dnl libical is fixed, we have to work-around the buggy CFlags.
- dnl *****
--	LIBICAL_EXTRA_CFLAGS=" -I`$PKG_CONFIG --variable=includedir libical` "
-+	m4_pattern_allow([^PKG_CONFIG_SYSROOT_DIR$])
-+	LIBICAL_EXTRA_CFLAGS=" -I$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=includedir libical` "
- 	LIBICAL_EXTRA_LIBS=""
- 	AC_SUBST(LIBICAL_EXTRA_CFLAGS)
- 	AC_SUBST(LIBICAL_EXTRA_LIBS)
--- 
-1.8.3.2
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0005-soup-adapt-to-new-libxml2-API-from-2.9.0.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0005-soup-adapt-to-new-libxml2-API-from-2.9.0.patch
deleted file mode 100644
index addf2ee..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0005-soup-adapt-to-new-libxml2-API-from-2.9.0.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From ac95e89749a01618f98b554a98e78d7c988bfc10 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 27 Nov 2012 08:46:51 +0100
-Subject: [PATCH 5/5] soup: adapt to new libxml2 API from 2.9.0
-
-* for more info see
-  https://mail.gnome.org/archives/xml/2012-August/msg00005.html
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- calendar/backends/caldav/e-cal-backend-caldav.c | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-diff --git a/calendar/backends/caldav/e-cal-backend-caldav.c b/calendar/backends/caldav/e-cal-backend-caldav.c
-index 12f8f22..5555a3e 100644
---- a/calendar/backends/caldav/e-cal-backend-caldav.c
-+++ b/calendar/backends/caldav/e-cal-backend-caldav.c
-@@ -1172,8 +1172,13 @@ check_calendar_changed_on_server (ECalBackendCalDAV *cbdav)
- 	soup_message_set_request (message,
- 				  "application/xml",
- 				  SOUP_MEMORY_COPY,
-+#ifdef LIBXML2_NEW_BUFFER
-+				  (gchar *) xmlOutputBufferGetContent(buf),
-+				  xmlOutputBufferGetSize(buf));
-+#else
- 				  (gchar *) buf->buffer->content,
- 				  buf->buffer->use);
-+#endif
- 
- 	/* Send the request now */
- 	send_and_handle_redirection (priv->session, message, NULL);
-@@ -1321,8 +1326,13 @@ caldav_server_list_objects (ECalBackendCalDAV *cbdav,
- 	soup_message_set_request (message,
- 				  "application/xml",
- 				  SOUP_MEMORY_COPY,
-+#ifdef LIBXML2_NEW_BUFFER
-+				  (gchar *) xmlOutputBufferGetContent(buf),
-+				  xmlOutputBufferGetSize(buf));
-+#else
- 				  (gchar *) buf->buffer->content,
- 				  buf->buffer->use);
-+#endif
- 
- 	/* Send the request now */
- 	send_and_handle_redirection (priv->session, message, NULL);
-@@ -1715,8 +1725,14 @@ caldav_receive_schedule_outbox_url (ECalBackendCalDAV *cbdav)
- 	soup_message_set_request (message,
- 				  "application/xml",
- 				  SOUP_MEMORY_COPY,
-+#ifdef LIBXML2_NEW_BUFFER
-+				  (gchar *) xmlOutputBufferGetContent(buf),
-+				  xmlOutputBufferGetSize(buf));
-+#else
- 				  (gchar *) buf->buffer->content,
- 				  buf->buffer->use);
-+#endif
-+
- 
- 	/* Send the request now */
- 	send_and_handle_redirection (priv->session, message, NULL);
-@@ -1765,8 +1781,13 @@ caldav_receive_schedule_outbox_url (ECalBackendCalDAV *cbdav)
- 		soup_message_set_request (message,
- 				  "application/xml",
- 				  SOUP_MEMORY_COPY,
-+#ifdef LIBXML2_NEW_BUFFER
-+				  (gchar *) xmlOutputBufferGetContent(buf),
-+				  xmlOutputBufferGetSize(buf));
-+#else
- 				  (gchar *) buf->buffer->content,
- 				  buf->buffer->use);
-+#endif
- 
- 		/* Send the request now */
- 		send_and_handle_redirection (priv->session, message, NULL);
--- 
-1.8.3.2
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0006-configure.ac-do-not-overwrite-localedir.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0006-configure.ac-do-not-overwrite-localedir.patch
deleted file mode 100644
index 741e5e9..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0006-configure.ac-do-not-overwrite-localedir.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 3feaea8e84b3ad8dc2d551e42224f3b4a9413e7d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 3 Sep 2015 11:14:24 +0200
-Subject: [PATCH] configure.ac: do not overwrite localedir
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Backport [1]
-
-[1] https://git.gnome.org/browse/evolution-data-server/tree/configure.ac#n298
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index f1d4ce8..cee847f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -257,9 +257,6 @@ GETTEXT_PACKAGE=evolution-data-server-$BASE_VERSION
- AC_SUBST(GETTEXT_PACKAGE)
- AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
- 
--localedir='$(prefix)/$(DATADIRNAME)/locale'
--AC_SUBST(localedir)
--
- dnl ******************************
- dnl Initialize libtool
- dnl ******************************
--- 
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.3.bb
new file mode 100644
index 0000000..2303b8f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.3.bb
@@ -0,0 +1,130 @@
+SUMMARY = "Evolution database backend server"
+HOMEPAGE = "http://www.gnome.org/projects/evolution/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
+                    file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \
+                    file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543 \
+                    file://src/calendar/libecal/e-cal.h;endline=24;md5=e699ec3866f73f129f7a4ffffdcfc196"
+
+DEPENDS = " \
+    intltool-native gperf-native \
+    glib-2.0 gtk+3 gconf libgnome-keyring libgdata \
+    dbus db virtual/libiconv zlib libsoup-2.4 libical nss libsecret \
+"
+
+inherit distro_features_check gnomebase cmake gtk-doc gettext gobject-introspection perlnative pythonnative
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += " \
+    file://0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch \
+    file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \
+    file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \
+    file://iconv-detect.h \
+"
+SRC_URI[archive.md5sum] = "568a21a4df4e0ec985c849b38fc66908"
+SRC_URI[archive.sha256sum] = "63b1ae5f76be818862f455bf841b5ebb1ec3e1f4df6d3a16dc2be348b7e0a1c5"
+
+LKSTRFTIME = "HAVE_LKSTRFTIME=ON"
+LKSTRFTIME_libc-musl = "HAVE_LKSTRFTIME=OFF"
+
+EXTRA_OECMAKE = " \
+    -DWITH_KRB5=OFF \
+    -DENABLE_GOA=OFF \
+    -DENABLE_UOA=OFF \
+    -DENABLE_GOOGLE_AUTH=OFF \
+    -DENABLE_WEATHER=OFF \
+    -D${LKSTRFTIME} \
+"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap"
+
+EXTRA_OECONF = "--with-libdb=${STAGING_DIR_HOST}${prefix} \
+                --disable-nntp --disable-gtk-doc"
+
+# -ldb needs this on some platforms
+LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
+
+do_configure_append () {
+    cp ${WORKDIR}/iconv-detect.h ${S}/src
+
+    # fix native perl shebang
+    sed -i 's:${STAGING_BINDIR_NATIVE}/perl-native:${bindir}:' ${B}/src/tools/addressbook-export/csv2vcard
+}
+
+do_compile_prepend() {
+    export GIR_EXTRA_LIBS_PATH="${B}/camel/.libs:${B}/libedataserver/.libs"
+}
+
+
+PACKAGES =+ "libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
+             libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
+             libedataserver libedataserver-dev \
+             libedataserverui libedataserverui-dev"
+
+FILES_${PN} =+ "${systemd_user_unitdir} \
+                ${datadir}/dbus-1 \
+                ${datadir}/evolution-data-server-*/ui/"
+RDEPENDS_${PN} += "perl"
+
+FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc"
+FILES_${PN}-dbg =+ "${libdir}/evolution-data-server*/camel-providers/.debug \
+                    ${libdir}/evolution-data-server*/calendar-backends/.debug \
+                    ${libdir}/evolution-data-server*/addressbook-backends/.debug \
+                    ${libdir}/evolution-data-server*/extensions/.debug/"
+
+RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
+
+FILES_libcamel = "${libdir}/libcamel-*.so.* \
+                  ${libdir}/libcamel-provider-*.so.* \
+                  ${libdir}/evolution-data-server*/camel-providers/*.so \
+                  ${libdir}/evolution-data-server*/camel-providers/*.urls"
+FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
+                      ${libdir}/pkgconfig/camel*pc \
+                      ${libdir}/evolution-data-server*/camel-providers/*.la \
+                      ${includedir}/evolution-data-server*/camel"
+
+FILES_libebook = "${libdir}/libebook-*.so.*"
+FILES_libebook-dev = "${libdir}/libebook-1.2.so \
+                      ${libdir}/pkgconfig/libebook-*.pc \
+                      ${includedir}/evolution-data-server*/libebook/*.h"
+RRECOMMENDS_libebook = "libedata-book"
+
+FILES_libecal = "${libdir}/libecal-*.so.* \
+                 ${datadir}/evolution-data-server-1.4/zoneinfo"
+FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc \
+                     ${includedir}/evolution-data-server*/libecal/*.h \
+                     ${includedir}/evolution-data-server*/libical/*.h"
+RRECOMMENDS_libecal = "libedata-cal tzdata"
+
+FILES_libedata-book = "${libexecdir}/e-addressbook-factory \
+                       ${datadir}/dbus-1/services/*.AddressBook.service \
+                       ${libdir}/libedata-book-*.so.* \
+                       ${libdir}/evolution-data-server-*/extensions/libebook*.so \
+                       ${datadir}/evolution-data-server-1.4/weather/Locations.xml"
+FILES_libedata-book-dev = "${libdir}/libedata-book-*.so \
+                           ${libdir}/pkgconfig/libedata-book-*.pc \
+                           ${libdir}/evolution-data-server-*/extensions/libebook*.la \
+                           ${includedir}/evolution-data-server-*/libedata-book"
+
+FILES_libedata-cal = "${libexecdir}/e-calendar-factory \
+                      ${datadir}/dbus-1/services/*.Calendar.service \
+                      ${libdir}/libedata-cal-*.so.* \
+                      ${libdir}/evolution-data-server-*/extensions/libecal*.so"
+FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
+                          ${libdir}/pkgconfig/libedata-cal-*.pc \
+                          ${includedir}/evolution-data-server-*/libedata-cal \
+                          ${libdir}/evolution-data-server-*/extensions/libecal*.la"
+
+FILES_libedataserver = "${libdir}/libedataserver-*.so.*"
+FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
+                            ${libdir}/pkgconfig/libedataserver-*.pc \
+                            ${includedir}/evolution-data-server-*/libedataserver/*.h"
+
+FILES_libedataserverui = "${libdir}/libedataserverui-*.so.* ${datadir}/evolution-data-server-1.4/glade/*.glade"
+FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
+                              ${libdir}/pkgconfig/libedataserverui-*.pc \
+                              ${includedir}/evolution-data-server-*/libedataserverui/*.h"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb
deleted file mode 100644
index aadc4b5..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb
+++ /dev/null
@@ -1,116 +0,0 @@
-SUMMARY = "Evolution database backend server"
-HOMEPAGE = "http://www.gnome.org/projects/evolution/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2 & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
-                    file://camel/camel.h;endline=24;md5=b02175c88f821224746b347a89731a2b \
-                    file://libedataserver/e-data-server-util.h;endline=20;md5=934502f03c84523aa059d4825887b380 \
-                    file://calendar/libecal/e-cal.h;endline=24;md5=5d496b9b6fd2a4fdbbfc31ef9455c9d0"
-
-DEPENDS = "intltool-native glib-2.0 gtk+3 gconf dbus db virtual/libiconv zlib libsoup-2.4 libglade libical libgnome-keyring gperf-native libgdata nss"
-
-SRCREV = "a9e4e74ec4473a4fd09e56b690bd4fa72f686687"
-
-# 3.4 series needs libgdata-0.10*, 3.8 series needs also libsecret instead of gnome-keyring
-PV = "3.2.3+git${SRCPV}"
-
-SRC_URI = "git://git.gnome.org/evolution-data-server;branch=gnome-3-2 \
-           file://0001-contact-Replace-the-Novell-sample-contact-with-somet.patch \
-           file://0002-Fix-for-automake-1.12.x.patch \
-           file://0003-Disable-Werror-for-automake.patch \
-           file://0004-configure-Fix-libical-pkg-config-trying-to-use-host-.patch \
-           file://0005-soup-adapt-to-new-libxml2-API-from-2.9.0.patch \
-           file://0006-configure.ac-do-not-overwrite-localedir.patch \
-           file://iconv-detect.h \
-           file://0001-imapx-Fix-signature-for-imapx_tokenise_struct.patch \
-           "
-
-S = "${WORKDIR}/git"
-
-inherit autotools gtk-doc pkgconfig gettext gobject-introspection
-
-# -ldb needs this on some platforms
-LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
-
-# Parallel make shows many issues with this source code.
-# Current problems seem to be duplicate execution of the calander/backends
-# directories by make resulting in truncated/corrupt .la files
-#PARALLEL_MAKE = ""
-
-do_configure_append () {
-    cp ${WORKDIR}/iconv-detect.h ${S}
-}
-
-do_compile_prepend() {
-        export GIR_EXTRA_LIBS_PATH="${B}/camel/.libs:${B}/libedataserver/.libs"
-}
-
-EXTRA_OECONF = "--without-openldap \
-                --with-libdb=${STAGING_DIR_HOST}${prefix} \
-                --disable-nntp --disable-goa --disable-weather --disable-gtk-doc"
-
-PACKAGES =+ "libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
-             libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
-             libedataserver libedataserver-dev \
-             libedataserverui libedataserverui-dev"
-
-FILES_${PN} =+ "${datadir}/evolution-data-server-*/ui/"
-FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc"
-FILES_${PN}-dbg =+ "${libdir}/evolution-data-server*/camel-providers/.debug \
-                    ${libdir}/evolution-data-server*/calendar-backends/.debug \
-                    ${libdir}/evolution-data-server*/addressbook-backends/.debug \
-                    ${libdir}/evolution-data-server*/extensions/.debug/"
-
-RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
-
-FILES_libcamel = "${libdir}/libcamel-*.so.* \
-                  ${libdir}/libcamel-provider-*.so.* \
-                  ${libdir}/evolution-data-server*/camel-providers/*.so \
-                  ${libdir}/evolution-data-server*/camel-providers/*.urls"
-FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
-                      ${libdir}/pkgconfig/camel*pc \
-                      ${libdir}/evolution-data-server*/camel-providers/*.la \
-                      ${includedir}/evolution-data-server*/camel"
-
-FILES_libebook = "${libdir}/libebook-*.so.*"
-FILES_libebook-dev = "${libdir}/libebook-1.2.so \
-                      ${libdir}/pkgconfig/libebook-*.pc \
-                      ${includedir}/evolution-data-server*/libebook/*.h"
-RRECOMMENDS_libebook = "libedata-book"
-
-FILES_libecal = "${libdir}/libecal-*.so.* \
-                 ${datadir}/evolution-data-server-1.4/zoneinfo"
-FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc \
-                     ${includedir}/evolution-data-server*/libecal/*.h \
-                     ${includedir}/evolution-data-server*/libical/*.h"
-RRECOMMENDS_libecal = "libedata-cal tzdata"
-
-FILES_libedata-book = "${libexecdir}/e-addressbook-factory \
-                       ${datadir}/dbus-1/services/*.AddressBook.service \
-                       ${libdir}/libedata-book-*.so.* \
-                       ${libdir}/evolution-data-server-*/extensions/libebook*.so \
-                       ${datadir}/evolution-data-server-1.4/weather/Locations.xml"
-FILES_libedata-book-dev = "${libdir}/libedata-book-*.so \
-                           ${libdir}/pkgconfig/libedata-book-*.pc \
-                           ${libdir}/evolution-data-server-*/extensions/libebook*.la \
-                           ${includedir}/evolution-data-server-*/libedata-book"
-
-FILES_libedata-cal = "${libexecdir}/e-calendar-factory \
-                      ${datadir}/dbus-1/services/*.Calendar.service \
-                      ${libdir}/libedata-cal-*.so.* \
-                      ${libdir}/evolution-data-server-*/extensions/libecal*.so"
-FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
-                          ${libdir}/pkgconfig/libedata-cal-*.pc \
-                          ${includedir}/evolution-data-server-*/libedata-cal \
-                          ${libdir}/evolution-data-server-*/extensions/libecal*.la"
-
-FILES_libedataserver = "${libdir}/libedataserver-*.so.*"
-FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
-                            ${libdir}/pkgconfig/libedataserver-*.pc \
-                            ${includedir}/evolution-data-server-*/libedataserver/*.h"
-
-FILES_libedataserverui = "${libdir}/libedataserverui-*.so.* ${datadir}/evolution-data-server-1.4/glade/*.glade"
-FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
-                              ${libdir}/pkgconfig/libedataserverui-*.pc \
-                              ${includedir}/evolution-data-server-*/libedataserverui/*.h"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb
index 78a9495..c7ecf2b 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.24.0.bb
@@ -7,6 +7,8 @@
 
 inherit gnome pkgconfig gtk-icon-cache gsettings gobject-introspection distro_features_check systemd
 
+REQUIRED_DISTRO_FEATURES = "x11"
+
 SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
            file://0001-help-remove-YELP-macro.patch \
            file://0001-Add-format-attribute-to-_synctex_malloc.patch \
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/%gconf-tree.xml b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/%gconf-tree.xml
deleted file mode 100644
index f8c2e9c..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/%gconf-tree.xml
+++ /dev/null
@@ -1,492 +0,0 @@
-<?xml version="1.0"?>
-<gconf>
-        <dir name="desktop">
-                <dir name="gnome">
-                        <dir name="url-handlers">
-                                <dir name="ymsgr">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="xmpp">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="webcal">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="uvox">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="trash">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="sip">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="rtsp">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="rtp">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="pnm">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="note">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="net">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="msnim">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="mmsh">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="mms">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="man">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="mailto">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="lastfm">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="itpc">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="itms">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="irc">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="info">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="icyx">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="icy">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="icq">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="https">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="http">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="h323">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="ghelp">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="gg">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="ftp">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="file">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="feed">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="cdda">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="callto">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="aim">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                                <dir name="about">
-                                        <entry name="command" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                        </dir>
-                        <dir name="lockdown">
-                                <entry name="disable_url_handlers" mtime="1227173197" type="bool" value="true">
-                                </entry>
-                                <entry name="disable_save_to_disk" mtime="1227173197" type="bool" value="true">
-                                </entry>
-                                <entry name="disable_print_setup" mtime="1227173197" type="bool" value="true">
-                                </entry>
-                                <entry name="disable_printing" mtime="1227173197" type="bool" value="true">
-                                </entry>
-                                <entry name="disable_lock_screen" mtime="1227173197" type="bool" value="true">
-                                </entry>
-                                <entry name="disable_command_line" mtime="1227173197" type="bool" value="true">
-                                </entry>
-                        </dir>
-                        <dir name="applications">
-                                <dir name="terminal">
-                                        <entry name="exec" mtime="1227173197" type="string">
-                                                <stringvalue>/bin/true</stringvalue>
-                                        </entry>
-                                </dir>
-                        </dir>
-                        <dir name="accessibility">
-                                <dir name="keyboard">
-                                        <entry name="enable" mtime="1227173197" type="bool" value="true">
-                                        </entry>
-                                </dir>
-                        </dir>
-                </dir>
-        </dir>
-        <dir name="apps">
-                <dir name="gnome_settings_daemon">
-                        <dir name="keybindings">
-                                <entry name="www" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="stop" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="sleep" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="search" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="screensaver" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="previous" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="power" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="play" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="pause" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="next" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="media" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="home" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="help" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="email" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="calculator" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                                <entry name="eject" mtime="1227173197" type="string">
-                                        <stringvalue></stringvalue>
-                                </entry>
-                        </dir>
-                </dir>
-                <dir name="metacity">
-                        <dir name="keybinding_commands">
-                                <entry name="command_window_screenshot" mtime="1227173197" type="string">
-                                        <stringvalue>/bin/true</stringvalue>
-                                </entry>
-                                <entry name="command_screenshot" mtime="1227173197" type="string">
-                                        <stringvalue>gdm-screenshot</stringvalue>
-                                </entry>
-                        </dir>
-                        <dir name="global_keybindings">
-                                <entry name="switch_to_workspace_up" mtime="1227173197" type="string">
-                                        <stringvalue>disabled</stringvalue>
-                                </entry>
-                                <entry name="switch_to_workspace_right" mtime="1227173197" type="string">
-                                        <stringvalue>disabled</stringvalue>
-                                </entry>
-                                <entry name="switch_to_workspace_left" mtime="1227173197" type="string">
-                                        <stringvalue>disabled</stringvalue>
-                                </entry>
-                                <entry name="switch_to_workspace_down" mtime="1227173197" type="string">
-                                        <stringvalue>disabled</stringvalue>
-                                </entry>
-                                <entry name="switch_group" mtime="1227173197" type="string">
-                                        <stringvalue>disabled</stringvalue>
-                                </entry>
-                                <entry name="show_desktop" mtime="1227173197" type="string">
-                                        <stringvalue>disabled</stringvalue>
-                                </entry>
-                                <entry name="run_command_window_screenshot" mtime="1227173197" type="string">
-                                        <stringvalue>disabled</stringvalue>
-                                </entry>
-                                <entry name="run_command_screenshot" mtime="1227173197" type="string">
-                                        <stringvalue>Print</stringvalue>
-                                </entry>
-                                <entry name="panel_run_dialog" mtime="1227173197" type="string">
-                                        <stringvalue>disabled</stringvalue>
-                                </entry>
-                                <entry name="panel_main_menu" mtime="1227173197" type="string">
-                                        <stringvalue>disabled</stringvalue>
-                                </entry>
-                        </dir>
-                        <dir name="general">
-                                <entry name="num_workspaces" mtime="1227173197" type="int" value="1">
-                                </entry>
-                        </dir>
-                </dir>
-                <dir name="compiz">
-                        <dir name="general">
-                                <dir name="allscreens">
-                                        <dir name="options">
-                                                <entry name="run_command11_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command11_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command10_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command10_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command8_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command8_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command7_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command7_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command6_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command6_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command5_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command5_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command4_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command4_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command3_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command3_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command2_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command2_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command1_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command1_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command0_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_command0_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="run_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="main_menu_key" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="main_menu_button" mtime="1227173197" type="string">
-                                                        <stringvalue>Disabled</stringvalue>
-                                                </entry>
-                                                <entry name="command_window_screenshot" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command11" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command10" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command9" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command8" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command7" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command6" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command5" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command4" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command3" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command2" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command1" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command0" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command_terminal" mtime="1227173197" type="string">
-                                                        <stringvalue></stringvalue>
-                                                </entry>
-                                                <entry name="command_screenshot" mtime="1227173197" type="string">
-                                                        <stringvalue>gdm-screenshot</stringvalue>
-                                                </entry>
-                                                <entry name="active_plugins" mtime="1227173197" type="list" ltype="string">
-                                                        <li type="string">
-                                                                <stringvalue>cube</stringvalue>
-                                                        </li>
-                                                        <li type="string">
-                                                                <stringvalue>decoration</stringvalue>
-                                                        </li>
-                                                        <li type="string">
-                                                                <stringvalue>gconf</stringvalue>
-                                                        </li>
-                                                        <li type="string">
-                                                                <stringvalue>glib</stringvalue>
-                                                        </li>
-                                                        <li type="string">
-                                                                <stringvalue>move</stringvalue>
-                                                        </li>
-                                                        <li type="string">
-                                                                <stringvalue>place</stringvalue>
-                                                        </li>
-                                                        <li type="string">
-                                                                <stringvalue>resize</stringvalue>
-                                                        </li>
-                                                        <li type="string">
-                                                                <stringvalue>screenshot</stringvalue>
-                                                        </li>
-                                                        <li type="string">
-                                                                <stringvalue>wobbly</stringvalue>
-                                                        </li>
-                                                </entry>
-                                        </dir>
-                                </dir>
-                        </dir>
-                </dir>
-                <dir name="gnome-power-manager">
-                        <dir name="ui">
-                                <entry name="show_context_menu" mtime="1227173197" type="bool" value="false">
-                                </entry>
-                        </dir>
-                </dir>
-                <dir name="gnome-screensaver">
-                        <entry name="power_management_delay" mtime="1227173197" type="int" value="30">
-                        </entry>
-                </dir>
-                <dir name="nautilus">
-                        <dir name="preferences">
-                                <entry name="show_desktop" mtime="1227173197" type="bool" value="false">
-                                </entry>
-                        </dir>
-                </dir>
-        </dir>
-</gconf>
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/Default b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/Default
deleted file mode 100755
index a7a7fcf..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/Default
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/sh
-# Stolen from the debian kdm setup, aren't I sneaky
-# Plus a lot of fun stuff added
-#  -George
-
-PATH="/usr/bin:$PATH"
-OLD_IFS=$IFS
-
-gdmwhich () {
-  COMMAND="$1"
-  OUTPUT=
-  IFS=:
-  for dir in $PATH
-  do
-    if test -x "$dir/$COMMAND" ; then
-      if test "x$OUTPUT" = "x" ; then
-        OUTPUT="$dir/$COMMAND"
-      fi
-    fi
-  done
-  IFS=$OLD_IFS
-  echo "$OUTPUT"
-}
-
-sysresources=/etc/X11/Xresources
-
-# merge in defaults
-if [ -f "$sysresources" ]; then
-    xrdb -merge "$sysresources"
-fi
-
-sysmodmap=/etc/X11/Xmodmap
-
-XMODMAP=`gdmwhich xmodmap`
-if [ "x$XMODMAP" != "x" ] ; then
-  if [ "x$GDM_PARENT_DISPLAY" = "x" ]; then
-    if [ -f $sysmodmap ]; then
-      $XMODMAP $sysmodmap
-    fi
-  else
-    ( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP -
-  fi
-
-  #
-  # Switch Sun's Alt and Meta mod mappings
-  #
-
-  UNAME=`gdmwhich uname`
-  PROCESSOR=`$UNAME -p`
-  if [ "x$PROCESSOR" = "xsparc" ]; then
-    if $XMODMAP | /usr/bin/grep mod4 | /usr/bin/grep Alt > /dev/null 2>/dev/null
-    then
-      $XMODMAP -e "clear Mod1" \
-               -e "clear Mod4" \
-               -e "add Mod1 = Alt_L" \
-               -e "add Mod1 = Alt_R" \
-               -e "add Mod4 = Meta_L" \
-               -e "add Mod4 = Meta_R"
-    fi
-  fi
-fi
-
-SETXKBMAP=`gdmwhich setxkbmap`
-if [ "x$SETXKBMAP" != "x" ] ; then
-  # FIXME: is this all right?  Is this completely on crack?
-  # What this does is move the xkb configuration from the GDM_PARENT_DISPLAY
-  # FIXME: This should be done in code.  Or there must be an easier way ...
-  if [ -n "$GDM_PARENT_DISPLAY" ]; then
-    XKBSETUP=`( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $SETXKBMAP -v )`
-    if [ -n "$XKBSETUP" ]; then
-      XKBKEYMAP=`echo "$XKBSETUP" | grep '^keymap' | awk '{ print $2 }'`
-      XKBTYPES=`echo "$XKBSETUP" | grep '^types' | awk '{ print $2 }'`
-      XKBCOMPAT=`echo "$XKBSETUP" | grep '^compat' | awk '{ print $2 }'`
-      XKBSYMBOLS=`echo "$XKBSETUP" | grep '^symbols' | awk '{ print $2 }'`
-      XKBGEOMETRY=`echo "$XKBSETUP" | grep '^geometry' | awk '{ print $2 }'`
-      if [ -n "$XKBKEYMAP" ]; then
-        $SETXKBMAP -keymap "$XKBKEYMAP"
-      elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" -a -n "$XKBGEOMETRY" ]; then
-        $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" -geometry "$XKBGEOMETRY"
-      elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" ]; then
-        $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS"
-      elif [ -n "$XKBSYMBOLS" ]; then
-        $SETXKBMAP -symbols "$XKBSYMBOLS"
-      fi
-    fi
-  fi
-fi
-
-# FIXME: the housekeeping below really should be moved to the postinst of packages that require it
-# brute force approach for now
-update-desktop-database
-glib-compile-schemas /usr/share/glib-2.0/schemas/
-
-#x11vnc  -q -bg -display :0 -forever -avahi -xkb
-
-exit 0
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/cross-xdetection.diff b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/cross-xdetection.diff
deleted file mode 100644
index bee3511..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/cross-xdetection.diff
+++ /dev/null
@@ -1,96 +0,0 @@
-From 60084e7e973634971c9643f2459e5d3e248ee3f1 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 9 Jun 2011 18:12:45 +0200
-Subject: [PATCH] build-sys: hardcode x paths to fix crosscompiling
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- configure.ac |   72 ++++-----------------------------------------------------
- 1 files changed, 5 insertions(+), 67 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index eeaf3dc..841efe0 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1101,73 +1101,11 @@ dnl ---------------------------------------------------------------------------
- dnl - Check for X Server location
- dnl ---------------------------------------------------------------------------
- 
--# First check with "! -h" for /usr/X11R6 and /usr/X11 since they often
--# symlink to each other, and configure should use the more stable
--# location (the real directory) if possible.
--#
--# On Solaris, the /usr/bin/Xserver script is used to decide whether to
--# use Xsun or Xorg, so this is used on Solaris.
--#
--# When testing for /usr/X11R6, first check with "! -h" for /usr/X11R6
--# and /usr/X11 since they often symlink to each other, and configure
--# should use the more stable location (the real directory) if possible.
--#
--if test -x /usr/X11/bin/Xserver; then
--   X_PATH="/usr/X11/bin"
--   X_SERVER_PATH="/usr/X11/bin"
--   X_SERVER="/usr/X11/bin/Xserver"
--   X_CONFIG_OPTIONS="-audit 0"
--elif test ! -h /usr/X11R6 -a -x /usr/X11R6/bin/X; then
--   X_PATH="/usr/X11R6/bin"
--   X_SERVER_PATH="/usr/X11R6/bin"
--   X_SERVER="/usr/X11R6/bin/X"
--   X_CONFIG_OPTIONS="-audit 0"
--elif test ! -h /usr/X11 -a -x /usr/X11/bin/X; then
--   X_PATH="/usr/X11/bin"
--   X_SERVER_PATH="/usr/X11/bin"
--   X_SERVER="/usr/X11/bin/X"
--   X_CONFIG_OPTIONS="-audit 0"
--elif test -x /usr/X11R6/bin/X; then
--   X_PATH="/usr/X11R6/bin"
--   X_SERVER_PATH="/usr/X11R6/bin"
--   X_SERVER="/usr/X11R6/bin/X"
--   X_CONFIG_OPTIONS="-audit 0"
--elif test -x /usr/bin/Xorg; then
--   X_PATH="/usr/bin"
--   X_SERVER_PATH="/usr/bin"
--   X_SERVER="/usr/bin/Xorg"
--   X_CONFIG_OPTIONS="-audit 0"
--elif test -x /usr/X11/bin/X; then
--   X_PATH="/usr/X11/bin"
--   X_SERVER_PATH="/usr/X11/bin"
--   X_SERVER="/usr/X11/bin/X"
--   X_CONFIG_OPTIONS="-audit 0"
--elif test -x /usr/openwin/bin/Xsun; then
--   # Do not add /usr/openwin/bin here because on Solaris you need
--   # /usr/openwin/bin in your PATH even if you are using the Xorg
--   # Xserver.  We add this to the path below.
--   X_PATH="/usr/openwin/bin"
--   X_SERVER_PATH="/usr/openwin/bin"
--   X_SERVER="/usr/openwin/bin/Xsun"
--   X_CONFIG_OPTIONS="-audit 0 -nobanner"
--elif test -x /opt/X11R6/bin/X; then
--   X_PATH="/opt/X11R6/bin"
--   X_SERVER_PATH="/opt/X11R6/bin"
--   X_SERVER="/opt/X11R6/bin/X"
--   X_CONFIG_OPTIONS="-audit 0"
--elif test -x /usr/bin/X; then
--   X_PATH="/usr/bin"
--   X_SERVER_PATH="/usr/bin"
--   X_SERVER="/usr/bin/X"
--   X_CONFIG_OPTIONS="-audit 0"
--else
--   # what to do, what to do, this is wrong, but this just sets the
--   # defaults, perhaps this user is cross compiling or some such
--   X_PATH="/usr/bin/X11:/usr/X11R6/bin:/opt/X11R6/bin"
--   X_SERVER_PATH="/usr/bin"
--   X_SERVER="/usr/bin/X"
--   X_CONFIG_OPTIONS="-audit 0"
--fi
-+# We hardcode the X paths since we know where it will be in the OE univers
-+X_PATH="/usr/bin"
-+X_SERVER_PATH="/usr/bin"
-+X_SERVER="/usr/bin/X"
-+X_CONFIG_OPTIONS="-audit 0"
- 
- dnl ---------------------------------------------------------------------------
- dnl - Check for Xnest / Xephyr support
--- 
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm
deleted file mode 100755
index bb5b418..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm
+++ /dev/null
@@ -1,89 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          gdm
-# Should-Start:      console-screen acpid dbus hal network-manager
-# Required-Start:    $local_fs $remote_fs
-# Required-Stop:     $local_fs $remote_fs
-# Default-Start:     5
-# Default-Stop:      0 1 2 3 6
-# Short-Description: GNOME Display Manager
-# Description:       Debian init script for the GNOME Display Manager
-### END INIT INFO
-#
-# Author:       Ryan Murray <rmurray@debian.org>
-#
-set -e
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/sbin/gdm
-
-test -x $DAEMON || exit 0
-
-if [ -r /etc/default/locale ]; then
-  . /etc/default/locale
-  export LANG LANGUAGE
-fi
-
-# To start gdm even if it is not the default display manager, change
-# HEED_DEFAULT_DISPLAY_MANAGER to "false."
-HEED_DEFAULT_DISPLAY_MANAGER=true
-DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
-
-case "$1" in
-  start)
-	# make needed directories in volatile
-
-	if [ -e /var/log/gdm ] ; then 
-		rm -rf /var/log/gdm
-	fi
-
-	mkdir -m 01770 /var/log/gdm
-	chown gdm:gdm /var/log/gdm
-
-	if [ -e /tmp/.ICE-unix ] ; then 
-		rm -rf /tmp/.ICE-unix
-	fi
-
-	mkdir -m 01777 /tmp/.ICE-unix
-	chown root:root /tmp/.ICE-unix
-
-        CONFIGURED_DAEMON=$(basename "$(cat $DEFAULT_DISPLAY_MANAGER_FILE 2> /dev/null)")
-        if grep -wqs text /proc/cmdline; then
-            echo "Not starting GNOME Display Manager (gdm); found 'text' in kernel commandline."
-        elif [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ] && \
-           [ "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" ] && \
-           [ "$CONFIGURED_DAEMON" != gdm ] ; then
-                echo "Not starting GNOME Display Manager; it is not the default display manager"
-        else
-                echo "Starting GNOME Display Manager" "gdm"
-                start-stop-daemon --start -b --exec $DAEMON 
-        fi
-  ;;
-  stop)
-        echo "Stopping GNOME Display Manager" "gdm"
-        set +e
-        start-stop-daemon --stop --quiet --pidfile /var/run/gdm.pid \
-                --name gdm --retry 5
-        set -e
-  ;;
-  reload)
-        echo "Scheduling reload of GNOME Display Manager configuration" "gdm"
-        set +e
-        start-stop-daemon --stop --signal USR1 --quiet --pidfile \
-                /var/run/gdm.pid --name gdm
-        set -e
-  ;;
-  status)
-        status_of_proc -p "$PIDFILE" "$DAEMON" gdm && exit 0 || exit $?
-  ;;
-  restart|force-reload)
-        $0 stop
-        $0 start
-  ;;
-  *)
-        echo "Usage: /etc/init.d/gdm {start|stop|restart|reload|force-reload|status}"
-        exit 1
-  ;;
-esac
-
-exit 0
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm-pam b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm-pam
deleted file mode 100644
index f9fafed..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm-pam
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# default; standard UN*X access
-#
-auth     required       pam_unix.so
-account  required       pam_unix.so
-password required       pam_unix.so
-session  required       pam_unix.so
-
-auth     optional       pam_gnome_keyring.so
-session  optional       pam_gnome_keyring.so  auto_start
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm.conf b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm.conf
deleted file mode 100644
index 559823b..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm.conf
+++ /dev/null
@@ -1,80 +0,0 @@
-# GDM Custom Configuration file.
-#
-# This file is the appropriate place for specifying your customizations to the
-# GDM configuration.   If you run gdmsetup, it will automatically edit this
-# file for you and will cause the daemon and any running GDM GUI programs to
-# automatically update with the new configuration.  Not all configuration
-# options are supported by gdmsetup, so to modify some values it may be
-# necessary to modify this file directly by hand.
-#
-# This file overrides the default configuration settings.  These settings 
-# are stored in the GDM System Defaults configuration file, which is found
-# at the following location.
-#
-# /usr/share/gdm/defaults.conf.  
-#
-# This file contains comments about the meaning of each configuration option,
-# so is also a useful reference.  Also refer to the documentation links at
-# the end of this comment for further information.  In short, to hand-edit
-# this file, simply add or modify the key=value combination in the
-# appropriate section in the template below this comment section.
-#
-# For example, if you want to specify a different value for the Enable key
-# in the "[debug]" section of your GDM System Defaults configuration file,
-# then add "Enable=true" in the "[debug]" section of this file.  If the
-# key already exists in this file, then simply modify it.
-#
-# Older versions of GDM used the "gdm.conf" file for configuration.  If your
-# system has an old gdm.conf file on the system, it will be used instead of
-# this file - so changes made to this file will not take effect.  Consider
-# migrating your configuration to this file and removing the gdm.conf file.
-#
-# If you hand edit a GDM configuration file, you can run the following
-# command and the GDM daemon will immediately reflect the change.  Any
-# running GDM GUI programs will also be notified to update with the new
-# configuration.
-#
-# gdmflexiserver --command="UPDATE_CONFIG <configuration key>"
-#
-# e.g, the "Enable" key in the "[debug]" section would be "debug/Enable".
-#
-# You can also run gdm-restart or gdm-safe-restart to cause GDM to restart and
-# re-read the new configuration settings.  You can also restart GDM by sending
-# a HUP or USR1 signal to the daemon.  HUP behaves like gdm-restart and causes
-# any user session started by GDM to exit immediately while USR1 behaves like
-# gdm-safe-restart and will wait until all users log out before restarting GDM.
-#
-# For full reference documentation see the gnome help browser under
-# GNOME|System category.  You can also find the docs in HTML form on
-# http://www.gnome.org/projects/gdm/
-#
-# NOTE: Lines that begin with "#" are considered comments.
-#
-# Have fun!
-
-[daemon]
-
-[security]
-
-[xdmcp]
-
-[gui]
-
-[greeter]
-
-[chooser]
-
-[debug]
-
-# Note that to disable servers defined in the GDM System Defaults
-# configuration file (such as 0=Standard, you must put a line in this file
-# that says 0=inactive, as described in the Configuration section of the GDM
-# documentation.
-#
-[servers]
-
-# Also note, that if you redefine a [server-foo] section, then GDM will
-# use the definition in this file, not the GDM System Defaults configuration
-# file.  It is currently not possible to disable a [server-foo] section
-# defined in the GDM System Defaults configuration file.
-#
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm.service.in b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm.service.in
deleted file mode 100644
index 3e1556a..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm/gdm.service.in
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Gnome Display Manager
-After=systemd-user-sessions.service
-
-[Service]
-ExecStart=%sbindir%/gdm -nodaemon
-StandardOutput=syslog
-
-[Install]
-Alias=display-manager.service
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
index 5d244de..ba425ad 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
@@ -7,7 +7,10 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
-inherit gnome gettext pythonnative
+inherit distro_features_check gnome gettext pythonnative
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
 SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
            file://0001-workaround-void-pointer-arithmetic.patch \
            file://0001-Remove-help-directory-from-build.patch \
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/egg-asn1x.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/egg-asn1x.patch
deleted file mode 100644
index ad8a40c..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/egg-asn1x.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Fixed build error with gcc 4.8
-
-Errors like below
-
-egg-asn1x.c: In function 'anode_encode_build':
-egg-asn1x.c:1280:7: warning: variable 'type' set but not used [-Wunused-but-set-variable]
-egg-asn1x.c: In function 'traverse_and_prepare':
-egg-asn1x.c:3354:3: warning: passing argument 1 of 'egg_asn1x_create' from incompatible pointer type [enabled by default]
-In file included from egg-asn1x.c:50:0:
-egg-asn1x.h:38:8: note: expected 'const struct static_struct_asn *' but argument is of type 'const struct asn1_static_node *'
-egg-asn1x.c: At top level:
-egg-asn1x.c:3509:1: error: conflicting types for 'egg_asn1x_create'
-In file included from egg-asn1x.c:50:0:
-egg-asn1x.h:38:8: note: previous declaration of 'egg_asn1x_create' was here
-egg-asn1x.c:3572:1: error: conflicting types for 'egg_asn1x_create_quark'
-In file included from egg-asn1x.c:50:0:
-egg-asn1x.h:41:8: note: previous declaration of 'egg_asn1x_create_quark' was here
-egg-asn1x.c:3579:1: error: conflicting types for 'egg_asn1x_create_and_decode'
-In file included from egg-asn1x.c:50:0:
-egg-asn1x.h:44:8: note: previous declaration of 'egg_asn1x_create_and_decode' was here
-make[4]: *** [libegg_la-egg-asn1x.lo] Error 1
-
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-Index: gnome-keyring-2.32.1/egg/egg-asn1x.h
-===================================================================
---- gnome-keyring-2.32.1.orig/egg/egg-asn1x.h	2010-10-18 19:11:38.000000000 -0700
-+++ gnome-keyring-2.32.1/egg/egg-asn1x.h	2013-06-11 15:15:00.675399263 -0700
-@@ -25,6 +25,7 @@
- #define EGG_ASN1X_H_
- 
- #include <glib.h>
-+#include <libtasn1.h>
- 
- #ifndef HAVE_EGG_ALLOCATOR
- typedef void* (*EggAllocator) (void* p, gsize);
-@@ -35,13 +36,13 @@
- 
- struct static_struct_asn;
- 
--GNode*              egg_asn1x_create                 (const struct static_struct_asn *defs,
-+GNode*              egg_asn1x_create                 (const ASN1_ARRAY_TYPE *defs,
-                                                       const gchar *type);
- 
--GNode*              egg_asn1x_create_quark           (const struct static_struct_asn *defs,
-+GNode*              egg_asn1x_create_quark           (const ASN1_ARRAY_TYPE *defs,
-                                                       GQuark type);
- 
--GNode*              egg_asn1x_create_and_decode      (const struct static_struct_asn *defs,
-+GNode*              egg_asn1x_create_and_decode      (const ASN1_ARRAY_TYPE *defs,
-                                                       const gchar *type,
-                                                       gconstpointer data,
-                                                       gsize n_data);
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb
deleted file mode 100644
index fd6ca73..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "Password and keyring managing daemon"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://gcr/gcr.h;endline=22;md5=a272df1e633e27ecf35e74fb5576250e \
-                    file://egg/egg-dbus.h;endline=25;md5=eb6f531af37165dc53420c073d774e61 \
-                    file://gp11/gp11.h;endline=24;md5=bd8c7a8a21d6c28d40536d96a35e3469 \
-                    file://pkcs11/pkcs11i.h;endline=24;md5=e72cfbb718389b76a4dae838d1c1f439"
-
-SECTION = "x11/gnome"
-
-PR = "r12"
-
-inherit autotools gnome gtk-doc pkgconfig gsettings
-
-SRC_URI += "file://egg-asn1x.patch \
-            file://musl.patch \
-"
-
-DEPENDS = "gtk+ libgcrypt libtasn1 libtasn1-native gconf ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} intltool-native"
-RDEPENDS_${PN} = "libgnome-keyring glib-2.0-utils"
-
-LDFLAGS += "-lgmodule-2.0"
-
-EXTRA_OECONF = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)}"
-
-SRC_URI[archive.md5sum] = "9a8aa74e03361676f29d6e73155786fc"
-SRC_URI[archive.sha256sum] = "31fecec1430a97f59a6159a5a2ea8d6a1b44287f1e9e595b3594df46bf7f18f9"
-GNOME_COMPRESS_TYPE="bz2"
-
-FILES_${PN} += "${datadir}/dbus-1/services ${datadir}/gcr \
-                ${base_libdir}/security/*${SOLIBSDEV} \
-               "
-
-FILES_${PN}-dev += "${libdir}/${BPN}/devel/*.la \
-                    ${libdir}/${BPN}/devel/*${SOLIBSDEV} \
-                    ${libdir}/${BPN}/standalone/*.la \
-                    ${base_libdir}/security/*.la \
-                   "
-
-INSANE_SKIP_${PN}-dev += "dev-elf"
-
-FILES_${PN}-dbg += "${libdir}/${BPN}/standalone/.debug/ \
-                    ${libdir}/${BPN}/devel/.debug/ \
-                    ${base_libdir}/security/.debug/"
-
-# Make compatible with gcr version 3 or newer by removing
-# org.gnome.crypto.pgp.*, which is the provider for this optional
-# functionality.
-
-do_install_append() {
-	rm ${D}${datadir}/GConf/gsettings/org.gnome.crypto.pgp.convert
-	rm ${D}${datadir}/glib-2.0/schemas/org.gnome.crypto.pgp.gschema.xml
-}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb
new file mode 100644
index 0000000..5564062
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Password and keyring managing daemon"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/gnome"
+
+LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit distro_features_check gnomebase remove-libtool
+
+DEPENDS = " \
+    intltool-native \
+    glib-2.0-native \
+    gtk+3 \
+    gcr \
+    libgcrypt \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
+"
+
+SRC_URI[archive.md5sum] = "e09efe8021944dae404736b5a2adb98e"
+SRC_URI[archive.sha256sum] = "bc17cecd748a0e46e302171d11c3ae3d76bba5258c441fabec3786f418e7ec99"
+SRC_URI += "file://musl.patch"
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+RDEPENDS_${PN} = "libgnome-keyring glib-2.0-utils"
+
+EXTRA_OECONF = " \
+    --disable-doc \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)} \
+"
+
+
+FILES_${PN} += " \
+    ${datadir}/dbus-1/services \
+    ${datadir}/p11-kit \
+    ${base_libdir}/security/*${SOLIBSDEV} \
+    ${libdir}/pkcs11/gnome-keyring-pkcs11.so \
+"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_2.32.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_2.32.0.bb
deleted file mode 100644
index e241882..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_2.32.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Compatibility library for accessing secrets"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0914b9d3ebaba41ef2e3e0ae16f296cf \
-                    file://library/gnome-keyring.h;endline=25;md5=68ea64f81c160d670c37da5f137be4fb \
-                    file://library/gnome-keyring.c;endline=26;md5=8d7a4fb674aaa012ea5a98e7c368b4a5 \
-                    file://egg/egg-dh.h;endline=22;md5=1626c16af2a8da1f88324cf3ced33f08"
-
-SECTION = "x11/gnome/libs"
-PR = "r3"
-
-inherit gnomebase gtk-doc
-
-DEPENDS = "dbus libgcrypt glib-2.0 intltool-native"
-
-SRC_URI[archive.md5sum] = "c42b2ca66204835d901d3dbfc1fa5ae6"
-SRC_URI[archive.sha256sum] = "56388c0d81ddfdb57d30e4963c83ecc1c18498aab99395420e0fff69929a0f0c"
-GNOME_COMPRESS_TYPE="bz2"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb
new file mode 100644
index 0000000..82abe33
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/libgnome-keyring_3.12.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Compatibility library for accessing secrets"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=0914b9d3ebaba41ef2e3e0ae16f296cf \
+    file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
+"
+SECTION = "x11/gnome/libs"
+
+inherit gnomebase gtk-doc gobject-introspection
+
+DEPENDS = "dbus libgcrypt glib-2.0 glib-2.0-native intltool-native"
+
+SRC_URI[archive.md5sum] = "6696e4f2e9aed4625cdc3af30bd8c238"
+SRC_URI[archive.sha256sum] = "c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb
index 01da347..647ae91 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb
@@ -6,7 +6,9 @@
 
 DEPENDS = "python libxml2 gconf popt gtk+3 intltool-native gnome-common-native"
 
-inherit gnomebase pkgconfig python-dir pythonnative gobject-introspection
+inherit distro_features_check gnomebase pkgconfig python-dir pythonnative gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 BPN = "gnome-menus"
 
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-mime-data/gnome-mime-data/pkgconfig.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-mime-data/gnome-mime-data/pkgconfig.patch
deleted file mode 100644
index 0903425..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-mime-data/gnome-mime-data/pkgconfig.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: gnome-mime-data-2.18.0/Makefile.am
-===================================================================
---- gnome-mime-data-2.18.0.orig/Makefile.am	2009-06-11 17:27:48.000000000 +0100
-+++ gnome-mime-data-2.18.0/Makefile.am	2009-06-11 17:27:59.000000000 +0100
-@@ -1,6 +1,6 @@
- SUBDIRS = man po
- 
--pkgconfigdir = $(datadir)/pkgconfig
-+pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = gnome-mime-data-2.0.pc
- 
- NULL=
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-mime-data/gnome-mime-data_2.18.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-mime-data/gnome-mime-data_2.18.0.bb
deleted file mode 100644
index eeac1bb..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-mime-data/gnome-mime-data_2.18.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Base MIME and Application database for GNOME"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "GPLv2 & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
-                    file://check-mime.pl;endline=26;md5=a95b63c92c33d4ca1af61a315888f450"
-
-inherit gnomebase mime
-PR = "r4"
-
-SRC_URI += "file://pkgconfig.patch"
-
-SRC_URI[archive.md5sum] = "541858188f80090d12a33b5a7c34d42c"
-SRC_URI[archive.sha256sum] = "37196b5b37085bbcd45c338c36e26898fe35dd5975295f69f48028b1e8436fd7"
-GNOME_COMPRESS_TYPE="bz2"
-
-DEPENDS += "shared-mime-info intltool-native glib-2.0-native"
-RDEPENDS_${PN} = "shared-mime-info"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-help-remove-YELP-macro.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-help-remove-YELP-macro.patch
new file mode 100644
index 0000000..57b60a0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/files/0001-help-remove-YELP-macro.patch
@@ -0,0 +1,28 @@
+From 4a3ee8b46d25b3d310448bfa4446e15a686fc685 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 23 Mar 2018 13:50:18 +0100
+Subject: [PATCH] help: remove YELP macro
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded-specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ help/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/help/Makefile.am b/help/Makefile.am
+index c5cd0d3..4b83adf 100644
+--- a/help/Makefile.am
++++ b/help/Makefile.am
+@@ -1,5 +1,3 @@
+-@YELP_HELP_RULES@
+-
+ HELP_ID = gnome-system-monitor
+ 
+ HELP_FILES = \
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.26.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.26.0.bb
new file mode 100644
index 0000000..9b6ce17
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.26.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Gnome system monitor"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = " \
+    intltool-native \
+    gnome-common-native \
+    glib-2.0-native \
+    gtkmm3 \
+    libgtop \
+    librsvg \
+    libwnck3 \
+"
+
+inherit gnomebase distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "fcd59867c07f8c4853b1e28d60cbc037"
+SRC_URI[archive.sha256sum] = "f848a8c2ca5e164cf09d3a205dd49e4e4bf4b60d43b0969c10443eb519d0e6b3"
+SRC_URI += "file://0001-help-remove-YELP-macro.patch"
+
+RRECOMMENDS_${PN} = "adwaita-icon-theme"
+
+FILES_${PN} += " \
+    ${datadir}/icons \
+    ${datadir}/dbus-1 \
+    ${datadir}/gnome/autostart \
+"
+
+FILES_${PN}-doc += " \
+    ${datadir}/omf \
+    ${datadir}/gnome/help \
+"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/0001-multiple-Makefile.am-remove-DG_DISABLE_DEPRECATED-to.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/0001-multiple-Makefile.am-remove-DG_DISABLE_DEPRECATED-to.patch
deleted file mode 100644
index 3833299..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/0001-multiple-Makefile.am-remove-DG_DISABLE_DEPRECATED-to.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 536e9b57cada4a9f92e073fdf01cdf1def435b6b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 7 May 2013 14:56:06 +0200
-Subject: [PATCH] multiple Makefile.am: remove -DG_DISABLE_DEPRECATED to fix
- build with glib-2.36
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- daemon/Makefile.am      |    1 -
- libgnomevfs/Makefile.am |    1 -
- 2 files changed, 0 insertions(+), 2 deletions(-)
-
-Index: gnome-vfs-2.24.4/daemon/Makefile.am
-===================================================================
---- gnome-vfs-2.24.4.orig/daemon/Makefile.am	2013-10-17 16:39:39.081024798 -0700
-+++ gnome-vfs-2.24.4/daemon/Makefile.am	2013-10-17 16:39:39.213024794 -0700
-@@ -8,7 +8,6 @@
- 	-D_LARGEFILE64_SOURCE                   \
- 	-D_POSIX_PTHREAD_SEMANTICS		\
- 	-D_REENTRANT				\
--	-DG_DISABLE_DEPRECATED			\
- 	-DGNOME_VFS_PREFIX=\"$(prefix)\"	\
- 	-DGNOME_VFS_DATADIR=\"$(datadir)\"	\
- 	-DGNOME_VFS_LIBDIR=\"$(libdir)\"	\
-Index: gnome-vfs-2.24.4/libgnomevfs/Makefile.am
-===================================================================
---- gnome-vfs-2.24.4.orig/libgnomevfs/Makefile.am	2013-10-17 16:39:39.081024798 -0700
-+++ gnome-vfs-2.24.4/libgnomevfs/Makefile.am	2013-10-17 16:39:39.213024794 -0700
-@@ -19,7 +19,6 @@
- 	-D_LARGEFILE64_SOURCE                   \
- 	-D_POSIX_PTHREAD_SEMANTICS		\
- 	-D_REENTRANT				\
--	-DG_DISABLE_DEPRECATED			\
- 	-DGNOME_VFS_PREFIX=\"$(prefix)\"	\
- 	-DGNOME_VFS_BINDIR=\"$(bindir)\"	\
- 	-DGNOME_VFS_DATADIR=\"$(datadir)\"	\
-Index: gnome-vfs-2.24.4/modules/Makefile.am
-===================================================================
---- gnome-vfs-2.24.4.orig/modules/Makefile.am	2013-10-17 16:39:39.081024798 -0700
-+++ gnome-vfs-2.24.4/modules/Makefile.am	2013-10-17 16:39:39.213024794 -0700
-@@ -18,7 +18,6 @@
- 	-D_POSIX_PTHREAD_SEMANTICS		\
- 	-D_REENTRANT				\
- 	-DSSH_PROGRAM=\"$(SSH_PROGRAM)\"	\
--	-DG_DISABLE_DEPRECATED			\
- 	-DGNOME_VFS_PREFIX=\"$(prefix)\"	\
- 	-DGNOME_VFS_DATADIR=\"$(datadir)\"	\
- 	-DGNOME_VFS_LIBDIR=\"$(libdir)\"	\
-Index: gnome-vfs-2.24.4/programs/Makefile.am
-===================================================================
---- gnome-vfs-2.24.4.orig/programs/Makefile.am	2013-10-17 16:39:39.081024798 -0700
-+++ gnome-vfs-2.24.4/programs/Makefile.am	2013-10-17 16:39:39.213024794 -0700
-@@ -4,8 +4,7 @@
- 	-I$(top_srcdir)				\
- 	-I$(top_builddir)			\
- 	$(TEST_CFLAGS)				\
--	$(VFS_CFLAGS)				\
--	-DG_DISABLE_DEPRECATED
-+	$(VFS_CFLAGS)
- 
- libraries =						\
- 	$(top_builddir)/libgnomevfs/libgnomevfs-2.la	\
-Index: gnome-vfs-2.24.4/test/Makefile.am
-===================================================================
---- gnome-vfs-2.24.4.orig/test/Makefile.am	2010-02-09 04:16:14.000000000 -0800
-+++ gnome-vfs-2.24.4/test/Makefile.am	2013-10-17 16:42:49.109019172 -0700
-@@ -6,7 +6,6 @@
- 	-I$(top_builddir)/libgnomevfs           \
- 	$(TEST_CFLAGS)				\
- 	$(VFS_CFLAGS)				\
--	-DG_DISABLE_DEPRECATED			\
- 	-DMODULES_PATH=\"$(libdir)/vfs/modules\"
- 
- if OS_WIN32
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/do-not-use-srcdir-variable.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/do-not-use-srcdir-variable.patch
deleted file mode 100644
index 30ca29b..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/do-not-use-srcdir-variable.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Fixes errors with new autotools
-
-| automake: error: using '$(srcdir)' in TESTS is currently broken: '$(srcdir)/auto-test'
-| autoreconf: automake failed with exit status: 1
-| ERROR: autoreconf execution failed.
-
-Upstream-Status: Not Submitted
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: gnome-vfs-2.24.4/test/Makefile.am
-===================================================================
---- gnome-vfs-2.24.4.orig/test/Makefile.am	2013-10-17 16:43:36.677017764 -0700
-+++ gnome-vfs-2.24.4/test/Makefile.am	2013-10-17 16:48:47.369008566 -0700
-@@ -64,7 +64,7 @@
- 	test-async-cancel \
- 	test-escape       \
- 	test-uri       	  \
--	$(srcdir)/auto-test	
-+	auto-test
- 
- libraries =						\
- 	$(top_builddir)/libgnomevfs/libgnomevfs-2.la	\
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/gconftool-lossage.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/gconftool-lossage.patch
deleted file mode 100644
index 0f52136..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/gconftool-lossage.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
---- gnome-vfs-2.6.0/configure.in~	2004-03-22 12:36:23.000000000 +0000
-+++ gnome-vfs-2.6.0/configure.in	2004-06-07 16:04:34.000000000 +0100
-@@ -154,7 +154,7 @@
- AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
- 
- if test x"$GCONFTOOL" = xno; then
--  AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
-+  AC_MSG_WARN([gconftool-2 executable not found in your path - should be installed with GConf])
- fi
- 
- AM_GCONF_SOURCE_2
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/gnome-vfs-no-kerberos.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/gnome-vfs-no-kerberos.patch
deleted file mode 100644
index dabec32..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs-2.24.4/gnome-vfs-no-kerberos.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-removes kerberos completely to avoid conflicts with installed kerberos
---- configure.in.orig	2007-01-05 19:42:26.418541610 +0200
-+++ configure.in	2007-01-05 19:42:56.604261797 +0200
-@@ -436,47 +436,6 @@
- ])
- AM_CONDITIONAL(HAVE_CDDA, test $have_cdda = yes)
- AC_SUBST(CDDA_LIBS)
--
--dnl GSSAPI
--dnl Check for Kerberos installation
--have_gssapi=no
--AC_PATH_PROG([KRB5_CONFIG], krb5-config, none, $PATH:/usr/kerberos/bin)
--					   
--if test "x$KRB5_CONFIG" != "xnone"; then
--   GSSAPI_LIBS="`${KRB5_CONFIG} --libs gssapi`"
--   GSSAPI_CFLAGS="`${KRB5_CONFIG} --cflags gssapi`"
--   
--   saved_CPPFLAGS="$CPPFLAGS"
--   saved_LIBS="$LIBS"
--   LIBS="$LIBS $GSSAPI_LIBS"
--   CPPFLAGS="$CPPFLAGS $GSSAPI_CFLAGS"
--   # MIT and Heimdal put gssapi.h in different places
--   AC_CHECK_HEADERS(gssapi/gssapi.h gssapi.h, [
--       AC_CHECK_FUNCS(gss_init_sec_context, [
--           AC_MSG_NOTICE([GSSAPI authentication support enabled])
--           AC_DEFINE(HAVE_GSSAPI, 1, [Define if GSSAPI support is enabled])
--           AC_CHECK_HEADERS(gssapi/gssapi_generic.h)
--		 have_gssapi=yes
--	 
--       # MIT Kerberos lacks GSS_C_NT_HOSTBASED_SERVICE
--       AC_CHECK_DECL([GSS_C_NT_HOSTBASED_SERVICE],,
--          [AC_DEFINE([GSS_C_NT_HOSTBASED_SERVICE], gss_nt_service_name, 
--             [Define if GSS_C_NT_HOSTBASED_SERVICE is not defined otherwise])
--		], [
--		    #ifdef HAVE_GSSAPI_GSSAPI_H
--		    #include <gssapi/gssapi.h>
--		    #else	   
--		    #include <gssapi.h>
--		    #endif
--		])
--	  ])
--     break
--   ])
--   LIBS="$saved_LIBS" 
--   CPPFLAGS="$saved_CPPFLAGS" 
--fi   
--AC_SUBST(GSSAPI_LIBS)
--AC_SUBST(GSSAPI_CFLAGS)
- 	   
- dnl ******************************
- dnl http-method (neon checks)
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb
deleted file mode 100644
index 3ec6466..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "a userspace virtual filesystem"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://libgnomevfs/gnome-vfs.h;endline=25;md5=17071e69707a8f42887d88413f2623cb \
-                    file://programs/gnomevfs-ls.c;endline=23;md5=678a2e8bedaef5818ccabe633840196b \
-                    file://daemon/vfs-daemon.c;endline=21;md5=5f2c61553fb16abb07fc9498ca03fe1f \
-                    file://modules/cdda-cddb.h;endline=22;md5=20ed324ca64907c366ecd7f22b8e0c54"
-
-DEPENDS = "libxml2 gconf dbus bzip2 gnome-mime-data zlib intltool-native gnome-common-native"
-RRECOMMENDS_${PN} = "gnome-vfs-plugin-file shared-mime-info"
-# Some legacy packages will require gnome-mime-data to be installed, but use of
-# it is deprecated.
-PR = "r3"
-
-inherit gnome
-
-# This is to provide compatibility with the gnome-vfs DBus fork
-RPROVIDES_${PN} = "gnome-vfs-plugin-dbus"
-
-SRC_URI += " \
-    file://gconftool-lossage.patch \
-    file://gnome-vfs-no-kerberos.patch;striplevel=0 \
-    file://0001-multiple-Makefile.am-remove-DG_DISABLE_DEPRECATED-to.patch \
-    file://do-not-use-srcdir-variable.patch \
-"
-
-SRC_URI[archive.md5sum] = "a05fab03eeef10a47dd156b758982f2e"
-SRC_URI[archive.sha256sum] = "62de64b5b804eb04104ff98fcd6a8b7276d510a49fbd9c0feb568f8996444faa"
-GNOME_COMPRESS_TYPE="bz2"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)}"
-PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[fam] = "--enable-fam,--disable-fam,gamin"
-
-EXTRA_OECONF = " --disable-hal \
-                 --disable-openssl \
-                 --disable-samba \
-                 ac_cv_lib_acl_acl_get_file=no \
-                 ac_cv_lib_sec_acl=no \
-                 gvfs_cv_HAVE_SOLARIS_ACLS=no \
-                 gvfs_cv_HAVE_POSIX_ACLS=no \
-"
-
-FILES_${PN} += "${libdir}/vfs ${datadir}/dbus-1/services"
-FILES_${PN}-dbg += "${libdir}/gnome-vfs-2.0/modules/.debug"
-FILES_${PN}-dev += "${libdir}/gnome-vfs-2.0/include/* ${libdir}/gnome-vfs-2.0/modules/*.la"
-FILES_${PN}-staticdev += "${libdir}/gnome-vfs-2.0/modules/*.a"
-FILES_${PN}-doc += "${datadir}/gtk-doc"
-
-PACKAGES_DYNAMIC += "^gnome-vfs-plugin-.*"
-
-python populate_packages_prepend () {
-    plugindir = d.expand('${libdir}/gnome-vfs-2.0/modules/')
-    do_split_packages(d, plugindir, '^lib(.*)\.so$', 'gnome-vfs-plugin-%s', 'GNOME VFS plugin for %s')
-}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups/libgnomecups-0.2.3-cups-1.6.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups/libgnomecups-0.2.3-cups-1.6.patch
deleted file mode 100644
index dba60ca..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups/libgnomecups-0.2.3-cups-1.6.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-Imported from gentoo:
-http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-print/libgnomecups/files/libgnomecups-0.2.3-cups-1.6.patch
-
-From ae783efde4fa69578651994505462f02b8639220 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Tue, 7 Aug 2012 06:53:09 -0400
-Subject: [PATCH] Use CUPS-1.6 IPP API getter/setter functions
-
-CUPS 1.6 makes various structures private and introduces these ippGet
-and ippSet functions for all of the fields in these structures.
-http://www.cups.org/str.php?L3928
-
-We define our own accessors when building against CUPS < 1.6.
-
-Based on work by Jiri Popelka <jpopelka@redhat.com> at
-https://bugzilla.gnome.org/show_bug.cgi?id=679759
----
- libgnomecups/gnome-cups-printer.c |   48 +++++++++++++++++++++++++++++-------
- libgnomecups/gnome-cups-queue.c   |   43 +++++++++++++++++++++++++++------
- libgnomecups/gnome-cups-request.c |   44 ++++++++++++++++++++++++++++-----
- 3 files changed, 110 insertions(+), 25 deletions(-)
-
-diff --git a/libgnomecups/gnome-cups-printer.c b/libgnomecups/gnome-cups-printer.c
-index c924af0..f5e1ef7 100644
---- a/libgnomecups/gnome-cups-printer.c
-+++ b/libgnomecups/gnome-cups-printer.c
-@@ -37,6 +37,34 @@
- 
- #define UPDATE_TIMEOUT 5000
- 
-+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
-+#define HAVE_CUPS_1_6 1
-+#endif
-+
-+#ifndef HAVE_CUPS_1_6
-+#define ippGetCount(attr)     attr->num_values
-+#define ippGetName(attr)      attr->name
-+#define ippGetInteger(attr, element) attr->values[element].integer
-+#define ippGetString(attr, element, language) attr->values[element].string.text
-+
-+static ipp_attribute_t *
-+ippFirstAttribute(ipp_t *ipp)
-+{
-+  if (!ipp)
-+    return (NULL);
-+  return (ipp->current = ipp->attrs);
-+}
-+
-+static ipp_attribute_t *
-+ippNextAttribute(ipp_t *ipp)
-+{
-+  if (!ipp || !ipp->current)
-+    return (NULL);
-+  return (ipp->current = ipp->current->next);
-+}
-+#endif
-+
-+
- struct _GnomeCupsPPDFile {
- 	char name[1];
- };
-@@ -173,9 +201,9 @@ map_reasons (GnomeCupsPrinter *printer,
- 	printer->details->state_reasons = NULL;
- 
- 	/* cf. RFC2911 4.4.12 */
--	for (i = 0; i < attr->num_values; i++) {
-+	for (i = 0; i < ippGetCount (attr); i++) {
- 		const char *p;
--		const char *keyword = attr->values [i].string.text;
-+		const char *keyword = ippGetString (attr, i, NULL);
- 
- 		reason = g_new (GnomeCupsPrinterReason, 1);
- 
-@@ -224,8 +252,8 @@ gnome_cups_printer_get_info (GnomeCupsPrinter *printer)
- 	return printer->details->info;
- }
- 
--#define MAP_INT(v,a) {if (!g_ascii_strcasecmp (attr->name, (a))) { if ((v) != attr->values[0].integer) { changed = TRUE; } (v) = attr->values[0].integer; }}
--#define MAP_STRING(v,a) {if (!g_ascii_strcasecmp (attr->name, (a))) { if (!v || strcmp (v, attr->values[0].string.text)) { g_free (v); changed = TRUE; (v) = g_strdup (attr->values[0].string.text); }}}
-+#define MAP_INT(v,a) {if (!g_ascii_strcasecmp (ippGetName (attr), (a))) { if ((v) != ippGetInteger (attr, 0)) { changed = TRUE; } (v) = ippGetInteger (attr, 0); }}
-+#define MAP_STRING(v,a) {if (!g_ascii_strcasecmp (ippGetName (attr), (a))) { if (!v || strcmp (v, ippGetString (attr, 0, NULL))) { g_free (v); changed = TRUE; (v) = g_strdup (ippGetString (attr, 0, NULL)); }}}
- 
- static void
- attributes_update_cb (guint id,
-@@ -243,14 +271,14 @@ attributes_update_cb (guint id,
- 	changed = FALSE;
- 
- 	if (!error && response) {
--		for (attr = response->attrs; attr != NULL; attr = attr->next) {
--			if (!attr->name) {
-+		for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
-+			if (!ippGetName (attr)) {
- 				continue;
- 			} 
--			if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !strcmp (attr->name, "attributes-charset")) {
-+			if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !strcmp (ippGetName (attr), "attributes-charset")) {
- 				continue;
- 			}
--			if (!g_ascii_strcasecmp (attr->name, "printer-state-reasons")) {
-+			if (!g_ascii_strcasecmp (ippGetName (attr), "printer-state-reasons")) {
- 				map_reasons (printer, attr);
- 			}
- 			MAP_INT (printer->details->state, "printer-state");
-@@ -570,7 +598,7 @@ get_default (void)
- 	
- 	attr = ippFindAttribute (response, "printer-name", IPP_TAG_NAME);
- 	if (attr) {
--		name = g_strdup (attr->values[0].string.text);
-+		name = g_strdup (ippGetString (attr, 0, NULL));
- 	} else {
- 		name = NULL;
- 	}
-@@ -698,7 +726,7 @@ get_printer_names (void)
- 	attr = ippFindAttribute (response, "printer-name", IPP_TAG_NAME);
- 	while (attr) {
- 		ret = g_list_prepend (ret, 
--				      g_strdup (attr->values[0].string.text));
-+				      g_strdup (ippGetString (attr, 0, NULL)));
- 		
- 		attr = ippFindNextAttribute (response, 
- 					     "printer-name", 
-diff --git a/libgnomecups/gnome-cups-queue.c b/libgnomecups/gnome-cups-queue.c
-index 9f98ed9..298db42 100644
---- a/libgnomecups/gnome-cups-queue.c
-+++ b/libgnomecups/gnome-cups-queue.c
-@@ -15,6 +15,33 @@
- 
- #define UPDATE_TIMEOUT 3000
- 
-+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
-+#define HAVE_CUPS_1_6 1
-+#endif
-+
-+#ifndef HAVE_CUPS_1_6
-+#define ippGetName(attr)      attr->name
-+#define ippGetInteger(attr, element) attr->values[element].integer
-+#define ippGetString(attr, element, language) attr->values[element].string.text
-+
-+static ipp_attribute_t *
-+ippFirstAttribute(ipp_t *ipp)
-+{
-+  if (!ipp)
-+    return (NULL);
-+  return (ipp->current = ipp->attrs);
-+}
-+
-+static ipp_attribute_t *
-+ippNextAttribute(ipp_t *ipp)
-+{
-+  if (!ipp || !ipp->current)
-+    return (NULL);
-+  return (ipp->current = ipp->current->next);
-+}
-+#endif
-+
-+
- struct _GnomeCupsQueueDetails {
- 	char *queue_name;
- 	GList *jobs;
-@@ -199,8 +226,8 @@ finish_job (GnomeCupsJob *job)
- 	job->size = job->size * 1024;
- }
- 
--#define MAP_STR(dest, src) { if (!g_ascii_strcasecmp (attr->name, (src))) { if ((dest) != NULL) g_free (dest); (dest) = g_strdup (attr->values[0].string.text);}}
--#define MAP_INT(dest, src) { if (!g_ascii_strcasecmp (attr->name, (src))) { (dest) = attr->values[0].integer; } }
-+#define MAP_STR(dest, src) { if (!g_ascii_strcasecmp (ippGetName (attr), (src))) { if ((dest) != NULL) g_free (dest); (dest) = g_strdup (ippGetString (attr, 0, NULL));}}
-+#define MAP_INT(dest, src) { if (!g_ascii_strcasecmp (ippGetName (attr), (src))) { (dest) = ippGetInteger (attr, 0); } }
- 
- static void
- get_jobs_cb (guint id,
-@@ -231,8 +258,8 @@ get_jobs_cb (guint id,
- 	
- 	if (response) {
- 		job = g_new0 (GnomeCupsJob, 1);
--		for (attr = response->attrs; attr != NULL; attr = attr->next) {
--			if (attr->name == NULL) {
-+		for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
-+			if (ippGetName (attr) == NULL) {
- 				if (job->name) {
- 					finish_job (job);
- 					jobs = g_list_prepend (jobs, job);	
-@@ -244,7 +271,7 @@ get_jobs_cb (guint id,
- 				continue;
- 			}
- 			
--			if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !g_ascii_strcasecmp (attr->name, "attributes-charset")) {
-+			if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !g_ascii_strcasecmp (ippGetName (attr), "attributes-charset")) {
- 				continue;
- 				
- 			}
-@@ -355,8 +382,8 @@ gnome_cups_queue_get_job_nocache (GnomeCupsQueue *queue,
- 
- 	if (response) {
- 		job = g_new0 (GnomeCupsJob, 1);
--		for (attr = response->attrs; attr != NULL; attr = attr->next) {
--			if (attr->name == NULL) {
-+		for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) {
-+			if (ippGetName (attr) == NULL) {
- 				if (job->name) {
- 					finish_job (job);
- 				} else {
-@@ -366,7 +393,7 @@ gnome_cups_queue_get_job_nocache (GnomeCupsQueue *queue,
- 				break;
- 			}
- 			
--			if (!g_ascii_strcasecmp (attr->name, "attributes-charset") || !g_ascii_strcasecmp (attr->name, "attributes-charset")) {
-+			if (!g_ascii_strcasecmp (ippGetName (attr), "attributes-charset") || !g_ascii_strcasecmp (ippGetName (attr), "attributes-charset")) {
- 				continue;
- 			}
- 			
-diff --git a/libgnomecups/gnome-cups-request.c b/libgnomecups/gnome-cups-request.c
-index c94f623..13f0948 100644
---- a/libgnomecups/gnome-cups-request.c
-+++ b/libgnomecups/gnome-cups-request.c
-@@ -19,6 +19,36 @@
- #define STOP_UNUSED_THREADS_TIMEOUT 60
- #define CLOSE_UNUSED_CONNECTIONS_TIMEOUT 30
- 
-+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
-+#define HAVE_CUPS_1_6 1
-+#endif
-+
-+#ifndef HAVE_CUPS_1_6
-+#define ippGetCount(attr)     attr->num_values
-+#define ippGetValueTag(attr)  attr->value_tag
-+#define ippGetName(attr)      attr->name
-+#define ippGetBoolean(attr, element) attr->values[element].boolean
-+#define ippGetInteger(attr, element) attr->values[element].integer
-+#define ippGetString(attr, element, language) attr->values[element].string.text
-+
-+static ipp_attribute_t *
-+ippFirstAttribute(ipp_t *ipp)
-+{
-+  if (!ipp)
-+    return (NULL);
-+  return (ipp->current = ipp->attrs);
-+}
-+
-+static ipp_attribute_t *
-+ippNextAttribute(ipp_t *ipp)
-+{
-+  if (!ipp || !ipp->current)
-+    return (NULL);
-+  return (ipp->current = ipp->current->next);
-+}
-+#endif
-+
-+
- typedef struct
- {
- 	GMutex *mutex;
-@@ -276,14 +306,14 @@ dump_request (ipp_t const *req)
- 	unsigned i;
- 	ipp_attribute_t *attr;
- 
--	for (attr = req->attrs; attr != NULL; attr = attr->next) {
--		g_print ("%s", attr->name);
--		for (i = 0 ; i < attr->num_values ; i++) {
-+	for (attr = ippFirstAttribute (req); attr != NULL; attr = ippNextAttribute (req)) {
-+		g_print ("%s", ippGetName (attr));
-+		for (i = 0 ; i < ippGetCount (attr) ; i++) {
- 			g_print ("\t[%d] = ", i);
--			switch (attr->value_tag & ~IPP_TAG_COPY) {
-+			switch (ippGetValueTag (attr) & ~IPP_TAG_COPY) {
- 			case IPP_TAG_INTEGER:
- 			case IPP_TAG_ENUM:
--				g_print ("%d\n", attr->values[i].integer);
-+				g_print ("%d\n", ippGetInteger (attr, i));
- 				break;
- 
- 			case IPP_TAG_STRING:
-@@ -294,11 +324,11 @@ dump_request (ipp_t const *req)
- 			case IPP_TAG_CHARSET:
- 			case IPP_TAG_LANGUAGE:
- 			case IPP_TAG_MIMETYPE:
--				g_print ("'%s'\n", attr->values[i].string.text);
-+				g_print ("'%s'\n", ippGetString (attr, i, NULL));
- 				break;
- 
- 			case IPP_TAG_BOOLEAN:
--				g_print ("%s\n", (int)attr->values[i].boolean ? "true" : "false");
-+				g_print ("%s\n", (int)ippGetBoolean (attr, i) ? "true" : "false");
- 				break;
- 
- 			default:
--- 
-1.7.8.6
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups/libgnomecups-0.2.3-glib.h.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups/libgnomecups-0.2.3-glib.h.patch
deleted file mode 100644
index c7b6165..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups/libgnomecups-0.2.3-glib.h.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Imported from gentoo:
-
-http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-print/libgnomecups/files/libgnomecups-0.2.3-glib.h.patch
-
-From d84eee9450b3b6f6155074915efc61bedcc8d446 Mon Sep 17 00:00:00 2001
-From: Dominique Leuenberger <dimstar@opensuse.org>
-Date: Sun, 27 Nov 2011 21:36:41 +0100
-Subject: [PATCH] Fix: Only glib.h can be included
-
----
- libgnomecups/gnome-cups-i18n.c |    2 +-
- libgnomecups/gnome-cups-init.h |    3 +--
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/libgnomecups/gnome-cups-i18n.c b/libgnomecups/gnome-cups-i18n.c
-index 8987c5c..127756d 100644
---- a/libgnomecups/gnome-cups-i18n.c
-+++ b/libgnomecups/gnome-cups-i18n.c
-@@ -1,5 +1,5 @@
- #include <config.h>
--#include <glib/gmacros.h>
-+#include <glib.h>
- #include "gnome-cups-i18n.h"
- 
- #ifdef ENABLE_NLS
-diff --git a/libgnomecups/gnome-cups-init.h b/libgnomecups/gnome-cups-init.h
-index 22b682a..c4600fc 100644
---- a/libgnomecups/gnome-cups-init.h
-+++ b/libgnomecups/gnome-cups-init.h
-@@ -1,8 +1,7 @@
- #ifndef GNOME_CUPS_INIT
- #define GNOME_CUPS_INIT
- 
--#include <glib/gtypes.h>
--#include <glib/gmacros.h>
-+#include <glib.h>
- 
- G_BEGIN_DECLS
- 
--- 
-1.7.7
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/files/glib-2.32.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/files/glib-2.32.patch
deleted file mode 100644
index f0b878d..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/files/glib-2.32.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 8d49a386f467cbf8e0842d2218126f643e50f834 Mon Sep 17 00:00:00 2001
-From: Dominique Leuenberger <dimstar@opensuse.org>
-Date: Sun, 27 Nov 2011 14:24:57 +0000
-Subject: Fix build with glib 2.31: Only glib.h can be #include'd. Fixes bug #664914
-
-Upstream-Status: Backport
-
----
-diff --git a/engines/clearlooks/src/animation.c b/engines/clearlooks/src/animation.c
-index 1f7a41f..56a9286 100644
---- a/engines/clearlooks/src/animation.c
-+++ b/engines/clearlooks/src/animation.c
-@@ -28,7 +28,7 @@
- #include "animation.h"
- 
- #ifdef HAVE_WORKING_ANIMATION
--#include <glib/gtimer.h>
-+#include <glib.h>
- 
- struct _AnimationInfo {
- 	GTimer *timer;
---
-cgit v0.9.0.2
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/files/substitute-tests.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/files/substitute-tests.patch
deleted file mode 100644
index 5c557ba..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/files/substitute-tests.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Upstream-Status: Pending
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurd gtk-engines-2.20.2/configure.ac gtk-engines-2.20.2/configure.ac
---- gtk-engines-2.20.2/configure.ac	2010-10-01 15:42:37.000000000 +0300
-+++ gtk-engines-2.20.2/configure.ac	2013-08-20 02:50:27.930510565 +0300
-@@ -166,6 +166,9 @@
-
- AC_SUBST(DEVELOPMENT_CFLAGS)
-
-+AC_SUBST([exported_symbols_tests], [[$(EXPORTED_SYMBOLS_TESTS)]])
-+AC_SUBST([torture_test_tests], [[$(TORTURE_TEST_TESTS)]])
-+
- AM_CONFIG_HEADER([engines/support/config.h])
-
- AC_CONFIG_FILES([
-diff -Nurd gtk-engines-2.20.2/test/Makefile.am gtk-engines-2.20.2/test/Makefile.am
---- gtk-engines-2.20.2/test/Makefile.am	2010-09-19 18:18:21.000000000 +0300
-+++ gtk-engines-2.20.2/test/Makefile.am	2013-08-20 02:50:36.842510865 +0300
-@@ -66,7 +66,7 @@
- # Prefix with exported_
- EXPORTED_SYMBOLS_TESTS = $(patsubst %,exported_%,$(BUILD_ENGINES))
-
--TESTS += $(EXPORTED_SYMBOLS_TESTS)
-+TESTS += @exported_symbols_tests@
-
-
- #############################################################
-@@ -88,7 +88,7 @@
- TORTURE_TEST_TESTS = torture_buildin $(patsubst %,torture_%,$(TORTURE_TEST_ENGINES))
-
- # Add TORTURE_TEST_ENGINES to list of tests
--TESTS += $(TORTURE_TEST_TESTS)
-+TESTS += @torture_test_tests@
-
- # Possible other tests:
- #  - An extensive theme switch tests that loads/unloads the engine
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb
deleted file mode 100644
index 83aa749..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "GTK+ theme engines"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-SECTION = "x11/base"
-DEPENDS = "intltool-native gtk+ gettext-native glib-2.0-native"
-
-PR = "r3"
-
-PACKAGES += "${PN}-schemas"
-PACKAGES_DYNAMIC += "^gtk-engine-.* ^gtk-theme-.*"
-
-RDEPENDS_gtk-theme-redmond = "gtk-engine-redmond95"
-RDEPENDS_gtk-theme-metal = "gtk-engine-metal"
-RDEPENDS_gtk-theme-mist = "gtk-engine-mist"
-RDEPENDS_gtk-theme-crux = "gtk-engine-crux-engine"
-RDEPENDS_gtk-theme-lighthouseblue = "gtk-engine-lighthouseblue"
-RDEPENDS_gtk-theme-thinice = "gtk-engine-thinice"
-RDEPENDS_gtk-theme-industrial = "gtk-engine-industrial"
-RDEPENDS_gtk-theme-clearlooks = "gtk-engine-clearlooks"
-
-FILES_${PN} = ""
-FILES_${PN}-dev += "${libdir}/gtk-2.0/*/engines/*.la"
-FILES_${PN}-schemas = "${datadir}/gtk-engines/*.xml"
-
-CFLAGS_prepend = "-DHAVE_ANIMATION "
-
-RDEPENDS_${PN}-dev = ""
-
-inherit gnomebase
-GNOME_COMPRESS_TYPE="bz2"
-
-inherit distro_features_check
-ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
-
-# This picks stable releases in the 2.x series (but not 2.90 onwards,
-# which were GNOME 3 betas).
-UPSTREAM_CHECK_REGEX = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)"
-
-python populate_packages_prepend() {
-    engines_root = os.path.join(d.getVar('libdir'), "gtk-2.0/2.10.0/engines")
-    themes_root = os.path.join(d.getVar('datadir'), "themes")
-
-    do_split_packages(d, engines_root, '^lib(.*)\.so$', 'gtk-engine-%s', 'GTK %s theme engine', extra_depends='')
-    do_split_packages(d, themes_root, '(.*)', 'gtk-theme-%s', 'GTK theme %s', allow_dirs=True, extra_depends='')
-    # TODO: mark theme packages as arch all
-}
-
-SRC_URI += "file://glib-2.32.patch \
-            file://substitute-tests.patch"
-SRC_URI[archive.md5sum] = "5deb287bc6075dc21812130604c7dc4f"
-SRC_URI[archive.sha256sum] = "15b680abca6c773ecb85253521fa100dd3b8549befeecc7595b10209d62d66b5"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light/classic-light.xml b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light/classic-light.xml
new file mode 100644
index 0000000..23b4b9a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light/classic-light.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Based on gtksourceview 'classic'
+ 
+ This file is part of GtkSourceView
+
+ Copyright (C) 2006-2007 GtkSourceView team
+ Author: Yevgen Muntyan <muntyan@tamu.edu>
+
+ GtkSourceView is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ GtkSourceView 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+-->
+<style-scheme id="classic-light" _name="Classic-Light" version="1.0">
+  <author>GtkSourceView team</author>
+  <_description>Classic color scheme light</_description>
+
+  <!-- The scheme tries to look like the default GVim scheme,
+       since it is also what the hardwired GtkSourceView 1 color
+       scheme did -->
+
+  <!-- Palette -->
+  <color name="black"      value="#000000"/>
+  <color name="white"      value="#FFFFFF"/>
+  <color name="blue"       value="#0000FF"/>
+  <color name="magenta"    value="#FF00FF"/>
+  <color name="violet"     value="#6A5ACD"/>
+  <color name="cyan"       value="#008A8C"/>
+  <color name="gray"       value="#BEBEBE"/>
+  <color name="lightgray"  value="#E0E0E0"/>
+  <color name="green"      value="#2E8B57"/>
+  <color name="bordeaux"   value="#A52A2A"/>
+  <color name="red"        value="#FF0000"/>
+  <color name="yellow"     value="#FFFF00"/>
+  <color name="purple"     value="#A020F0"/>
+
+  <!-- Global Settings -->
+  <style name="current-line"                background="#eeeeec"/>
+  <style name="current-line-number"         background="#eeeeec"/>
+  <style name="draw-spaces"                 foreground="#babdb6"/>
+  <style name="background-pattern"          background="#f3f3f3"/>
+  <style name="text"                        foreground="black" background="white"/>
+  <style name="selection"                   background="gray"/>
+  <style name="cursor"                      foreground="black"/>
+  <style name="line-numbers"                foreground="black" background="gray"/>
+
+  <!-- Bracket Matching -->
+  <style name="bracket-match"               foreground="white" background="gray"/>
+  <style name="bracket-mismatch"            foreground="white" background="red"/>
+
+  <!-- Right Margin -->
+  <style name="right-margin"                foreground="#000000" background="#000000"/>
+
+  <!-- Search Matching -->
+  <style name="search-match"                background="yellow"/>
+
+  <!-- Comments -->
+  <style name="def:comment"                 foreground="blue"/>
+  <style name="def:shebang"                 foreground="blue" bold="true"/>
+  <style name="def:doc-comment-element"     italic="true"/>
+
+  <!-- Constants -->
+  <style name="def:constant"                foreground="magenta"/>
+  <style name="def:special-char"            foreground="violet"/>
+
+  <!-- Identifiers -->
+  <style name="def:identifier"              foreground="cyan"/>
+
+  <!-- Statements -->
+  <style name="def:statement"               foreground="bordeaux" bold="true"/>
+
+  <!-- Types -->
+  <style name="def:type"                    foreground="green" bold="true"/>
+
+  <!-- Others -->
+  <style name="def:preprocessor"            foreground="purple"/>
+  <style name="def:error"                   background="red" bold="true"/>
+  <style name="def:warning"                 background="yellow"/>
+  <style name="def:note"                    foreground="blue" background="yellow" bold="true"/>
+  <style name="def:underlined"              italic="true" underline="single"/>
+
+  <!-- Heading styles, uncomment to enable -->
+  <!--
+  <style name="def:heading0"                scale="5.0"/>
+  <style name="def:heading1"                scale="2.5"/>
+  <style name="def:heading2"                scale="2.0"/>
+  <style name="def:heading3"                scale="1.7"/>
+  <style name="def:heading4"                scale="1.5"/>
+  <style name="def:heading5"                scale="1.3"/>
+  <style name="def:heading6"                scale="1.2"/>
+  -->
+
+  <!-- Language specific styles -->
+  <style name="diff:added-line"             foreground="#008B8B"/>
+  <style name="diff:removed-line"           foreground="#6A5ACD"/>
+  <style name="diff:changed-line"           use-style="def:preprocessor"/>
+  <style name="diff:special-case"           use-style="def:constant"/>
+  <style name="diff:location"               use-style="def:statement"/>
+  <style name="diff:diff-file"              use-style="def:type"/>
+
+  <style name="xml:tags"                    foreground="cyan"/>
+  <style name="xml:attribute-name"          foreground="violet"/>
+  <style name="xml:namespace"               foreground="green" bold="true"/>
+
+  <style name="js:object"                   foreground="#2E8B57" bold="true"/>
+  <style name="js:constructors"             foreground="#008B8B"/>
+
+  <style name="latex:display-math"          foreground="#6A5ACD"/>
+  <style name="latex:command"               foreground="#2E8B57" bold="true"/>
+  <style name="latex:include"               use-style="def:preprocessor"/>
+
+  <style name="sh:variable"                 foreground="#6A5ACD"/>
+
+  <!-- legacy styles for old lang files -->
+  <style name="Others"                      foreground="#2E8B57" bold="true"/>
+  <style name="Others 2"                    foreground="#008B8B"/>
+  <style name="Others 3"                    foreground="#6A5ACD"/>
+
+</style-scheme>
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb
new file mode 100644
index 0000000..e7dc0f8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Gtksourceview Classic-Light theme"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://classic-light.xml;beginline=6;endline=23;md5=2b4f75364fad00a4d752214dcbd7d7c3"
+
+inherit allarch
+
+SRC_URI = "file://classic-light.xml"
+
+S = "${WORKDIR}"
+
+do_install() {
+    install -d ${D}${datadir}/gtksourceview-2.0/styles
+    install -m 0644 ${WORKDIR}/classic-light.xml ${D}${datadir}/gtksourceview-2.0/styles/
+    install -d ${D}${datadir}/gtksourceview-3.0/styles
+    install -m 0644 ${WORKDIR}/classic-light.xml ${D}${datadir}/gtksourceview-3.0/styles/
+}
+
+FILES_${PN} = " \
+    ${datadir}/gtksourceview-2.0/styles \
+    ${datadir}/gtksourceview-3.0/styles \
+"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.6.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.6.bb
new file mode 100644
index 0000000..87e48ed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.6.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Portable C library for multiline text editing"
+HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
+
+PNAME = "gtksourceview"
+
+S = "${WORKDIR}/${PNAME}-${PV}"
+
+inherit gnomebase lib_package gettext distro_features_check gtk-doc gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/${PNAME}-${PV}.tar.xz"
+SRC_URI[md5sum] = "c09ccfc80f78083841f8fe266c1ac52a"
+SRC_URI[sha256sum] = "7aa6bdfebcdc73a763dddeaa42f190c40835e6f8495bb9eb8f78587e2577c188"
+
+FILES_${PN} += " ${datadir}/gtksourceview-3.0"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb
deleted file mode 100644
index d380688..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.32.1.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-DESCRIPTION = "gvfs is a userspace virtual filesystem"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
-
-inherit gnome bash-completion gettext
-
-DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2 polkit shadow-native"
-
-SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
-
-SRC_URI[archive.md5sum] = "cbe766b46f324e17d7abcfb4a89a1684"
-SRC_URI[archive.sha256sum] = "d0b6c9edab09d52472355657a2f0a14831b2e6c58caba395f721ab683f836ade"
-
-EXTRA_OECONF = " \
-    --disable-gdu \
-    --enable-udisks2 \
-    --disable-documentation \
-    --with-archive-includes=${STAGING_INCDIR} \
-    --with-archive-libs=${STAGING_LIBDIR} \
-"
-
-PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
-
-FILES_${PN} += " \
-    ${datadir}/glib-2.0 \
-    ${datadir}/GConf \
-    ${datadir}/dbus-1/services \
-    ${libdir}/gio/modules/*.so \
-    ${libdir}/tmpfiles.d \
-    ${systemd_user_unitdir} \
-"
-RDEPENDS_${PN} = "udisks2"
-
-FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
-FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
-
-FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
-FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
-FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
-
-RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
-
-PACKAGECONFIG ?= "libgphoto2 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-PACKAGECONFIG[afc] = "--enable-afc, --disable-afc, libimobiledevice libplist"
-PACKAGECONFIG[archive] = "--enable-archive, --disable-archive, libarchive"
-PACKAGECONFIG[avahi] = "--enable-avahi, --disable-avahi, avahi"
-PACKAGECONFIG[gcr] = "--enable-gcr, --disable-gcr, gcr"
-PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+3"
-PACKAGECONFIG[http] = "--enable-http, --disable-http, libsoup-2.4"
-PACKAGECONFIG[libmtp] = "--enable-libmtp, --disable-libmtp, libmtp"
-PACKAGECONFIG[libgphoto2] = "--enable-gphoto2, --disable-gphoto2, libgphoto2"
-PACKAGECONFIG[samba] = "--enable-samba, --disable-samba, samba"
-PACKAGECONFIG[systemd] = "--with-systemduserunitdir=${systemd_user_unitdir},--without-systemduserunitdir,systemd"
-
-# needs meta-filesystems
-PACKAGECONFIG[fuse] = "--enable-fuse, --disable-fuse, fuse"
-
-# libcdio-paranoia recipe doesn't exist yet
-PACKAGECONFIG[cdda] = "--enable-cdda, --disable-cdda, libcdio-paranoia"
-
-# Fix up permissions on polkit rules.d to work with rpm4 constraints
-do_install_append() {
-	chmod 700 ${D}/${datadir}/polkit-1/rules.d
-	chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
-}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.36.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.36.0.bb
new file mode 100644
index 0000000..5f73912
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.36.0.bb
@@ -0,0 +1,68 @@
+DESCRIPTION = "gvfs is a userspace virtual filesystem"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
+
+inherit gnome bash-completion gettext
+
+DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2 polkit shadow-native"
+
+SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
+
+SRC_URI[archive.md5sum] = "216d461c5e96e2cea74253be407af6dc"
+SRC_URI[archive.sha256sum] = "9ec388afeb373a213f2cc489184f76a17ae273a000e8a4ec720c1995943256bb"
+
+do_configure_prepend() {
+    # make automake happy..
+    touch ${S}/ABOUT-NLS
+}
+
+EXTRA_OECONF = " \
+    --disable-gdu \
+    --enable-udisks2 \
+    --disable-documentation \
+"
+
+PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
+
+FILES_${PN} += " \
+    ${datadir}/glib-2.0 \
+    ${datadir}/GConf \
+    ${datadir}/dbus-1/services \
+    ${libdir}/gio/modules/*.so \
+    ${libdir}/tmpfiles.d \
+    ${systemd_user_unitdir} \
+"
+RDEPENDS_${PN} = "udisks2"
+
+FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
+FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
+
+FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
+FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
+FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
+
+RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
+
+PACKAGECONFIG ?= "libgphoto2 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[afc] = "--enable-afc, --disable-afc, libimobiledevice libplist"
+PACKAGECONFIG[archive] = "--enable-archive, --disable-archive, libarchive"
+PACKAGECONFIG[avahi] = "--enable-avahi, --disable-avahi, avahi"
+PACKAGECONFIG[gcr] = "--enable-gcr, --disable-gcr, gcr"
+PACKAGECONFIG[http] = "--enable-http, --disable-http, libsoup-2.4"
+PACKAGECONFIG[libmtp] = "--enable-libmtp, --disable-libmtp, libmtp"
+PACKAGECONFIG[libgphoto2] = "--enable-gphoto2, --disable-gphoto2, libgphoto2"
+PACKAGECONFIG[samba] = "--enable-samba, --disable-samba, samba"
+PACKAGECONFIG[systemd] = "--with-systemduserunitdir=${systemd_user_unitdir},--without-systemduserunitdir,systemd"
+
+# needs meta-filesystems
+PACKAGECONFIG[fuse] = "--enable-fuse, --disable-fuse, fuse"
+
+# libcdio-paranoia recipe doesn't exist yet
+PACKAGECONFIG[cdda] = "--enable-cdda, --disable-cdda, libcdio-paranoia"
+
+# Fix up permissions on polkit rules.d to work with rpm4 constraints
+do_install_append() {
+	chmod 700 ${D}/${datadir}/polkit-1/rules.d
+	chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb
index c2157df..80cbae3 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb
@@ -9,12 +9,18 @@
 
 DEPENDS = "gnome-common-native libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr json-glib"
 
-inherit gnomebase pkgconfig autotools-brokensep gettext gtk-doc vala gobject-introspection
+inherit distro_features_check gnomebase pkgconfig autotools-brokensep gettext gtk-doc vala gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 do_configure_prepend_class-target () {
     # introspection.m4 pre-packaged with upstream tarballs does not yet
     # have our fixes
     rm -f ${S}/introspection.m4
+    
+    # remove the pre-built gtk-doc files, as they're installed (or attempted to be installed)
+    # even if gtk-doc is explicitly disabled
+    rm -rf ${S}/docs/reference/html
 }
 
 do_compile_prepend() {
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome/0001-libgnome-Makefile.am-allow-deprecated-symbols.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome/0001-libgnome-Makefile.am-allow-deprecated-symbols.patch
deleted file mode 100644
index b658303..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome/0001-libgnome-Makefile.am-allow-deprecated-symbols.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ce1cd20fceea7dbcc5b983d94de771461eccf7cf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Mon, 29 Apr 2013 14:17:13 +0200
-Subject: [PATCH] libgnome/Makefile.am: allow deprecated symbols
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-fixes:
-
-| gnome-program.c: In function 'gnome_program_init_common':
-| gnome-program.c:2067:2: error: implicit declaration of function 'g_atexit' [-Werror=implicit-function-declaration]
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- libgnome/Makefile.am |    1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/libgnome/Makefile.am b/libgnome/Makefile.am
-index 9c8cd3e..aa01f6c 100644
---- a/libgnome/Makefile.am
-+++ b/libgnome/Makefile.am
-@@ -17,7 +17,6 @@ INCLUDES = \
- 	-I$(srcdir)/..						\
- 	$(WARN_CFLAGS)						\
- 	$(LIBGNOME_CFLAGS)					\
--	-DG_DISABLE_DEPRECATED					\
- 	-DLIBGNOME_PREFIX=\""$(prefix)"\"			\
- 	-DLIBGNOME_LIBDIR=\""$(libdir)"\"			\
- 	-DLIBGNOME_DATADIR=\""$(datadir)"\"			\
--- 
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome_2.32.1.bb
deleted file mode 100644
index 0055ba4..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnome_2.32.1.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Gnome application programming libraries"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
-SECTION = "x11/gnome/libs"
-
-inherit gnome lib_package
-
-PR = "r2"
-
-SRC_URI[archive.md5sum] = "a4345e6087ae6195d65a4674ffdca559"
-SRC_URI[archive.sha256sum] = "b2c63916866485793b87398266dd7778548c1734923c272a94d84ee011b6f7a4"
-SRC_URI += "file://0001-libgnome-Makefile.am-allow-deprecated-symbols.patch"
-GNOME_COMPRESS_TYPE="bz2"
-
-DEPENDS += "libcanberra gconf-native gnome-vfs libbonobo esound intltool-native gnome-common-native"
-
-EXTRA_OECONF += "--disable-gtk-doc"
-
-do_configure_prepend() {
-    sed -i -e s:docs::g ${S}/Makefile.am
-    echo "EXTRA_DIST = version.xml" > gnome-doc-utils.make
-    echo "EXTRA_DIST = version.xml" > gtk-doc.make
-}
-
-FILES_${PN} += "${libdir}/bonobo/servers ${libdir}/bonobo/monikers/*.so \
-                ${datadir}/gnome-background-properties ${datadir}/pixmaps"
-FILES_${PN}-dev += "${libdir}/bonobo/monikers/*.la"
-FILES_${PN}-staticdev += "${libdir}/bonobo/monikers/*.a"
-
-PACKAGES =+ "gnome-common-schemas"
-
-FILES_gnome-common-schemas = "${datadir}/gnome-background-properties ${datadir}/pixmaps ${sysconfdir}"
-
-RDEPENDS_${PN} = "gnome-common-schemas"
-
-FILES_${PN}-dbg += "${libdir}/bonobo/monikers/.debug"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb
deleted file mode 100644
index 41a89ce..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "A powerful object-oriented display"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
-SECTION = "x11/gnome/libs"
-
-inherit gnomebase gtk-doc
-
-# intltool to provide IT_PROG_INTLTOOL
-# configure: line 12654: syntax error near unexpected token `0.35.0'
-# configure: line 12654: `IT_PROG_INTLTOOL(0.35.0)'
-DEPENDS = "gtk+ libglade libart-lgpl xineramaproto intltool-native gnome-common-native"
-
-SRC_URI[archive.md5sum] = "ffcbb719c671ff5cd86e59aeba8d0b92"
-SRC_URI[archive.sha256sum] = "859b78e08489fce4d5c15c676fec1cd79782f115f516e8ad8bed6abcb8dedd40"
-GNOME_COMPRESS_TYPE="bz2"
-
-FILES_${PN} += "${libdir}/libglade/*/libcanvas.so"
-FILES_${PN}-dbg += "${libdir}/libglade/*/.debug/"
-FILES_${PN}-dev += "${libdir}/libglade/*/libcanvas*.la"
-FILES_${PN}-staticdev += "${libdir}/libglade/*/libcanvas*.a"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb
index 12ed81d..40249fd 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.22.0.bb
@@ -6,7 +6,9 @@
 
 DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native"
 
-inherit gnome gobject-introspection gettext
+inherit distro_features_check gnome gobject-introspection gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 GNOME_COMPRESS_TYPE = "xz"
 
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui/0001-suppress-string-format-literal-warning-to-fix-build-.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui/0001-suppress-string-format-literal-warning-to-fix-build-.patch
deleted file mode 100644
index abc9bdf..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui/0001-suppress-string-format-literal-warning-to-fix-build-.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 6697fcf9d7f53126b442bf19890640b5f88c8aa4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 29 Jul 2016 21:24:20 +0200
-Subject: [PATCH] suppress string format literal warning to fix build with gcc6
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-works around:
-| ../../libgnomeui-2.24.5/libgnomeui/gnome-dateedit.c: In function 'day_selected':
-| ../../libgnomeui-2.24.5/libgnomeui/gnome-dateedit.c:156:9: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
-|          strftime_date_format, &mtm) == 0)
-|          ^~~~~~~~~~~~~~~~~~~~
-| ../../libgnomeui-2.24.5/libgnomeui/gnome-dateedit.c: In function 'gnome_date_edit_set_time':
-| ../../libgnomeui-2.24.5/libgnomeui/gnome-dateedit.c:704:2: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
-|   if (strftime (buffer, sizeof (buffer), strftime_date_format, mytm) == 0)
-|   ^~
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- libgnomeui/gnome-dateedit.c | 6 ++++++
- libgnomeui/gnome-gconf-ui.c | 3 +++
- 2 files changed, 9 insertions(+)
-
-diff --git a/libgnomeui/gnome-dateedit.c b/libgnomeui/gnome-dateedit.c
-index 69ab699..41541c3 100644
---- a/libgnomeui/gnome-dateedit.c
-+++ b/libgnomeui/gnome-dateedit.c
-@@ -152,9 +152,12 @@ day_selected (GtkCalendar *calendar, GnomeDateEdit *gde)
- 	else
- 		mtm.tm_year = year;
- 
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
- 	if (strftime (buffer, sizeof (buffer),
- 		      strftime_date_format, &mtm) == 0)
- 		strcpy (buffer, "???");
-+#pragma GCC diagnostic pop
- 	buffer[sizeof(buffer)-1] = '\0';
- 
- 	/* FIXME: what about set time */
-@@ -701,8 +704,11 @@ gnome_date_edit_set_time (GnomeDateEdit *gde, time_t the_time)
- 	mytm = localtime (&the_time);
- 
- 	/* Set the date */
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
- 	if (strftime (buffer, sizeof (buffer), strftime_date_format, mytm) == 0)
- 		strcpy (buffer, "???");
-+#pragma GCC diagnostic pop
- 	buffer[sizeof(buffer)-1] = '\0';
- 
- 	str_utf8 = g_locale_to_utf8 (buffer, -1, NULL, NULL, NULL);
-diff --git a/libgnomeui/gnome-gconf-ui.c b/libgnomeui/gnome-gconf-ui.c
-index 43c0f44..a84b2c0 100644
---- a/libgnomeui/gnome-gconf-ui.c
-+++ b/libgnomeui/gnome-gconf-ui.c
-@@ -180,12 +180,15 @@ error_idle_func (gpointer data)
-                                 "configuration settings may not work properly.");
-                 }
- 
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-                 dialog = gtk_message_dialog_new (NULL /* parent */,
-                                                  0 /* flags */,
-                                                  GTK_MESSAGE_ERROR,
-                                                  GTK_BUTTONS_OK,
-                                                  fmt,
-                                                  gnome_program_get_human_readable_name(gnome_program_get()));
-+#pragma GCC diagnostic pop
-                 gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
-                 g_signal_connect (dialog, "response",
-                                   G_CALLBACK (gtk_widget_destroy),
--- 
-2.5.5
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui/gnome-stock-pixbufs.h b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui/gnome-stock-pixbufs.h
deleted file mode 100644
index 953a8ae..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui/gnome-stock-pixbufs.h
+++ /dev/null
@@ -1,4030 +0,0 @@
-/* gnome stock icons in GdmPixbuf usable rgb data
- *
- * Copyright (C) 1997 the Free Software Foundation
- *
- * the pixmaps for button_cancel, save_as, trash, mail_receive, stop
- * right_arrow, home, save, book_blue, trash_full, undo, search, mail_forward
- * revert, mail_compose, mic, copy, jump_to, convert, button_apply, timer
- * mail, book_red, book_yellow, help, redo, new, mail_send, button_yes, cut
- * properties, print, mail_reply, refresh, search_replace, open, preferences
- * left_arrow, undelete, close, volume, button_no, exit, book_green
- * book_open, paste, line_in, spellcheck, timer_stopped
- * are Copyright (C) 1998 Tuomas Kuosmanen
- */
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_attach)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_attach[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_attach[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0c\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\21\0\0\0\2\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\26\0"
-  "\0\0\"\0\0\0$\0\0\0%\0\0\0%\0\0\0\377\0\0\0l\0\0\0\377\0\0\0\377\0\0"
-  "\0\10\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\"\0\0\0\20\0"
-  "\0\0$\0\0\0~\1\1\1\377QQQ\377\232\232\232\377\317\317\317\377ooo\377"
-  "\0\0\0\377\0\0\0\16\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0x\0\0\0"
-  "\377FFF\377\245\245\245\377\342\342\342\377\377\377\377\377\377\377\377"
-  "\377\366\366\366\377\212\212\212\377999\377\0\0\0(\0\0\0\10\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\34\0\0\0"
-  "B\0\0\0\377\34\34\34\377\213\213\213\377\346\346\346\377\356\356\356"
-  "\377\341\341\341\377\377\377\377\377\370\370\370\377\367\367\367\377"
-  "\366\366\366\377\314\314\314\377VVV\377\0\0\0^\0\0\0\12\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\377>>>\377\201\201\201"
-  "\377\324\324\324\377\34\34\34\377\347\347\347\377\327\327\327\377\372"
-  "\372\372\377\371\371\371\377\370\370\370\377\302\302\302\377\313\313"
-  "\313\377\365\365\365\377\331\331\331\377\201\201\201\377\0\0\0\377\0"
-  "\0\0\25\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0:\3\3\3\377TTT\377\346\346"
-  "\346\377\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\377\327"
-  "\327\327\377\336\336\336\377\263\263\263\377yyy\377\0\0\0\377\342\342"
-  "\342\377\366\366\366\377\365\365\365\377\364\364\364\377\235\235\235"
-  "\377(((\377\0\0\0)\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\366\366"
-  "\366\377\377\377\377\377\377\377\377\377\372\372\372\377\372\372\372"
-  "\377\373\373\373\377\0\0\0\377\246\246\246\377\305\305\305\377\360\360"
-  "\360\377\370\370\370\377\0\0\0\377\342\342\342\377\302\302\302\377\312"
-  "\312\312\377\364\364\364\377\307\307\307\377VVV\377\0\0\0^\0\0\0\12\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\362\362\362\377\370\370\370\377\371"
-  "\371\371\377\316\316\316\377\304\304\304\377\305\305\305\377\0\0\0\377"
-  "\325\325\325\377\371\371\371\377\370\370\370\377\370\370\370\377\0\0"
-  "\0\377\263\263\263\377\332\332\332\377\364\364\364\377\363\363\363\377"
-  "\363\363\363\377yyy\377\0\0\0\377\0\0\0\25\0\0\0\3\0\0\0\0\0\0\0\0\0"
-  "\0\0h\205\205\205\377\377\377\377\377\370\370\370\377\276\276\276\377"
-  "\371\371\371\377\371\371\371\377\0\0\0\377\323\323\323\377\334\334\334"
-  "\377\302\302\302\377\302\302\302\377\0\0\0\377\342\342\342\377\365\365"
-  "\365\377\364\364\364\377\363\363\363\377\362\362\362\377\234\234\234"
-  "\377(((\377\0\0\0)\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\40HHH\377\377\377\377"
-  "\377\367\367\367\377\367\367\367\377\370\370\370\377\370\370\370\377"
-  "\0\0\0\377\247\247\247\377\326\326\326\377\367\367\367\377\366\366\366"
-  "\377\0\0\0\377\342\342\342\377\364\364\364\377\304\304\304\377\310\310"
-  "\310\377\362\362\362\377\306\306\306\377LLL\377\0\0\0^\0\0\0\12\0\0\0"
-  "\0\0\0\0\0\0\0\0\1\0\0\0\377\352\352\352\377\377\377\377\377\366\366"
-  "\366\377\276\276\276\377\302\302\302\377\0\0\0\377\345\345\345\377\330"
-  "\330\330\377\366\366\366\377\365\365\365\377\0\0\0\377\255\255\255\377"
-  "\274\274\274\377\352\352\352\377\340\340\340\377\361\361\361\377\352"
-  "\352\352\377\220\220\220\377\0\0\0\377\0\0\0\25\0\0\0\3\0\0\0\0\0\0\0"
-  "\0\0\0\0ihhh\377\377\377\377\377\365\365\365\377\366\366\366\377\366"
-  "\366\366\377\242\242\242\377\0\0\0\377\300\300\300\377\301\301\301\377"
-  "\0\0\0\377xxx\377\326\326\326\377\363\363\363\377\362\362\362\377\361"
-  "\361\361\377\361\361\361\377\325\325\325\377\256\256\256\377\25\25\25"
-  "\377\0\0\0)\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\4""999\377\377\377\377\377"
-  "\364\364\364\377\365\365\365\377\365\365\365\377\332\332\332\377\232"
-  "\232\232\377\0\0\0\377\0\0\0\377yyy\377\326\326\326\377\362\362\362\377"
-  "\362\362\362\377\361\361\361\377\326\326\326\377\320\320\320\377\227"
-  "\227\227\377rrr\377JJJ\377\0\0\0.\0\0\0\11\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\377\354\354\354\377\377\377\377\377\364\364\364\377\254\254\254"
-  "\377\272\272\272\377\335\335\335\377\363\363\363\377\316\316\316\377"
-  "\333\333\333\377\354\354\354\377\327\327\327\377\326\326\326\377\261"
-  "\261\261\377\201\201\201\377VVV\377###\377\0\0\0\377\0\0\0q\0\0\0)\0"
-  "\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0hiii\377\377\377\377\377\363\363"
-  "\363\377\363\363\363\377\363\363\363\377\363\363\363\377\362\362\362"
-  "\377\362\362\362\377\327\327\327\377\267\267\267\377\202\202\202\377"
-  "@@@\377###\377\0\0\0\377\0\0\0\204\0\0\0""2\0\0\0.\0\0\0)\0\0\0\25\0"
-  "\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4(((\377\377\377\377\377\363\363"
-  "\363\377\362\362\362\377\362\362\362\377\327\327\327\377\276\276\276"
-  "\377\226\226\226\377222\377###\377\0\0\0\377\0\0\0u\0\0\0H\0\0\0/\0\0"
-  "\0*\0\0\0\31\0\0\0\13\0\0\0\10\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\377\346\346\346\377\350\350\350\377\314\314\314\377"
-  "\232\232\232\377@@@\377###\377\0\0\0\377\0\0\0\221\0\0\0I\0\0\0/\0\0"
-  "\0*\0\0\0\30\0\0\0\16\0\0\0\11\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0;999\377\202\202\202\377999\377"
-  "\22\22\22\377\0\0\0\204\0\0\0I\0\0\0/\0\0\0*\0\0\0\33\0\0\0\16\0\0\0"
-  "\11\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\377\0\0\0\377\0\0\0u\0\0"
-  "\0""1\0\0\0*\0\0\0\31\0\0\0\16\0\0\0\11\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\11\0\0\0&\0\0\0)\0\0\0\27\0\0\0"
-  "\12\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\7\0\0\0\10\0\0\0\3\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_book_blue)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_book_blue[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_book_blue[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0""9\0\0\0\302\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\357\0\0\0\356\0\0\0\346\0\0\0\342\0\0\0w\0\0\0\13\0\0"
-  "\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\32\21\26\35\377\227"
-  "\250\276\377}\223\254\377s\212\243\377l\204\234\377d|\226\377^v\217\377"
-  "Wo\210\377Pi\202\377Pi\202\377Pi\202\377Pi\202\377Pi\202\377Vn\206\377"
-  "IXi\377\21\30\"\376\0\0\0.\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\273v\213\242\377\216\242\270\377v\215\247\377Vr\220\377"
-  "Nj\210\377Fb\200\377=Zx\3775Rp\3771Nk\3771Nk\3776Ro\3776Ro\377<Ws\377"
-  "6Ro\3773@O\377\25\34%\372\0\0\0N\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\22\12\15\21\377\231\254\300\377\200\226\256\377[v\224\377"
-  "So\215\377Jg\205\377B_}\377:Wu\3772Om\3771Nk\3771Nk\3771Nk\3771Nk\377"
-  ";Wr\377-D\\\377#/6\377\0\0\0^\0\0\0D\0\0\0\16\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\255[iy\377\231\254\300\377u\215\246\377Ws\221\377Ok\210"
-  "\377Gc\201\377\77[y\3776Sq\3771Nk\3771Nk\3771Nk\3771Nk\3774Pm\377;Wr"
-  "\377)\77V\3775<A\375\0\0\0\377\0\0\0%\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\21\0\0\0\377\231\254\300\377\200\227\260\377\\x\226\377Tp\216"
-  "\377Kh\206\377C`~\377;Xv\3773Pn\3771Nk\3771Nk\3773Pk\3771Nk\3779Uq\377"
-  "-D\\\377\27\",\377~\202\205\377578\377\0\0\0F\0\0\0\15\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\232[iy\377\217\243\271\377u\215\246\377Xt\222\377Pl"
-  "\212\377Hd\202\377@\\z\3778Tr\3771Nk\3771Nk\3771Nk\3771Nk\3772Ol\377"
-  "=Yt\377)\77V\377!'.\376JLM\377\216\220\222\377\0\0\0Q\0\0\0\20\0\0\0"
-  "\0\0\0\0\0\0\0\0\20\0\0\0\377\230\253\277\375\177\226\257\377]y\227\377"
-  "Uq\217\377Mi\207\377Da\177\377<Yw\3774Qo\3771Nk\3771Nk\3771Nk\3771Nk"
-  "\3778Tp\377/F]\377\30$-\377TWY\366eij\377334\377\0\0\0Q\0\0\0\20\0\0"
-  "\0\0\0\0\0\0\0\0\0\335eu\203\377\215\242\271\377v\215\247\377Zu\223\377"
-  "Qm\213\377Ie\203\377A]{\3779Us\3771Nk\3771Nk\3771Nk\3771Nk\3771Nk\377"
-  "<Ws\377*BZ\377#+2\377FHJ\377\220\222\225\377\0\0\0\377\0\0\0c\0\0\0\21"
-  "\0\0\0\0\0\0\0!\0\0\0\377\233\254\273\377\207\234\264\377c~\233\377V"
-  "r\220\377Nj\210\377Fb\200\377=Zx\3775Rp\3771Nk\3771Nk\3771Nk\3771Nk\377"
-  "5Rn\3774Kb\377\31$-\377dhk\377mop\3770G]\377\0\0\0\373\0\0\0R\0\0\0\25"
-  "\0\0\0\0\0\0\0\245ep}\377\221\245\274\377q\213\246\377\\x\226\377Tp\216"
-  "\377Kh\206\377C`~\377;Xv\3773Pn\3771Nk\3771Nk\3771Nk\3771Nk\377=Yt\377"
-  ")\77V\377&.3\377WXY\377\213\217\225\377\11\15\21\372\0\0\0\234\0\0\0"
-  "I\0\0\0\17\0\0\0\13\0\0\0\377~\216\237\337\212\237\266\377l\205\241\377"
-  "Xt\222\377Pl\212\377Hd\202\377@\\z\3778Tr\3771Nk\3771Nk\3771Nk\3771N"
-  "k\3771Nk\3775Lc\377\32%0\377HLN\377suv\377C[s\370\0\0\0\364\0\0\0U\0"
-  "\0\0+\0\0\0\7\0\0\0\206uww\377\275\306\323\375\256\276\314\377\247\266"
-  "\306\377\243\262\302\377\236\255\275\377\232\252\271\377\220\240\260"
-  "\377{\217\241\377y\214\237\377y\214\237\377y\214\237\377y\214\237\377"
-  "p\204\231\377Ufy\37725;\377[^a\377\216\223\230\377\12\16\21\372\0\0\0"
-  "\233\0\0\0G\0\0\0\21\0\0\0\1\2\7\11\331\260\272\304\377,>Q\377$6J\377"
-  "$6J\377$6J\377$6J\377$6J\377$6J\377$6J\377$6J\377$6J\377$6J\377$6J\377"
-  "$6J\377+5\77\377^bh\377wxz\377F`z\377\0\0\0\365\0\0\0U\0\0\0*\0\0\0\6"
-  "\0\0\0\0\15\17\21\377\207\223\235\377@AE\377_``\373ttt\377\226\226\226"
-  "\377\261\261\261\377\257\257\260\377\305\305\306\377\316\316\317\377"
-  "\264\273\301\377\274\302\311\377\275\304\312\377\304\313\322\377\313"
-  "\322\331\377\326\332\336\377\220\226\233\377\205\212\217\377\24\33!\371"
-  "\0\0\0\234\0\0\0H\0\0\0\22\0\0\0\1\0\0\0\0\14\16\17\377k{\213\377WWW"
-  "\377}~\200\377\342\344\346\377\342\344\346\377\341\341\341\377\337\337"
-  "\340\377\337\337\340\377\362\362\362\377\375\375\376\377\361\363\365"
-  "\377\361\363\365\377\361\363\365\377\247\250\252\377\262\265\271\377"
-  "imq\377F`z\377\0\1\2\370\0\0\0U\0\0\0*\0\0\0\6\0\0\0\0\0\0\0\0$%'\377"
-  "cr\201\377i|\216\377Tk\203\377E]x\377\326\334\341\377\347\352\355\377"
-  "\355\357\361\377\355\357\362\377\345\346\347\377\336\336\337\377\341"
-  "\341\342\377\341\341\342\377\337\337\340\377\341\342\343\377rz\203\377"
-  "\213\217\224\377\25\33!\367\0\0\0\234\0\0\0I\0\0\0\22\0\0\0\1\0\0\0\0"
-  "\0\0\0\0\0\0\0""9\0\0\0\377\4\6\12\3548J]\363Mbx\351Th\177\357Sj\202"
-  "\377Wo\206\377\207\227\247\377\327\335\341\377\342\346\351\377\351\354"
-  "\356\377\370\371\372\377\370\371\372\377\201\205\212\377\245\247\250"
-  "\377\234\242\250\377\1\2\3\370\0\0\0U\0\0\0*\0\0\0\7\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0&\0\0\0e\0\0\0\276\0\0\0\346\0\0\0\360\0\0\0\363"
-  ";K^\371DVi\371Tg}\367Uk\200\366Vl\203\377\254\270\303\377\334\341\345"
-  "\377\350\353\355\377\237\243\246\377\25\35$\373\0\0\0\234\0\0\0H\0\0"
-  "\0\22\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\17\0\0\0"
-  "\34\0\0\0""4\0\0\0C\0\0\0g\0\0\0\251\0\0\0\344\0\0\0\361\0\0\0\3560>"
-  "M\365=N`\371O_s\372Se{\367Lc|\357\1\3\5\367\0\0\0U\0\0\0+\0\0\0\7\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\12"
-  "\0\0\0\15\0\0\0\20\0\0\0\33\0\0\0""0\0\0\0C\0\0\0_\0\0\0\235\0\0\0\327"
-  "\0\0\0\356\0\0\0\354\0\0\0\347\0\0\0{\0\0\0F\0\0\0\21\0\0\0\1\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\3\0\0\0\10\0\0\0\15\0\0\0\20\0\0\0\30\0\0\0,\0\0\0"
-  "\77\0\0\0H\0\0\0H\0\0\0@\0\0\0\37\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\7\0\0\0\13\0\0\0\16\0"
-  "\0\0\16\0\0\0\14\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_book_green)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_book_green[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_book_green[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0""9\0\0\0\302\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\357\0\0\0\356\0\0\0\346\0\0\0\342\0\0\0w\0\0\0\13\0\0"
-  "\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\32\21\34\21\377\225"
-  "\276\225\377y\255y\377n\246n\377e\241e\377^\233^\377Y\222Y\377S\212S"
-  "\377O\202O\377O\202O\377O\202O\377O\202O\377O\202O\377R\210R\377CnC\377"
-  "\22\36\22\376\0\0\0.\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\273o\247o\377\214\271\214\377r\251r\377V\216V\377P\204P\377Jz"
-  "J\377CoC\377=e=\377:`:\377:`:\377=e=\377=e=\377AkA\377=e=\3770P0\377"
-  "\26#\26\372\0\0\0N\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\22"
-  "\11\17\11\377\227\277\227\377}\260}\377Y\223Y\377T\213T\377M\177M\377"
-  "GuG\377AkA\377;a;\377:`:\377:`:\377:`:\377:`:\377@j@\3773T3\377!6!\377"
-  "\0\0\0^\0\0\0D\0\0\0\16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255O\203"
-  "O\377\227\277\227\377q\250q\377W\217W\377P\204P\377K|K\377ErE\377>f>"
-  "\377:`:\377:`:\377:`:\377:`:\377<c<\377@j@\377/N/\377,I,\375\0\0\0\377"
-  "\0\0\0%\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\21\0\0\0\377\227\277\227"
-  "\377~\260~\377[\226[\377U\214U\377N\201N\377HwH\377BmB\377<c<\377:`:"
-  "\377:`:\377;a;\377:`:\377@i@\3773T3\377\30(\30\377\201\201\201\377(B"
-  "(\377\0\0\0F\0\0\0\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\232O\203O\377\215"
-  "\271\215\377q\250q\377X\221X\377R\207R\377L}L\377FsF\377@i@\377:`:\377"
-  ":`:\377:`:\377:`:\377;a;\377BmB\377/N/\377\35""0\35\376KKK\377\220\220"
-  "\220\377\0\0\0Q\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\377\226\277\226"
-  "\375}\260}\377\\\227\\\377V\215V\377O\203O\377IxI\377CnC\377=d=\377:"
-  "`:\377:`:\377:`:\377:`:\377\77h\77\3774V4\377\31*\31\377VVV\366ggg\377"
-  "333\377\0\0\0Q\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\335W\217W\377\214\271\214"
-  "\377r\251r\377Y\222Y\377R\210R\377L~L\377FtF\377@j@\377:`:\377:`:\377"
-  ":`:\377:`:\377:`:\377AkA\3771Q1\377\37""3\37\377HHH\377w\254w\377\0\0"
-  "\0\377\0\0\0c\0\0\0\21\0\0\0\0\0\0\0!\0\0\0\377\226\277\226\377\204\264"
-  "\204\377_\235_\377V\216V\377P\204P\377JzJ\377CoC\377=e=\377:`:\377:`"
-  ":\377:`:\377:`:\377=d=\3778]8\377\32+\32\377ggg\377nnn\3774V4\377\0\0"
-  "\0\373\0\0\0R\0\0\0\25\0\0\0\0\0\0\0\245U\214U\377\220\273\220\377n\246"
-  "n\377[\226[\377U\214U\377N\201N\377HwH\377BmB\377<c<\377:`:\377:`:\377"
-  ":`:\377:`:\377BmB\377/N/\377!6!\377XXX\377t\253t\377\11\17\11\372\0\0"
-  "\0\234\0\0\0I\0\0\0\17\0\0\0\13\0\0\0\377t\247t\337\210\266\210\377h"
-  "\243h\377X\221X\377R\207R\377L}L\377FsF\377@i@\377:`:\377:`:\377:`:\377"
-  ":`:\377:`:\3779^9\377\33.\33\377KKK\377ttt\377EpE\370\0\0\0\364\0\0\0"
-  "U\0\0\0+\0\0\0\7\0\0\0\206Y\222Y\377\272\325\272\375\254\314\254\377"
-  "\243\307\243\377\237\304\237\377\230\300\230\377\223\275\223\377\210"
-  "\266\210\377r\251r\377o\247o\377o\247o\377o\247o\377o\247o\377e\241e"
-  "\377M\177M\377(B(\377^^^\377x\255x\377\11\17\11\372\0\0\0\233\0\0\0G"
-  "\0\0\0\21\0\0\0\1\3\5\3\331\250\312\250\377.L.\377)D)\377)D)\377)D)\377"
-  ")D)\377)D)\377)D)\377)D)\377)D)\377)D)\377)D)\377)D)\377)D)\377'A'\377"
-  "ccc\377xxx\377HwH\377\0\0\0\365\0\0\0U\0\0\0*\0\0\0\6\0\0\0\0\13\22\13"
-  "\377w\254w\3771Q1\377___\373ttt\377\226\226\226\377\261\261\261\377\257"
-  "\257\257\377\305\305\305\377\316\316\316\377\272\272\272\377\302\302"
-  "\302\377\303\303\303\377\313\313\313\377\322\322\322\377\332\332\332"
-  "\377\225\225\225\377m\246m\377\23\37\23\371\0\0\0\234\0\0\0H\0\0\0\22"
-  "\0\0\0\1\0\0\0\0\11\17\11\377\\\230\\\377AkA\377~~~\377\344\344\344\377"
-  "\344\344\344\377\341\341\341\377\337\337\337\377\337\337\337\377\362"
-  "\362\362\377\375\375\375\377\363\363\363\377\363\363\363\377\363\363"
-  "\363\377\250\250\250\377\265\265\265\377mmm\377HwH\377\0\1\0\370\0\0"
-  "\0U\0\0\0*\0\0\0\6\0\0\0\0\0\0\0\0\33.\33\377V\215V\377\\\230\\\377P"
-  "\204P\377FtF\377\333\333\333\377\352\352\352\377\357\357\357\377\357"
-  "\357\357\377\346\346\346\377\336\336\336\377\341\341\341\377\341\341"
-  "\341\377\337\337\337\377\342\342\342\377zzz\377s\252s\377\24\40\24\367"
-  "\0\0\0\234\0\0\0I\0\0\0\22\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0""9\0\0\0\377"
-  "\5\10\5\3548[8\363MxM\351Q\200Q\357O\203O\377R\210R\377\227\227\227\377"
-  "\334\334\334\377\345\345\345\377\353\353\353\377\371\371\371\377\371"
-  "\371\371\377\205\205\205\377\246\246\246\377\213\270\213\377\1\2\1\370"
-  "\0\0\0U\0\0\0*\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0&\0\0\0e"
-  "\0\0\0\276\0\0\0\346\0\0\0\360\0\0\0\3639]9\371AjA\371O\200O\367Q\203"
-  "Q\366Q\206Q\377\245\310\245\377\340\340\340\377\352\352\352\377\213\270"
-  "\213\377\25\"\25\373\0\0\0\234\0\0\0H\0\0\0\22\0\0\0\1\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\17\0\0\0\34\0\0\0""4\0\0\0C\0\0\0g\0"
-  "\0\0\251\0\0\0\344\0\0\0\361\0\0\0\356/L/\365;a;\371HvH\372M}M\367Lz"
-  "L\357\2\3\2\367\0\0\0U\0\0\0+\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\12\0\0\0\15\0\0\0\20\0\0\0\33"
-  "\0\0\0""0\0\0\0C\0\0\0_\0\0\0\235\0\0\0\327\0\0\0\356\0\0\0\354\0\0\0"
-  "\347\0\0\0{\0\0\0F\0\0\0\21\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0"
-  "\10\0\0\0\15\0\0\0\20\0\0\0\30\0\0\0,\0\0\0\77\0\0\0H\0\0\0H\0\0\0@\0"
-  "\0\0\37\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\2\0\0\0\7\0\0\0\13\0\0\0\16\0\0\0\16\0\0\0\14\0\0\0\5\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_book_open)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_book_open[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_book_open[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3OOOD\0\0\0\377\4\5\6"
-  "\377\0\0\0;\0\0\0\20\0\0\0\6\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\3NNNE\13\17\22\377\225\237\252\377\303\306"
-  "\312\356\0\0\0\377\0\0\0&\0\0\0\22\0\0\0\5\0\0\0\1\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0.\13\17\22\377\202\220\236\377\361\361"
-  "\361\377\325\327\330\377\12\15\20\377\0\0\0_\0\0\0\40\0\0\0\13\0\0\0"
-  "\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0.\21\27\34\377\206\223\240"
-  "\377\357\360\360\377\336\336\336\377\325\325\325\377\233\237\244\324"
-  "\0\0\0\377\0\0\0/\0\0\0\24\0\0\0\5\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0"
-  ".\16\23\27\377\205\222\237\377\357\360\360\377\333\333\333\377\312\312"
-  "\312\377\310\310\310\377\310\311\312\377\14\17\23\377\0\0\0[\0\0\0\40"
-  "\0\0\0\13\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0.\24\32\40\377y\210\225\370\361\361"
-  "\361\377\325\325\325\377\312\312\312\377\322\322\322\377\303\303\303"
-  "\377\315\315\315\377ty~\275\0\0\0\377\0\0\0-\0\0\0\24\0\0\0\6\0\0\0\2"
-  "\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0-\27\37&\377\177\215\232\361\357\360\360\377\332\332\332\377\323\323"
-  "\323\377\304\304\304\377\316\316\316\377\300\300\300\377\312\312\312"
-  "\377\261\261\261\336\15\21\25\377\0\0\0Y\0\0\0#\0\0\0\22\0\0\0\14\0\0"
-  "\0\12\0\0\0\12\0\0\0\12\0\0\0\11\0\0\0\7\0\0\0\4\0\0\0\1\0\0\0\0\0\0"
-  "\0\377v\205\222\350\356\357\357\377\331\331\331\377\323\323\323\377\320"
-  "\320\320\377\302\302\302\377\313\313\313\377\311\311\311\377\274\274"
-  "\274\377\244\247\251\344hkl\351333\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\352\0\0\0\177\0\0\0=\0\0\0\20\0\0\0\6\0\0"
-  "\0\1AO]\377\255\265\274\363\352\352\352\377\322\322\322\377\277\277\277"
-  "\377\315\315\315\377\313\313\313\377\275\275\275\377\306\306\306\377"
-  "\265\266\267\365\211\220\226\370\270\270\270\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377@AB\342\0\0\0\177\0\0\0%\0\0\0\20\0\0\0\4\0\0"
-  "\0\377M`t\340\353\353\353\377\321\321\321\377\303\303\303\377\301\301"
-  "\301\377\310\310\310\377\267\267\267\377\303\303\303\377\227\237\247"
-  "\347\241\243\244\376\374\375\375\377\363\364\364\377\353\354\355\377"
-  "\352\353\354\377\351\352\353\377\356\357\361\377\366\367\370\377\344"
-  "\345\346\376\222\223\225\375\0\0\0\377\0\0\0""9\0\0\0\33\0\0\0\7\0\0"
-  "\0=2AO\377\214\230\242\362\347\347\347\377\311\311\311\377\273\273\273"
-  "\377\304\304\304\377\302\302\302\377\244\247\253\346\223\226\231\375"
-  "\327\330\330\377\374\375\375\377\372\374\374\377\371\372\373\377\370"
-  "\371\372\377\367\370\371\377\365\366\370\377\367\367\371\377\306\307"
-  "\307\377O^j\375\0\0\0\360\0\0\0B\0\0\0\37\0\0\0\11\0\0\0\23\0\0\0\377"
-  "L_r\340\350\350\350\377\306\306\306\377\276\276\276\377\270\270\270\377"
-  "\265\265\266\361\227\236\244\356\250\250\250\377\375\376\376\377\365"
-  "\366\366\377\347\351\351\377\353\354\355\377\352\353\354\377\360\361"
-  "\362\377\370\371\372\377\340\342\343\377\217\226\235\376\25\34\"\377"
-  "\0\0\0\201\0\0\0>\0\0\0\34\0\0\0\10\0\0\0\13\0\0\0A5DS\377\215\231\242"
-  "\363\343\343\343\377\301\301\301\377\276\276\276\377\216\224\232\316"
-  "\235\237\237\376\377\377\377\377\375\376\376\377\374\375\375\377\372"
-  "\374\374\377\362\363\364\377\361\362\363\377\367\370\371\377\366\366"
-  "\367\377\246\250\253\377s\177\212\376\4\5\6\377\0\0\0P\0\0\0""1\0\0\0"
-  "\24\0\0\0\5\0\0\0\5\0\0\0\24\0\0\0\377K_q\340\345\345\345\377\301\301"
-  "\301\377\236\237\240\326\227\231\233\375\331\331\331\377\377\377\377"
-  "\377\347\350\350\377\356\357\357\377\364\365\365\377\371\372\373\377"
-  "\370\371\372\377\373\373\373\377\330\330\332\377\223\233\243\377\17\24"
-  "\30\377\0\0\0t\0\0\0B\0\0\0\"\0\0\0\14\0\0\0\3\0\0\0\2\0\0\0\13\0\0\0"
-  "A9IW\377\202\217\227\360\333\333\333\370\212\216\222\347\264\264\264"
-  "\377\377\377\377\377\377\377\377\377\375\376\376\377\365\366\366\377"
-  "\354\356\356\377\346\347\350\377\372\372\373\377\365\365\367\377\256"
-  "\262\266\377\\l|\377\0\0\0\377\0\0\0P\0\0\0""1\0\0\0\25\0\0\0\6\0\0\0"
-  "\1\0\0\0\0\0\0\0\5\0\0\0\24\0\0\0\377J]p\336\273\273\273\321\253\253"
-  "\253\377\377\377\377\377\370\370\370\377\361\361\361\377\357\360\360"
-  "\377\374\375\375\377\372\373\373\377\371\372\373\377\373\374\374\377"
-  "\336\341\343\377\235\246\256\377\12\15\20\377\0\0\0t\0\0\0A\0\0\0\"\0"
-  "\0\0\13\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\13\0\0\0A$/:\377imq\346"
-  "wxy\377\362\363\363\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\360\360\360\377\363\363\363\377\373\374\374\377\371\371\372\377\273"
-  "\277\304\377Vgy\377\0\0\0\377\0\0\0P\0\0\0""1\0\0\0\25\0\0\0\6\0\0\0"
-  "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\24\0\0\0\377J_t\3701>K\376\263"
-  "\275\306\375\321\327\335\377\331\336\343\377\366\367\367\377\365\365"
-  "\365\377\377\377\377\377\377\377\377\377\321\322\324\377\232\243\254"
-  "\377\4\5\6\377\0\0\0t\0\0\0A\0\0\0!\0\0\0\13\0\0\0\2\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\13\0\0\0""7\0\0\0\256+4<\366)2;\377O_"
-  "p\377^q\204\376\221\236\253\375\237\253\266\375\277\307\320\377\350\354"
-  "\356\377\262\270\276\377q}\210\376\0\0\0\377\0\0\0P\0\0\0""1\0\0\0\25"
-  "\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0"
-  "\0\22\0\0\0&\0\0\0:\0\0\0Y\0\0\0\200\0\0\0\301%-5\377Qar\377Vgy\375z"
-  "\206\225\375v\205\224\374\0\0\0\377\0\0\0r\0\0\0\77\0\0\0!\0\0\0\13\0"
-  "\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0"
-  "\6\0\0\0\20\0\0\0\34\0\0\0%\0\0\0-\0\0\0""8\0\0\0X\0\0\0\200\0\0\0\275"
-  ",4=\377!'.\377\0\0\0p\0\0\0D\0\0\0*\0\0\0\23\0\0\0\5\0\0\0\1\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\4\0\0"
-  "\0\10\0\0\0\14\0\0\0\21\0\0\0\31\0\0\0\"\0\0\0,\0\0\0""7\0\0\0A\0\0\0"
-  "C\0\0\0;\0\0\0)\0\0\0\26\0\0\0\10\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2"
-  "\0\0\0\4\0\0\0\6\0\0\0\13\0\0\0\20\0\0\0\30\0\0\0\37\0\0\0\40\0\0\0\33"
-  "\0\0\0\21\0\0\0\10\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\6\0\0\0\10\0\0\0\11\0\0\0\7\0\0\0\4"
-  "\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_book_red)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_book_red[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_book_red[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0""9\0\0\0\302\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\357\0\0\0\356\0\0\0\346\0\0\0\342\0\0\0w\0\0\0\13\0\0"
-  "\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\32\37\21\16\377\310"
-  "\225\213\377\272ym\377\264n`\377\260fW\377\252^O\377\240YK\377\226SF"
-  "\377\216OC\377\216OC\377\216OC\377\216OC\377\216OC\377\225RF\377xC8\377"
-  "!\22\17\376\0\0\0.\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\273\265pb\377\303\214\201\377\266re\377\234WI\377\221PD\377\206"
-  "J>\377zD9\377o>4\377i;1\377i;1\377o>4\377o>4\377vA7\377o>4\377X0)\377"
-  "'\26\22\372\0\0\0N\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\22"
-  "\21\11\10\377\311\227\215\377\274}q\377\241ZK\377\230TG\377\214MA\377"
-  "\201G<\377vA7\377k;2\377i;1\377i;1\377i;1\377i;1\377tA6\377\\3+\377;"
-  "!\33\377\0\0\0^\0\0\0D\0\0\0\16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\255\217OC\377\311\227\215\377\265qc\377\235WI\377\221PD\377\210K\77"
-  "\377|E:\377p>4\377i;1\377i;1\377i;1\377i;1\377l<3\377tA6\377U/(\377O"
-  ",%\375\0\0\0\377\0\0\0%\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\21\0\0"
-  "\0\377\311\227\215\377\275~r\377\244[L\377\231UH\377\215NB\377\202H<"
-  "\377wB8\377l<3\377i;1\377i;1\377k;2\377i;1\377s@6\377\\3+\377,\30\24"
-  "\377\201\201\201\377I(\"\377\0\0\0F\0\0\0\15\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\232\217OC\377\304\215\202\377\265qc\377\237XJ\377\223RE\377\211"
-  "L@\377~F;\377s@6\377i;1\377i;1\377i;1\377i;1\377k;2\377wB8\377U/(\377"
-  "4\35\30\376KKK\377\220\220\220\377\0\0\0Q\0\0\0\20\0\0\0\0\0\0\0\0\0"
-  "\0\0\20\0\0\0\377\310\226\214\375\274}q\377\245\\M\377\232VH\377\217"
-  "OC\377\203I=\377xC8\377m=3\377i;1\377i;1\377i;1\377i;1\377q\77""5\377"
-  "_4,\377-\31\25\377VVV\366ggg\377333\377\0\0\0Q\0\0\0\20\0\0\0\0\0\0\0"
-  "\0\0\0\0\335\235WI\377\303\214\201\377\266re\377\240YK\377\225RF\377"
-  "\212L@\377\177G;\377tA6\377i;1\377i;1\377i;1\377i;1\377i;1\377vA7\377"
-  "Y1)\3778\37\32\377HHH\377\270wj\377\0\0\0\377\0\0\0c\0\0\0\21\0\0\0\0"
-  "\0\0\0!\0\0\0\377\310\226\214\377\300\205y\377\254`P\377\234WI\377\221"
-  "PD\377\206J>\377zD9\377o>4\377i;1\377i;1\377i;1\377i;1\377m=3\377f8/"
-  "\377/\32\26\377ggg\377nnn\377_4,\377\0\0\0\373\0\0\0R\0\0\0\25\0\0\0"
-  "\0\0\0\0\245\231UH\377\305\220\205\377\264n`\377\244[L\377\231UH\377"
-  "\215NB\377\202H<\377wB8\377l<3\377i;1\377i;1\377i;1\377i;1\377wB8\377"
-  "U/(\377;!\33\377XXX\377\267tg\377\21\11\10\372\0\0\0\234\0\0\0I\0\0\0"
-  "\17\0\0\0\13\0\0\0\377\262th\337\302\210}\377\261hY\377\237XJ\377\223"
-  "RE\377\211L@\377~F;\377s@6\377i;1\377i;1\377i;1\377i;1\377i;1\377g90"
-  "\3772\33\27\377KKK\377ttt\377zE:\370\0\0\0\364\0\0\0U\0\0\0+\0\0\0\7"
-  "\0\0\0\206\240YK\377\333\272\264\375\324\254\244\377\320\243\233\377"
-  "\315\237\226\377\312\231\217\377\307\224\211\377\302\210}\377\266re\377"
-  "\265pb\377\265pb\377\265pb\377\265pb\377\260fW\377\214MA\377I(\"\377"
-  "^^^\377\271xk\377\21\11\10\372\0\0\0\233\0\0\0G\0\0\0\21\0\0\0\1\6\3"
-  "\3\331\322\250\240\377T.'\377J)#\377J)#\377J)#\377J)#\377J)#\377J)#\377"
-  "J)#\377J)#\377J)#\377J)#\377J)#\377J)#\377G'!\377ccc\377xxx\377\202H"
-  "<\377\0\0\0\365\0\0\0U\0\0\0*\0\0\0\6\0\0\0\0\24\13\11\377\270wj\377"
-  "Y1)\377___\373ttt\377\226\226\226\377\261\261\261\377\257\257\257\377"
-  "\305\305\305\377\316\316\316\377\272\272\272\377\302\302\302\377\303"
-  "\303\303\377\313\313\313\377\322\322\322\377\332\332\332\377\225\225"
-  "\225\377\264m_\377\"\23\20\371\0\0\0\234\0\0\0H\0\0\0\22\0\0\0\1\0\0"
-  "\0\0\21\11\10\377\247]N\377vA7\377~~~\377\344\344\344\377\344\344\344"
-  "\377\341\341\341\377\337\337\337\377\337\337\337\377\362\362\362\377"
-  "\375\375\375\377\363\363\363\377\363\363\363\377\363\363\363\377\250"
-  "\250\250\377\265\265\265\377mmm\377\202H<\377\1\0\0\370\0\0\0U\0\0\0"
-  "*\0\0\0\6\0\0\0\0\0\0\0\0""2\33\27\377\232VH\377\247]N\377\221PD\377"
-  "\177G;\377\333\333\333\377\352\352\352\377\357\357\357\377\357\357\357"
-  "\377\346\346\346\377\336\336\336\377\341\341\341\377\341\341\341\377"
-  "\337\337\337\377\342\342\342\377zzz\377\267sf\377$\24\21\367\0\0\0\234"
-  "\0\0\0I\0\0\0\22\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0""9\0\0\0\377\11\5\4\354"
-  "c80\363\203MB\351\214QE\357\217OC\377\225RF\377\227\227\227\377\334\334"
-  "\334\377\345\345\345\377\353\353\353\377\371\371\371\377\371\371\371"
-  "\377\205\205\205\377\246\246\246\377\303\213\200\377\2\1\1\370\0\0\0"
-  "U\0\0\0*\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0&\0\0\0e\0\0\0"
-  "\276\0\0\0\346\0\0\0\360\0\0\0\363f:1\371sA7\371\214OC\367\217QE\366"
-  "\222QD\377\320\245\234\377\340\340\340\377\352\352\352\377\303\213\200"
-  "\377%\25\21\373\0\0\0\234\0\0\0H\0\0\0\22\0\0\0\1\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\6\0\0\0\17\0\0\0\34\0\0\0""4\0\0\0C\0\0\0g\0\0\0\251"
-  "\0\0\0\344\0\0\0\361\0\0\0\356S/(\365j;2\371\201I=\372\211MB\367\205"
-  "LA\357\3\2\1\367\0\0\0U\0\0\0+\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\12\0\0\0\15\0\0\0\20\0\0\0\33"
-  "\0\0\0""0\0\0\0C\0\0\0_\0\0\0\235\0\0\0\327\0\0\0\356\0\0\0\354\0\0\0"
-  "\347\0\0\0{\0\0\0F\0\0\0\21\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0"
-  "\10\0\0\0\15\0\0\0\20\0\0\0\30\0\0\0,\0\0\0\77\0\0\0H\0\0\0H\0\0\0@\0"
-  "\0\0\37\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\2\0\0\0\7\0\0\0\13\0\0\0\16\0\0\0\16\0\0\0\14\0\0\0\5\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_book_yellow)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_book_yellow[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_book_yellow[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0""9\0\0\0\302\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\357\0\0\0\356\0\0\0\346\0\0\0\342\0\0\0w\0\0\0\13\0\0"
-  "\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\32(\40\5\377\352\315"
-  "i\377\344\300C\377\342\2733\377\341\267&\377\333\261\36\377\317\247\34"
-  "\377\303\235\32\377\270\224\31\377\270\224\31\377\270\224\31\377\270"
-  "\224\31\377\270\224\31\377\301\234\32\377\234~\25\377*\"\6\376\0\0\0"
-  ".\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\273\343\274"
-  "4\377\350\311]\377\343\2758\377\312\243\33\377\273\227\32\377\255\214"
-  "\30\377\236\177\25\377\220t\23\377\211n\22\377\211n\22\377\220t\23\377"
-  "\220t\23\377\230{\25\377\220t\23\377r\\\17\3771(\7\372\0\0\0N\0\0\0\20"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\22\26\22\3\377\352\316m\377\345"
-  "\302H\377\321\250\34\377\304\236\33\377\264\222\31\377\246\206\27\377"
-  "\230{\25\377\212p\23\377\211n\22\377\211n\22\377\211n\22\377\211n\22"
-  "\377\227y\24\377w`\20\377M>\12\377\0\0\0^\0\0\0D\0\0\0\16\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\255\272\226\31\377\352\316m\377\343\2746\377"
-  "\313\244\34\377\273\227\32\377\257\215\30\377\241\202\26\377\221u\24"
-  "\377\211n\22\377\211n\22\377\211n\22\377\211n\22\377\214q\23\377\227"
-  "y\24\377nY\17\377fR\16\375\0\0\0\377\0\0\0%\0\0\0\5\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\21\0\0\0\377\352\316m\377\345\303J\377\324\253\35\377\306"
-  "\240\33\377\266\223\31\377\250\210\27\377\232|\25\377\214q\23\377\211"
-  "n\22\377\211n\22\377\212p\23\377\211n\22\377\225x\24\377w`\20\3779.\10"
-  "\377\201\201\201\377^L\15\377\0\0\0F\0\0\0\15\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\232\272\226\31\377\350\312_\377\343\2746\377\315\245\34\377\277"
-  "\232\32\377\261\217\30\377\243\203\26\377\225x\24\377\211n\22\377\211"
-  "n\22\377\211n\22\377\211n\22\377\212p\23\377\232|\25\377nY\17\377C6\11"
-  "\376KKK\377\220\220\220\377\0\0\0Q\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\20"
-  "\0\0\0\377\351\315k\375\345\302H\377\326\255\35\377\310\241\33\377\272"
-  "\226\31\377\252\211\27\377\234~\25\377\216r\23\377\211n\22\377\211n\22"
-  "\377\211n\22\377\211n\22\377\223w\24\377zc\21\377;0\10\377VVV\366ggg"
-  "\377333\377\0\0\0Q\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\335\313\244\34\377"
-  "\350\311]\377\343\2758\377\317\247\34\377\301\234\32\377\263\220\30\377"
-  "\245\205\26\377\227y\24\377\211n\22\377\211n\22\377\211n\22\377\211n"
-  "\22\377\211n\22\377\230{\25\377s]\20\377I;\12\377HHH\377\344\277\77\377"
-  "\0\0\0\377\0\0\0c\0\0\0\21\0\0\0\0\0\0\0!\0\0\0\377\352\316k\377\347"
-  "\306R\377\337\264\36\377\312\243\33\377\273\227\32\377\255\214\30\377"
-  "\236\177\25\377\220t\23\377\211n\22\377\211n\22\377\211n\22\377\211n"
-  "\22\377\216r\23\377\203j\22\377=1\10\377ggg\377nnn\377zc\21\377\0\0\0"
-  "\373\0\0\0R\0\0\0\25\0\0\0\0\0\0\0\245\306\240\33\377\351\313b\377\342"
-  "\2733\377\324\253\35\377\306\240\33\377\266\223\31\377\250\210\27\377"
-  "\232|\25\377\214q\23\377\211n\22\377\211n\22\377\211n\22\377\211n\22"
-  "\377\232|\25\377nY\17\377M>\12\377XXX\377\344\276;\377\25\21\3\372\0"
-  "\0\0\234\0\0\0I\0\0\0\17\0\0\0\13\0\0\0\377\326\266D\337\347\307X\377"
-  "\341\270*\377\315\245\34\377\277\232\32\377\261\217\30\377\243\203\26"
-  "\377\225x\24\377\211n\22\377\211n\22\377\211n\22\377\211n\22\377\211"
-  "n\22\377\205k\22\377A4\10\377KKK\377ttt\377\234\177\30\370\0\0\0\364"
-  "\0\0\0U\0\0\0+\0\0\0\7\0\0\0\206\317\247\34\377\360\336\236\375\356\330"
-  "\213\377\355\324~\377\354\322w\377\353\317n\377\352\314g\377\347\307"
-  "X\377\343\2758\377\343\2744\377\343\2744\377\343\2744\377\343\2744\377"
-  "\341\267&\377\264\222\31\377^L\15\377^^^\377\344\300A\377\25\21\3\372"
-  "\0\0\0\233\0\0\0G\0\0\0\21\0\0\0\1\7\6\1\331\356\326\205\377lW\17\377"
-  "`N\15\377`N\15\377`N\15\377`N\15\377`N\15\377`N\15\377`N\15\377`N\15"
-  "\377`N\15\377`N\15\377`N\15\377`N\15\377]K\14\377ccc\377xxx\377\250\210"
-  "\27\377\0\0\0\365\0\0\0U\0\0\0*\0\0\0\6\0\0\0\0\32\25\3\377\344\277\77"
-  "\377s]\20\377___\373ttt\377\226\226\226\377\261\261\261\377\257\257\257"
-  "\377\305\305\305\377\316\316\316\377\272\272\272\377\302\302\302\377"
-  "\303\303\303\377\313\313\313\377\322\322\322\377\332\332\332\377\225"
-  "\225\225\377\342\2721\377,#\6\371\0\0\0\234\0\0\0H\0\0\0\22\0\0\0\1\0"
-  "\0\0\0\26\22\3\377\330\256\35\377\230{\25\377~~~\377\344\344\344\377"
-  "\344\344\344\377\341\341\341\377\337\337\337\377\337\337\337\377\362"
-  "\362\362\377\375\375\375\377\363\363\363\377\363\363\363\377\363\363"
-  "\363\377\250\250\250\377\265\265\265\377mmm\377\250\210\27\377\1\1\0"
-  "\370\0\0\0U\0\0\0*\0\0\0\6\0\0\0\0\0\0\0\0A4\10\377\310\241\33\377\330"
-  "\256\35\377\273\227\32\377\245\205\26\377\333\333\333\377\352\352\352"
-  "\377\357\357\357\377\357\357\357\377\346\346\346\377\336\336\336\377"
-  "\341\341\341\377\341\341\341\377\337\337\337\377\342\342\342\377zzz\377"
-  "\343\275:\377-%\7\367\0\0\0\234\0\0\0I\0\0\0\22\0\0\0\1\0\0\0\0\0\0\0"
-  "\0\0\0\0""9\0\0\0\377\13\10\1\354~e\25\363\243\206!\351\260\220\40\357"
-  "\272\226\31\377\301\234\32\377\227\227\227\377\334\334\334\377\345\345"
-  "\345\377\353\353\353\377\371\371\371\377\371\371\371\377\205\205\205"
-  "\377\246\246\246\377\350\310[\377\2\2\0\370\0\0\0U\0\0\0*\0\0\0\7\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0&\0\0\0e\0\0\0\276\0\0\0\346\0\0\0"
-  "\360\0\0\0\363\202i\24\371\224w\26\371\262\220\35\367\266\224\36\366"
-  "\275\231\32\377\355\325\200\377\340\340\340\377\352\352\352\377\350\310"
-  "[\3770&\6\373\0\0\0\234\0\0\0H\0\0\0\22\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\6\0\0\0\17\0\0\0\34\0\0\0""4\0\0\0C\0\0\0g\0\0\0\251"
-  "\0\0\0\344\0\0\0\361\0\0\0\356iU\21\365\207n\25\371\245\206\31\372\257"
-  "\215\33\367\250\211\36\357\4\3\0\367\0\0\0U\0\0\0+\0\0\0\7\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\12\0\0\0"
-  "\15\0\0\0\20\0\0\0\33\0\0\0""0\0\0\0C\0\0\0_\0\0\0\235\0\0\0\327\0\0"
-  "\0\356\0\0\0\354\0\0\0\347\0\0\0{\0\0\0F\0\0\0\21\0\0\0\1\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\3\0\0\0\10\0\0\0\15\0\0\0\20\0\0\0\30\0\0\0,\0\0\0\77"
-  "\0\0\0H\0\0\0H\0\0\0@\0\0\0\37\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\7\0\0\0\13\0\0\0\16\0\0"
-  "\0\16\0\0\0\14\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_line_in)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_line_in[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_line_in[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0-..\257###\377\10\10\10x\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\25\25\25\377\345\345\346\377###\377\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0fff\315\356\356\356\377MMM\217\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\2\2\2\337\277\277\277\377\3\3\3\325\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\33\0\0\0i\0\0\0s\0\0\0_\0\0"
-  "\0=\0\0\0!\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\21"
-  "\21\22\377\354\354\355\377\22\22\22\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0\0\0\262\216\216\216\260\210\210\210"
-  "\233TTT\210$$$v\0\0\0b\0\0\0F\0\0\0&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0$$%\243\273\273\273\377\0\0\0O\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\212lll\326\316\316\316\311\245\245\245\274\0"
-  "\0\0\242\0\0\0\214\0\0\0v\0\0\0U\0\0\0;\0\0\0+\0\0\0\"\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\377\352\352\352\377\0\0\0\377\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\230mmm\347\316\316\316\345\10\10\10"
-  "\313\10\10\10\231\0\0\0G\0\0\0=\0\0\0""1\0\0\0:\0\0\0""2\0\0\0#\0\0\0"
-  "\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377RRR\377\332\332\334\377===\377\0"
-  "\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\343\265\265\265\363KK"
-  "K\351\0\0\0M\0\0\0\21\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\33"
-  "\0\0\0\35\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\373\373\373\377\234\233"
-  "\234\377\324\324\324\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\231"
-  "GGG\361\244\244\244\365\0\0\0\242\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\31\0\0\0\0\0\0\0\0\0\0\0\377\221\221"
-  "\221\377===\377===\377\36\36\36\377\77\77\77\377\0\0\0\377\0\0\0\0\0"
-  "\0\0\0\0\0\0\331___\367###\362\0\0\0B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\377\221"
-  "\221\221\377===\377===\377\36\36\36\377BBB\377\0\0\0\377\0\0\0\0\0\0"
-  "\0\0\0\0\0\342SSS\355\0\0\0\353\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377"
-  "\221\221\221\377===\377===\377\36\36\36\377BBB\377\0\0\0\377\0\0\0\0"
-  "\0\0\0\0\0\0\0\330SSS\353\0\0\0\355\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\377\221\221\221\377===\377===\377\36\36\36\377BBB\377\0\0\0\377\0\0"
-  "\0\0\0\0\0\0\0\0\0\262'''\332\"\"\"\367\0\0\0<\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\377\221\221\221\377===\377===\377\36\36\36\377BBB\377\0\0\0\377"
-  "\0\0\0\0\0\0\0\0\0\0\0D\0\0\0\315UUU\362\0\0\0\313\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\377\221\221\221\377===\377===\377\36\36\36\377EEE\377\0\0\0"
-  "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\241LLL\322FFF\336\0\0\0\234\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\377AAA\377ddd\377%%%\377,,,\377<<<\377\0\0\0\377\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\35\0\0\0\236XXX\257FFF\273\0\0\0q\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\377\25\25\25\377\7\7\7\377(((\377\0\0\0\377\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0""9\0\0\0\205ZZZ\233\0\0\0\236\0\0\0b\0\0"
-  "\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\377+++\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0cXXX{\0\0\0{\0\0\0""3\0\0\0%\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\324"
-  "+++\324\0\0\0\324\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0""7\0\0\0T\0\0\0_\0\0\0^\0\0\0#\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252+++\252\0\0\0\252"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\13\0\0\0@\0\0\0F\0\0\0J\0\0\0""2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\177+++\177\0\0\0\177\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""1"
-  "\0\0\0:\7\7\7@\0\0\0,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0U+++U\0\0\0U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\27\0\0\0/\0\0\0""2\10\10\10""5\0"
-  "\0\0+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0*+++*\0\0\0*\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\23\0\0\0""0\0\0\0-\14\14\14-\0\0\0+\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_mail)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_mail[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_mail[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\2"
-  "\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0"
-  "\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\1\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0f\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0m\0"
-  "\0\0\10\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\377SSS\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\376\376\376\377"
-  "\375\375\375\377\374\374\374\377\373\373\373\377\371\371\371\377\370"
-  "\370\370\377\367\367\367\377\366\366\366\377\365\365\365\377\364\364"
-  "\364\377\343\343\343\377SSS\377\0\0\0\377\0\0\0\31\0\0\0\10\0\0\0\1\0"
-  "\0\0\0\0\0\0\2\0\0\0\377\356\356\356\377OOO\377\377\377\377\377\365\365"
-  "\365\377\364\364\364\377\363\363\363\377\362\362\362\377\362\362\362"
-  "\377\361\361\361\377\360\360\360\377\360\360\360\377\357\357\357\377"
-  "\356\356\356\377\355\355\355\377\343\343\343\377OOO\377\256\256\256\377"
-  "\0\0\0\377\0\0\0(\0\0\0\17\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377"
-  "\377\377\344\344\344\377CCC\377\375\375\375\377\363\363\363\377\362\362"
-  "\362\377\362\362\362\377\361\361\361\377\360\360\360\377\357\357\357"
-  "\377\356\356\356\377\356\356\356\377\355\355\355\377\343\343\343\377"
-  "OOO\377\254\254\254\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0"
-  "\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\365\365\365\377\344\344"
-  "\344\377OOO\377\373\373\373\377\361\361\361\377\360\360\360\377\360\360"
-  "\360\377\357\357\357\377\356\356\356\377\355\355\355\377\355\355\355"
-  "\377\343\343\343\377CCC\377\240\240\240\377\324\324\324\377\310\310\310"
-  "\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377"
-  "\377\377\377\373\373\373\377\365\365\365\377\344\344\344\377CCC\377\370"
-  "\370\370\377\360\360\360\377\357\357\357\377\356\356\356\377\355\355"
-  "\355\377\354\354\354\377\343\343\343\377OOO\377\225\225\225\377\324\324"
-  "\324\377\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0"
-  "\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\365\365\365\377\365"
-  "\365\365\377\365\365\365\377\344\344\344\377>>>\377\365\365\365\377\356"
-  "\356\356\377\355\355\355\377\354\354\354\377\343\343\343\377MMM\377\201"
-  "\201\201\377\306\306\306\377\344\344\344\377\344\344\344\377\310\310"
-  "\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377"
-  "\377\377\377\377\373\373\373\377\365\365\365\377\365\365\365\377\344"
-  "\344\344\377jjj\377CCC\377\363\363\363\377\354\354\354\377\343\343\343"
-  "\377OOO\377jjj\377\306\306\306\377\306\306\306\377\365\365\365\377\344"
-  "\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0"
-  "\0\0\0\0\2\0\0\0\377\377\377\377\377\365\365\365\377\365\365\365\377"
-  "\344\344\344\377ccc\377\377\377\377\377\271\271\271\377OOO\377\360\360"
-  "\360\377OOO\377\225\225\225\377\306\306\306\377sss\377\306\306\306\377"
-  "\365\365\365\377\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0"
-  "\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\373\373\373\377"
-  "\344\344\344\377ccc\377\377\377\377\377\365\365\365\377\344\344\344\377"
-  "\324\324\324\377OOO\377\254\254\254\377\306\306\306\377\344\344\344\377"
-  "\344\344\344\377|||\377\344\344\344\377\344\344\344\377\310\310\310\377"
-  "\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377"
-  "\377\377\344\344\344\377sss\377\377\377\377\377\365\365\365\377\365\365"
-  "\365\377\365\365\365\377\365\365\365\377\344\344\344\377\344\344\344"
-  "\377\365\365\365\377\365\365\365\377\365\365\365\377\344\344\344\377"
-  "|||\377\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0"
-  "\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377|||\377\377\377\377\377"
-  "\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377\344"
-  "\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344"
-  "\344\377\344\344\344\377\344\344\344\377\344\344\344\377|||\377\310\310"
-  "\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377"
-  "sss\377\274\274\274\377\274\274\274\377\274\274\274\377\274\274\274\377"
-  "\274\274\274\377\274\274\274\377\274\274\274\377\274\274\274\377\274"
-  "\274\274\377\274\274\274\377\274\274\274\377\274\274\274\377\274\274"
-  "\274\377\274\274\274\377\274\274\274\377ccc\377\0\0\0\377\0\0\0-\0\0"
-  "\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0m\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\207\0\0\0(\0\0\0\17\0\0\0\2\0\0\0\0\0\0\0\1\0\0\0\10\0\0\0\31"
-  "\0\0\0(\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0"
-  "-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0(\0\0\0\31\0\0\0\10"
-  "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\10\0\0\0\16\0\0\0\21\0\0\0\21"
-  "\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0"
-  "\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\16\0\0\0\10\0"
-  "\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\2\0\0\0"
-  "\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0"
-  "\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\1\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_mail_compose)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_mail_compose[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_mail_compose[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\321\257"
-  "a\377\361\343\254\377\373\251\17\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0V\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\265\265"
-  "\265\377\240k\11\377\361\343\254\377\373\251\17\377\201`\0\377\0\0\0"
-  "\377\340\340\340\377\301\301\301\377\0\0\0\377\0\0\0D\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\364\364\364\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\375\375\375\377\375\375\375\377\0\0\0\377\346\303p\377\361\323\207\377"
-  "\325\217\14\377\0\0\0\377\262\262\262\377\303\303\303\377\373\373\373"
-  "\377\250\250\250\377\0\0\0\377\0\0\0V\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377"
-  "\377\377\377\377\366\366\366\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\375\375\375\377\375\375\375\377\375\375\375\377\263\263"
-  "\263\377\240k\11\377\361\343\254\377\373\251\17\377\201`\0\377\0\0\0"
-  "\377\372\372\372\377\255\255\255\377vvv\377]]]\377@@@\377\0\0\0\377\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\366\366\366\377\377"
-  "\377\377\377\373\373\373\377\373\373\373\377\373\373\373\377\373\373"
-  "\373\377\370\370\370\377\0\0\0\377\346\303p\377\361\320~\377\325\217"
-  "\14\377\0\0\0\377\254\254\254\377\370\370\366\377\342\342\342\377\205"
-  "\205\205\377KKI\377\26\26\26\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\377\377\377\377\377\364\364\364\377\375\375\375\377\375\375\375"
-  "\377\373\373\373\377\373\373\373\377\373\373\372\377}}}\377\240k\11\377"
-  "\361\343\254\377\373\251\17\377\201`\0\377\0\0\0\377\364\364\364\377"
-  "\362\362\362\377\360\360\360\377\357\357\357\377\325\325\325\377\255"
-  "\255\255\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377"
-  "\377\362\362\362\377\371\371\371\377\366\366\366\377\366\366\366\377"
-  "\366\366\363\377\363\363\363\377\0\0\0\377\346\303p\377\361\320~\377"
-  "\325\217\14\377\0\0\0\377\207\207\206\377\345\345\345\377\342\342\342"
-  "\377\337\337\337\377\353\353\353\377\342\342\342\377\301\301\301\377"
-  "\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\360\360"
-  "\360\377\370\370\370\377\370\370\370\377\370\370\370\377\370\370\366"
-  "\377\256\256\256\377{S\7\377\361\343\254\377\373\251\17\377\201`\0\377"
-  "\0\0\0\377\355\355\355\377\353\353\353\377\353\353\351\377\351\351\347"
-  "\377\351\351\347\377\340\340\336\377\277\277\277\377\0\0\0\377\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\357\357\357\377\363\363"
-  "\363\377\360\360\360\377\360\360\355\377\355\355\355\377\0\0\0\377\346"
-  "\303p\377\361\322\204\377\312\207\13\377\0\0\0\377\236\236\234\377\334"
-  "\334\331\377\331\331\331\377\331\331\326\377\326\326\324\377\345\345"
-  "\344\377\331\331\327\377\272\272\272\377\0\0\0\377\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\377\377\377\377\377\355\355\355\377\364\364\364\377\364"
-  "\364\364\377\362\362\362\377\252\252\252\377\240k\11\377\361\343\254"
-  "\377\373\251\17\377\201`\0\377\0\0\0\377\347\347\345\377\345\345\344"
-  "\377\345\345\344\377\344\344\342\377\340\340\336\377\342\342\340\377"
-  "\331\331\327\377\272\272\272\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\377\377\377\377\377\353\353\353\377\356\356\354\377\347\347\345"
-  "\377\345\345\345\377\0\0\0\377\346\303p\377\361\322\204\377\312\207\13"
-  "\377\0\0\0\377\227\227\226\377\324\324\321\377\342\342\340\377\340\340"
-  "\336\377\336\336\334\377\336\336\333\377\336\336\334\377\331\331\327"
-  "\377\275\275\274\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377"
-  "\377\377\377\347\347\347\377\357\357\355\377\353\353\353\377\246\246"
-  "\245\377\272|\12\377\373\251\17\377\373\251\17\377z[\0\377\0\0\0\377"
-  "\342\342\340\377\340\340\336\377\336\336\334\377\336\336\333\377\334"
-  "\334\331\377\333\333\331\377\333\333\331\377\325\325\323\377\274\274"
-  "\274\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377"
-  "\345\345\345\377\343\343\343\377\331\331\331\377\0\0\0\377\362\346\266"
-  "\377{{{\377pK\5\377\0\0\0\377ggd\377\313\313\307\377\311\311\307\377"
-  "\334\334\331\377\333\333\327\377\331\331\327\377\327\327\325\377\331"
-  "\331\327\377\327\327\323\377\264\264\264\377\0\0\0\377\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\377\377\377\377\377\342\342\340\377\345\345\344\377"
-  "\344\344\344\377\0\0\0\377\333\325\301\377~oW\377uX\0\377\0\0\0\377\334"
-  "\334\331\377\333\333\331\377\333\333\327\377\331\331\325\377\327\327"
-  "\323\377\325\325\323\377\325\325\321\377\327\327\323\377\320\320\316"
-  "\377\272\272\270\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377"
-  "\377\377\377\336\336\334\377\335\335\333\377\321\321\317\377\16\16\16"
-  "\377SSS\377\0\0\0\377\0\0\0\377\215\215\213\377\304\304\301\377\304\304"
-  "\277\377\301\301\274\377\325\325\321\377\325\325\321\377\323\323\320"
-  "\377\321\321\320\377\323\323\320\377\320\320\316\377\272\272\270\377"
-  "\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\334\334"
-  "\333\377\340\340\334\377\335\335\333\377\0\0\0\377\0\0\0\377\211\211"
-  "\207\377\311\311\306\377\315\315\312\377\320\320\315\377\316\316\313"
-  "\377\320\320\315\377\320\320\315\377\320\320\315\377\320\320\315\377"
-  "\317\317\314\377\320\320\315\377\320\320\314\377\266\266\266\377\0\0"
-  "\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\333\333\331"
-  "\377\324\324\320\377\303\303\300\377[[[\377\221\221\215\377\221\221\217"
-  "\377\237\237\235\377\257\257\254\377\271\271\266\377\276\276\273\377"
-  "\303\303\300\377\305\305\302\377\310\310\305\377\312\312\307\377\313"
-  "\313\310\377\314\314\311\377\314\314\310\377\262\262\262\377\0\0\0\377"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\322\322\320\377\322"
-  "\322\317\377\317\317\314\377\277\277\275\377\237\237\234\377\210\210"
-  "\206\377\207\207\205\377\214\214\212\377\225\225\223\377\234\234\232"
-  "\377\250\250\245\377\261\261\256\377\265\265\263\377\273\273\270\377"
-  "\276\276\273\377\277\277\274\377\302\302\276\377\262\262\262\377\0\0"
-  "\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\321\321\316"
-  "\377\320\320\314\377\314\314\311\377\317\317\314\377\303\303\300\377"
-  "\256\256\253\377\235\235\232\377\227\227\224\377\227\227\224\377\224"
-  "\224\221\377\232\232\227\377\237\237\234\377\243\243\240\377\250\250"
-  "\245\377\252\252\247\377\260\260\254\377\270\270\265\377\260\260\256"
-  "\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\322"
-  "\322\317\377\321\321\316\377\321\321\316\377\321\321\316\377\317\317"
-  "\315\377\313\313\310\377\276\276\274\377\264\264\260\377\254\254\250"
-  "\377\244\244\242\377\240\240\234\377\240\240\234\377\244\244\240\377"
-  "\244\244\242\377\250\250\246\377\253\253\247\377\262\262\256\377\244"
-  "\244\244\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377"
-  "\377\321\321\320\377\321\321\316\377\320\320\316\377\316\316\314\377"
-  "\316\316\312\377\316\316\312\377\314\314\310\377\306\306\302\377\274"
-  "\274\271\377\263\263\257\377\264\264\260\377\253\253\251\377\246\246"
-  "\243\377\240\240\235\377\246\246\243\377\252\252\247\377\254\254\251"
-  "\377\241\241\241\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377"
-  "\377\377\377\261\261\257\377\264\264\263\377\264\264\261\377\264\264"
-  "\261\377\264\264\261\377\263\263\261\377\263\263\261\377\262\262\256"
-  "\377\256\256\252\377\247\247\244\377\242\242\240\377\245\245\241\377"
-  "\245\245\241\377\231\231\227\377\222\222\220\377\224\224\220\377\235"
-  "\235\233\377\205\205\203\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0r\0\0"
-  "\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_mail_forward)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_mail_forward[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_mail_forward[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1"
-  "\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0"
-  "\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2"
-  "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0f\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0m\0\0\0\10\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\377"
-  "SSS\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\376\376\376\377\375\375\375\377\374\374\374\377\373\373\373\377\371"
-  "\371\371\377\370\370\370\377\367\367\367\377\366\366\366\377\365\365"
-  "\365\377\364\364\364\377\343\343\343\377SSS\377\0\0\0\377\0\0\0\31\0"
-  "\0\0\10\0\0\0\1\0\0\0\0\0\0\0\2\0\0\0\377\356\356\356\377OOO\377\377"
-  "\377\377\377\365\365\365\377\364\364\364\377\363\363\363\377\362\362"
-  "\362\377\362\362\362\377\361\361\361\377\360\360\360\377\360\360\360"
-  "\377\357\357\357\377\356\356\356\377\355\355\355\377\343\343\343\377"
-  "OOO\377\256\256\256\377\0\0\0\377\0\0\0(\0\0\0\17\0\0\0\2\0\0\0\0\0\0"
-  "\0\2\0\0\0\377\377\377\377\377\344\344\344\377CCC\377\375\375\375\377"
-  "\363\363\363\377\362\362\362\377\362\362\362\377\361\361\361\377\360"
-  "\360\360\377\357\357\357\377\356\356\356\377\356\356\356\377\355\355"
-  "\355\377\343\343\343\377OOO\377\254\254\254\377\310\310\310\377\0\0\0"
-  "\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377"
-  "\365\365\365\377\344\344\344\377OOO\377\373\373\373\377\361\361\361\377"
-  "\360\360\360\377\360\360\360\377\357\357\357\377\356\356\356\377\355"
-  "\355\355\377\355\355\355\377\343\343\343\377CCC\377\240\240\240\377\324"
-  "\324\324\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0"
-  "\0\0\0\0\2\0\0\0\377\377\377\377\377\373\373\373\377\365\365\365\377"
-  "\344\344\344\377CCC\377\370\370\370\377\360\360\360\377\357\357\357\377"
-  "\356\356\356\377\355\355\355\377\354\354\354\377\343\343\343\377OOO\377"
-  "\225\225\225\377\324\324\324\377\344\344\344\377\310\310\310\377\0\0"
-  "\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377"
-  "\377\365\365\365\377\365\365\365\377\365\365\365\377\344\344\344\377"
-  ">>>\377\365\365\365\377\356\356\356\377\355\355\355\377\354\354\354\377"
-  "\343\343\343\377MMM\377\201\201\201\377\306\306\306\377\344\344\344\377"
-  "\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0"
-  "\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\373\373\373\377\365\365\365"
-  "\377\365\365\365\377\344\344\344\377jjj\377CCC\377\363\363\363\377\354"
-  "\354\354\377\343\343\343\377OOO\377jjj\377\306\306\306\377\306\306\306"
-  "\377\365\365\365\377\0\0\0\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0"
-  "\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\365\365\365\377"
-  "\365\365\365\377\344\344\344\377ccc\377\377\377\377\377\271\271\271\377"
-  "OOO\377\360\360\360\377OOO\377\225\225\225\377\306\306\306\377sss\377"
-  "\306\306\306\377\365\365\365\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\373\373"
-  "\373\377\344\344\344\377ccc\377\377\377\377\377\365\365\365\377\344\344"
-  "\344\377\324\324\324\377OOO\377\254\254\254\377\306\306\306\377\344\344"
-  "\344\377\344\344\344\377|||\377\344\344\344\377\0\0\0\377[\210\262\377"
-  "\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377"
-  "\377\377\344\344\344\377sss\377\377\377\377\377\365\365\365\377\365\365"
-  "\365\377\365\365\365\377\365\365\365\377\344\344\344\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\236\270\321"
-  "\377P\200\255\377\0\0\0\377\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377"
-  "\377\377\377\377|||\377\377\377\377\377\344\344\344\377\344\344\344\377"
-  "\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377\0\0"
-  "\0\377\265\311\334\377\257\305\332\377\262\307\333\377\266\312\335\377"
-  "\266\312\335\377\266\312\335\377\244\275\325\377\234\267\321\377P\200"
-  "\255\377\10\15\21\377\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377sss\377\274\274"
-  "\274\377\274\274\274\377\274\274\274\377\274\274\274\377\274\274\274"
-  "\377\274\274\274\377\274\274\274\377\274\274\274\377\0\0\0\377\233\266"
-  "\320\377\240\272\323\377\234\267\321\377\234\267\321\377\233\266\320"
-  "\377\232\265\317\377\240\272\323\377\234\267\321\377\227\263\316\377"
-  "_\213\264\377\0\0\0\377\0\0\0\0\0\0\0\2\0\0\0m\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\221\260\314\377\236\270\321\377\232\265\317\377\232\265\317"
-  "\377\233\266\320\377\234\267\321\377\234\267\321\377\234\267\321\377"
-  "\240\272\323\377\225\262\316\377Ly\243\377\0\0\0\377\0\0\0\1\0\0\0\10"
-  "\0\0\0\31\0\0\0(\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0"
-  "\0\377It\234\377\77e\210\377\77e\210\377\77e\210\377\77e\210\377\77e"
-  "\210\377\77e\210\377\77e\210\377\77e\210\377*C[\377\0\0\0\377\0\0\0\0"
-  "\0\0\0\0\0\0\0\2\0\0\0\10\0\0\0\16\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21"
-  "\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\377Eo\226\3777Yx\3777Yx\3777Yx\377"
-  "7Yx\3777Yx\377\77e\210\377\77e\210\377*C[\377\0\0\0\377\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0"
-  "\0\0\2\0\0\0\2\0\0\0\2\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\77e\210\377*C[\377\0\0\0\377\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\377*C[\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_mail_receive)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_mail_receive[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_mail_receive[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\377\311\333\307\377\311\332\307\377\311\332\307\377\201\232y\377"
-  "XuM\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\377\262\311\260\377\251\304\247\377\255\310\253"
-  "\377[yP\377MgD\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\273\320\271\377\256\307\254\377"
-  "\256\307\254\377[yP\377MgD\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\324\0\0\0\377\0\0\0\377\0\0\0\377\271\316\267"
-  "\377\256\307\254\377\252\307\250\377[yP\377MgD\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\315\336\313"
-  "\377\261\311\260\377\265\316\265\377\260\311\260\377\255\306\253\377"
-  "[yP\377[yP\377[yP\377MhD\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0"
-  "\0\0\2\0\0\0\2\0\0\0\377\315\336\313\377\264\313\262\377\263\312\261"
-  "\377\255\306\253\377[yP\377[yP\377MhD\377\0\0\0\377\0\0\0\2\0\0\0\2\0"
-  "\0\0\2\0\0\0\2\0\0\0\2\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "f\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\315\336"
-  "\313\377\252\307\250\377\260\307\256\377[yP\377MhD\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0m\0\0\0\10\0\0\0"
-  "\2\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\377SSS\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\376\376\376\377\0\0\0\377\315\336"
-  "\313\377\255\310\253\377TqJ\377\0\0\0\377\367\367\367\377\366\366\366"
-  "\377\365\365\365\377\364\364\364\377\343\343\343\377SSS\377\0\0\0\377"
-  "\0\0\0\31\0\0\0\10\0\0\0\1\0\0\0\0\0\0\0\2\0\0\0\377\356\356\356\377"
-  "OOO\377\377\377\377\377\365\365\365\377\364\364\364\377\363\363\363\377"
-  "\362\362\362\377\0\0\0\377\317\337\314\377\0\0\0\377\360\360\360\377"
-  "\357\357\357\377\356\356\356\377\355\355\355\377\343\343\343\377OOO\377"
-  "\256\256\256\377\0\0\0\377\0\0\0(\0\0\0\17\0\0\0\2\0\0\0\0\0\0\0\2\0"
-  "\0\0\377\377\377\377\377\344\344\344\377CCC\377\375\375\375\377\363\363"
-  "\363\377\362\362\362\377\362\362\362\377\361\361\361\377---\377\357\357"
-  "\357\377\356\356\356\377\356\356\356\377\355\355\355\377\343\343\343"
-  "\377OOO\377\254\254\254\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21"
-  "\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\365\365\365\377\344"
-  "\344\344\377OOO\377\373\373\373\377\361\361\361\377\360\360\360\377\360"
-  "\360\360\377\357\357\357\377\356\356\356\377\355\355\355\377\355\355"
-  "\355\377\343\343\343\377CCC\377\240\240\240\377\324\324\324\377\310\310"
-  "\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377"
-  "\377\377\377\377\373\373\373\377\365\365\365\377\344\344\344\377CCC\377"
-  "\370\370\370\377\360\360\360\377\357\357\357\377\356\356\356\377\355"
-  "\355\355\377\354\354\354\377\343\343\343\377OOO\377\225\225\225\377\324"
-  "\324\324\377\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21"
-  "\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\365\365\365\377\365"
-  "\365\365\377\365\365\365\377\344\344\344\377>>>\377\365\365\365\377\356"
-  "\356\356\377\355\355\355\377\354\354\354\377\343\343\343\377MMM\377\201"
-  "\201\201\377\306\306\306\377\344\344\344\377\344\344\344\377\310\310"
-  "\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377"
-  "\377\377\377\377\373\373\373\377\365\365\365\377\365\365\365\377\344"
-  "\344\344\377jjj\377CCC\377\363\363\363\377\354\354\354\377\343\343\343"
-  "\377OOO\377jjj\377\306\306\306\377\306\306\306\377\365\365\365\377\344"
-  "\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0"
-  "\0\0\0\0\2\0\0\0\377\377\377\377\377\365\365\365\377\365\365\365\377"
-  "\344\344\344\377ccc\377\377\377\377\377\271\271\271\377OOO\377\360\360"
-  "\360\377OOO\377\225\225\225\377\306\306\306\377sss\377\306\306\306\377"
-  "\365\365\365\377\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0"
-  "\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\373\373\373\377"
-  "\344\344\344\377ccc\377\377\377\377\377\365\365\365\377\344\344\344\377"
-  "\324\324\324\377OOO\377\254\254\254\377\306\306\306\377\344\344\344\377"
-  "\344\344\344\377|||\377\344\344\344\377\344\344\344\377\310\310\310\377"
-  "\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377"
-  "\377\377\344\344\344\377sss\377\377\377\377\377\365\365\365\377\365\365"
-  "\365\377\365\365\365\377\365\365\365\377\344\344\344\377\344\344\344"
-  "\377\365\365\365\377\365\365\365\377\365\365\365\377\344\344\344\377"
-  "|||\377\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0"
-  "\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377|||\377\377\377\377\377"
-  "\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377\344"
-  "\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344"
-  "\344\377\344\344\344\377\344\344\344\377\344\344\344\377|||\377\310\310"
-  "\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377"
-  "sss\377\274\274\274\377\274\274\274\377\274\274\274\377\274\274\274\377"
-  "\274\274\274\377\274\274\274\377\274\274\274\377\274\274\274\377\274"
-  "\274\274\377\274\274\274\377\274\274\274\377\274\274\274\377\274\274"
-  "\274\377\274\274\274\377\274\274\274\377ccc\377\0\0\0\377\0\0\0-\0\0"
-  "\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0m\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\207\0\0\0(\0\0\0\17\0\0\0\2\0\0\0\0\0\0\0\1\0\0\0\10\0\0\0\31"
-  "\0\0\0(\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0"
-  "-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0(\0\0\0\31\0\0\0\10"
-  "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\10\0\0\0\16\0\0\0\21\0\0\0\21"
-  "\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0"
-  "\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\16\0\0\0\10\0"
-  "\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\2\0\0\0"
-  "\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0"
-  "\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\1\0\0\0\0\0\0\0"
-  "\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_mail_reply)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_mail_reply[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_mail_reply[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0"
-  "\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2"
-  "\0\0\0\2\0\0\0\2\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0f\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0m\0\0\0\10\0\0\0\2\0\0\0\0\0\0\0\0"
-  "\0\0\0\1\0\0\0\377SSS\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\376\376\376\377\375\375\375\377\374\374\374\377"
-  "\373\373\373\377\371\371\371\377\370\370\370\377\367\367\367\377\366"
-  "\366\366\377\365\365\365\377\364\364\364\377\343\343\343\377SSS\377\0"
-  "\0\0\377\0\0\0\31\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\377\356\356"
-  "\356\377OOO\377\377\377\377\377\365\365\365\377\364\364\364\377\363\363"
-  "\363\377\362\362\362\377\362\362\362\377\361\361\361\377\360\360\360"
-  "\377\360\360\360\377\357\357\357\377\356\356\356\377\355\355\355\377"
-  "\343\343\343\377OOO\377\256\256\256\377\0\0\0\377\0\0\0(\0\0\0\17\0\0"
-  "\0\0\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\344\344\344\377CCC\377"
-  "\375\375\375\377\363\363\363\377\362\362\362\377\362\362\362\377\361"
-  "\361\361\377\360\360\360\377\357\357\357\377\356\356\356\377\356\356"
-  "\356\377\355\355\355\377\343\343\343\377OOO\377\254\254\254\377\310\310"
-  "\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\377"
-  "\377\377\377\377\365\365\365\377\344\344\344\377OOO\377\373\373\373\377"
-  "\361\361\361\377\360\360\360\377\360\360\360\377\357\357\357\377\356"
-  "\356\356\377\355\355\355\377\355\355\355\377\343\343\343\377CCC\377\240"
-  "\240\240\377\324\324\324\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21"
-  "\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\373\373\373\377\365"
-  "\365\365\377\344\344\344\377CCC\377\370\370\370\377\360\360\360\377\357"
-  "\357\357\377\356\356\356\377\355\355\355\377\354\354\354\377\343\343"
-  "\343\377OOO\377\225\225\225\377\324\324\324\377\344\344\344\377\310\310"
-  "\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\377"
-  "\377\377\377\377\365\365\365\377\365\365\365\377\365\365\365\377\344"
-  "\344\344\377>>>\377\365\365\365\377\356\356\356\377\355\355\355\377\354"
-  "\354\354\377\343\343\343\377MMM\377\201\201\201\377\306\306\306\377\344"
-  "\344\344\377\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21"
-  "\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\373\373\373\377=\32"
-  "\23\377\365\365\365\377\344\344\344\377jjj\377CCC\377\363\363\363\377"
-  "\354\354\354\377\343\343\343\377OOO\377jjj\377\306\306\306\377\306\306"
-  "\306\377\365\365\365\377\344\344\344\377\310\310\310\377\0\0\0\377\0"
-  "\0\0-\0\0\0\21\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\0\0"
-  "\0\377\0\0\0\377\344\344\344\377ccc\377\377\377\377\377\271\271\271\377"
-  "OOO\377\360\360\360\377OOO\377\225\225\225\377\306\306\306\377sss\377"
-  "\306\306\306\377\365\365\365\377\344\344\344\377\310\310\310\377\0\0"
-  "\0\377\0\0\0-\0\0\0\21\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\377\0\0\0\377\352"
-  "\300\272\377\0\0\0\377ccc\377\377\377\377\377\365\365\365\377\344\344"
-  "\344\377\324\324\324\377OOO\377\254\254\254\377\306\306\306\377\344\344"
-  "\344\377\344\344\344\377|||\377\344\344\344\377\344\344\344\377\310\310"
-  "\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\377"
-  "\352\300\272\377\337\236\225\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\344\344\344\377\365\365\365\377\365"
-  "\365\365\377\365\365\365\377\344\344\344\377|||\377\344\344\344\377\310"
-  "\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\0\0\0\0\0\0\0\0\377\352"
-  "\300\272\377\340\241\230\377\341\245\235\377\342\247\236\377\343\253"
-  "\243\377\342\247\236\377\343\252\242\377\337\236\225\377\314bS\377\0"
-  "\0\0\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344"
-  "\377\344\344\344\377\344\344\344\377|||\377\310\310\310\377\0\0\0\377"
-  "\0\0\0-\0\0\0\21\0\0\0\0\0\0\0\377\352\300\272\377\335\227\215\377\337"
-  "\237\227\377\337\236\225\377\336\232\220\377\335\226\214\377\335\226"
-  "\214\377\336\232\220\377\335\224\212\377\261C4\377\0\0\0\377\274\274"
-  "\274\377\274\274\274\377\274\274\274\377\274\274\274\377\274\274\274"
-  "\377\274\274\274\377\274\274\274\377ccc\377\0\0\0\377\0\0\0-\0\0\0\21"
-  "C\31\23\377\352\302\274\377\336\232\220\377\337\234\222\377\335\231\217"
-  "\377\335\231\217\377\335\227\215\377\336\232\220\377\336\232\220\377"
-  "\336\232\220\377\336\232\220\377\265E5\377\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\207\0\0\0(\0\0\0\17\0\0\0\0\0\0\0\377e&\35\377\230:,\377\230:,\377"
-  "\230:,\377\230:,\377\230:,\377\230:,\377\230:,\377\230:,\377|/$\377\0"
-  "\0\0\377\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0"
-  "\0(\0\0\0\31\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\377e&\35\377\230:,\377\230"
-  ":,\377c%\35\377c%\35\377c%\35\377c%\35\377c%\35\377l)\37\377\0\0\0\377"
-  "\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0"
-  "\21\0\0\0\16\0\0\0\10\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377e&\35"
-  "\377\230:,\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0"
-  "\0\2\0\0\0\2\0\0\0\2\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\377e&\35\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_mail_send)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_mail_send[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_mail_send[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0O\77\12\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377"
-  "\364\346\265\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\364\345"
-  "\263\377\355\326\204\377u_\20\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\364\345"
-  "\263\377\355\325\200\377\356\326\205\377\257\215\30\377u_\20\377\0\0"
-  "\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\377\364\345\263\377\357\331\214\377\356\330\213\377\355\325\202"
-  "\377\257\215\30\377\257\215\30\377u_\20\377\0\0\0\377\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\1\0\0\0\2\0\0\0\2\0\0\0\377\364\345\263\377\356\330\211\377"
-  "\357\332\222\377\356\330\211\377\355\325\202\377\257\215\30\377\257\215"
-  "\30\377\257\215\30\377u_\20\377\0\0\0\377\0\0\0\2\0\0\0\2\0\0\0\2\0\0"
-  "\0\2\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0f\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\360\333\223\377\355\326\204"
-  "\377\355\325\200\377\257\215\30\377s]\20\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0m\0\0\0\10\0\0\0\2\0\0\0\0"
-  "\0\0\0\0\0\0\0\1\0\0\0\377SSS\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\0\0\0\377\360\334\227\377\355\326\204\377"
-  "\355\326\204\377\257\215\30\377s]\20\377\0\0\0\377\366\366\366\377\365"
-  "\365\365\377\364\364\364\377\343\343\343\377SSS\377\0\0\0\377\0\0\0\31"
-  "\0\0\0\10\0\0\0\1\0\0\0\0\0\0\0\2\0\0\0\377\356\356\356\377OOO\377\377"
-  "\377\377\377\365\365\365\377\364\364\364\377\0\0\0\377\356\330\211\377"
-  "\355\323|\377\355\326\204\377\257\215\30\377s]\20\377\0\0\0\377\356\356"
-  "\356\377\355\355\355\377\343\343\343\377OOO\377\256\256\256\377\0\0\0"
-  "\377\0\0\0(\0\0\0\17\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377"
-  "\344\344\344\377CCC\377\375\375\375\377\363\363\363\377\0\0\0\377\344"
-  "\277=\377\313\244\34\377\321\250\34\377\220t\23\377|d\21\377\0\0\0\377"
-  "\355\355\355\377\343\343\343\377OOO\377\254\254\254\377\310\310\310\377"
-  "\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377"
-  "\377\377\365\365\365\377\344\344\344\377OOO\377\373\373\373\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\343"
-  "\343\343\377CCC\377\240\240\240\377\324\324\324\377\310\310\310\377\0"
-  "\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377"
-  "\377\373\373\373\377\365\365\365\377\344\344\344\377CCC\377\370\370\370"
-  "\377\360\360\360\377\357\357\357\377\356\356\356\377\355\355\355\377"
-  "\354\354\354\377\343\343\343\377OOO\377\225\225\225\377\324\324\324\377"
-  "\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0"
-  "\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\365\365\365\377\365\365\365"
-  "\377\365\365\365\377\344\344\344\377>>>\377\365\365\365\377\356\356\356"
-  "\377\355\355\355\377\354\354\354\377\343\343\343\377MMM\377\201\201\201"
-  "\377\306\306\306\377\344\344\344\377\344\344\344\377\310\310\310\377"
-  "\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377"
-  "\377\377\373\373\373\377\365\365\365\377\365\365\365\377\344\344\344"
-  "\377jjj\377CCC\377\363\363\363\377\354\354\354\377\343\343\343\377OO"
-  "O\377jjj\377\306\306\306\377\306\306\306\377\365\365\365\377\344\344"
-  "\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0"
-  "\0\0\2\0\0\0\377\377\377\377\377\365\365\365\377\365\365\365\377\344"
-  "\344\344\377ccc\377\377\377\377\377\271\271\271\377OOO\377\360\360\360"
-  "\377OOO\377\225\225\225\377\306\306\306\377sss\377\306\306\306\377\365"
-  "\365\365\377\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21"
-  "\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\373\373\373\377\344"
-  "\344\344\377ccc\377\377\377\377\377\365\365\365\377\344\344\344\377\324"
-  "\324\324\377OOO\377\254\254\254\377\306\306\306\377\344\344\344\377\344"
-  "\344\344\377|||\377\344\344\344\377\344\344\344\377\310\310\310\377\0"
-  "\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377"
-  "\377\344\344\344\377sss\377\377\377\377\377\365\365\365\377\365\365\365"
-  "\377\365\365\365\377\365\365\365\377\344\344\344\377\344\344\344\377"
-  "\365\365\365\377\365\365\365\377\365\365\365\377\344\344\344\377|||\377"
-  "\344\344\344\377\310\310\310\377\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0"
-  "\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377|||\377\377\377\377\377\344\344"
-  "\344\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344"
-  "\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377"
-  "\344\344\344\377\344\344\344\377\344\344\344\377|||\377\310\310\310\377"
-  "\0\0\0\377\0\0\0-\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\2\0\0\0\377sss\377\274"
-  "\274\274\377\274\274\274\377\274\274\274\377\274\274\274\377\274\274"
-  "\274\377\274\274\274\377\274\274\274\377\274\274\274\377\274\274\274"
-  "\377\274\274\274\377\274\274\274\377\274\274\274\377\274\274\274\377"
-  "\274\274\274\377\274\274\274\377ccc\377\0\0\0\377\0\0\0-\0\0\0\21\0\0"
-  "\0\2\0\0\0\0\0\0\0\2\0\0\0m\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\207"
-  "\0\0\0(\0\0\0\17\0\0\0\2\0\0\0\0\0\0\0\1\0\0\0\10\0\0\0\31\0\0\0(\0\0"
-  "\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0"
-  "\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0-\0\0\0(\0\0\0\31\0\0\0\10\0\0\0\1\0"
-  "\0\0\0\0\0\0\0\0\0\0\2\0\0\0\10\0\0\0\16\0\0\0\21\0\0\0\21\0\0\0\21\0"
-  "\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21"
-  "\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\21\0\0\0\16\0\0\0\10\0\0\0\2\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0"
-  "\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0"
-  "\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\1\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_menu_about)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_menu_about[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_menu_about[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (1024) */
-  "\0\0\4\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (64) */
-  "\0\0\0@"
-  /* width (16) */
-  "\0\0\0\20"
-  /* height (16) */
-  "\0\0\0\20"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0!\"\10\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0LN\23l\0\0\0\377\25\26\6#\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\11\0\0\0\377\356\366>\377\0\0\0\377\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\21\4\7dg\32"
-  "x\0\0\0\377\0\0\0\377\352\361=\377\360\370\77\377\313\3225\370\0\0\0"
-  "\377\0\0\0\377JL\23k\0\0\0\0\20\21\4\0dg\32\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\34\35\7\0\0\0\0\377\360\370\77\377\360\370\77\377\360\370\77\377\360"
-  "\370\77\377\360\370\77\377\360\370\77\377\351\360=\377\0\0\0\377\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\37\37\10%\0\0\0"
-  "\377\360\370\77\377\360\370\77\377\360\370\77\377\360\370\77\377\345"
-  "\354<\377\0\0\0\377\5\5\1\7\0\0\0\0\0\0\0\0\37\37\10\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\350\360=\377\360\370\77\377\360"
-  "\370\77\377\360\370\77\377\253\260-\372\0\0\0\377\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\360\370"
-  "\77\377\354\363>\377\0\0\0\377\357\367\77\377\316\3266\377\0\0\0\377"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\377\264\272/\363\0\0\0\377\30\30\6\77\0\0\0\377\315\3245\375"
-  "\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\36\37\10g\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377"
-  "\26\27\5F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_menu_blank)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_menu_blank[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_menu_blank[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (1024) */
-  "\0\0\4\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (64) */
-  "\0\0\0@"
-  /* width (16) */
-  "\0\0\0\20"
-  /* height (16) */
-  "\0\0\0\20"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_scores)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_scores[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_scores[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\3\0\0\0\4\0\0\0\4\0\0\0\4\0\0"
-  "\0\3\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\215\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\227\0\0\0\22\0\0\0\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\2\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\341\341\341\377\0\0\0\377\0\0\0""2\0\0\0\22\0\0\0\2\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\377\377\377\377\377\353"
-  "\353\353\377\0\0\0\377\355\355\355\377\322\322\322\377\0\0\0\377\0\0"
-  "\0L\0\0\0\34\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0"
-  "\0\377\377\377\377\377\0\0\0\377\0\0\0\377\356\356\356\377\322\322\322"
-  "\377\0\0\0\377\0\0\0T\0\0\0\40\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\3\0"
-  "\0\0\4\0\0\0\10\0\0\0\377\377\377\377\377\355\355\355\377\0\0\0\377\357"
-  "\357\357\377\323\323\323\377\0\0\0\377\0\0\0U\0\0\0\40\0\0\0\4\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\215\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377"
-  "\377\356\356\356\377\0\0\0\377\360\360\360\377\324\324\324\377\0\0\0"
-  "\377\0\0\0W\0\0\0$\0\0\0\10\0\0\0\4\0\0\0\3\0\0\0\2\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\325\325\325\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\205\0\0\0\20\0\0\0\5\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\377\377\377\377\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\355\355\355\377\356\356\356\377\357\357\357\377\361\361"
-  "\361\377\362\362\362\377\363\363\363\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\377\0\0\0"
-  "1\0\0\0\21\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\377\377\377"
-  "\377\377\353\353\353\377\354\354\354\377\0\0\0\377\356\356\356\377\357"
-  "\357\357\377\360\360\360\377\361\361\361\377\363\363\363\377\364\364"
-  "\364\377\365\365\365\377\0\0\0\377\0\0\0\377\0\0\0\377\333\333\333\377"
-  "\0\0\0\377\0\0\0K\0\0\0\34\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0"
-  "\0\0\377\377\377\377\377\0\0\0\377\0\0\0\377\0\0\0\377\357\357\357\377"
-  "\360\360\360\377\361\361\361\377\362\362\362\377\363\363\363\377\365"
-  "\365\365\377\366\366\366\377\367\367\367\377\370\370\370\377\0\0\0\377"
-  "\334\334\334\377\0\0\0\377\0\0\0T\0\0\0\40\0\0\0\4\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\4\0\0\0\377\377\377\377\377\0\0\0\377\356\356\356\377\357"
-  "\357\357\377\360\360\360\377\361\361\361\377\362\362\362\377\363\363"
-  "\363\377\364\364\364\377\365\365\365\377\367\367\367\377\370\370\370"
-  "\377\0\0\0\377\0\0\0\377\335\335\335\377\0\0\0\377\0\0\0U\0\0\0\40\0"
-  "\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\377\377\377\377\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\361\361\361\377\362\362\362\377\363\363\363"
-  "\377\364\364\364\377\365\365\365\377\366\366\366\377\367\367\367\377"
-  "\371\371\371\377\372\372\372\377\0\0\0\377\336\336\336\377\0\0\0\377"
-  "\0\0\0U\0\0\0\40\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\377\377"
-  "\377\377\377\357\357\357\377\360\360\360\377\361\361\361\377\362\362"
-  "\362\377\363\363\363\377\364\364\364\377\365\365\365\377\366\366\366"
-  "\377\367\367\367\377\370\370\370\377\0\0\0\377\0\0\0\377\0\0\0\377\337"
-  "\337\337\377\0\0\0\377\0\0\0U\0\0\0\40\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\4\0\0\0\377\341\341\341\377\323\323\323\377\324\324\324\377"
-  "\325\325\325\377\326\326\326\377\327\327\327\377\330\330\330\377\331"
-  "\331\331\377\331\331\331\377\332\332\332\377\333\333\333\377\334\334"
-  "\334\377\335\335\335\377\337\337\337\377\340\340\340\377\0\0\0\377\0"
-  "\0\0T\0\0\0\40\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\254\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\273\0\0\0L\0\0\0\34\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\2\0\0\0\23\0\0\0""5\0\0\0M\0\0\0T\0\0\0U\0\0\0U\0\0\0U\0\0\0U"
-  "\0\0\0U\0\0\0U\0\0\0U\0\0\0U\0\0\0U\0\0\0U\0\0\0U\0\0\0T\0\0\0L\0\0\0"
-  "2\0\0\0\22\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\23\0"
-  "\0\0\35\0\0\0\40\0\0\0\40\0\0\0\40\0\0\0\40\0\0\0\40\0\0\0\40\0\0\0\40"
-  "\0\0\0\40\0\0\0\40\0\0\0\40\0\0\0\40\0\0\0\40\0\0\0\37\0\0\0\34\0\0\0"
-  "\22\0\0\0\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0"
-  "\0\0\3\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0"
-  "\4\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0\3\0\0\0\2\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_mic)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_mic[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_mic[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0<\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0<\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0<RRR\377\332"
-  "\332\333\377\372\372\373\377\361\361\363\377\370\370\371\377\335\334"
-  "\335\377\0\0\0\377\0\0\0E\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\377\332\331\332\377\363\362\365\377\326\325\334\377\350"
-  "\350\353\377\267\265\275\377\324\322\327\377ifl\377\0\0\0\377\0\0\0\13"
-  "\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\372\372\373\377"
-  "\334\334\342\377\354\353\356\377\301\277\307\377\330\326\333\377\220"
-  "\217\226\377\214\212\217\377\0\0\0\377\0\0\0\26\0\0\0\4\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\363\361\364\377\357\357\362\377\312"
-  "\307\321\377\337\336\343\377\235\234\244\377\275\273\301\377CBF\377\0"
-  "\0\0\377\0\0\0\31\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0I\0\0\0]\0\0\0\1\0\0\0\377"
-  "\372\372\372\377\324\322\331\377\350\346\353\377\261\260\272\377\311"
-  "\307\316\377tqz\377qpv\377\0\0\0\377\0\0\0\31\0\0\0_\0\0\0J\0\0\0\1\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "]\0\0\0\377\0\0\0\377\0\0\0\377\361\360\363\377\355\354\360\377\303\301"
-  "\312\377\330\326\335\377\214\211\225\377\250\246\257\377226\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0b\0\0\0\7\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\377\0\0\0\26\0\0\0\377"
-  "\371\371\372\377\317\316\326\377\344\342\347\377\250\247\261\377\303"
-  "\301\310\377ebl\377aae\377\0\0\0\377\0\0\0\34\0\0\0\377\0\0\0\27\0\0"
-  "\0\12\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\377\0\0\0\25\0\0\0\377\360\356\361\377\353\352\356\377"
-  "\276\273\306\377\325\324\332\377\204\200\214\377\236\235\246\377-,0\377"
-  "\0\0\0\377\0\0\0\32\0\0\0\377\0\0\0\25\0\0\0\6\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\24"
-  "\0\0\0\377\370\370\371\377\312\307\321\377\337\336\342\377\234\232\244"
-  "\377\270\266\276\377YW_\377][a\377\0\0\0\377\0\0\0\31\0\0\0\377\0\0\0"
-  "\24\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\377\0\0\0\24\0\0\0\377\354\352\355\377\343\342\346"
-  "\377\250\247\260\377\307\305\314\377rqx\377\222\220\231\377(&*\377\0"
-  "\0\0\377\0\0\0\31\0\0\0\377\0\0\0\24\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\24\0"
-  "\0\0\377\350\347\352\377\265\263\272\377\314\314\322\377\205\204\212"
-  "\377\245\244\253\377JIO\377MLQ\377\0\0\0\377\0\0\0\31\0\0\0\377\0\0\0"
-  "\24\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\377\0\0\0\24\0\0\0C\0\0\0\377\206\204\210\37776"
-  ":\377aac\377$#&\377DDI\377\0\0\0\377\0\0\0\232\0\0\0\30\0\0\0\377\0\0"
-  "\0\24\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\24\0\0\0\6\0\0\0D\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\232\0\0\0\32\0\0\0\17\0\0\0\377"
-  "\0\0\0\24\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0k\0\0\0\206\0\0\0\6\0\0\0\3\0\0\0\13\0\0\0"
-  "\26\0\0\0{\0\0\0\32\0\0\0\31\0\0\0\27\0\0\0\17\0\0\0\200\0\0\0m\0\0\0"
-  "\22\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\2\0\0\0o\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0m\0\0\0\13\0"
-  "\0\0\13\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\13\0\0\0\22\0\0\0\24KKK\377"
-  "aaa\377\0\0\0\377\0\0\0\30\0\0\0\25\0\0\0\24\0\0\0\22\0\0\0\13\0\0\0"
-  "\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\5KKK\377\177\177"
-  "\177\377\0\0\0\377\0\0\0m\0\0\0;\0\0\0\6\0\0\0\5\0\0\0\2\0\0\0\33\0\0"
-  "\0]\0\0\0\34\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0KKK\377\177\177\177\377"
-  "\0\0\0\377\0\0\0\32\0\0\0\12\0\0\0L\0\0\0\2\0\0\0\0\0\0\0I\0\0\0\4\0"
-  "\0\0M\0\0\0\37\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""3\40\40\40\377hhh\377\0\0\0"
-  "\377\0\0\0G\0\0\0\7\0\0\0\2\0\0\0k\0\0\0]\0\0\0\2\0\0\0\5\0\0\0\3\0\0"
-  "\0l\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377gd[\377\0\0\0\377VRH\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0`\0\0\0"
-  "\2\0\0\0o\0\0\0\7\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\33\33\33\377\257\255"
-  "\251\377\205\202{\377wtl\377VRH\377VRH\377VRH\377VRH\377VRH\377VRH\377"
-  "VRH\377VRH\377VRH\377LI@\377;:2\377\40\37\32\377\0\0\0\377\0\0\0\14\0"
-  "\0\0\37\0\0\0\7\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\27\0\0\0\5\0\0\0K\0\0\0W\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\4\0\0\0\25\0\0\0\31\0\0\0\31\0\0\0\31\0\0\0\31\0\0\0\31\0\0\0\31\0"
-  "\0\0\31\0\0\0\31\0\0\0\31\0\0\0\31\0\0\0\31\0\0\0\31\0\0\0\31\0\0\0\31"
-  "\0\0\0\31\0\0\0\25\0\0\0\4\0\0\0\1\0\0\0\5"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_multiple_file)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_multiple_file[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_multiple_file[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (4096) */
-  "\0\0\20\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (128) */
-  "\0\0\0\200"
-  /* width (32) */
-  "\0\0\0\40"
-  /* height (32) */
-  "\0\0\0\40"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\33\0\0\0\14\0\0\0\2\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\340\340\340\377"
-  "\301\301\301\377\0\0\0\377\0\0\0+\0\0\0\16\0\0\0\3\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\377\377\377\377\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0-\0"
-  "\0\0\16\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\340\340\340\377\301\301\301\377\0\0\0\377\0\0\0"
-  "-\0\0\0\16\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\375\375\375\377\373\373\373\377"
-  "\372\372\371\377\303\303\303\377\373\373\373\377\250\250\250\377\0\0"
-  "\0\377\0\0\0-\0\0\0\20\0\0\0\6\0\0\0\4\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\33\0\0\0\14\0\0\0\2\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\340\340\340\377\301\301"
-  "\301\377\0\0\0\377\0\0\0+\0\0\0\16\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\377"
-  "\377\377\377\377\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\0\0\0\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\375\375\375\377\373\373\373\377\372"
-  "\372\371\377\303\303\303\377\373\373\373\377\250\250\250\377\0\0\0\377"
-  "\0\0\0-\0\0\0\16\0\0\0\3\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\0\0\0\377\377\377\377\377\377\377\377\377\321\321\321\377"
-  "\252\252\252\377\323\323\323\377\377\377\377\377\323\323\323\377\377"
-  "\377\377\377\252\252\252\377\252\252\252\377\375\375\375\377\320\320"
-  "\320\377\372\372\372\377\371\371\370\377\367\367\366\377\255\255\255"
-  "\377vvv\377]]]\377@@@\377\0\0\0\377\0\0\0+\0\0\0\14\0\0\0\0\0\0\0\377"
-  "\377\377\377\377\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\375\375\375\377\374\374\374\377\0\0\0\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\376\376\376\377\374\374\374\377"
-  "\373\373\372\377\371\371\371\377\367\367\367\377\366\366\365\377\364"
-  "\364\364\377\342\342\342\377\205\205\205\377KKI\377\26\26\26\377\0\0"
-  "\0\377\0\0\0N\0\0\0\33\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377\377"
-  "\377\377\377\376\376\376\377\374\374\374\377\373\373\372\377\371\371"
-  "\371\377\0\0\0\377\377\377\377\377\377\377\377\377\252\252\252\377\271"
-  "\271\271\377\323\323\323\377\323\323\323\377\376\376\376\377\250\250"
-  "\250\377\236\236\236\377\235\235\235\377\245\245\244\377\366\366\366"
-  "\377\243\243\242\377\311\311\310\377\362\362\361\377\360\360\357\377"
-  "\356\356\355\377\355\355\353\377\235\235\235\377\0\0\0\377\0\0\0]\0\0"
-  "\0#\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377\377\377\377\377\373\373"
-  "\373\377\371\371\371\377\370\370\367\377\366\366\366\377\0\0\0\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\375\375\375\377\373\373\373\377\372\372\371\377\370\370\370"
-  "\377\367\367\366\377\365\365\364\377\364\364\363\377\362\362\361\377"
-  "\360\360\357\377\357\357\356\377\355\355\354\377\354\354\352\377\352"
-  "\352\350\377\244\244\243\377\0\0\0\377\0\0\0_\0\0\0$\0\0\0\0\0\0\0\377"
-  "\377\377\377\377\0\0\0\377\377\377\377\377\370\370\370\377\367\367\366"
-  "\377\365\365\364\377\364\364\363\377\0\0\0\377\377\377\377\377\377\377"
-  "\377\377\252\252\252\377\321\321\321\377\374\374\374\377\316\316\316"
-  "\377\371\371\370\377\244\244\244\377\243\243\243\377\232\232\231\377"
-  "\257\257\256\377\361\361\360\377\237\237\236\377rrq\377\225\225\224\377"
-  "\223\223\223\377\351\351\347\377\347\347\346\377\244\244\244\377\0\0"
-  "\0\377\0\0\0_\0\0\0$\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377\377"
-  "\377\377\377\365\365\365\377\364\364\363\377\362\362\361\377\361\361"
-  "\360\377\0\0\0\377\377\377\377\377\376\376\376\377\374\374\374\377\373"
-  "\373\372\377\371\371\371\377\367\367\367\377\366\366\365\377\364\364"
-  "\364\377\363\363\362\377\361\361\360\377\360\360\356\377\356\356\355"
-  "\377\354\354\353\377\353\353\351\377\351\351\350\377\350\350\346\377"
-  "\346\346\344\377\345\345\343\377\242\242\242\377\0\0\0\377\0\0\0_\0\0"
-  "\0$\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377\377\377\377\377\363\363"
-  "\362\377\361\361\360\377\360\360\356\377\356\356\355\377\0\0\0\377\377"
-  "\377\377\377\373\373\373\377\264\264\264\377\263\263\263\377\366\366"
-  "\366\377\261\261\261\377\260\260\257\377\230\230\230\377\227\227\226"
-  "\377\356\356\355\377oon\377nnn\377nnm\377mml\377llk\377kkj\377\343\343"
-  "\341\377\342\342\340\377\242\242\242\377\0\0\0\377\0\0\0_\0\0\0$\0\0"
-  "\0\0\0\0\0\377\377\377\377\377\0\0\0\377\377\377\377\377\360\360\357"
-  "\377\356\356\355\377\355\355\353\377\353\353\352\377\0\0\0\377\377\377"
-  "\377\377\370\370\370\377\367\367\366\377\365\365\364\377\364\364\363"
-  "\377\362\362\361\377\360\360\357\377\357\357\356\377\355\355\354\377"
-  "\354\354\352\377nnm\377\207\226\245\377\206\226\244\377\205\225\243\377"
-  "\205\224\243\377jji\377\341\341\336\377\337\337\335\377\243\243\242\377"
-  "\0\0\0\377\0\0\0_\0\0\0$\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377"
-  "\377\377\377\377\355\355\354\377\354\354\352\377\352\352\350\377\351"
-  "\351\347\377\0\0\0\377\377\377\377\377\365\365\365\377\261\261\260\377"
-  "\230\230\230\377\307\307\306\377\305\305\304\377\356\356\354\377\303"
-  "\303\302\377\301\301\300\377\351\351\347\377lll\377\217\236\254\377\275"
-  "\270\225\377p|i\377\214\233\252\377iih\377\336\336\333\377\334\334\332"
-  "\377\243\243\242\377\0\0\0\377\0\0\0_\0\0\0$\0\0\0\0\0\0\0\377\377\377"
-  "\377\377\0\0\0\377\377\377\377\377\352\352\351\377\351\351\347\377\347"
-  "\347\346\377\346\346\344\377\0\0\0\377\377\377\377\377\363\363\362\377"
-  "\361\361\360\377\360\360\356\377\356\356\355\377\354\354\353\377\353"
-  "\353\351\377\351\351\350\377\350\350\346\377\346\346\344\377kkj\377\226"
-  "\245\264\377\323\307\215\377\237\234d\377o\177w\377hhf\377\333\333\330"
-  "\377\332\332\327\377\240\240\237\377\0\0\0\377\0\0\0_\0\0\0$\0\0\0\0"
-  "\0\0\0\377\377\377\377\377\0\0\0\377\377\377\377\377\350\350\346\377"
-  "\346\346\344\377\345\345\343\377\343\343\341\377\0\0\0\377\377\377\377"
-  "\377\360\360\357\377\243\243\242\377\225\225\224\377\224\224\223\377"
-  "\251\251\250\377\232\232\231\377\247\247\246\377\275\275\273\377\343"
-  "\343\341\377jji\377\235\254\273\377\315\304\226\377fsW\377\233\252\271"
-  "\377ffe\377\330\330\325\377\327\327\324\377\242\242\241\377\0\0\0\377"
-  "\0\0\0_\0\0\0$\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0\377\377\377\377"
-  "\377\345\345\343\377\343\343\341\377\342\342\340\377\340\340\336\377"
-  "\0\0\0\377\377\377\377\377\355\355\354\377\354\354\352\377\352\352\350"
-  "\377\351\351\347\377\347\347\345\377\345\345\343\377\344\344\342\377"
-  "\342\342\340\377\341\341\336\377hhh\377\245\264\303\377\313\305\235\377"
-  "l}o\377o\200s\377eec\377\326\326\322\377\324\324\321\377\242\242\241"
-  "\377\0\0\0\377\0\0\0_\0\0\0$\0\0\0\0\0\0\0\377\377\377\377\377\0\0\0"
-  "\377\377\377\377\377\342\342\340\377\341\341\336\377\337\337\335\377"
-  "\336\336\333\377\0\0\0\377\377\377\377\377\352\352\351\377\233\233\232"
-  "\377\215\215\214\377\346\346\344\377\274\274\273\377\217\217\215\377"
-  "\216\216\214\377\271\271\266\377\336\336\333\377ggf\377gge\377ffd\377"
-  "eed\377ddc\377ddb\377\323\323\320\377\321\321\316\377\241\241\240\377"
-  "\0\0\0\377\0\0\0_\0\0\0$\0\0\0\0\0\0\0\377\320\320\320\377\0\0\0\377"
-  "\377\377\377\377\340\340\335\377\336\336\333\377\334\334\332\377\333"
-  "\333\330\377\0\0\0\377\377\377\377\377\350\350\346\377\346\346\344\377"
-  "\345\345\343\377\343\343\341\377\341\341\337\377\340\340\336\377\336"
-  "\336\334\377\335\335\332\377\333\333\330\377\332\332\327\377\330\330"
-  "\325\377\326\326\323\377\325\325\322\377\323\323\320\377\322\322\316"
-  "\377\320\320\315\377\317\317\313\377\240\240\237\377\0\0\0\377\0\0\0"
-  "_\0\0\0$\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\377\335\335"
-  "\332\377\333\333\330\377\332\332\327\377\330\330\325\377\0\0\0\377\377"
-  "\377\377\377\345\345\343\377\227\227\226\377\216\216\215\377\215\215"
-  "\214\377\214\214\212\377\335\335\333\377\222\222\220\377\236\236\233"
-  "\377\234\234\232\377\207\207\205\377\325\325\322\377\257\257\254\377"
-  "\230\230\226\377\213\213\210\377\253\253\247\377\315\315\312\377\314"
-  "\314\310\377\242\242\241\377\0\0\0\377\0\0\0_\0\0\0$\0\0\0\0\0\0\0\40"
-  "\0\0\0T\0\0\0\377\320\320\320\377\261\261\257\377\264\264\263\377\264"
-  "\264\261\377\240\240\235\377\0\0\0\377\377\377\377\377\342\342\340\377"
-  "\341\341\336\377\337\337\335\377\336\336\333\377\334\334\331\377\332"
-  "\332\330\377\331\331\326\377\327\327\324\377\326\326\322\377\324\324"
-  "\321\377\323\323\317\377\321\321\315\377\317\317\314\377\316\316\312"
-  "\377\314\314\310\377\314\314\307\377\314\314\307\377\242\242\240\377"
-  "\0\0\0\377\0\0\0_\0\0\0$\0\0\0\0\0\0\0\12\0\0\0\37\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\377\340"
-  "\340\335\377\224\224\222\377\266\266\264\377\333\333\330\377\235\235"
-  "\233\377\210\210\206\377\326\326\323\377\325\325\321\377\214\214\212"
-  "\377\217\217\215\377\203\203\200\377\316\316\312\377\224\224\221\377"
-  "\224\224\220\377\314\314\307\377\314\314\307\377\314\314\307\377\237"
-  "\237\237\377\0\0\0\377\0\0\0_\0\0\0$\0\0\0\0\0\0\0\2\0\0\0\10\0\0\0%"
-  "\0\0\0T\0\0\0j\0\0\0m\0\0\0m\0\0\0o\0\0\0\377\377\377\377\377\335\335"
-  "\332\377\333\333\330\377\332\332\327\377\330\330\325\377\326\326\323"
-  "\377\325\325\322\377\323\323\320\377\322\322\316\377\320\320\315\377"
-  "\317\317\313\377\315\315\311\377\314\314\307\377\314\314\307\377\314"
-  "\314\307\377\314\314\307\377\314\314\307\377\314\314\307\377\240\240"
-  "\237\377\0\0\0\377\0\0\0_\0\0\0$\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\13\0\0"
-  "\0\34\0\0\0&\0\0\0(\0\0\0(\0\0\0,\0\0\0\377\320\320\320\377\261\261\257"
-  "\377\264\264\263\377\264\264\261\377\240\240\235\377\240\240\235\377"
-  "\237\237\235\377\237\237\235\377\237\237\233\377\231\231\225\377\215"
-  "\215\211\377\213\213\211\377\213\213\211\377\213\213\211\377\211\211"
-  "\211\377\211\211\211\377\203\203\177\377\204\204\202\377]]\\\377\0\0"
-  "\0\377\0\0\0^\0\0\0$\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\6"
-  "\0\0\0\7\0\0\0\7\0\0\0\13\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\263\0\0\0T\0\0\0\37\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0!\0\0\0S\0\0"
-  "\0i\0\0\0m\0\0\0m\0\0\0m\0\0\0n\0\0\0n\0\0\0n\0\0\0n\0\0\0n\0\0\0n\0"
-  "\0\0n\0\0\0n\0\0\0n\0\0\0n\0\0\0n\0\0\0n\0\0\0n\0\0\0l\0\0\0`\0\0\0:"
-  "\0\0\0\23\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\1\0\0\0\12\0\0\0\34\0\0\0&\0\0\0(\0\0\0(\0\0\0(\0\0\0)\0\0"
-  "\0)\0\0\0)\0\0\0)\0\0\0)\0\0\0)\0\0\0)\0\0\0)\0\0\0)\0\0\0)\0\0\0)\0"
-  "\0\0)\0\0\0)\0\0\0(\0\0\0#\0\0\0\25\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0"
-  "\6\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0\7\0"
-  "\0\0\7\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0"
-  "\7\0\0\0\6\0\0\0\4\0\0\0\1"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_not)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_not[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_not[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0b\0\0\0\260\0\0\0\342"
-  "\0\0\0\373\0\0\0\373\0\0\0\343\0\0\0\263\0\0\0j\0\0\0\13\0\0\0\5\0\0"
-  "\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0b\0\0\0\341n\35\15\377\2670\25\377\315"
-  "4\27\377\3173\27\377\3152\26\377\310/\25\377\260(\22\377h\27\12\377\0"
-  "\0\0\345\0\0\0o\0\0\0\14\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\225K\24\11\377\3105\27\377"
-  "\3237\31\377\3215\30\377\3173\27\377\3151\26\377\3140\25\377\312.\25"
-  "\377\310,\24\377\306+\23\377\270'\21\377D\16\5\377\0\0\0\243\0\0\0\24"
-  "\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"
-  "\0\225o\36\15\377\3238\31\377\3236\30\377\331_H\377\361\317\311\377\371"
-  "\364\363\377\371\371\371\377\364\353\352\377\350\273\265\377\325vj\377"
-  "\307\77-\377\302'\21\377\300%\21\377c\22\10\377\0\0\0\246\0\0\0\26\0"
-  "\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0bK\24\11\377\323"
-  "8\31\377\3226\30\377\353\261\246\377\372\372\372\377\372\372\372\377"
-  "\372\372\372\377\371\371\371\377\370\370\370\377\370\370\370\377\355"
-  "\324\320\377\277#\20\377\277#\20\377\276#\20\377\274!\17\377B\13\5\377"
-  "\0\0\0|\0\0\0\24\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\341\307"
-  "4\27\377\3226\30\377\353\261\246\377\373\373\373\377\372\372\372\377"
-  "\372\372\372\377\371\371\371\377\370\370\370\377\370\370\370\377\355"
-  "\324\320\377\277#\20\377\277#\20\377\277#\20\377\277#\20\377\272\37\16"
-  "\377\255\34\14\377\0\0\0\351\0\0\0(\0\0\0\14\0\0\0\1\0\0\0\0\0\0\0\0"
-  "\0\0\0bm\34\14\377\3225\30\377\326WA\377\372\372\372\377\372\372\372"
-  "\377\372\372\372\377\371\371\371\377\370\370\370\377\370\370\370\377"
-  "\355\324\320\377\277#\20\377\277#\20\377\277#\20\377\277#\20\377\277"
-  "#\20\377\303C6\377\266\34\14\377^\16\5\377\0\0\0\204\0\0\0\31\0\0\0\5"
-  "\0\0\0\0\0\0\0\1\0\0\0\260\266.\24\377\3173\27\377\341\232\220\377\372"
-  "\372\372\377\371\371\371\377\371\371\371\377\370\370\370\377\370\370"
-  "\370\377\355\324\320\377\277#\20\377\277#\20\377\277#\20\377\277#\20"
-  "\377\277#\20\377\347\306\302\377\335\247\242\377\264\32\13\377\233\25"
-  "\11\377\0\0\0\304\0\0\0'\0\0\0\13\0\0\0\1\0\0\0\2\0\0\0\342\3132\26\377"
-  "\3151\26\377\353\306\302\377\371\371\371\377\371\371\371\377\370\370"
-  "\370\377\367\367\367\377\355\324\320\377\277#\20\377\277#\20\377\277"
-  "#\20\377\277#\20\377\277#\20\377\347\306\302\377\362\362\362\377\347"
-  "\312\306\377\262\30\12\377\255\26\12\377\0\0\0\352\0\0\0""4\0\0\0\22"
-  "\0\0\0\2\0\0\0\3\0\0\0\373\3141\26\377\313/\25\377\361\337\335\377\371"
-  "\371\371\377\370\370\370\377\367\367\367\377\355\324\320\377\277#\20"
-  "\377\277#\20\377\277#\20\377\277#\20\377\277#\20\377\347\306\302\377"
-  "\362\362\362\377\361\361\361\377\355\343\342\377\260\26\12\377\256\24"
-  "\11\377\0\0\0\374\0\0\0<\0\0\0\26\0\0\0\3\0\0\0\3\0\0\0\373\312/\25\377"
-  "\311-\24\377\361\337\335\377\370\370\370\377\367\367\367\377\355\324"
-  "\320\377\277#\20\377\277#\20\377\277#\20\377\277#\20\377\277#\20\377"
-  "\347\306\302\377\362\362\362\377\361\361\361\377\361\361\361\377\351"
-  "\327\325\377\256\24\11\377\254\22\10\377\0\0\0\374\0\0\0A\0\0\0\30\0"
-  "\0\0\3\0\0\0\3\0\0\0\343\305,\23\377\307+\23\377\347\272\265\377\367"
-  "\367\367\377\355\324\320\377\277#\20\377\277#\20\377\277#\20\377\277"
-  "#\20\377\277#\20\377\347\306\302\377\362\362\362\377\361\361\361\377"
-  "\361\361\361\377\360\360\360\377\346\321\316\377\255\22\10\377\247\20"
-  "\7\377\0\0\0\353\0\0\0A\0\0\0\30\0\0\0\3\0\0\0\3\0\0\0\263\255%\20\377"
-  "\305)\22\377\335\226\215\377\352\310\304\377\277#\20\377\277#\20\377"
-  "\277#\20\377\277#\20\377\277#\20\377\347\306\302\377\362\362\362\377"
-  "\361\361\361\377\361\361\361\377\360\360\360\377\357\357\357\377\333"
-  "\254\250\377\253\20\7\377\223\14\5\377\0\0\0\310\0\0\0=\0\0\0\26\0\0"
-  "\0\3\0\0\0\2\0\0\0jf\25\11\377\302'\21\377\307A1\377\277#\20\377\277"
-  "#\20\377\277#\20\377\277#\20\377\277#\20\377\347\305\301\377\362\362"
-  "\362\377\361\361\361\377\360\360\360\377\360\360\360\377\357\357\357"
-  "\377\356\356\356\377\267:3\377\250\16\6\377V\6\2\377\0\0\0\222\0\0\0"
-  "4\0\0\0\22\0\0\0\2\0\0\0\1\0\0\0\13\0\0\0\345\264#\20\377\277#\20\377"
-  "\277#\20\377\277#\20\377\277#\20\377\277#\20\377\347\305\301\377\362"
-  "\362\362\377\361\361\361\377\360\360\360\377\360\360\360\377\357\357"
-  "\357\377\356\356\356\377\321\223\217\377\250\16\6\377\233\13\5\377\0"
-  "\0\0\353\0\0\0I\0\0\0'\0\0\0\13\0\0\0\1\0\0\0\0\0\0\0\5\0\0\0oC\14\5"
-  "\377\274!\17\377\273\40\16\377\277#\20\377\277#\20\377\344\273\266\377"
-  "\362\362\362\377\361\361\361\377\360\360\360\377\360\360\360\377\357"
-  "\357\357\377\355\355\355\377\321\223\217\377\247\15\6\377\245\13\5\377"
-  "9\3\1\377\0\0\0\224\0\0\0;\0\0\0\31\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\1\0"
-  "\0\0\14\0\0\0\243a\20\7\377\270\36\15\377\267\34\14\377\300=1\377\326"
-  "\212\201\377\337\255\246\377\344\303\276\377\354\343\341\377\346\321"
-  "\316\377\332\253\247\377\26780\377\247\15\5\377\244\13\5\377U\5\1\377"
-  "\0\0\0\267\0\0\0F\0\0\0(\0\0\0\14\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\4\0\0\0\24\0\0\0\246@\12\3\377\251\31\12\377\263\30\13\377\261\26"
-  "\12\377\257\25\11\377\255\23\10\377\253\21\10\377\252\20\7\377\250\16"
-  "\6\377\246\14\5\377\232\12\4\3779\3\1\377\0\0\0\267\0\0\0I\0\0\0/\0\0"
-  "\0\24\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\6\0\0\0\26"
-  "\0\0\0|\0\0\0\351\\\13\5\377\230\22\10\377\252\23\10\377\253\21\7\377"
-  "\251\17\7\377\244\16\6\377\221\13\4\377U\5\2\377\0\0\0\353\0\0\0\224"
-  "\0\0\0F\0\0\0/\0\0\0\26\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\1\0\0\0\6\0\0\0\24\0\0\0(\0\0\0\204\0\0\0\304\0\0\0"
-  "\352\0\0\0\374\0\0\0\374\0\0\0\353\0\0\0\310\0\0\0\222\0\0\0I\0\0\0;"
-  "\0\0\0(\0\0\0\24\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\4\0\0\0\14\0\0\0\31\0\0\0'\0\0\0""4"
-  "\0\0\0<\0\0\0A\0\0\0A\0\0\0<\0\0\0""4\0\0\0'\0\0\0\31\0\0\0\14\0\0\0"
-  "\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\13\0\0\0\22\0\0\0\26\0\0"
-  "\0\30\0\0\0\30\0\0\0\26\0\0\0\22\0\0\0\13\0\0\0\5\0\0\0\1\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\3\0\0"
-  "\0\3\0\0\0\3\0\0\0\2\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_table_borders)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_table_borders[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_table_borders[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\16\0\0\0\3\0\0\0\0\0\0\0\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\375\375\375\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\336\336\336\377\0\0"
-  "\0\377\0\0\0E\0\0\0\16\0\0\0\0\0\0\0\377\377\377\377\377\360\360\360"
-  "\377\360\360\360\377\360\360\360\377\360\360\360\377\360\360\360\377"
-  "\360\360\360\377\360\360\360\377\362\362\362\377nnn\377\363\363\363\377"
-  "\363\363\363\377\364\364\364\377\365\365\365\377\365\365\365\377\366"
-  "\366\366\377\366\366\366\377\367\367\367\377\346\346\346\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\360\360\360\377\360"
-  "\360\360\377\360\360\360\377\360\360\360\377\360\360\360\377\360\360"
-  "\360\377\360\360\360\377\362\362\362\377\362\362\362\377\363\363\363"
-  "\377\363\363\363\377\364\364\364\377\365\365\365\377\365\365\365\377"
-  "\366\366\366\377\366\366\366\377\367\367\367\377\346\346\346\377\0\0"
-  "\0\377\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\360\360\360"
-  "\377\360\360\360\377\360\360\360\377\360\360\360\377\360\360\360\377"
-  "\360\360\360\377\361\361\361\377\362\362\362\377jjj\377\363\363\363\377"
-  "\364\364\364\377\365\365\365\377\365\365\365\377\366\366\366\377\366"
-  "\366\366\377\367\367\367\377\367\367\367\377\347\347\347\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\360\360\360\377\360"
-  "\360\360\377\360\360\360\377\360\360\360\377\360\360\360\377\361\361"
-  "\361\377\362\362\362\377\363\363\363\377\363\363\363\377\364\364\364"
-  "\377\365\365\365\377\365\365\365\377\366\366\366\377\366\366\366\377"
-  "\367\367\367\377\367\367\367\377\370\370\370\377\350\350\350\377\0\0"
-  "\0\377\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\360\360\360"
-  "\377\360\360\360\377\360\360\360\377\360\360\360\377\361\361\361\377"
-  "\362\362\362\377\362\362\362\377\363\363\363\377kkk\377\365\365\365\377"
-  "\365\365\365\377\366\366\366\377\366\366\366\377\367\367\367\377\367"
-  "\367\367\377\370\370\370\377\371\371\371\377\350\350\350\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\360\360\360\377\360"
-  "\360\360\377\360\360\360\377\361\361\361\377\362\362\362\377\362\362"
-  "\362\377\363\363\363\377\364\364\364\377\365\365\365\377\365\365\365"
-  "\377\366\366\366\377\366\366\366\377\367\367\367\377\367\367\367\377"
-  "\370\370\370\377\371\371\371\377\371\371\371\377\351\351\351\377\0\0"
-  "\0\377\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\360\360\360"
-  "\377\360\360\360\377\361\361\361\377\362\362\362\377\362\362\362\377"
-  "\363\363\363\377\363\363\363\377\365\365\365\377kkk\377\366\366\366\377"
-  "\366\366\366\377\367\367\367\377\367\367\367\377\370\370\370\377\371"
-  "\371\371\377\371\371\371\377\372\372\372\377\351\351\351\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\361\361\361\377\361"
-  "\361\361\377\362\362\362\377\362\362\362\377\363\363\363\377\363\363"
-  "\363\377\364\364\364\377\365\365\365\377\366\366\366\377\366\366\366"
-  "\377\367\367\367\377\367\367\367\377\370\370\370\377\371\371\371\377"
-  "\371\371\371\377\372\372\372\377\372\372\372\377\352\352\352\377\0\0"
-  "\0\377\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\376\376\376\377kkk\377\362\362"
-  "\362\377jjj\377\363\363\363\377jjj\377\364\364\364\377kkk\377\366\366"
-  "\366\377lll\377\367\367\367\377lll\377\370\370\370\377mmm\377\371\371"
-  "\371\377mmm\377\372\372\372\377nnn\377\353\353\353\377\0\0\0\377\0\0"
-  "\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\362\362\362\377\362\362"
-  "\362\377\363\363\363\377\363\363\363\377\364\364\364\377\365\365\365"
-  "\377\365\365\365\377\366\366\366\377\367\367\367\377\367\367\367\377"
-  "\370\370\370\377\371\371\371\377\371\371\371\377\372\372\372\377\372"
-  "\372\372\377\373\373\373\377\374\374\374\377\353\353\353\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\363\363\363\377\363"
-  "\363\363\377\363\363\363\377\364\364\364\377\365\365\365\377\365\365"
-  "\365\377\366\366\366\377\367\367\367\377lll\377\370\370\370\377\371\371"
-  "\371\377\371\371\371\377\372\372\372\377\372\372\372\377\373\373\373"
-  "\377\374\374\374\377\374\374\374\377\354\354\354\377\0\0\0\377\0\0\0"
-  "R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\363\363\363\377\363\363"
-  "\363\377\364\364\364\377\365\365\365\377\365\365\365\377\366\366\366"
-  "\377\366\366\366\377\367\367\367\377\370\370\370\377\371\371\371\377"
-  "\371\371\371\377\372\372\372\377\372\372\372\377\373\373\373\377\374"
-  "\374\374\377\374\374\374\377\375\375\375\377\354\354\354\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\364\364\364\377\364"
-  "\364\364\377\365\365\365\377\365\365\365\377\366\366\366\377\366\366"
-  "\366\377\367\367\367\377\370\370\370\377mmm\377\371\371\371\377\372\372"
-  "\372\377\372\372\372\377\373\373\373\377\374\374\374\377\374\374\374"
-  "\377\375\375\375\377\375\375\375\377\355\355\355\377\0\0\0\377\0\0\0"
-  "R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\365\365\365\377\365\365"
-  "\365\377\365\365\365\377\366\366\366\377\366\366\366\377\367\367\367"
-  "\377\367\367\367\377\371\371\371\377\371\371\371\377\372\372\372\377"
-  "\372\372\372\377\373\373\373\377\374\374\374\377\374\374\374\377\375"
-  "\375\375\377\375\375\375\377\376\376\376\377\356\356\356\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\365\365\365\377\365"
-  "\365\365\377\366\366\366\377\366\366\366\377\367\367\367\377\367\367"
-  "\367\377\370\370\370\377\371\371\371\377mmm\377\372\372\372\377\373\373"
-  "\373\377\374\374\374\377\374\374\374\377\375\375\375\377\375\375\375"
-  "\377\376\376\376\377\377\377\377\377\356\356\356\377\0\0\0\377\0\0\0"
-  "R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\366\366\366\377\366\366"
-  "\366\377\366\366\366\377\367\367\367\377\367\367\367\377\370\370\370"
-  "\377\371\371\371\377\372\372\372\377\372\372\372\377\373\373\373\377"
-  "\374\374\374\377\374\374\374\377\375\375\375\377\375\375\375\377\376"
-  "\376\376\377\377\377\377\377\377\377\377\377\356\356\356\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\366\366\366\377\366"
-  "\366\366\377\367\367\367\377\367\367\367\377\370\370\370\377\371\371"
-  "\371\377\371\371\371\377\372\372\372\377nnn\377\374\374\374\377\374\374"
-  "\374\377\375\375\375\377\375\375\375\377\376\376\376\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\356\356\356\377\0\0\0\377\0\0\0"
-  "R\0\0\0\20\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0R\0\0\0\20\0"
-  "\0\0\0\0\0\0\15\0\0\0D\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0"
-  "\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0"
-  "\0\0R\0\0\0R\0\0\0R\0\0\0E\0\0\0\16\0\0\0\0\0\0\0\2\0\0\0\15\0\0\0\20"
-  "\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0"
-  "\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0"
-  "\0\0\20\0\0\0\20\0\0\0\20\0\0\0\16\0\0\0\3"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_table_fill)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_table_fill[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_table_fill[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\16\0\0\0\3\0\0\0\0\0\0\0\377\262\262\262\377\262\262\262\377\262"
-  "\262\262\377\262\262\262\377\262\262\262\377\262\262\262\377\262\262"
-  "\262\377\262\262\262\377\262\262\262\377\260\260\260\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\377\336\336\336\377\0\0"
-  "\0\377\0\0\0E\0\0\0\16\0\0\0\0\0\0\0\377\262\262\262\377\247\247\247"
-  "\377\247\247\247\377\247\247\247\377\247\247\247\377\247\247\247\377"
-  "\247\247\247\377\247\247\247\377\250\250\250\377LLL\377\363\363\363\377"
-  "\363\363\363\377\364\364\364\377\365\365\365\377\365\365\365\377\366"
-  "\366\366\377\366\366\366\377\367\367\367\377\346\346\346\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\262\262\262\377\247\247\247\377\247"
-  "\247\247\377\247\247\247\377\247\247\247\377\247\247\247\377\247\247"
-  "\247\377\247\247\247\377\250\250\250\377\250\250\250\377\363\363\363"
-  "\377\363\363\363\377\364\364\364\377\365\365\365\377\365\365\365\377"
-  "\366\366\366\377\366\366\366\377\367\367\367\377\346\346\346\377\0\0"
-  "\0\377\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\262\262\262\377\247\247\247"
-  "\377\247\247\247\377\247\247\247\377\247\247\247\377\247\247\247\377"
-  "\247\247\247\377\250\250\250\377\250\250\250\377III\377\363\363\363\377"
-  "\364\364\364\377\365\365\365\377\365\365\365\377\366\366\366\377\366"
-  "\366\366\377\367\367\367\377\367\367\367\377\347\347\347\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\262\262\262\377\247\247\247\377\247"
-  "\247\247\377\247\247\247\377\247\247\247\377\247\247\247\377\250\250"
-  "\250\377\250\250\250\377\251\251\251\377\251\251\251\377\364\364\364"
-  "\377\365\365\365\377\365\365\365\377\366\366\366\377\366\366\366\377"
-  "\367\367\367\377\367\367\367\377\370\370\370\377\350\350\350\377\0\0"
-  "\0\377\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\262\262\262\377\247\247\247"
-  "\377\247\247\247\377\247\247\247\377\247\247\247\377\250\250\250\377"
-  "\250\250\250\377\250\250\250\377\251\251\251\377JJJ\377\365\365\365\377"
-  "\365\365\365\377\366\366\366\377\366\366\366\377\367\367\367\377\367"
-  "\367\367\377\370\370\370\377\371\371\371\377\350\350\350\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\262\262\262\377\247\247\247\377\247"
-  "\247\247\377\247\247\247\377\250\250\250\377\250\250\250\377\250\250"
-  "\250\377\251\251\251\377\252\252\252\377\253\253\253\377\365\365\365"
-  "\377\366\366\366\377\366\366\366\377\367\367\367\377\367\367\367\377"
-  "\370\370\370\377\371\371\371\377\371\371\371\377\351\351\351\377\0\0"
-  "\0\377\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\262\262\262\377\247\247\247"
-  "\377\247\247\247\377\250\250\250\377\250\250\250\377\250\250\250\377"
-  "\251\251\251\377\251\251\251\377\253\253\253\377JJJ\377\366\366\366\377"
-  "\366\366\366\377\367\367\367\377\367\367\367\377\370\370\370\377\371"
-  "\371\371\377\371\371\371\377\372\372\372\377\351\351\351\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\262\262\262\377\250\250\250\377\250"
-  "\250\250\377\250\250\250\377\250\250\250\377\251\251\251\377\251\251"
-  "\251\377\252\252\252\377\253\253\253\377\253\253\253\377\366\366\366"
-  "\377\367\367\367\377\367\367\367\377\370\370\370\377\371\371\371\377"
-  "\371\371\371\377\372\372\372\377\372\372\372\377\352\352\352\377\0\0"
-  "\0\377\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\261\261\261\377JJJ\377\250\250"
-  "\250\377III\377\251\251\251\377III\377\252\252\252\377JJJ\377\253\253"
-  "\253\377KKK\377\254\254\254\377KKK\377\255\255\255\377LLL\377\255\255"
-  "\255\377LLL\377\256\256\256\377LLL\377\244\244\244\377\0\0\0\377\0\0"
-  "\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\362\362\362\377\362\362"
-  "\362\377\363\363\363\377\363\363\363\377\364\364\364\377\365\365\365"
-  "\377\365\365\365\377\366\366\366\377\254\254\254\377\254\254\254\377"
-  "\255\255\255\377\255\255\255\377\255\255\255\377\256\256\256\377\256"
-  "\256\256\377\257\257\257\377\257\257\257\377\244\244\244\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\363\363\363\377\363"
-  "\363\363\377\363\363\363\377\364\364\364\377\365\365\365\377\365\365"
-  "\365\377\366\366\366\377\367\367\367\377KKK\377\255\255\255\377\255\255"
-  "\255\377\255\255\255\377\256\256\256\377\256\256\256\377\257\257\257"
-  "\377\257\257\257\377\257\257\257\377\244\244\244\377\0\0\0\377\0\0\0"
-  "R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\363\363\363\377\363\363"
-  "\363\377\364\364\364\377\365\365\365\377\365\365\365\377\366\366\366"
-  "\377\366\366\366\377\367\367\367\377\255\255\255\377\255\255\255\377"
-  "\255\255\255\377\256\256\256\377\256\256\256\377\257\257\257\377\257"
-  "\257\257\377\257\257\257\377\260\260\260\377\244\244\244\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\364\364\364\377\364"
-  "\364\364\377\365\365\365\377\365\365\365\377\366\366\366\377\366\366"
-  "\366\377\367\367\367\377\370\370\370\377LLL\377\255\255\255\377\256\256"
-  "\256\377\256\256\256\377\257\257\257\377\257\257\257\377\257\257\257"
-  "\377\260\260\260\377\260\260\260\377\245\245\245\377\0\0\0\377\0\0\0"
-  "R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\365\365\365\377\365\365"
-  "\365\377\365\365\365\377\366\366\366\377\366\366\366\377\367\367\367"
-  "\377\367\367\367\377\371\371\371\377\255\255\255\377\256\256\256\377"
-  "\256\256\256\377\257\257\257\377\257\257\257\377\257\257\257\377\260"
-  "\260\260\377\260\260\260\377\261\261\261\377\246\246\246\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\365\365\365\377\365"
-  "\365\365\377\366\366\366\377\366\366\366\377\367\367\367\377\367\367"
-  "\367\377\370\370\370\377\371\371\371\377LLL\377\256\256\256\377\257\257"
-  "\257\377\257\257\257\377\257\257\257\377\260\260\260\377\260\260\260"
-  "\377\261\261\261\377\262\262\262\377\246\246\246\377\0\0\0\377\0\0\0"
-  "R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\366\366\366\377\366\366"
-  "\366\377\366\366\366\377\367\367\367\377\367\367\367\377\370\370\370"
-  "\377\371\371\371\377\372\372\372\377\256\256\256\377\257\257\257\377"
-  "\257\257\257\377\257\257\257\377\260\260\260\377\260\260\260\377\261"
-  "\261\261\377\262\262\262\377\262\262\262\377\246\246\246\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\377\377\377\377\366\366\366\377\366"
-  "\366\366\377\367\367\367\377\367\367\367\377\370\370\370\377\371\371"
-  "\371\377\371\371\371\377\372\372\372\377LLL\377\257\257\257\377\257\257"
-  "\257\377\260\260\260\377\260\260\260\377\261\261\261\377\262\262\262"
-  "\377\262\262\262\377\262\262\262\377\246\246\246\377\0\0\0\377\0\0\0"
-  "R\0\0\0\20\0\0\0\0\0\0\0\377\356\356\356\377\346\346\346\377\346\346"
-  "\346\377\346\346\346\377\347\347\347\377\350\350\350\377\350\350\350"
-  "\377\351\351\351\377\352\352\352\377\244\244\244\377\244\244\244\377"
-  "\244\244\244\377\244\244\244\377\245\245\245\377\246\246\246\377\246"
-  "\246\246\377\246\246\246\377\246\246\246\377\232\232\232\377\0\0\0\377"
-  "\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0R\0\0\0\20\0\0\0\0\0\0\0\15\0\0\0"
-  "D\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0"
-  "\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0\0\0R\0"
-  "\0\0E\0\0\0\16\0\0\0\0\0\0\0\2\0\0\0\15\0\0\0\20\0\0\0\20\0\0\0\20\0"
-  "\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20"
-  "\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0\20\0\0\0"
-  "\20\0\0\0\16\0\0\0\3"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_text_bulleted_list)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_text_bulleted_list[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_text_bulleted_list[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\27\0\0\0\224\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\232"
-  "\0\0\0'\0\0\0\6\0\0\0\1\0\0\0\224\342\342\342\377\362\362\362\377\362"
-  "\362\362\377\362\362\362\377\362\362\362\377\363\363\363\377\363\363"
-  "\363\377\363\363\363\377\364\364\364\377\364\364\364\377\364\364\364"
-  "\377\365\365\365\377\365\365\365\377\365\365\365\377\366\366\366\377"
-  "\366\366\366\377\367\367\367\377\367\367\367\377\364\364\364\377\333"
-  "\333\333\377\0\0\0\243\0\0\0\25\0\0\0\6\0\0\0\377\360\360\360\377\340"
-  "\340\340\377\340\340\340\377\341\341\341\377\342\342\342\377\343\343"
-  "\343\377\344\344\344\377\345\345\345\377\346\346\346\377\347\347\347"
-  "\377\350\350\350\377\350\350\350\377\351\351\351\377\352\352\352\377"
-  "\353\353\353\377\354\354\354\377\355\355\355\377\356\356\356\377\357"
-  "\357\357\377\355\355\355\377\0\0\0\377\0\0\0)\0\0\0\16\0\0\0\377\362"
-  "\362\362\377\341\341\341\377\341\341\341\377\342\342\342\377\343\343"
-  "\343\377\344\344\344\377\345\345\345\377\346\346\346\377\347\347\347"
-  "\377\350\350\350\377\351\351\351\377\352\352\352\377\352\352\352\377"
-  "\353\353\353\377\354\354\354\377\355\355\355\377\356\356\356\377\357"
-  "\357\357\377\360\360\360\377\361\361\361\377\0\0\0\377\0\0\0""8\0\0\0"
-  "\25\0\0\0\377\362\362\362\377\342\342\342\377\343\343\343\377\236\236"
-  "\236\377mmm\377\237\237\237\377\346\346\346\377\347\347\347\377ooo\377"
-  "ppp\377ppp\377qqq\377qqq\377qqq\377rrr\377rrr\377sss\377\360\360\360"
-  "\377\361\361\361\377\362\362\362\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0"
-  "\377\363\363\363\377\343\343\343\377\344\344\344\377nnn\377nnn\377nn"
-  "n\377\347\347\347\377\350\350\350\377\351\351\351\377\352\352\352\377"
-  "\353\353\353\377\354\354\354\377\355\355\355\377\355\355\355\377\356"
-  "\356\356\377\357\357\357\377\360\360\360\377\361\361\361\377\362\362"
-  "\362\377\363\363\363\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\363\363"
-  "\363\377\344\344\344\377\345\345\345\377\240\240\240\377ooo\377\241\241"
-  "\241\377\350\350\350\377\351\351\351\377ppp\377qqq\377qqq\377rrr\377"
-  "rrr\377sss\377sss\377sss\377ttt\377\362\362\362\377\363\363\363\377\364"
-  "\364\364\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\363\363\363\377\345"
-  "\345\345\377\346\346\346\377\347\347\347\377\350\350\350\377\351\351"
-  "\351\377\351\351\351\377\352\352\352\377\353\353\353\377\354\354\354"
-  "\377\355\355\355\377\356\356\356\377\357\357\357\377\360\360\360\377"
-  "\356\356\356\377\360\360\360\377\361\361\361\377\363\363\363\377\364"
-  "\364\364\377\365\365\365\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\364"
-  "\364\364\377\346\346\346\377\347\347\347\377\350\350\350\377\351\351"
-  "\351\377\352\352\352\377\352\352\352\377\353\353\353\377qqq\377rrr\377"
-  "rrr\377sss\377sss\377ttt\377\362\362\362\377\363\363\363\377\363\363"
-  "\363\377\364\364\364\377\365\365\365\377\366\366\366\377\0\0\0\377\0"
-  "\0\0=\0\0\0\27\0\0\0\377\364\364\364\377\347\347\347\377\350\350\350"
-  "\377\351\351\351\377\352\352\352\377\353\353\353\377\354\354\354\377"
-  "\354\354\354\377\355\355\355\377\356\356\356\377\357\357\357\377\360"
-  "\360\360\377\361\361\361\377\362\362\362\377\363\363\363\377\364\364"
-  "\364\377\365\365\365\377\365\365\365\377\366\366\366\377\367\367\367"
-  "\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\365\365\365\377\350\350\350"
-  "\377\351\351\351\377\352\352\352\377\353\353\353\377\354\354\354\377"
-  "\355\355\355\377\356\356\356\377\356\356\356\377\357\357\357\377\360"
-  "\360\360\377\361\361\361\377\362\362\362\377\363\363\363\377\364\364"
-  "\364\377\365\365\365\377\366\366\366\377\367\367\367\377\367\367\367"
-  "\377\370\370\370\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\365\365\365"
-  "\377\351\351\351\377\352\352\352\377\353\353\353\377\354\354\354\377"
-  "\355\355\355\377\356\356\356\377\357\357\357\377\360\360\360\377\360"
-  "\360\360\377\361\361\361\377\362\362\362\377\363\363\363\377\364\364"
-  "\364\377\365\365\365\377\366\366\366\377\367\367\367\377\370\370\370"
-  "\377\370\370\370\377\371\371\371\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0"
-  "\377\365\365\365\377\352\352\352\377\353\353\353\377\354\354\354\377"
-  "\355\355\355\377\356\356\356\377\357\357\357\377\360\360\360\377\361"
-  "\361\361\377\362\362\362\377\362\362\362\377\363\363\363\377\364\364"
-  "\364\377\365\365\365\377\366\366\366\377\367\367\367\377\370\370\370"
-  "\377\371\371\371\377\372\372\372\377\372\372\372\377\0\0\0\377\0\0\0"
-  "=\0\0\0\27\0\0\0\377\366\366\366\377\353\353\353\377\354\354\354\377"
-  "\303\303\303\377rrr\377\304\304\304\377\360\360\360\377\361\361\361\377"
-  "ttt\377uuu\377\203\203\203\377uuu\377vvv\377vvv\377www\377www\377xxx"
-  "\377\372\372\372\377\373\373\373\377\374\374\374\377\0\0\0\377\0\0\0"
-  "=\0\0\0\27\0\0\0\377\367\367\367\377\355\355\355\377\355\355\355\377"
-  "rrr\377sss\377sss\377\361\361\361\377\362\362\362\377\363\363\363\377"
-  "\364\364\364\377\365\365\365\377\365\365\365\377\366\366\366\377\367"
-  "\367\367\377\370\370\370\377\371\371\371\377\372\372\372\377\373\373"
-  "\373\377\374\374\374\377\375\375\375\377\0\0\0\377\0\0\0=\0\0\0\27\0"
-  "\0\0\377\367\367\367\377\356\356\356\377\357\357\357\377\304\304\304"
-  "\377sss\377\306\306\306\377\362\362\362\377\363\363\363\377uuu\377vv"
-  "v\377vvv\377www\377www\377www\377xxx\377xxx\377\373\373\373\377\374\374"
-  "\374\377\375\375\375\377\376\376\376\377\0\0\0\377\0\0\0=\0\0\0\27\0"
-  "\0\0\377\370\370\370\377\360\360\360\377\361\361\361\377\362\362\362"
-  "\377\362\362\362\377\363\363\363\377\364\364\364\377\365\365\365\377"
-  "\366\366\366\377\367\367\367\377\370\370\370\377\371\371\371\377\372"
-  "\372\372\377\373\373\373\377\373\373\373\377\374\374\374\377\375\375"
-  "\375\377\376\376\376\377\377\377\377\377\377\377\377\377\0\0\0\377\0"
-  "\0\0=\0\0\0\27\0\0\0\377\370\370\370\377\361\361\361\377\362\362\362"
-  "\377\363\363\363\377\364\364\364\377\364\364\364\377\365\365\365\377"
-  "\366\366\366\377\367\367\367\377\370\370\370\377\371\371\371\377\372"
-  "\372\372\377\373\373\373\377\374\374\374\377\375\375\375\377\375\375"
-  "\375\377\376\376\376\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\362\362\362\377\362\362\362"
-  "\377\363\363\363\377\364\364\364\377\365\365\365\377\366\366\366\377"
-  "\366\366\366\377\367\367\367\377\370\370\370\377\371\371\371\377\372"
-  "\372\372\377\373\373\373\377\374\374\374\377\375\375\375\377\376\376"
-  "\376\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\354\354\354\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\232\311\311\311"
-  "\377\355\355\355\377\370\370\370\377\365\365\365\377\366\366\366\377"
-  "\367\367\367\377\370\370\370\377\370\370\370\377\371\371\371\377\372"
-  "\372\372\377\373\373\373\377\374\374\374\377\375\375\375\377\376\376"
-  "\376\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\356\356\356\377\275\275\275\377\0\0\0\324\0\0\0:\0\0\0\26\0\0\0"
-  "\34\0\0\0\243\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\324\0"
-  "\0\0Y\0\0\0-\0\0\0\20\0\0\0\6\0\0\0\24\0\0\0)\0\0\0""8\0\0\0<\0\0\0="
-  "\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0"
-  "=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0""9\0\0\0-\0\0\0\31\0\0\0\7\0\0\0"
-  "\1\0\0\0\6\0\0\0\16\0\0\0\24\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0"
-  "\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27"
-  "\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\25\0\0\0\20\0\0\0\7\0\0\0"
-  "\2\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0"
-  "\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0"
-  "\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\2\0\0\0\1\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_text_indent)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_text_indent[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_text_indent[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\27\0\0\0\224\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\232"
-  "\0\0\0'\0\0\0\6\0\0\0\1\0\0\0\224\342\342\342\377\362\362\362\377\362"
-  "\362\362\377\362\362\362\377\362\362\362\377\363\363\363\377\363\363"
-  "\363\377\363\363\363\377\364\364\364\377\364\364\364\377\364\364\364"
-  "\377\365\365\365\377\365\365\365\377\365\365\365\377\366\366\366\377"
-  "\366\366\366\377\367\367\367\377\367\367\367\377\364\364\364\377\333"
-  "\333\333\377\0\0\0\243\0\0\0\25\0\0\0\6\0\0\0\377\360\360\360\377\340"
-  "\340\340\377\340\340\340\377\341\341\341\377\342\342\342\377\343\343"
-  "\343\377\344\344\344\377\345\345\345\377\256\256\256\377\347\347\347"
-  "\377\350\350\350\377\350\350\350\377\351\351\351\377\352\352\352\377"
-  "\353\353\353\377\354\354\354\377\355\355\355\377\356\356\356\377\357"
-  "\357\357\377\343\343\343\377\0\0\0\377\0\0\0)\0\0\0\16\0\0\0\377\362"
-  "\362\362\377\341\341\341\377\341\341\341\377\342\342\342\377\343\343"
-  "\343\377\344\344\344\377\345\345\345\377\346\346\346\377\347\347\347"
-  "\377\350\350\350\377\351\351\351\377\352\352\352\377\352\352\352\377"
-  "\353\353\353\377\354\354\354\377\355\355\355\377\356\356\356\377\357"
-  "\357\357\377\360\360\360\377\347\347\347\377\0\0\0\377\0\0\0""8\0\0\0"
-  "\25\0\0\0\377\362\362\362\377\342\342\342\377\254\254\254\377\254\254"
-  "\254\377\255\255\255\377\256\256\256\377\256\256\256\377\257\257\257"
-  "\377\260\260\260\377\261\261\261\377\262\262\262\377\262\262\262\377"
-  "\263\263\263\377\263\263\263\377\264\264\264\377\265\265\265\377\265"
-  "\265\265\377\266\266\266\377\361\361\361\377\350\350\350\377\0\0\0\377"
-  "\0\0\0=\0\0\0\27\0\0\0\377\363\363\363\377\343\343\343\377\344\344\344"
-  "\377\345\345\345\377\345\345\345\377\346\346\346\377\347\347\347\377"
-  "\350\350\350\377\351\351\351\377\352\352\352\377\353\353\353\377\354"
-  "\354\354\377\355\355\355\377\355\355\355\377\356\356\356\377\357\357"
-  "\357\377\360\360\360\377\361\361\361\377\362\362\362\377\351\351\351"
-  "\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\363\363\363\377\344\344\344"
-  "\377\345\345\345\377\346\346\346\377\347\347\347\377\347\347\347\377"
-  "\350\350\350\377\351\351\351\377\352\352\352\377\353\353\353\377\354"
-  "\354\354\377\355\355\355\377\356\356\356\377\357\357\357\377\357\357"
-  "\357\377\360\360\360\377\361\361\361\377\362\362\362\377\363\363\363"
-  "\377\352\352\352\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\363\363\363"
-  "\377\345\345\345\377\346\346\346\377\347\347\347\377\350\350\350\377"
-  "\351\351\351\377\351\351\351\377\352\352\352\377uuu\377vvv\377vvv\377"
-  "www\377www\377xxx\377xxx\377xxx\377yyy\377yyy\377\364\364\364\377\353"
-  "\353\353\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\364\364\364\377\346"
-  "\346\346\377\347\347\347\377\350\350\350\377\252\252\252\377\352\352"
-  "\352\377\352\352\352\377\353\353\353\377\354\354\354\377\355\355\355"
-  "\377\356\356\356\377\357\357\357\377\360\360\360\377\361\361\361\377"
-  "\362\362\362\377\363\363\363\377\363\363\363\377\364\364\364\377\365"
-  "\365\365\377\354\354\354\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\364"
-  "\364\364\377\347\347\347\377\350\350\350\377\351\351\351\377\0\0\0\377"
-  "\254\254\254\377\354\354\354\377\354\354\354\377vvv\377www\377www\377"
-  "xxx\377xxx\377yyy\377yyy\377zzz\377zzz\377zzz\377\366\366\366\377\355"
-  "\355\355\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\365\365\365\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\255\255\255\377\356\356"
-  "\356\377\356\356\356\377\357\357\357\377\360\360\360\377\361\361\361"
-  "\377\362\362\362\377\363\363\363\377\364\364\364\377\365\365\365\377"
-  "\366\366\366\377\367\367\367\377\367\367\367\377\356\356\356\377\0\0"
-  "\0\377\0\0\0=\0\0\0\27\0\0\0\377\365\365\365\377\351\351\351\377\352"
-  "\352\352\377\353\353\353\377\0\0\0\377\255\255\255\377\356\356\356\377"
-  "\357\357\357\377xxx\377xxx\377xxx\377yyy\377yyy\377zzz\377zzz\377{{{"
-  "\377{{{\377|||\377\370\370\370\377\357\357\357\377\0\0\0\377\0\0\0=\0"
-  "\0\0\27\0\0\0\377\365\365\365\377\352\352\352\377\353\353\353\377\354"
-  "\354\354\377\255\255\255\377\356\356\356\377\357\357\357\377\360\360"
-  "\360\377\361\361\361\377\362\362\362\377\362\362\362\377\363\363\363"
-  "\377\364\364\364\377\365\365\365\377\366\366\366\377\367\367\367\377"
-  "\370\370\370\377\371\371\371\377\372\372\372\377\360\360\360\377\0\0"
-  "\0\377\0\0\0=\0\0\0\27\0\0\0\377\366\366\366\377\353\353\353\377\354"
-  "\354\354\377\355\355\355\377\356\356\356\377\357\357\357\377\360\360"
-  "\360\377\361\361\361\377yyy\377yyy\377zzz\377zzz\377zzz\377\366\366\366"
-  "\377\367\367\367\377\370\370\370\377\371\371\371\377\372\372\372\377"
-  "\373\373\373\377\362\362\362\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377"
-  "\367\367\367\377\355\355\355\377\355\355\355\377\356\356\356\377\357"
-  "\357\357\377\360\360\360\377\361\361\361\377\362\362\362\377\363\363"
-  "\363\377\364\364\364\377\365\365\365\377\365\365\365\377\366\366\366"
-  "\377\367\367\367\377\370\370\370\377\371\371\371\377\372\372\372\377"
-  "\373\373\373\377\374\374\374\377\363\363\363\377\0\0\0\377\0\0\0=\0\0"
-  "\0\27\0\0\0\377\367\367\367\377\356\356\356\377\357\357\357\377\357\357"
-  "\357\377\360\360\360\377\361\361\361\377\362\362\362\377\363\363\363"
-  "\377\364\364\364\377\365\365\365\377\366\366\366\377\367\367\367\377"
-  "\367\367\367\377\370\370\370\377\371\371\371\377\372\372\372\377\373"
-  "\373\373\377\374\374\374\377\375\375\375\377\364\364\364\377\0\0\0\377"
-  "\0\0\0=\0\0\0\27\0\0\0\377\370\370\370\377\360\360\360\377\267\267\267"
-  "\377\270\270\270\377\270\270\270\377\270\270\270\377\271\271\271\377"
-  "\272\272\272\377\273\273\273\377\273\273\273\377\274\274\274\377\275"
-  "\275\275\377\276\276\276\377\276\276\276\377\276\276\276\377\277\277"
-  "\277\377\300\300\300\377\301\301\301\377\377\377\377\377\365\365\365"
-  "\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\370\370\370\377\361\361\361"
-  "\377\362\362\362\377\363\363\363\377\364\364\364\377\364\364\364\377"
-  "\365\365\365\377\366\366\366\377\367\367\367\377\370\370\370\377\371"
-  "\371\371\377\372\372\372\377\373\373\373\377\374\374\374\377\375\375"
-  "\375\377\375\375\375\377\376\376\376\377\377\377\377\377\377\377\377"
-  "\377\365\365\365\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\362\362\362"
-  "\377\362\362\362\377\363\363\363\377\364\364\364\377\365\365\365\377"
-  "\366\366\366\377\366\366\366\377\367\367\367\377\274\274\274\377\371"
-  "\371\371\377\372\372\372\377\373\373\373\377\374\374\374\377\375\375"
-  "\375\377\376\376\376\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\331\331\331\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0"
-  "\232\311\311\311\377\332\332\332\377\356\356\356\377\353\353\353\377"
-  "\354\354\354\377\355\355\355\377\356\356\356\377\356\356\356\377\357"
-  "\357\357\377\360\360\360\377\361\361\361\377\362\362\362\377\363\363"
-  "\363\377\364\364\364\377\365\365\365\377\365\365\365\377\365\365\365"
-  "\377\365\365\365\377\344\344\344\377\275\275\275\377\0\0\0\324\0\0\0"
-  ":\0\0\0\26\0\0\0\34\0\0\0\243\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\324\0\0\0Y\0\0\0-\0\0\0\20\0\0\0\6\0\0\0\24\0\0\0)\0\0\0""8\0"
-  "\0\0<\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0="
-  "\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0""9\0\0\0-\0\0\0\31\0"
-  "\0\0\7\0\0\0\1\0\0\0\6\0\0\0\16\0\0\0\24\0\0\0\27\0\0\0\27\0\0\0\27\0"
-  "\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27"
-  "\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\25\0\0\0\20\0\0\0"
-  "\7\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\3\0\0\0\3\0"
-  "\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0"
-  "\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\2\0\0\0\1\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_text_numbered_list)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_text_numbered_list[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_text_numbered_list[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\27\0\0\0\224\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\232"
-  "\0\0\0'\0\0\0\6\0\0\0\1\0\0\0\224\342\342\342\377\362\362\362\377\362"
-  "\362\362\377\362\362\362\377\362\362\362\377\363\363\363\377\363\363"
-  "\363\377\363\363\363\377\364\364\364\377\364\364\364\377\364\364\364"
-  "\377\365\365\365\377\365\365\365\377\365\365\365\377\366\366\366\377"
-  "\366\366\366\377\367\367\367\377\367\367\367\377\364\364\364\377\333"
-  "\333\333\377\0\0\0\243\0\0\0\25\0\0\0\6\0\0\0\377\360\360\360\377\340"
-  "\340\340\377\340\340\340\377\341\341\341\377\342\342\342\377\343\343"
-  "\343\377\344\344\344\377\345\345\345\377\346\346\346\377\347\347\347"
-  "\377\350\350\350\377\350\350\350\377\351\351\351\377\352\352\352\377"
-  "\353\353\353\377\354\354\354\377\355\355\355\377\356\356\356\377\357"
-  "\357\357\377\355\355\355\377\0\0\0\377\0\0\0)\0\0\0\16\0\0\0\377\362"
-  "\362\362\377\341\341\341\377\341\341\341\377\314\314\314\377mmm\377\344"
-  "\344\344\377\345\345\345\377\346\346\346\377\347\347\347\377\350\350"
-  "\350\377\351\351\351\377\352\352\352\377\352\352\352\377\353\353\353"
-  "\377\354\354\354\377\355\355\355\377\356\356\356\377\357\357\357\377"
-  "\360\360\360\377\361\361\361\377\0\0\0\377\0\0\0""8\0\0\0\25\0\0\0\377"
-  "\362\362\362\377\342\342\342\377\315\315\315\377mmm\377mmm\377\345\345"
-  "\345\377\346\346\346\377\347\347\347\377ooo\377ppp\377ppp\377qqq\377"
-  "qqq\377qqq\377rrr\377rrr\377sss\377\360\360\360\377\361\361\361\377\362"
-  "\362\362\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\363\363\363\377\343"
-  "\343\343\377\344\344\344\377\345\345\345\377nnn\377\346\346\346\377\347"
-  "\347\347\377\350\350\350\377\351\351\351\377\352\352\352\377\353\353"
-  "\353\377\354\354\354\377\355\355\355\377\355\355\355\377\356\356\356"
-  "\377\357\357\357\377\360\360\360\377\361\361\361\377\362\362\362\377"
-  "\363\363\363\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\363\363\363\377"
-  "\344\344\344\377\345\345\345\377\346\346\346\377ooo\377\347\347\347\377"
-  "\350\350\350\377\351\351\351\377ppp\377qqq\377qqq\377rrr\377rrr\377s"
-  "ss\377sss\377sss\377ttt\377\362\362\362\377\363\363\363\377\364\364\364"
-  "\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\363\363\363\377\345\345\345"
-  "\377\346\346\346\377\347\347\347\377ooo\377\351\351\351\377\351\351\351"
-  "\377\352\352\352\377\353\353\353\377\354\354\354\377\355\355\355\377"
-  "\356\356\356\377\357\357\357\377\360\360\360\377\356\356\356\377\360"
-  "\360\360\377\361\361\361\377\363\363\363\377\364\364\364\377\365\365"
-  "\365\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\364\364\364\377\346\346"
-  "\346\377\347\347\347\377\350\350\350\377\351\351\351\377\352\352\352"
-  "\377\352\352\352\377\353\353\353\377\206\206\206\377rrr\377rrr\377ss"
-  "s\377sss\377ttt\377\362\362\362\377\363\363\363\377\363\363\363\377\364"
-  "\364\364\377\365\365\365\377\366\366\366\377\0\0\0\377\0\0\0=\0\0\0\27"
-  "\0\0\0\377\364\364\364\377\347\347\347\377\350\350\350\377\351\351\351"
-  "\377\352\352\352\377\353\353\353\377\354\354\354\377\354\354\354\377"
-  "\355\355\355\377\356\356\356\377\357\357\357\377\360\360\360\377\361"
-  "\361\361\377\362\362\362\377\363\363\363\377\364\364\364\377\365\365"
-  "\365\377\365\365\365\377\366\366\366\377\367\367\367\377\0\0\0\377\0"
-  "\0\0=\0\0\0\27\0\0\0\377\365\365\365\377\350\350\350\377\351\351\351"
-  "\377\352\352\352\377\353\353\353\377\354\354\354\377\355\355\355\377"
-  "\356\356\356\377\356\356\356\377\357\357\357\377\360\360\360\377\361"
-  "\361\361\377\362\362\362\377\363\363\363\377\364\364\364\377\365\365"
-  "\365\377\366\366\366\377\367\367\367\377\367\367\367\377\370\370\370"
-  "\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\365\365\365\377\351\351\351"
-  "\377\352\352\352\377\353\353\353\377\354\354\354\377\355\355\355\377"
-  "\356\356\356\377\357\357\357\377\360\360\360\377\360\360\360\377\361"
-  "\361\361\377\362\362\362\377\363\363\363\377\364\364\364\377\365\365"
-  "\365\377\366\366\366\377\367\367\367\377\370\370\370\377\370\370\370"
-  "\377\371\371\371\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\365\365\365"
-  "\377\352\352\352\377\353\353\353\377\303\303\303\377rrr\377\327\327\327"
-  "\377\357\357\357\377\360\360\360\377\361\361\361\377\362\362\362\377"
-  "\362\362\362\377\363\363\363\377\364\364\364\377\365\365\365\377\366"
-  "\366\366\377\367\367\367\377\370\370\370\377\371\371\371\377\372\372"
-  "\372\377\372\372\372\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\366\366"
-  "\366\377\353\353\353\377\354\354\354\377rrr\377\356\356\356\377sss\377"
-  "\360\360\360\377\361\361\361\377ttt\377uuu\377\203\203\203\377uuu\377"
-  "vvv\377vvv\377www\377www\377xxx\377\372\372\372\377\373\373\373\377\374"
-  "\374\374\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\367\367\367\377\355"
-  "\355\355\377\355\355\355\377\356\356\356\377\330\330\330\377sss\377\361"
-  "\361\361\377\362\362\362\377\363\363\363\377\364\364\364\377\365\365"
-  "\365\377\365\365\365\377\366\366\366\377\367\367\367\377\370\370\370"
-  "\377\371\371\371\377\372\372\372\377\373\373\373\377\374\374\374\377"
-  "\375\375\375\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\367\367\367\377"
-  "\356\356\356\377\357\357\357\377\330\330\330\377sss\377\332\332\332\377"
-  "\362\362\362\377\363\363\363\377uuu\377vvv\377vvv\377www\377www\377w"
-  "ww\377xxx\377xxx\377\373\373\373\377\374\374\374\377\375\375\375\377"
-  "\376\376\376\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\370\370\370\377"
-  "\360\360\360\377\361\361\361\377ttt\377ttt\377uuu\377\364\364\364\377"
-  "\365\365\365\377\366\366\366\377\367\367\367\377\370\370\370\377\371"
-  "\371\371\377\372\372\372\377\373\373\373\377\373\373\373\377\374\374"
-  "\374\377\375\375\375\377\376\376\376\377\377\377\377\377\377\377\377"
-  "\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\370\370\370\377\361\361\361"
-  "\377\362\362\362\377\363\363\363\377\364\364\364\377\364\364\364\377"
-  "\365\365\365\377\366\366\366\377\367\367\367\377\370\370\370\377\371"
-  "\371\371\377\372\372\372\377\373\373\373\377\374\374\374\377\375\375"
-  "\375\377\375\375\375\377\376\376\376\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\362\362\362"
-  "\377\362\362\362\377\363\363\363\377\364\364\364\377\365\365\365\377"
-  "\366\366\366\377\366\366\366\377\367\367\367\377\370\370\370\377\371"
-  "\371\371\377\372\372\372\377\373\373\373\377\374\374\374\377\375\375"
-  "\375\377\376\376\376\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\354\354\354\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0"
-  "\232\311\311\311\377\355\355\355\377\370\370\370\377\365\365\365\377"
-  "\366\366\366\377\367\367\367\377\370\370\370\377\370\370\370\377\371"
-  "\371\371\377\372\372\372\377\373\373\373\377\374\374\374\377\375\375"
-  "\375\377\376\376\376\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\356\356\356\377\275\275\275\377\0\0\0\324\0\0\0"
-  ":\0\0\0\26\0\0\0\34\0\0\0\243\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\324\0\0\0Y\0\0\0-\0\0\0\20\0\0\0\6\0\0\0\24\0\0\0)\0\0\0""8\0"
-  "\0\0<\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0="
-  "\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0""9\0\0\0-\0\0\0\31\0"
-  "\0\0\7\0\0\0\1\0\0\0\6\0\0\0\16\0\0\0\24\0\0\0\27\0\0\0\27\0\0\0\27\0"
-  "\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27"
-  "\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\25\0\0\0\20\0\0\0"
-  "\7\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\3\0\0\0\3\0"
-  "\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0"
-  "\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\2\0\0\0\1\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_text_unindent)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_text_unindent[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_text_unindent[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\27\0\0\0\224\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\232"
-  "\0\0\0'\0\0\0\6\0\0\0\1\0\0\0\224\342\342\342\377\362\362\362\377\362"
-  "\362\362\377\362\362\362\377\362\362\362\377\363\363\363\377\363\363"
-  "\363\377\363\363\363\377\364\364\364\377\364\364\364\377\364\364\364"
-  "\377\365\365\365\377\365\365\365\377\365\365\365\377\366\366\366\377"
-  "\366\366\366\377\367\367\367\377\367\367\367\377\364\364\364\377\333"
-  "\333\333\377\0\0\0\243\0\0\0\25\0\0\0\6\0\0\0\377\360\360\360\377\340"
-  "\340\340\377\340\340\340\377\341\341\341\377\342\342\342\377\343\343"
-  "\343\377\344\344\344\377\345\345\345\377\256\256\256\377\347\347\347"
-  "\377\350\350\350\377\350\350\350\377\351\351\351\377\352\352\352\377"
-  "\353\353\353\377\354\354\354\377\355\355\355\377\356\356\356\377\357"
-  "\357\357\377\343\343\343\377\0\0\0\377\0\0\0)\0\0\0\16\0\0\0\377\362"
-  "\362\362\377\341\341\341\377\341\341\341\377\342\342\342\377\343\343"
-  "\343\377\344\344\344\377\345\345\345\377\346\346\346\377\347\347\347"
-  "\377\350\350\350\377\351\351\351\377\352\352\352\377\352\352\352\377"
-  "\353\353\353\377\354\354\354\377\355\355\355\377\356\356\356\377\357"
-  "\357\357\377\360\360\360\377\347\347\347\377\0\0\0\377\0\0\0""8\0\0\0"
-  "\25\0\0\0\377\362\362\362\377\342\342\342\377\254\254\254\377\254\254"
-  "\254\377\255\255\255\377\256\256\256\377\256\256\256\377\257\257\257"
-  "\377\260\260\260\377\261\261\261\377\262\262\262\377\262\262\262\377"
-  "\263\263\263\377\263\263\263\377\264\264\264\377\265\265\265\377\265"
-  "\265\265\377\266\266\266\377\361\361\361\377\350\350\350\377\0\0\0\377"
-  "\0\0\0=\0\0\0\27\0\0\0\377\363\363\363\377\343\343\343\377\344\344\344"
-  "\377\345\345\345\377\345\345\345\377\346\346\346\377\347\347\347\377"
-  "\350\350\350\377\351\351\351\377\352\352\352\377\353\353\353\377\354"
-  "\354\354\377\355\355\355\377\355\355\355\377\356\356\356\377\357\357"
-  "\357\377\360\360\360\377\361\361\361\377\362\362\362\377\351\351\351"
-  "\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\363\363\363\377\344\344\344"
-  "\377\345\345\345\377\346\346\346\377\347\347\347\377\347\347\347\377"
-  "\350\350\350\377\351\351\351\377\352\352\352\377\353\353\353\377\354"
-  "\354\354\377\355\355\355\377\356\356\356\377\357\357\357\377\357\357"
-  "\357\377\360\360\360\377\361\361\361\377\362\362\362\377\363\363\363"
-  "\377\352\352\352\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\363\363\363"
-  "\377\345\345\345\377\346\346\346\377\347\347\347\377\350\350\350\377"
-  "\351\351\351\377\351\351\351\377\352\352\352\377uuu\377vvv\377vvv\377"
-  "www\377www\377xxx\377xxx\377xxx\377yyy\377yyy\377\364\364\364\377\353"
-  "\353\353\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\364\364\364\377\346"
-  "\346\346\377\347\347\347\377\252\252\252\377\351\351\351\377\352\352"
-  "\352\377\352\352\352\377\353\353\353\377\354\354\354\377\355\355\355"
-  "\377\356\356\356\377\357\357\357\377\360\360\360\377\361\361\361\377"
-  "\362\362\362\377\363\363\363\377\363\363\363\377\364\364\364\377\365"
-  "\365\365\377\354\354\354\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\364"
-  "\364\364\377\347\347\347\377\252\252\252\377\0\0\0\377\352\352\352\377"
-  "\353\353\353\377\354\354\354\377\354\354\354\377vvv\377www\377www\377"
-  "xxx\377xxx\377yyy\377yyy\377zzz\377zzz\377zzz\377\366\366\366\377\355"
-  "\355\355\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\365\365\365\377\252"
-  "\252\252\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\356\356"
-  "\356\377\356\356\356\377\357\357\357\377\360\360\360\377\361\361\361"
-  "\377\362\362\362\377\363\363\363\377\364\364\364\377\365\365\365\377"
-  "\366\366\366\377\367\367\367\377\367\367\367\377\356\356\356\377\0\0"
-  "\0\377\0\0\0=\0\0\0\27\0\0\0\377\365\365\365\377\351\351\351\377\253"
-  "\253\253\377\0\0\0\377\354\354\354\377\355\355\355\377\356\356\356\377"
-  "\357\357\357\377xxx\377xxx\377xxx\377yyy\377yyy\377zzz\377zzz\377{{{"
-  "\377{{{\377|||\377\370\370\370\377\357\357\357\377\0\0\0\377\0\0\0=\0"
-  "\0\0\27\0\0\0\377\365\365\365\377\352\352\352\377\353\353\353\377\255"
-  "\255\255\377\355\355\355\377\356\356\356\377\357\357\357\377\360\360"
-  "\360\377\361\361\361\377\362\362\362\377\362\362\362\377\363\363\363"
-  "\377\364\364\364\377\365\365\365\377\366\366\366\377\367\367\367\377"
-  "\370\370\370\377\371\371\371\377\372\372\372\377\360\360\360\377\0\0"
-  "\0\377\0\0\0=\0\0\0\27\0\0\0\377\366\366\366\377\353\353\353\377\354"
-  "\354\354\377\355\355\355\377\356\356\356\377\357\357\357\377\360\360"
-  "\360\377\361\361\361\377yyy\377yyy\377zzz\377zzz\377zzz\377\366\366\366"
-  "\377\367\367\367\377\370\370\370\377\371\371\371\377\372\372\372\377"
-  "\373\373\373\377\362\362\362\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377"
-  "\367\367\367\377\355\355\355\377\355\355\355\377\356\356\356\377\357"
-  "\357\357\377\360\360\360\377\361\361\361\377\362\362\362\377\363\363"
-  "\363\377\364\364\364\377\365\365\365\377\365\365\365\377\366\366\366"
-  "\377\367\367\367\377\370\370\370\377\371\371\371\377\372\372\372\377"
-  "\373\373\373\377\374\374\374\377\363\363\363\377\0\0\0\377\0\0\0=\0\0"
-  "\0\27\0\0\0\377\367\367\367\377\356\356\356\377\357\357\357\377\357\357"
-  "\357\377\360\360\360\377\361\361\361\377\362\362\362\377\363\363\363"
-  "\377\364\364\364\377\365\365\365\377\366\366\366\377\367\367\367\377"
-  "\367\367\367\377\370\370\370\377\371\371\371\377\372\372\372\377\373"
-  "\373\373\377\374\374\374\377\375\375\375\377\364\364\364\377\0\0\0\377"
-  "\0\0\0=\0\0\0\27\0\0\0\377\370\370\370\377\360\360\360\377\267\267\267"
-  "\377\270\270\270\377\270\270\270\377\270\270\270\377\271\271\271\377"
-  "\272\272\272\377\273\273\273\377\273\273\273\377\274\274\274\377\275"
-  "\275\275\377\276\276\276\377\276\276\276\377\276\276\276\377\277\277"
-  "\277\377\300\300\300\377\301\301\301\377\377\377\377\377\365\365\365"
-  "\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\370\370\370\377\361\361\361"
-  "\377\362\362\362\377\363\363\363\377\364\364\364\377\364\364\364\377"
-  "\365\365\365\377\366\366\366\377\367\367\367\377\370\370\370\377\371"
-  "\371\371\377\372\372\372\377\373\373\373\377\374\374\374\377\375\375"
-  "\375\377\375\375\375\377\376\376\376\377\377\377\377\377\377\377\377"
-  "\377\365\365\365\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0\377\362\362\362"
-  "\377\362\362\362\377\363\363\363\377\364\364\364\377\365\365\365\377"
-  "\366\366\366\377\366\366\366\377\367\367\367\377\274\274\274\377\371"
-  "\371\371\377\372\372\372\377\373\373\373\377\374\374\374\377\375\375"
-  "\375\377\376\376\376\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\331\331\331\377\0\0\0\377\0\0\0=\0\0\0\27\0\0\0"
-  "\232\311\311\311\377\332\332\332\377\356\356\356\377\353\353\353\377"
-  "\354\354\354\377\355\355\355\377\356\356\356\377\356\356\356\377\357"
-  "\357\357\377\360\360\360\377\361\361\361\377\362\362\362\377\363\363"
-  "\363\377\364\364\364\377\365\365\365\377\365\365\365\377\365\365\365"
-  "\377\365\365\365\377\344\344\344\377\275\275\275\377\0\0\0\324\0\0\0"
-  ":\0\0\0\26\0\0\0\34\0\0\0\243\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\324\0\0\0Y\0\0\0-\0\0\0\20\0\0\0\6\0\0\0\24\0\0\0)\0\0\0""8\0"
-  "\0\0<\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0="
-  "\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0=\0\0\0""9\0\0\0-\0\0\0\31\0"
-  "\0\0\7\0\0\0\1\0\0\0\6\0\0\0\16\0\0\0\24\0\0\0\27\0\0\0\27\0\0\0\27\0"
-  "\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27"
-  "\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\27\0\0\0\25\0\0\0\20\0\0\0"
-  "\7\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\3\0\0\0\3\0"
-  "\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0"
-  "\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\2\0\0\0\1\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_timer)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_timer[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_timer[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\23\0"
-  "\0\0o\0\0\0\266\0\0\0\344\0\0\0\373\0\0\0\373\0\0\0\345\0\0\0\270\0\0"
-  "\0t\0\0\0\31\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\205\0\0\0"
-  "\373\207\207\207\377\300\300\300\377\323\323\323\377\326\326\326\377"
-  "\325\325\325\377\322\322\322\377\275\275\275\377\204\204\204\377\0\0"
-  "\0\374\0\0\0\217\0\0\0\10\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377[\210\262\377\0\0\0\377\324\324"
-  "\324\377\342\342\342\377\365\365\365\377\374\374\374\377\374\374\374"
-  "\377\374\374\374\377\373\373\373\377\363\363\363\377\354\354\354\377"
-  "\341\341\341\377\220\220\220\377\0\0\0\324\0\0\0""6\0\0\0\3\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\236"
-  "\270\321\377P\200\255\377\0\0\0\377\375\375\375\377\375\375\375\377\375"
-  "\375\375\377\316\316\316\377\310\310\310\377\374\374\374\377\373\373"
-  "\373\377\373\373\373\377\367\367\367\377\350\350\350\377\272\272\272"
-  "\377\0\0\0\352\0\0\0\77\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\377\277\321\341"
-  "\377\257\305\332\377\262\307\333\377\266\312\335\377\244\275\325\377"
-  "\234\267\321\377P\200\255\377\10\15\21\377\375\375\375\377\375\375\375"
-  "\377\277\277\277\377\270\270\270\377\373\373\373\377\373\373\373\377"
-  "\372\372\372\377\371\371\371\377\370\370\370\377\350\350\350\377\301"
-  "\301\301\377\0\0\0\330\0\0\0\32\0\0\0\4\0\0\0\0\0\0\0\377\302\322\341"
-  "\377\240\272\323\377\234\267\321\377\232\265\317\377\240\272\323\377"
-  "\234\267\321\377\227\263\316\377_\213\264\377\0\0\0\377\375\375\375\377"
-  "\260\260\260\377\251\251\251\377\373\373\373\377\373\373\373\377\371"
-  "\371\371\377\371\371\371\377\367\367\367\377\366\366\366\377\345\345"
-  "\345\377\217\217\217\377\0\0\0\242\0\0\0\20\0\0\0\1\0\0\0\377\310\326"
-  "\344\377\236\270\321\377\232\265\317\377\234\267\321\377\234\267\321"
-  "\377\234\267\321\377\240\272\323\377\225\262\316\377Ly\243\377\0\0\0"
-  "\377\241\241\241\377\231\231\231\377\373\373\373\377\372\372\372\377"
-  "\371\371\371\377\370\370\370\377\367\367\367\377\365\365\365\377\363"
-  "\363\363\377\350\350\350\377\0\0\0\374\0\0\0>\0\0\0\11\0\0\0\377g\213"
-  "\254\377\77e\210\377\77e\210\377\77e\210\377\77e\210\377\77e\210\377"
-  "\77e\210\377*C[\377\0\0\0\377\375\375\375\377\221\221\221\377\212\212"
-  "\212\377\373\373\373\377\372\372\372\377\371\371\371\377\370\370\370"
-  "\377\366\366\366\377\365\365\365\377\363\363\363\377\355\355\355\377"
-  "\216\216\216\377\0\0\0\227\0\0\0\25\0\0\0\377d\207\247\3777Yx\3777Yx"
-  "\3777Yx\377\77e\210\377\77e\210\377*C[\377\0\0\0\377\377\377\377\377"
-  "\376\376\376\377\201\201\201\377zzz\377\373\373\373\377\371\371\371\377"
-  "\370\370\370\377\367\367\367\377\365\365\365\377\364\364\364\377\362"
-  "\362\362\377\357\357\357\377\323\323\323\377\0\0\0\314\0\0\0(\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\77e\210\377*C[\377\0\0\0\377"
-  "\375\375\375\377\376\376\376\377\375\375\375\377rrr\377kkk\377\356\356"
-  "\356\377\371\371\371\377\370\370\370\377\366\366\366\377\364\364\364"
-  "\377\363\363\363\377\361\361\361\377\357\357\357\377\367\367\367\377"
-  "\0\0\0\354\0\0\0""9\0\0\0\0\0\0\0\373\350\350\350\377\372\372\372\377"
-  "\0\0\0\377*C[\377\0\0\0\377\374\374\374\377\374\374\374\377\374\374\374"
-  "\377\374\374\374\377ccc\377[[[\377\313\313\313\377\345\345\345\377\367"
-  "\367\367\377\365\365\365\377\364\364\364\377\362\362\362\377\273\273"
-  "\273\377\356\356\356\377\370\370\370\377\0\0\0\374\0\0\0D\0\0\0\0\0\0"
-  "\0\373\336\336\336\377\371\371\371\377\0\0\0\377\0\0\0\377\373\373\373"
-  "\377\373\373\373\377\373\373\373\377\373\373\373\377\373\373\373\377"
-  "\221\221\221\377LLL\377EEE\377bbb\377\300\300\300\377\335\335\335\377"
-  "\362\362\362\377\361\361\361\377\265\265\265\377\355\355\355\377\370"
-  "\370\370\377\0\0\0\374\0\0\0J\0\0\0\0\0\0\0\346\332\332\332\377\370\370"
-  "\370\377\0\0\0\377\371\371\371\377\371\371\371\377\371\371\371\377\372"
-  "\372\372\377\372\372\372\377\372\372\372\377\352\352\352\377\276\276"
-  "\276\377ddd\377...\377'''\377III\377\361\361\361\377\357\357\357\377"
-  "\355\355\355\377\371\371\371\377\367\367\367\377\0\0\0\355\0\0\0J\0\0"
-  "\0\0\0\0\0\273\275\275\275\377\365\365\365\377\367\367\367\377\370\370"
-  "\370\377\370\370\370\377\370\370\370\377\370\370\370\377\370\370\370"
-  "\377\370\370\370\377\367\367\367\377\366\366\366\377\335\335\335\377"
-  "\276\276\276\377WWW\377xxx\377\357\357\357\377\356\356\356\377\354\354"
-  "\354\377\371\371\371\377\323\323\323\377\0\0\0\316\0\0\0D\0\0\0\0\0\0"
-  "\0t\177\177\177\377\341\341\341\377\366\366\366\377\366\366\366\377\366"
-  "\366\366\377\366\366\366\377\367\367\367\377\366\366\366\377\366\366"
-  "\366\377\365\365\365\377\364\364\364\377\364\364\364\377\362\362\362"
-  "\377\361\361\361\377\357\357\357\377\356\356\356\377\355\355\355\377"
-  "\364\364\364\377\370\370\370\377\214\214\214\377\0\0\0\237\0\0\0""9\0"
-  "\0\0\0\0\0\0\31\0\0\0\374\320\320\320\377\353\353\353\377\364\364\364"
-  "\377\364\364\364\377\365\365\365\377\364\364\364\377\364\364\364\377"
-  "\364\364\364\377\363\363\363\377\362\362\362\377\361\361\361\377\360"
-  "\360\360\377\357\357\357\377\356\356\356\377\355\355\355\377\354\354"
-  "\354\377\370\370\370\377\361\361\361\377\0\0\0\374\0\0\0_\0\0\0(\0\0"
-  "\0\0\0\0\0\2\0\0\0\217\211\211\211\377\324\324\324\377\362\362\362\377"
-  "\362\362\362\377\362\362\362\377\362\362\362\377\362\362\362\377\361"
-  "\361\361\377\361\361\361\377\360\360\360\377\360\360\360\377\357\357"
-  "\357\377\356\356\356\377\355\355\355\377\354\354\354\377\371\371\371"
-  "\377\370\370\370\377\230\230\230\377\0\0\0\260\0\0\0H\0\0\0\25\0\0\0"
-  "\0\0\0\0\0\0\0\0\10\0\0\0\324\253\253\253\377\323\323\323\377\360\360"
-  "\360\377\360\360\360\377\360\360\360\377\360\360\360\377\360\360\360"
-  "\377\357\357\357\377\357\357\357\377\356\356\356\377\356\356\356\377"
-  "\355\355\355\377\354\354\354\377\371\371\371\377\370\370\370\377\304"
-  "\304\304\377\0\0\0\335\0\0\0Q\0\0\0.\0\0\0\11\0\0\0\0\0\0\0\0\0\0\0\1"
-  "\0\0\0""6\0\0\0\352\253\253\253\377\322\322\322\377\344\344\344\377\356"
-  "\356\356\377\356\356\356\377\356\356\356\377\256\256\256\377\255\255"
-  "\255\377\355\355\355\377\354\354\354\377\353\353\353\377\370\370\370"
-  "\377\370\370\370\377\302\302\302\377\0\0\0\355\0\0\0p\0\0\0<\0\0\0\20"
-  "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\77\0\0\0\330\202\202\202"
-  "\377\315\315\315\377\331\331\331\377\354\354\354\377\354\354\354\377"
-  "\354\354\354\377\354\354\354\377\353\353\353\377\364\364\364\377\370"
-  "\370\370\377\367\367\367\377\214\214\214\377\0\0\0\335\0\0\0q\0\0\0B"
-  "\0\0\0\32\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0"
-  "\0\32\0\0\0\242\0\0\0\374\210\210\210\377\310\310\310\377\335\335\335"
-  "\377\370\370\370\377\370\370\370\377\367\367\367\377\361\361\361\377"
-  "\300\300\300\377\0\0\0\374\0\0\0\260\0\0\0Q\0\0\0<\0\0\0\32\0\0\0\5\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0"
-  "\20\0\0\0>\0\0\0\227\0\0\0\314\0\0\0\354\0\0\0\374\0\0\0\374\0\0\0\355"
-  "\0\0\0\316\0\0\0\237\0\0\0_\0\0\0H\0\0\0.\0\0\0\20\0\0\0\4\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\1\0\0\0\10\0\0\0\25\0\0\0(\0\0\0""9\0\0\0D\0\0\0J\0\0\0J\0\0\0D\0\0"
-  "\0""9\0\0\0(\0\0\0\25\0\0\0\10\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\1\0\0\0\6\0\0\0\12\0\0\0\15\0\0\0\17\0\0\0\17\0\0\0\15\0\0\0\12"
-  "\0\0\0\6\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_timer_stopped)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_timer_stopped[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_timer_stopped[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\23\0\0"
-  "\0o\0\0\0\266\0\0\0\344\0\0\0\373\0\0\0\373\0\0\0\345\0\0\0\270\0\0\0"
-  "t\0\0\0\31\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\205\0\0\0\373\207"
-  "\207\207\377\300\300\300\377\323\323\323\377\326\326\326\377\325\325"
-  "\325\377\322\322\322\377\275\275\275\377\204\204\204\377\0\0\0\374\0"
-  "\0\0\217\0\0\0\10\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0)\0\0\0\314\223\223\223\377\324\324\324\377"
-  "\342\342\342\377\365\365\365\377\374\374\374\377\374\374\374\377\374"
-  "\374\374\377\373\373\373\377\363\363\363\377\354\354\354\377\341\341"
-  "\341\377\220\220\220\377\0\0\0\324\0\0\0""6\0\0\0\3\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0)\0\0\0\344\277\277\277\377\336\336"
-  "\336\377\360\360\360\377\375\375\375\377\375\375\375\377\375\375\375"
-  "\377\316\316\316\377\310\310\310\377\374\374\374\377\373\373\373\377"
-  "\373\373\373\377\367\367\367\377\350\350\350\377\272\272\272\377\0\0"
-  "\0\352\0\0\0\77\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\314\267\267\267\377\342\342\342\377\373\373\373\377\375\375\375\377"
-  "\375\375\375\377\375\375\375\377\375\375\375\377\277\277\277\377\270"
-  "\270\270\377\373\373\373\377\373\373\373\377\372\372\372\377\371\371"
-  "\371\377\370\370\370\377\350\350\350\377\301\301\301\377\0\0\0\330\0"
-  "\0\0\32\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\205\207\207\207\377\336"
-  "\336\336\377\373\373\373\377\375\375\375\377\375\375\375\377\375\375"
-  "\375\377\375\375\375\377\375\375\375\377\260\260\260\377\251\251\251"
-  "\377\373\373\373\377\373\373\373\377\371\371\371\377\371\371\371\377"
-  "\367\367\367\377\366\366\366\377\345\345\345\377\217\217\217\377\0\0"
-  "\0\242\0\0\0\20\0\0\0\1\0\0\0\0\0\0\0\23\0\0\0\373\324\324\324\377\367"
-  "\367\367\377\375\375\375\377\375\375\375\377\375\375\375\377\375\375"
-  "\375\377\375\375\375\377\375\375\375\377\241\241\241\377\231\231\231"
-  "\377\373\373\373\377\372\372\372\377\371\371\371\377\370\370\370\377"
-  "\367\367\367\377\365\365\365\377\363\363\363\377\350\350\350\377\0\0"
-  "\0\374\0\0\0>\0\0\0\11\0\0\0\0\0\0\0o\207\207\207\377\342\342\342\377"
-  "\374\374\374\377\375\375\375\377\375\375\375\377\375\375\375\377\375"
-  "\375\375\377\376\376\376\377\375\375\375\377\221\221\221\377\212\212"
-  "\212\377\373\373\373\377\372\372\372\377\371\371\371\377\370\370\370"
-  "\377\366\366\366\377\365\365\365\377\363\363\363\377\355\355\355\377"
-  "\216\216\216\377\0\0\0\227\0\0\0\25\0\0\0\0\0\0\0\266\300\300\300\377"
-  "\364\364\364\377\374\374\374\377\374\374\374\377\375\375\375\377\375"
-  "\375\375\377\376\376\376\377\377\377\377\377\376\376\376\377\201\201"
-  "\201\377zzz\377\373\373\373\377\371\371\371\377\370\370\370\377\367\367"
-  "\367\377\365\365\365\377\364\364\364\377\362\362\362\377\357\357\357"
-  "\377\323\323\323\377\0\0\0\314\0\0\0(\0\0\0\0\0\0\0\346\323\323\323\377"
-  "\372\372\372\377\373\373\373\377\374\374\374\377\374\374\374\377\375"
-  "\375\375\377\375\375\375\377\376\376\376\377\375\375\375\377rrr\377k"
-  "kk\377\356\356\356\377\371\371\371\377\370\370\370\377\366\366\366\377"
-  "\364\364\364\377\363\363\363\377\361\361\361\377\357\357\357\377\367"
-  "\367\367\377\0\0\0\354\0\0\0""9\0\0\0\0\0\0\0\373\350\350\350\377\372"
-  "\372\372\377\337\337\337\377\373\373\373\377\374\374\374\377\374\374"
-  "\374\377\374\374\374\377\374\374\374\377\374\374\374\377ccc\377[[[\377"
-  "\313\313\313\377\345\345\345\377\367\367\367\377\365\365\365\377\364"
-  "\364\364\377\362\362\362\377\273\273\273\377\356\356\356\377\370\370"
-  "\370\377\0\0\0\374\0\0\0D\0\0\0\0\0\0\0\373\336\336\336\377\371\371\371"
-  "\377\332\332\332\377\372\372\372\377\373\373\373\377\373\373\373\377"
-  "\373\373\373\377\373\373\373\377\373\373\373\377\221\221\221\377LLL\377"
-  "EEE\377bbb\377\300\300\300\377\335\335\335\377\362\362\362\377\361\361"
-  "\361\377\265\265\265\377\355\355\355\377\370\370\370\377\0\0\0\374\0"
-  "\0\0J\0\0\0\0\0\0\0\346\332\332\332\377\370\370\370\377\371\371\371\377"
-  "\371\371\371\377\371\371\371\377\371\371\371\377\372\372\372\377\372"
-  "\372\372\377\372\372\372\377\352\352\352\377\276\276\276\377ddd\377."
-  "..\377'''\377III\377\361\361\361\377\357\357\357\377\355\355\355\377"
-  "\371\371\371\377\367\367\367\377\0\0\0\355\0\0\0J\0\0\0\0\0\0\0\273\275"
-  "\275\275\377\365\365\365\377\367\367\367\377\370\370\370\377\370\370"
-  "\370\377\370\370\370\377\370\370\370\377\370\370\370\377\370\370\370"
-  "\377\367\367\367\377\366\366\366\377\335\335\335\377\276\276\276\377"
-  "WWW\377xxx\377\357\357\357\377\356\356\356\377\354\354\354\377\371\371"
-  "\371\377\323\323\323\377\0\0\0\316\0\0\0D\0\0\0\0\0\0\0t\177\177\177"
-  "\377\341\341\341\377\366\366\366\377\366\366\366\377\366\366\366\377"
-  "\366\366\366\377\367\367\367\377\366\366\366\377\366\366\366\377\365"
-  "\365\365\377\364\364\364\377\364\364\364\377yyy\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\234"
-  "\0\0\0\0\0\0\0\31\0\0\0\374\320\320\320\377\353\353\353\377\364\364\364"
-  "\377\364\364\364\377\365\365\365\377\364\364\364\377\364\364\364\377"
-  "\364\364\364\377\363\363\363\377\362\362\362\377\361\361\361\377\0\0"
-  "\0\377\351\\\23\377\362g\37\377\356b\32\377\345Y\23\377\333T\22\377\322"
-  "S\27\377\312R\33\377\276D\17\377\0\0\0\377\0\0\0\0\0\0\0\2\0\0\0\217"
-  "\211\211\211\377\324\324\324\377\362\362\362\377\362\362\362\377\362"
-  "\362\362\377\362\362\362\377\362\362\362\377\361\361\361\377\361\361"
-  "\361\377\360\360\360\377\360\360\360\377\0\0\0\377\353a\33\377\376\362"
-  "\353\377\374\346\333\377\350k,\377\337e)\377\370\342\330\377\373\361"
-  "\355\377\300K\30\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\324\253"
-  "\253\253\377\323\323\323\377\360\360\360\377\360\360\360\377\360\360"
-  "\360\377\360\360\360\377\360\360\360\377\357\357\357\377\357\357\357"
-  "\377\356\356\356\377\0\0\0\377\345[\26\377\372\337\322\377\377\377\377"
-  "\377\372\346\334\377\372\344\331\377\377\377\377\377\364\334\322\377"
-  "\275G\23\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0""6\0\0\0\352\253"
-  "\253\253\377\322\322\322\377\344\344\344\377\356\356\356\377\356\356"
-  "\356\377\356\356\356\377\256\256\256\377\255\255\255\377\355\355\355"
-  "\377\0\0\0\377\335U\22\377\342d%\377\371\340\324\377\377\377\377\377"
-  "\377\377\377\377\365\336\323\377\307U\"\377\271B\16\377\0\0\0\377\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\77\0\0\0\330\202\202\202\377\315\315"
-  "\315\377\331\331\331\377\354\354\354\377\354\354\354\377\354\354\354"
-  "\377\354\354\354\377\353\353\353\377\0\0\0\377\323O\21\377\332a)\377"
-  "\371\343\331\377\377\377\377\377\377\377\377\377\366\344\333\377\304"
-  "W(\377\265@\16\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5"
-  "\0\0\0\32\0\0\0\242\0\0\0\374\210\210\210\377\310\310\310\377\335\335"
-  "\335\377\370\370\370\377\370\370\370\377\367\367\367\377\0\0\0\377\312"
-  "N\23\377\367\341\327\377\377\377\377\377\364\335\323\377\364\335\323"
-  "\377\377\377\377\377\364\342\332\377\262B\23\377\0\0\0\377\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\20\0\0\0>\0\0\0\227\0\0"
-  "\0\314\0\0\0\354\0\0\0\374\0\0\0\374\0\0\0\355\0\0\0\377\302K\26\377"
-  "\370\353\345\377\363\333\321\377\304S\"\377\300R\"\377\361\332\320\377"
-  "\367\353\347\377\255A\25\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\10\0\0\0\25\0\0\0(\0\0\0""9\0\0\0D\0"
-  "\0\0J\0\0\0J\0\0\0\377\267@\16\377\272E\23\377\270C\21\377\266@\16\377"
-  "\263>\15\377\260>\20\377\253\77\23\377\2447\14\377\0\0\0\377\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"
-  "\0\6\0\0\0\12\0\0\0\15\0\0\0\17\0\0\0\17\0\0\0\206\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\177"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_trash)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_trash[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_trash[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0R\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "X\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\220\34\34"
-  "\34\377vvv\377\346\346\346\377\323\323\323\377\303\303\303\377\220\220"
-  "\220\377III\377\0\0\0\377\0\0\0\276\0\0\0,\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0E\0\0\0\240\0\0\0"
-  "\377\0\0\0\377HG=\377\272\270\246\377\342\342\337\377\361\361\360\377"
-  "\352\351\346\377\362\362\356\377\353\352\345\377\301\300\265\377WVJ\377"
-  "RQF\377\0\0\0\377\0\0\0\377\0\0\0\227\0\0\0""3\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0T\0\0\0\377\250\246\217\377\275\273\241\377\300"
-  "\276\243\377\243\241\212\377ml\\\377||r\377LLI\377EE\77\377DC:\377oo"
-  "g\377\306\305\271\377\266\265\233\377ml]\377\263\261\233\377\247\246"
-  "\216\377\220\217z\377\0\0\0\377\0\0\0E\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\377\252\251\223\377\314\313\265\377\320\316\272\377\325\323"
-  "\301\377\256\255\243\377\224\223\212\377EDB\377##!\377541\377)(#\377"
-  "\36\36\32\377SRF\377\255\254\223\377\222\221\211\377\302\301\257\377"
-  "\261\257\226\377\254\252\222\377\223\222}\377\0\0\0\377\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\10\10\10\377\321\320\301\377\314\313\265\377\326\325"
-  "\304\377\337\336\321\377\316\315\300\377\254\254\246\377\220\217\212"
-  "\377~}w\377\\\\U\377GF>\377edV\377wve\377\200~o\377\276\275\247\377\265"
-  "\263\232\377\266\265\233\377\265\263\232\377\241\237\210\377\0\0\0\377"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\331\330\314\377\366\365\362"
-  "\377\333\332\321\377\332\331\316\377\345\344\331\377\320\317\303\377"
-  "\323\323\311\377\312\311\274\377\267\266\246\377\270\266\241\377\260"
-  "\257\226\377\241\237\210\377\271\270\235\377\271\267\235\377\270\266"
-  "\234\377\304\302\251\377\257\255\227\377\213\211v\377\0\0\0\377\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\252\251\230\377\266\266\262\377"
-  "\371\371\367\377\372\372\370\377\364\364\360\377\342\341\332\377\331"
-  "\331\316\377\333\332\317\377\325\323\301\377\323\321\276\377\304\302"
-  "\251\377\300\276\243\377\305\304\254\377\326\325\303\377\315\314\277"
-  "\377\273\272\255\377|zi\377qp`\377\0\0\0\336\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\23\23\23\316\231\230\202\377\257\256\235\377\303\303\276\377"
-  "\336\336\334\377\351\351\350\377\373\373\372\377\375\375\374\377\375"
-  "\375\375\377\374\373\372\377\371\371\367\377\362\362\357\377\352\351"
-  "\343\377\333\332\321\377\300\277\261\377\225\224\204\377xwf\377nm]\377"
-  "[[M\377\0\0\0\315\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\222]\\O\377\223"
-  "\222}\377\243\242\223\377\270\267\246\377\330\327\320\377\333\333\324"
-  "\377\323\322\312\377\310\310\303\377\306\305\275\377\275\274\255\377"
-  "\272\270\250\377\237\236\213\377\216\214x\377\214\213w\377\216\214x\377"
-  "zyh\377lk]\377NME\377\0\0\0y\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""2"
-  "\0\0\0\377BBB\377{{s\377\237\237\226\377\322\321\307\377\334\333\322"
-  "\377\314\313\276\377\321\320\302\377\304\303\266\377\261\257\226\377"
-  "\261\257\226\377\261\257\226\377\232\230\203\377\200\177m\377}|k\377"
-  "ji^\377@@>\377\0\0\0\377\0\0\0""3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\37777-\377\17\17\17\377874\377xxu\377\231\230\223\377\212"
-  "\211~\377\263\262\244\377\252\252\236\377\243\241\212\377\207\206s\377"
-  "\217\215y\377baU\377TTQ\37711.\377\0\0\0\377++#\377\0\0\0\377\0\0\0\17"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377qq]\377WWK\377BB:\377"
-  "&&\40\377!!!\377\33\33\33\377\0\0\0\377$$$\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\26\26\23\377**\"\37700'\377\77\77""4\377\0\0\0\377"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377zze\377[[Q"
-  "\377\205\205v\377vvk\377\230\230\216\377uuk\377QQF\377\177\177t\377j"
-  "jX\377@@5\377bbQ\377TTE\377>>3\377UUF\37744+\377QQC\377\0\0\0\377\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\205\205n\377]"
-  "]T\377\221\221\202\377\202\202x\377\252\252\243\377zzq\377NNE\377\212"
-  "\212\200\377||m\377BB7\377``R\377ZZJ\377<<2\377NNA\37755,\377TTE\377"
-  "\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\3\0\0\0\377"
-  "\205\205n\377[[Q\377\254\254\234\377\205\205{\377\273\273\263\377\243"
-  "\243\232\377TTK\377\223\223\212\377\221\221\205\377BB7\377``R\377hhV"
-  "\377AA6\377jjX\377CC7\377jjX\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\1\0\0\0\5\0\0\0\10\0\0\0\377\205\205n\377[[Q\377\244\244\223\377"
-  "\205\205{\377\301\301\266\377\261\261\242\377kk_\377\261\261\242\377"
-  "\235\235\213\377TTE\377\204\204p\377qq^\377CC7\377jjX\377CC7\377jjX\377"
-  "\0\0\0\377\0\0\0\6\0\0\0\3\0\0\0\0\0\0\0\2\0\0\0\12\0\0\0\24\0\0\0\377"
-  "\205\205n\377[[Q\377\245\245\224\377\205\205{\377\302\302\267\377\261"
-  "\261\242\377kk_\377\261\261\242\377\235\235\213\377TTE\377\204\204p\377"
-  "qq^\377CC7\377jjX\377CC7\377jjX\377\0\0\0\377\0\0\0\26\0\0\0\13\0\0\0"
-  "\2\0\0\0\3\0\0\0\26\0\0\0+\0\0\0\377\205\205n\377[[Q\377\235\235\213"
-  "\377\205\205{\377\301\301\266\377\261\261\242\377kk_\377\261\261\242"
-  "\377\235\235\213\377TTE\377\204\204p\377qq^\377CC7\377jjX\377CC7\377"
-  "jjX\377\0\0\0\377\0\0\0""1\0\0\0\32\0\0\0\4\0\0\0\7\0\0\0#\0\0\0I\0\0"
-  "\0\377{{e\377[[Q\377\244\244\223\377\205\205{\377\301\301\266\377\261"
-  "\261\242\377kk_\377\261\261\242\377\235\235\213\377TTE\377\204\204p\377"
-  "qq^\377CC7\377jjX\377CC7\377__O\377\0\0\0\377\0\0\0H\0\0\0*\0\0\0\7\0"
-  "\0\0\12\0\0\0,\0\0\0X\0\0\0\377ffT\377[[Q\377\244\244\223\377\202\202"
-  "x\377\301\301\266\377\261\261\242\377kk_\377\261\261\242\377\235\235"
-  "\213\377TTE\377\204\204p\377qq^\377CC7\377jjX\377II<\377WWH\377\0\0\0"
-  "\377\0\0\0P\0\0\0*\0\0\0\7\0\0\0\6\0\0\0\35\0\0\0C\0\0\0r\0\0\0\377W"
-  "WJ\377}}m\377vvi\377\263\263\250\377\241\241\224\377mma\377\263\263\245"
-  "\377\235\235\213\377TTE\377\204\204p\377iiW\377AA5\377VVG\377DD8\377"
-  "\0\0\0\377\0\0\0\177\0\0\0C\0\0\0\35\0\0\0\4\0\0\0\1\0\0\0\13\0\0\0\34"
-  "\0\0\0""2\0\0\0g\0\0\0\320\0\0\0\377\0\0\0\377YYQ\377XXI\377NN@\377t"
-  "tg\377aaS\377NNA\377II<\377II<\377\0\0\0\377\0\0\0\377\0\0\0\304\0\0"
-  "\0t\0\0\0>\0\0\0%\0\0\0\11\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\6\0\0\0\17\0"
-  "\0\0\31\0\0\0\37\0\0\0r\0\0\0\264\0\0\0\302\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\271\0\0\0\217\0\0\0S\0\0\0,"
-  "\0\0\0*\0\0\0\33\0\0\0\10\0\0\0\1\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_trash_full)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_trash_full[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_trash_full[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10"
-  "\10\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\6\6\6\21\6\6\6K\16\16\16\377BBB\377JJJ\377>>>\377,,,\377\0"
-  "\0\0\377\6\6\6>\6\6\6!\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\377\10\10\10"
-  "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\6\6\6:\0\0\0\377\0\0\0\377\205\203q\377\360\355\330\377\362\361\351"
-  "\377\356\355\344\377\307\306\272\377SRF\377\0\0\0\377\0\0\0\377\6\6\6"
-  "K\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\6\6\6>\20\20\20\377\302\300\245\377\301\277\245"
-  "\377zyg\377HG@\377''%\37765.\377\207\205r\377\240\236\210\377\243\241"
-  "\212\377\245\243\214\377\0\0\0\377\6\6\6!\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0+++\377\323\321\274"
-  "\377\334\332\304\377\342\340\317\377\271\267\242\377db[\377986\377<<"
-  "3\377a`S\377\232\230\203\377\267\265\233\377\263\262\230\377\244\242"
-  "\213\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\377"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\350\344\323\377\364\361\351"
-  "\377\362\361\344\377\352\351\332\377\345\342\322\377\325\322\276\377"
-  "\303\301\247\377\257\255\224\377\300\276\244\377\306\304\254\377\270"
-  "\266\234\377ywf\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\10\10\10\377\10\10\10\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\212\211"
-  "u\377\361\355\322\377\373\370\351\377\371\365\355\377\370\367\356\377"
-  "\370\367\354\377\365\363\346\377\354\352\331\377\336\335\313\377\0\0"
-  "\0\377\0\0\0\377BA8\377\0\0\0\377\0\0\0\0\0\0\0>\0\0\0\377\0\0\0W\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\202RQF\377sqe\377"
-  "\237\235\221\377\344\341\310\377\351\345\317\377\342\340\313\377\321"
-  "\321\313\377\216\215\177\377\0\0\0\377\377\377\377\377\301\301\301\377"
-  "\0\0\0\377\0\0\0\240\0\0\0L\0\0\0\377\377\377\377\377\0\0\0\377\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\37\37\33\377440\377"
-  "KID\377hgb\377pof\377kkd\377nl]\377XWK\377++%\377\0\0\0\377\377\377\377"
-  "\377\222\222\222\377\2\2\2\377\0\0\0\377\346\346\346\377\0\0\0\377\0"
-  "\0\0>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0**#\377"
-  "\240\240\225\377MM@\377660\377**&\377//*\377\17\17\15\377\13\13\11\377"
-  "\20\20\15\377(($\377\0\0\0\377\274\274\274\377nnn\377\355\355\355\377"
-  "\0\0\0\377\0\0\0L\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0++$\377\245\244\231\377\267\266\256\377qpg\377\241\241\222"
-  "\377tsc\377@@5\377ii[\377%%\36\377\34\34\34\377\354\354\354\377\317\317"
-  "\317\377ooo\377\257\257\257\377\0\0\0\377\0\0\0!\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0,,%\377\255\255\243\377\331"
-  "\331\322\377\213\213\177\377\326\325\316\377\210\210{\377XWO\377\177"
-  "\177u\377\0\0\0\377\336\336\336\377\377\377\377\377\336\336\336\377\336"
-  "\336\336\377\311\311\311\377\0\0\0\377\0\0\0\77\0\0\0\1\0\0\0\1\0\0\0"
-  "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\6,,%\377\255\255\243\377\332"
-  "\332\323\377\217\216\201\377\335\335\324\377\254\253\231\377]]R\377i"
-  "i`\377mmm\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\347\347\347\377\223\223\223\377\0\0\0\377\0\0\0+\0\0\0\13\0"
-  "\0\0\7\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\5\0\0\0\21++$\377~~u\377\330\330"
-  "\321\377\215\215\200\377\335\335\323\377\254\253\231\377PPG\377\30\30"
-  "\30\377\311\311\311\377\307\340\307\377x\265x\377\233\310\233\377\377"
-  "\377\377\377\347\347\347\377\306\306\306\377\0\0\0\377\0\0\0U\0\0\0\35"
-  "\0\0\0\27\0\0\0\15\0\0\0\3\0\0\0\1\0\0\0\11\0\0\0\34''!\377CC=\377\216"
-  "\216\206\377^^U\377\332\332\320\377\254\253\231\37755.\377]]]\377\324"
-  "\347\324\377]\246]\377\307\340\307\377\377\377\377\377]\246]\377\215"
-  "\272\215\377\345\345\345\377\206\206\206\377\0\0\0\377\0\0\0G\0\0\0'"
-  "\0\0\0\31\0\0\0\10\0\0\0\1\0\0\0\11\0\0\0\34\4\4\4k\6\6\6\377\6\6\6\377"
-  "BA:\377\217\217{\377zzl\377\0\0\0\377\304\304\304\377s\262s\377\307\340"
-  "\307\377\377\377\377\377\377\377\377\377x\265x\377n\253n\377\345\345"
-  "\345\377\220\220\220\377\0\0\0\377\0\0\0w\0\0\0.\0\0\0\"\0\0\0\16\0\0"
-  "\0\1\0\0\0\5\0\0\0\23\0\0\0&\0\0\0""0\4\4\4y\6\6\6\377\0\0\0\377\17\17"
-  "\17\377\0\0\0\377\327\327\327\377\377\377\377\377\377\377\377\377\377"
-  "\377\377\377\377\377\377\377\377\377\377\377\364\364\364\377S\235S\377"
-  "\277\277\277\377JJJ\377\0\0\0\377\0\0\0""1\0\0\0(\0\0\0\23\0\0\0\0\0"
-  "\0\0\1\0\0\0\6\0\0\0\23\0\0\0\40\0\0\0)\0\0\0-\0\0\0.\0\0\0""0\0\0\0"
-  "\377\354\354\354\377x\265x\377\377\377\377\377\377\377\377\377\307\340"
-  "\307\377\377\377\377\377\272\323\272\377\212\270\212\377\212\267\212"
-  "\377qqq\377\0\0\0\377\0\0\0""2\0\0\0*\0\0\0\27\0\0\0\0\0\0\0\0\0\0\0"
-  "\1\0\0\0\3\0\0\0\12\0\0\0\21\0\0\0\26\0\0\0\33\0\0\0\"\0\0\0\377\254"
-  "\254\254\377\354\354\354\377o\254o\377o\254o\377n\253n\377T\235T\377"
-  "\262\314\262\377\212\270\212\377\222\222\222\377aaa\377\0\0\0\377\0\0"
-  "\0""1\0\0\0'\0\0\0\23\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1"
-  "\0\0\0\2\0\0\0\10\0\0\0\22\0\0\0U\0\0\0\377\0\0\0\377iii\377\200\200"
-  "\200\377}\220}\377\241\241\241\377\203\203\203\377zzz\377CCC\377\0\0"
-  "\0\377\0\0\0w\0\0\0*\0\0\0\34\0\0\0\12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\7\0\0\0\21\0\0\0""9\0\0\0p\0"
-  "\0\0\234\0\0\0\304\0\0\0\377\0\0\0\377\0\0\0\377(((\377444\263888q\0"
-  "\0\0#\0\0\0\32\0\0\0\13\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\6\0\0\0\14\0\0\0\21\0\0\0\23"
-  "\0\0\0\24\0\0\0\26\0\0\0\26\0\0\0\26\0\0\0\25\0\0\0\25\0\0\0\24\0\0\0"
-  "\17\0\0\0\10\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\6\0\0"
-  "\0\6\0\0\0\7\0\0\0\10\0\0\0\7\0\0\0\6\0\0\0\6\0\0\0\4\0\0\0\2\0\0\0\1"
-  "\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_volume)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_volume[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_volume[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0,\0\0\0\377\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0I@f\320I@f+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0-\0\0\0\377"
-  "\0\0\0\377\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0I@f\377I@f+\0\0\0\0I@f+I@f"
-  "\252I@f+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0-\0\0\0\377\256\253\237\377\0\0\0\377\0\0\0"
-  "\21\0\0\0\2\0\0\0\0\0\0\0\0I@f+I@f\377I@f+\0\0\0\0I@f\213I@fO\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0o\0\0\0\377\256\253\237\377\334\331\323\377\0\0\0\377\0\0\0\221"
-  "\0\0\0\4I@f\377I@f+\0\0\0\0I@f\252I@fO\0\0\0\0I@fcI@f\213\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\7\0\0\0\377\233\230\212\377\200~r"
-  "\377\0\0\0\377\256\253\237\377\342\341\334\377\362\362\360\377\0\0\0"
-  "\377\0\0\0\347\0\0\0\12I@f+I@f\377\0\0\0\0I@fOI@f\252\0\0\0\0I@f@I@f"
-  "\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\22\0\0\0\377\343\342"
-  "\335\377\266\266\261\377\0\0\0\377\356\355\352\377\352\352\346\377\305"
-  "\301\267\377\0\0\0\377III\377\0\0\0\24\0\0\0\0I@f\377\0\0\0\0I@f+I@f"
-  "\320\0\0\0\0I@f#I@f\320\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0"
-  "\30\0\0\0\377\260\254\234\377\222\216\201\377\0\0\0\377\315\312\301\377"
-  "\270\264\246\377\277\273\257\377\0\0\0\377\11\11\11\377\0\0\0\30\0\0"
-  "\0\0I@f\377\0\0\0\0\0\0\0\0I@f\377\0\0\0\0\0\0\0\0I@f\377\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\31\0\0\0\377\233\230\212\377\200~"
-  "r\377\0\0\0\377\236\232\214\377\260\254\234\377\260\254\234\377\0\0\0"
-  "\377+++\377\0\0\0\27\0\0\0\0I@f\377\0\0\0\0I@f+I@f\320\0\0\0\0I@f#I@"
-  "f\320\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\31\0\0\0\377yvl\377"
-  "dbY\377\0\0\0\377\236\232\214\377\236\232\214\377\236\232\214\377\0\0"
-  "\0\377\10\10\10\376\0\0\0\27I@f+I@f\377\0\0\0\0I@fOI@f\252\0\0\0\0I@"
-  "f@I@f\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\31\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\240\0\0\0\377\215\212}\377\236\232\214\377"
-  "\0\0\0\377\0\0\0\300\0\0\0\30I@f\377I@f+\0\0\0\0I@f\252I@fO\0\0\0\0I"
-  "@fYI@f\213\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\30\0\0\0>\0"
-  "\0\0S\0\0\0S\0\0\0Q\0\0\0r\0\0\0\377~{p\377\0\0\0\377\0\0\0=\0\0\0\32"
-  "\0\0\0\0\0\0\0\0I@f+I@f\320I@f+\0\0\0\0I@f\213I@fO\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\2\0\0\0\22\0\0\0/\0\0\0=\0\0\0;\0\0\0""8\0\0\0C"
-  "\0\0\0o\0\0\0\377\0\0\0\377\0\0\0""1\0\0\0\26\0\0\0\0\0\0\0\0I@f\377"
-  "I@f+\0\0\0\0I@f+I@f\213I@f+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0"
-  "\0\0\7\0\0\0\22\0\0\0\27\0\0\0\26\0\0\0\26\0\0\0%\0\0\0>\0\0\0l\0\0\0"
-  "\377\0\0\0\"\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0I@f\320"
-  "I@f+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2"
-  "\0\0\0\3\0\0\0\3\0\0\0\4\0\0\0\15\0\0\0#\0\0\0;\0\0\0""8\0\0\0\30\0\0"
-  "\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\3\0\0\0\15\0\0\0\37\0\0\0%\0\0\0\21\0\0\0\2\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\3\0\0\0\11\0\0\0\15\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_midi)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_midi[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_midi[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (2304) */
-  "\0\0\11\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (96) */
-  "\0\0\0`"
-  /* width (24) */
-  "\0\0\0\30"
-  /* height (24) */
-  "\0\0\0\30"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\24\0\0\0n\0\0\0\24\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\36\0\0"
-  "\0\206\0\0\0$\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0$\0\0\0^\0\0\0u\0\0\0\231\0\0\0\231\0\0\0Q\0\0\0<\0\0\0"
-  "(\0\0\0\17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0.\0\0\0\276\0\0\0X\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "^\0\0\0C\0\0\0u\0\0\0$\0\0\0\24\0\0\0E\0\0\0w\0\0\0}\0\0\0X\0\0\0""7"
-  "\0\0\0\15\0\0\0A\0\0\0\225\0\0\0""8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\271\0\0\0$\0\0\0"
-  "\177\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0!\0\0\0>\0\0\0\201\0\0\0\311"
-  "\0\0\0\200\0\0\0G\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0E\0\0\0\364\0\0\0b\0\0\0\362\0\0\0"
-  "U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\355\377\377\377\377\0\0\0\355\377\377\377\377"
-  "\0\0\0\356\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\376\250\250\250\377\0\0\0\355\267\267"
-  "\267\377\0\0\0\356\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0{\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0z\0\0\0\0\0\0\0\0\0\0\0\377\323\321\316\377\274\272\265"
-  "\377\254\252\244\377\230\226\217\377\230\226\217\377\230\226\217\377"
-  "\230\226\217\377\230\226\217\377\230\226\217\377\230\226\217\377\230"
-  "\226\217\377\230\226\217\377\230\226\217\377\230\226\217\377\230\226"
-  "\217\377\230\226\217\377\230\226\217\377zxr\377b`[\377USO\377\0\0\0\377"
-  "\0\0\0\23\0\0\0\0\0\0\0\377\257\255\251\377\234\232\225\377\204\202|"
-  "\377fd]\377fd]\377fd]\377fd]\377fd]\377fd]\377fd]\377fd]\377fd]\377f"
-  "d]\377fd]\377fd]\377fd]\377fd]\377RPJ\377RPJ\377A@;\377\0\0\0\377\0\0"
-  "\0,\0\0\0\3\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0""6\0\0\0\7\0\0\0\377\315\315\315\377VVV\377"
-  "\0\0\0\377\312\312\312\377VVV\377\0\0\0\377\310\310\310\377VVV\377\0"
-  "\0\0\377\305\305\305\377\302\302\302\377\271\271\271\377\303\303\303"
-  "\377VVV\377\0\0\0\377\300\300\300\377VVV\377\0\0\0\377\276\276\276\377"
-  "\270\270\270\377\0\0\0\377\0\0\0\77\0\0\0\14\0\0\0\377\377\377\377\377"
-  "kkk\377\0\0\0\377\374\374\374\377kkk\377\0\0\0\377\370\370\370\377kk"
-  "k\377\0\0\0\377\366\366\366\377\361\361\361\377\346\346\346\377\362\362"
-  "\362\377kkk\377\0\0\0\377\360\360\360\377kkk\377\0\0\0\377\355\355\355"
-  "\377\346\346\346\377\0\0\0\377\0\0\0E\0\0\0\22\0\0\0\377\377\377\377"
-  "\377kkk\377\0\0\0\377\373\373\373\377kkk\377\0\0\0\377\367\367\367\377"
-  "kkk\377\0\0\0\377\365\365\365\377\361\361\361\377\345\345\345\377\362"
-  "\362\362\377kkk\377\0\0\0\377\357\357\357\377kkk\377\0\0\0\377\354\354"
-  "\354\377\345\345\345\377\0\0\0\377\0\0\0D\0\0\0\23\0\0\0\377\377\377"
-  "\377\377kkk\377\0\0\0\377\372\372\372\377kkk\377\0\0\0\377\367\367\367"
-  "\377kkk\377\0\0\0\377\365\365\365\377\360\360\360\377\344\344\344\377"
-  "\362\362\362\377kkk\377\0\0\0\377\356\356\356\377kkk\377\0\0\0\377\353"
-  "\353\353\377\344\344\344\377\0\0\0\377\0\0\0D\0\0\0\20\0\0\0\377\376"
-  "\376\376\377NNN\377\0\0\0\377\372\372\372\377NNN\377\0\0\0\377\366\366"
-  "\366\377NNN\377\0\0\0\377\365\365\365\377\357\357\357\377\344\344\344"
-  "\377\361\361\361\377NNN\377\0\0\0\377\356\356\356\377NNN\377\0\0\0\377"
-  "\353\353\353\377\343\343\343\377\0\0\0\377\0\0\0D\0\0\0\16\0\0\0\377"
-  "\375\375\375\377\374\374\374\377\360\360\360\377\372\372\372\377\367"
-  "\367\367\377\354\354\354\377\366\366\366\377\363\363\363\377\347\347"
-  "\347\377\364\364\364\377\356\356\356\377\343\343\343\377\360\360\360"
-  "\377\352\352\352\377\336\336\336\377\356\356\356\377\346\346\346\377"
-  "\332\332\332\377\353\353\353\377\343\343\343\377\0\0\0\377\0\0\0D\0\0"
-  "\0\16\0\0\0\377\374\374\374\377\373\373\373\377\357\357\357\377\372\372"
-  "\372\377\366\366\366\377\353\353\353\377\366\366\366\377\362\362\362"
-  "\377\347\347\347\377\363\363\363\377\356\356\356\377\342\342\342\377"
-  "\360\360\360\377\351\351\351\377\336\336\336\377\355\355\355\377\345"
-  "\345\345\377\331\331\331\377\352\352\352\377\342\342\342\377\0\0\0\377"
-  "\0\0\0D\0\0\0\16\0\0\0\377\374\374\374\377\373\373\373\377\370\370\370"
-  "\377\373\373\373\377\373\373\373\377\366\366\366\377\373\373\373\377"
-  "\371\371\371\377\366\366\366\377\371\371\371\377\370\370\370\377\363"
-  "\363\363\377\370\370\370\377\366\366\366\377\361\361\361\377\370\370"
-  "\370\377\364\364\364\377\360\360\360\377\370\370\370\377\341\341\341"
-  "\377\0\0\0\377\0\0\0D\0\0\0\16\0\0\0\377\301\301\301\377\300\300\300"
-  "\377\267\267\267\377\301\301\301\377\275\275\275\377\270\270\270\377"
-  "\275\275\275\377\272\272\272\377\264\264\264\377\272\272\272\377\270"
-  "\270\270\377\251\251\251\377\272\272\272\377\263\263\263\377\251\251"
-  "\251\377\266\266\266\377\257\257\257\377\246\246\246\377\264\264\264"
-  "\377\255\255\255\377\0\0\0\377\0\0\0D\0\0\0\16\0\0\0n\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\227\0\0\0\77\0"
-  "\0\0\14\0\0\0\6\0\0\0#\0\0\0>\0\0\0D\0\0\0D\0\0\0D\0\0\0D\0\0\0D\0\0"
-  "\0D\0\0\0D\0\0\0D\0\0\0D\0\0\0D\0\0\0D\0\0\0D\0\0\0D\0\0\0D\0\0\0D\0"
-  "\0\0D\0\0\0D\0\0\0D\0\0\0\77\0\0\0#\0\0\0\6\0\0\0\1\0\0\0\6\0\0\0\14"
-  "\0\0\0\15\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0"
-  "\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0\0\0\16\0"
-  "\0\0\16\0\0\0\16\0\0\0\16\0\0\0\14\0\0\0\6\0\0\0\1"};
-
-
-/* GdkPixbuf RGBA C-Source image dump */
-
-#ifdef __SUNPRO_C
-#pragma align 4 (stock_authentication)
-#endif
-#ifdef __GNUC__
-static const guint8 stock_authentication[] __attribute__ ((__aligned__ (4))) = 
-#else
-static const guint8 stock_authentication[] = 
-#endif
-{ ""
-  /* Pixbuf magic (0x47646b50) */
-  "GdkP"
-  /* length: header (24) + pixel_data (9216) */
-  "\0\0$\30"
-  /* pixdata_type (0x1010002) */
-  "\1\1\0\2"
-  /* rowstride (192) */
-  "\0\0\0\300"
-  /* width (48) */
-  "\0\0\0""0"
-  /* height (48) */
-  "\0\0\0""0"
-  /* pixel_data: */
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\2\0\0\0\3"
-  "\0\0\0\4\0\0\0\5\0\0\0\5\0\0\0\5\0\0\0\4\0\0\0\3\0\0\0\2\0\0\0\1\0\0"
-  "\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\1\0\0\0\2\0\0\0\4\0\0\0\7\0\0\0\12\0\0\0\16\0\0\0\21\0\0\0\23\0\0"
-  "\0\23\0\0\0\23\0\0\0\21\0\0\0\16\0\0\0\12\0\0\0\7\0\0\0\4\0\0\0\2\0\0"
-  "\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\4\0\0\0\10\0\0"
-  "\0\16\0\0\0g\0\0\0\253\0\0\0\332\0\0\0\366\1\1\1\377\0\0\0\366\0\0\0"
-  "\334\0\0\0\260\0\0\0q\0\0\0\36\0\0\0\25\0\0\0\16\0\0\0\10\0\0\0\4\0\0"
-  "\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\5\0\0\0\14\0\0\0\203\0\0\0\354"
-  "\1\1\1\377\233\233\233\377\320\320\320\377\343\343\343\377\351\351\351"
-  "\377\335\335\335\377\306\306\306\377\221\221\221\377\1\1\1\377\0\0\0"
-  "\356\0\0\0\221\0\0\0#\0\0\0\27\0\0\0\15\0\0\0\5\0\0\0\2\0\0\0\1\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0"
-  "\0\0\7\0\0\0>\0\0\0\320\1\1\1\377\276\276\276\377\352\352\352\377\361"
-  "\361\361\377\363\363\363\377\361\361\361\377\355\355\355\377\352\352"
-  "\352\377\346\346\346\377\342\342\342\377\330\330\330\377\234\234\234"
-  "\377\1\1\1\377\0\0\0\330\0\0\0W\0\0\0\36\0\0\0\20\0\0\0\7\0\0\0\2\0\0"
-  "\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\7"
-  "\0\0\0R\0\0\0\366```\377\343\343\343\377\363\363\363\377\360\360\360"
-  "\377\354\354\354\377\346\346\346\377\344\344\344\377\343\343\343\377"
-  "\342\342\342\377\342\342\342\377\342\342\342\377\341\341\341\377\326"
-  "\326\326\377\267\267\267\377EEE\377\0\0\0\367\0\0\0m\0\0\0\"\0\0\0\22"
-  "\0\0\0\7\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"
-  "\0\5\0\0\0>\0\0\0\366\205\205\205\377\354\354\354\377\363\363\363\377"
-  "\352\352\352\377\343\343\343\377\331\331\331\377\316\316\316\377\302"
-  "\302\302\377\302\302\302\377\314\314\314\377\325\325\325\377\334\334"
-  "\334\377\340\340\340\377\335\335\335\377\310\310\310\377\271\271\271"
-  "\377bbb\377\0\0\0\370\0\0\0Y\0\0\0!\0\0\0\17\0\0\0\5\0\0\0\1\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\4\0\0\0\15\0\0\0\320^^^\377\354\354\354"
-  "\377\363\363\363\377\350\350\350\377\334\334\334\377\274\274\274\370"
-  "XXX\360\24\24\24\341\0\0\0\333\0\0\0\326\0\0\0\324{{{\352\276\276\276"
-  "\366\340\340\340\377\337\337\337\377\334\334\334\377\303\303\303\377"
-  "\273\273\273\377LLL\377\0\0\0\273\0\0\0""5\0\0\0\33\0\0\0\13\0\0\0\3"
-  "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\10\0\0\0\203\1\1\1\377\342\342"
-  "\342\377\363\363\363\377\351\351\351\377\330\330\330\377\227\227\227"
-  "\354\0\0\0\352\0\0\0\274\0\0\0g\0\0\0Y\0\0\0S\0\0\0Q\0\0\0Y\0\0\0\305"
-  "\234\234\234\351\335\335\335\371\340\340\340\377\330\330\330\377\273"
-  "\273\273\377\266\266\266\377\1\1\1\377\0\0\0x\0\0\0*\0\0\0\23\0\0\0\7"
-  "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\3\0\0\0\15\0\0\0\354\271\271\271\377\363"
-  "\363\363\377\353\353\353\377\330\330\330\377\212\212\212\356\0\0\0\342"
-  "\0\0\0}\0\0\0W\0\0\0F\0\0\0""9\0\0\0""0\0\0\0.\0\0\0""1\0\0\0;\0\0\0"
-  "\224\222\222\222\337\333\333\333\367\337\337\337\377\316\316\316\377"
-  "\263\263\263\377\223\223\223\377\0\0\0\313\0\0\0:\0\0\0\36\0\0\0\13\0"
-  "\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\1\0\0\0\6\0\0\0E\1\1\1\377\352\352\352\377\361\361"
-  "\361\377\335\335\335\377\300\300\300\377\2\2\2\350\0\0\0\214\0\0\0T\0"
-  "\0\0<\0\0\0)\0\0\0\34\0\0\0\25\0\0\0\23\0\0\0\26\0\0\0\37\0\0\0.\0\0"
-  "\0\240\242\242\242\337\345\345\345\377\335\335\335\377\300\300\300\377"
-  "\266\266\266\377\1\1\1\377\0\0\0a\0\0\0)\0\0\0\22\0\0\0\5\0\0\0\1\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\2\0\0\0\11\0\0\0p\240\240\240\377\361\361\361\377\350\350\350\377"
-  "\306\306\306\377\201\201\201\354\0\0\0\322\0\0\0Z\0\0\0>\0\0\0%\0\0\0"
-  "\24\0\0\0\13\0\0\0\7\0\0\0\5\0\0\0\7\0\0\0\15\0\0\0\30\0\0\0""0\2\2\2"
-  "\313\334\334\334\357\352\352\352\377\321\321\321\377\256\256\256\377"
-  "vvv\377\0\0\0\220\0\0\0""4\0\0\0\30\0\0\0\10\0\0\0\2\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\14"
-  "\0\0\0\223\320\320\320\377\362\362\362\377\331\331\331\377\300\300\300"
-  "\377///\345\0\0\0\213\0\0\0J\0\0\0,\0\0\0\25\0\0\0\11\0\0\0\3\0\0\0\1"
-  "\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\13\0\0\0\31\0\0\0n\202\202\202\340\356"
-  "\356\356\377\334\334\334\377\265\265\265\377\237\237\237\377\0\0\0\274"
-  "\0\0\0>\0\0\0\37\0\0\0\13\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\4\0\0\0\16\0\0\0\325\341\341\341"
-  "\377\361\361\361\377\314\314\314\377\300\300\300\377\17\17\17\331\0\0"
-  "\0e\0\0\0=\0\0\0\40\0\0\0\16\0\0\0\5\0\0\0\2\0\0\0\1\0\0\0\1\0\0\0\1"
-  "\0\0\0\2\0\0\0\5\0\0\0\17\0\0\0#\37\37\37\323\354\354\354\377\342\342"
-  "\342\377\300\300\300\377\250\250\250\377\0\0\0\325\0\0\0G\0\0\0%\0\0"
-  "\0\16\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\2\0\0\0\7\0\0\0\24\0\0\0\336\346\346\346\377\357\357\357\377"
-  "\313\313\313\377\267\267\267\377\0\0\0\322\0\0\0W\0\0\0""6\0\0\0\34\0"
-  "\0\0\15\0\0\0\10\0\0\0\5\0\0\0\5\0\0\0\5\0\0\0\5\0\0\0\5\0\0\0\10\0\0"
-  "\0\16\0\0\0\35\0\0\0\301\351\351\351\377\345\345\345\377\305\305\305"
-  "\377\256\256\256\377\0\0\0\360\0\0\0O\0\0\0.\0\0\0\25\0\0\0\10\0\0\0"
-  "\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\6\0\0\0"
-  "\17\0\0\0\37\0\0\0\354\332\332\332\377\353\353\353\377\312\312\312\377"
-  "\253\253\253\377\0\0\0\322\0\0\0Y\0\0\0<\0\0\0%\0\0\0\32\0\0\0\26\0\0"
-  "\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\26\0\0\0\32\0\0\0&\0"
-  "\0\0\300\344\344\344\377\343\343\343\377\312\312\312\377\255\254\252"
-  "\377\0\0\0\371\0\0\0Y\0\0\0;\0\0\0\"\0\0\0\23\0\0\0\12\0\0\0\5\0\0\0"
-  "\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5""1\26\7f7\31\10\3777\31\10\377"
-  "7\31\10\377\234R\27\377\270n%\377\271k&\377\247Z\34\3777\31\10\3777\31"
-  "\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10"
-  "\3777\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10\377"
-  "7\31\10\377\245^\37\377\274s*\377\270o'\377\227U\32\3777\31\10\3777\31"
-  "\10\3777\31\10\3777\31\10\377%\20\5_\0\0\0\33\0\0\0\16\0\0\0\5\0\0\0"
-  "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\3\0\0\0\12""7\31\10\377\311\234b\377\364\341\313"
-  "\377\364\340\311\377\357\333\276\377\354\325\267\377\353\322\264\377"
-  "\352\322\263\377\353\317\260\377\351\316\256\377\350\314\253\377\347"
-  "\314\250\377\350\307\241\377\346\306\241\377\346\306\241\377\346\306"
-  "\241\377\346\306\241\377\346\306\241\377\350\307\241\377\350\307\241"
-  "\377\346\306\241\377\345\305\240\377\345\305\240\377\343\302\232\377"
-  "\340\300\233\377\340\275\223\377\337\272\222\377\337\272\216\377\335"
-  "\263\206\377\325\254|\377\242a\33\3777\31\10\377\0\0\0""1\0\0\0\32\0"
-  "\0\0\12\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\4\0\0\0\20""7\31\10\377\365\346\320"
-  "\377\352\323\257\377\352\317\257\377\343\302\232\377\332\270\213\377"
-  "\332\266\207\377\330\260\201\377\326\256\177\377\323\253|\377\321\251"
-  "t\377\317\245n\377\314\243m\377\312\237g\377\312\237g\377\312\237g\377"
-  "\312\237g\377\312\237g\377\312\237g\377\312\237g\377\310\236g\377\306"
-  "\233c\377\302\230a\377\302\223[\377\277\220R\377\274\210K\377\275\204"
-  "@\377\272~=\377\263v4\377\247j\"\377\215S\24\3777\31\10\377\0\0\0E\0"
-  "\0\0&\0\0\0\17\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\23""7\31\10\377\365"
-  "\344\316\377\351\316\256\377\347\315\250\377\337\275\220\377\330\261"
-  "\203\377\325\255~\377\322\252{\377\322\246w\377\320\247q\377\315\243"
-  "l\377\310\237h\377\305\233d\377\304\231a\377\304\231a\377\304\231a\377"
-  "\305\232b\377\305\232b\377\305\232b\377\305\232b\377\304\231a\377\302"
-  "\230]\377\301\224Z\377\277\220T\377\276\216O\377\274\207I\377\272\202"
-  "\77\377\272~=\377\261t2\377\247j\"\377\213R\24\3777\31\10\377\0\0\0Q"
-  "\0\0\0.\0\0\0\23\0\0\0\5\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\24""7\31\10\377\365"
-  "\346\320\377\353\317\260\377\351\316\256\377\340\277\227\377\333\264"
-  "\206\377\330\260\201\377\327\257\200\377\322\254{\377\322\246w\377\320"
-  "\246o\377\314\243m\377\265\216\\\377\240~P\377\232yM\377\232yM\377\262"
-  "\214Y\377\307\234d\377\307\234d\377\307\234d\377\305\232b\377\302\227"
-  "_\377\302\223[\377\277\220T\377\276\216O\377\274\204A\377\272\202\77"
-  "\377\265|8\377\257s,\377\243f\36\377\207P\24\3777\31\10\377\0\0\0W\0"
-  "\0\0""2\0\0\0\25\0\0\0\5\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25""7\31\10\377\365"
-  "\344\316\377\352\317\257\377\350\315\251\377\337\274\222\377\325\255"
-  "~\377\322\253}\377\322\252{\377\320\253u\377\320\246o\377\315\243l\377"
-  "\263\216]\377\224tJ\377w^<\377\40\31\20\377\0\0\0\377\40\31\20\377y`"
-  ">\377\310\237h\377\312\237g\377\307\235f\377\305\233d\377\304\231a\377"
-  "\302\230]\377\277\221V\377\276\216O\377\276\206E\377\274\203\77\377\266"
-  "|7\377\252l#\377\215U\24\3777\31\10\377\0\0\0X\0\0\0""3\0\0\0\25\0\0"
-  "\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25""7\31\10\377\365\344\316\377\351\316"
-  "\256\377\350\316\251\377\341\274\224\377\332\264\207\377\330\262\201"
-  "\377\327\257\200\377\322\252{\377\320\250s\377\317\245n\377\222tM\377"
-  "z`>\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377y`\77\377\312"
-  "\237g\377\305\233d\377\305\232b\377\302\227_\377\301\224Z\377\276\217"
-  "Q\377\274\207I\377\272\201=\377\267~:\377\263y4\377\246i!\377\213R\24"
-  "\3777\31\10\377\0\0\0X\0\0\0""3\0\0\0\25\0\0\0\6\0\0\0\1\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5"
-  "\0\0\0\25""7\31\10\377\364\341\313\377\350\315\251\377\345\311\244\377"
-  "\335\272\220\377\325\255~\377\322\252{\377\322\252{\377\322\245u\377"
-  "\321\247p\377\314\243m\377\225uL\377\40\32\20\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377!\32\20\377\327\267\216\377\310\236g\377"
-  "\306\233c\377\304\231a\377\302\227_\377\277\221V\377\275\214L\377\274"
-  "\210E\377\273\202>\377\266|7\377\251k\"\377\215S\24\3777\31\10\377\0"
-  "\0\0X\0\0\0""3\0\0\0\25\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25""7\31\10"
-  "\377\365\344\316\377\351\315\254\377\347\313\246\377\337\274\222\377"
-  "\330\260\201\377\326\256\177\377\322\253}\377\322\252{\377\321\245r\377"
-  "\315\243l\377\226wN\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
-  "\377\0\0\0\377\0\0\0\377\341\313\255\377\307\235f\377\304\231a\377\302"
-  "\227_\377\300\223Y\377\276\217Q\377\275\214L\377\274\205C\377\272~=\377"
-  "\263x2\377\247j\"\377\213R\24\3777\31\10\377\0\0\0X\0\0\0""3\0\0\0\25"
-  "\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25""7\31\10\377\364\341\313\377\350"
-  "\314\247\377\345\312\244\377\334\271\217\377\326\256\177\377\323\253"
-  "|\377\322\252{\377\322\245u\377\317\245n\377\312\241k\377\225uL\377\40"
-  "\31\20\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\40\31\17"
-  "\377\336\306\247\377\302\230a\377\301\222V\377\277\220T\377\275\215N"
-  "\377\274\207I\377\272\202\77\377\265}:\377\265x6\377\255r,\377\244f\35"
-  "\377\207P\24\3777\31\10\377\0\0\0X\0\0\0""3\0\0\0\25\0\0\0\6\0\0\0\1"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\1\0\0\0\5\0\0\0\25""7\31\10\377\365\344\316\377\351\315\254\377\347"
-  "\313\246\377\335\272\220\377\325\255~\377\322\253y\377\321\250r\377\317"
-  "\245n\377\312\241k\377\310\237h\377\305\232b\377u\\8\377\0\0\0\377\0"
-  "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377u[7\377\335\307\247\377\302\223"
-  "[\377\301\222V\377\277\220R\377\276\216O\377\274\210K\377\274\203\77"
-  "\377\267\177<\377\266|7\377\260u/\377\244h!\377\211Q\24\3777\31\10\377"
-  "\0\0\0X\0\0\0""3\0\0\0\25\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25""7\31\10"
-  "\377\365\346\320\377\352\317\257\377\351\316\252\377\341\274\224\377"
-  "\333\264\206\377\332\263\205\377\332\263\205\377\326\256\177\377\322"
-  "\253y\377\320\250s\377\317\245n\377\314\243m\377z`>\377!\32\20\377\0"
-  "\0\0\377\40\32\21\377\222~c\377\343\317\263\377\324\263\210\377\306\233"
-  "c\377\302\230]\377\301\224Z\377\277\220T\377\275\214L\377\273\204D\377"
-  "\267\177<\377\266z9\377\261v0\377\244h!\377\213R\24\3777\31\10\377\0"
-  "\0\0X\0\0\0""3\0\0\0\25\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25""7\31\10"
-  "\377\364\341\313\377\351\316\252\377\345\311\244\377\332\270\213\377"
-  "\322\254w\377\322\245u\377\321\250r\377\315\244n\377\312\241k\377\310"
-  "\236g\377\304\231a\377\302\230]\377\245}M\377\0\0\0\377\0\0\0\377\0\0"
-  "\0\377\331\277\236\377\312\243q\377\304\231a\377\302\230a\377\302\223"
-  "[\377\277\221V\377\277\220T\377\275\214L\377\274\210E\377\272\202\77"
-  "\377\267}8\377\263x2\377\255o&\377\211Q\24\3777\31\10\377\0\0\0X\0\0"
-  "\0""3\0\0\0\25\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25""7\31\10\377\365"
-  "\344\316\377\351\316\252\377\347\313\246\377\334\271\217\377\326\256"
-  "\177\377\323\253|\377\322\252{\377\322\245u\377\320\246o\377\312\241"
-  "k\377\310\236g\377\272\223^\377\225tJ\377\0\0\0\377\0\0\0\377\0\0\0\377"
-  "\305\263\233\377\304\231a\377\304\231a\377\302\230a\377\301\222V\377"
-  "\277\221V\377\276\216O\377\274\207I\377\274\203\77\377\267~:\377\265"
-  "y8\377\255v.\377\257r*\377\207P\24\3777\31\10\377\0\0\0X\0\0\0""3\0\0"
-  "\0\25\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25""7\31\10\377\365\346\320\377"
-  "\352\317\257\377\351\316\252\377\341\275\226\377\333\264\206\377\330"
-  "\260\201\377\326\256\177\377\322\254{\377\320\250s\377\315\243l\377\312"
-  "\240i\377\265\217]\377\203fA\377\0\0\0\377\0\0\0\377\0\0\0\377\217uT"
-  "\377\336\306\247\377\304\231a\377\302\230]\377\301\222V\377\277\220T"
-  "\377\275\215N\377\274\211G\377\274\203\77\377\267~:\377\265y8\377\257"
-  "s,\377\275\202B\377\207P\24\3777\31\10\377\0\0\0X\0\0\0""3\0\0\0\25\0"
-  "\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25""7\31\10\377\364\341\313\377\347"
-  "\314\250\377\346\306\241\377\333\270\216\377\323\253|\377\322\253y\377"
-  "\321\247v\377\320\246o\377\314\242k\377\312\237g\377\305\232b\377\264"
-  "\215Y\377lT3\377\0\0\0\377\0\0\0\377\0\0\0\377mU6\377\336\306\247\377"
-  "\304\231a\377\302\230a\377\302\223[\377\301\222V\377\277\220R\377\274"
-  "\210K\377\273\204D\377\272~=\377\264{7\377\261v0\377\300\215Q\377\211"
-  "N\24\3777\31\10\377\0\0\0X\0\0\0""3\0\0\0\25\0\0\0\6\0\0\0\1\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"
-  "\0\5\0\0\0\25""7\31\10\377\364\340\311\377\347\313\246\377\346\306\241"
-  "\377\334\263\207\377\321\253v\377\321\245r\377\320\246o\377\315\243l"
-  "\377\310\237h\377\304\231a\377\262\213W\377\254\203N\377\77""0\34\377"
-  "\0\0\0\377\0\0\0\377\0\0\0\377@2\36\377\322\275\237\377\310\242q\377"
-  "\302\223[\377\277\221V\377\277\220T\377\275\215N\377\274\211G\377\270"
-  "\200=\377\265|8\377\265x6\377\257t.\377\300\215Q\377\206L\23\3777\31"
-  "\10\377\0\0\0X\0\0\0""3\0\0\0\25\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25"
-  "7\31\10\377\364\341\313\377\346\312\245\377\346\306\241\377\333\264\206"
-  "\377\321\253v\377\320\247q\377\317\245n\377\312\241k\377\310\236g\377"
-  "\304\231a\377\262\207S\377\232uE\377\77""0\34\377\0\0\0\377\0\0\0\377"
-  "\0\0\0\377\77""0\34\377\211h>\377\332\301\240\377\275\216P\377\275\215"
-  "N\377\274\210K\377\273\204D\377\272\202\77\377\267~:\377\264{7\377\261"
-  "w2\377\255q*\377\312\235c\377\207M\24\3777\31\10\377\0\0\0X\0\0\0""3"
-  "\0\0\0\25\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\25""7\31\10\377\364\341\313"
-  "\377\350\314\247\377\344\310\243\377\332\270\215\377\323\253|\377\322"
-  "\246w\377\320\253u\377\320\246o\377\313\242l\377\310\237h\377\267\217"
-  "[\377\177c\77\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377r"
-  "Y8\377\323\263\211\377\302\230a\377\301\222V\377\277\221V\377\276\217"
-  "Q\377\274\210K\377\274\204A\377\265}:\377\265|8\377\261v0\377\314\237"
-  "i\377\211Q\24\3777\31\10\377\0\0\0X\0\0\0""3\0\0\0\25\0\0\0\6\0\0\0\1"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\1\0\0\0\5\0\0\0\25""7\31\10\377\365\344\316\377\350\315\251\377\345"
-  "\311\244\377\334\271\217\377\325\255~\377\322\252{\377\322\253y\377\321"
-  "\247p\377\317\245n\377\312\241k\377\310\237h\377\305\232b\377\305\232"
-  "b\377\305\232b\377\305\232b\377\305\232b\377\305\232b\377\305\232b\377"
-  "\305\232b\377\304\231a\377\302\223[\377\277\221V\377\277\220R\377\274"
-  "\207I\377\274\203\77\377\267~:\377\270\177;\377\274\202=\377\316\241"
-  "k\377\211N\24\3777\31\10\377\0\0\0X\0\0\0""3\0\0\0\25\0\0\0\6\0\0\0\1"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\1\0\0\0\5\0\0\0\25""7\31\10\377\364\341\313\377\350\313\245\377\345"
-  "\311\244\377\332\270\213\377\322\252{\377\322\245u\377\321\247p\377\315"
-  "\244n\377\312\237g\377\307\234d\377\304\231a\377\301\227\\\377\300\223"
-  "Y\377\300\222W\377\300\222W\377\300\222W\377\300\222W\377\300\222W\377"
-  "\300\222W\377\277\221V\377\277\220R\377\276\216O\377\274\211G\377\273"
-  "\204D\377\271\201>\377\265|8\377\270\177;\377\274\205E\377\315\240j\377"
-  "\207P\24\3777\31\10\377\0\0\0X\0\0\0""3\0\0\0\25\0\0\0\6\0\0\0\1\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1"
-  "\0\0\0\5\0\0\0\25""7\31\10\377\364\340\311\377\346\311\243\377\345\305"
-  "\240\377\331\270\210\377\323\246v\377\320\247q\377\317\245n\377\313\242"
-  "l\377\312\237g\377\306\233c\377\305\232b\377\304\231a\377\302\230]\377"
-  "\302\230a\377\302\230a\377\304\231a\377\304\231a\377\305\232b\377\305"
-  "\232b\377\304\231a\377\301\224Z\377\300\223Y\377\277\220T\377\274\214"
-  "M\377\274\211G\377\276\212M\377\304\231a\377\276\213O\377\307\235`\377"
-  "\211N\24\3777\31\10\377\0\0\0W\0\0\0""3\0\0\0\25\0\0\0\5\0\0\0\1\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1"
-  "\0\0\0\5\0\0\0\24""7\31\10\377\364\340\311\377\346\310\241\377\341\303"
-  "\234\377\332\263\205\377\321\245r\377\317\245n\377\315\243l\377\310\237"
-  "h\377\305\233d\377\302\231_\377\302\223[\377\300\222W\377\277\221V\377"
-  "\277\221V\377\300\222W\377\302\223[\377\301\227\\\377\305\232b\377\310"
-  "\236g\377\315\243l\377\315\243l\377\316\241k\377\316\241k\377\322\253"
-  "y\377\322\252w\377\321\245r\377\324\247s\377\277\212L\377\261s0\377\207"
-  "M\24\3777\31\10\377\0\0\0T\0\0\0""0\0\0\0\24\0\0\0\5\0\0\0\1\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"
-  "\0\5\0\0\0\22""3\27\7\301\262u-\377\307\235`\377\304\232]\377\275\214"
-  "L\377\272~=\377\270~9\377\266z9\377\265x6\377\263u2\377\257w.\377\255"
-  "r,\377\254t+\377\252r)\377\252r)\377\252r)\377\256q)\377\256q)\377\256"
-  "q)\377\256q)\377\252r)\377\251m&\377\252l#\377\245i\"\377\243g\40\377"
-  "\242e\35\377\236a\31\377\233_\30\377\231]\26\377\222V\25\377X0\15\377"
-  "&\21\5\264\0\0\0K\0\0\0*\0\0\0\21\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\4\0\0\0\16"
-  "+\23\6q1\26\7\3077\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10"
-  "\3777\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10\377"
-  "7\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31"
-  "\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10\3777\31\10"
-  "\3777\31\10\3777\31\10\3777\31\10\3777\31\10\377&\21\5\264\14\5\1e\0"
-  "\0\0;\0\0\0\40\0\0\0\14\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\11\0\0\0\30"
-  "\0\0\0,\0\0\0A\0\0\0O\0\0\0U\0\0\0W\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0"
-  "X\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0"
-  "\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0X\0\0\0W\0\0\0S\0"
-  "\0\0K\0\0\0;\0\0\0'\0\0\0\24\0\0\0\7\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"
-  "\0\4\0\0\0\15\0\0\0\30\0\0\0$\0\0\0,\0\0\0""0\0\0\0""3\0\0\0""3\0\0\0"
-  "3\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""3\0\0"
-  "\0""3\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""3"
-  "\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""3\0\0\0""2\0\0\0""0\0\0\0"
-  "*\0\0\0\40\0\0\0\24\0\0\0\11\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\2\0\0\0\4\0\0\0\11\0\0\0\16\0\0\0\22\0\0\0\24\0\0\0\25\0\0\0\25\0"
-  "\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25"
-  "\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0"
-  "\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\25\0\0\0\24\0"
-  "\0\0\21\0\0\0\14\0\0\0\7\0\0\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\5\0\0\0\5\0\0\0\5\0\0\0\5\0\0"
-  "\0\5\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6"
-  "\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0\0\6\0\0"
-  "\0\6\0\0\0\6\0\0\0\6\0\0\0\5\0\0\0\5\0\0\0\5\0\0\0\4\0\0\0\3\0\0\0\2"
-  "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0"
-  "\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1"
-  "\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0"
-  "\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-  "\0\0\0\0\0\0\0\0\0\0\0\0"};
-
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui/no-pixbuf-csource.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui/no-pixbuf-csource.patch
deleted file mode 100644
index e0765ba..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui/no-pixbuf-csource.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libgnomeui-2.6.1.1/configure.in.old	2004-08-04 00:28:43.582266664 +0100
-+++ libgnomeui-2.6.1.1/configure.in	2004-08-04 00:29:27.496590672 +0100
-@@ -235,7 +235,7 @@
- 
- dnl This is installed from GTK+ 2.0's gdk-pixbuf
- AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource)
--test -z "$GDK_PIXBUF_CSOURCE" && AC_MSG_ERROR([
-+test -z "$GDK_PIXBUF_CSOURCE" && AC_MSG_WARN([
- *** You need the gdk-pixbuf-csource tool which is installed
- *** from GTK+ 2.0's gdk-pixbuf.
- ***
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui_2.24.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui_2.24.5.bb
deleted file mode 100644
index 45219d4..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui_2.24.5.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "GNOME User Interface Library"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
-
-SECTION = "x11/gnome/libs"
-DEPENDS = "libgnome libgnomecanvas libbonoboui libgnome-keyring intltool-native gnome-common-native"
-
-inherit gnome
-
-FILES_${PN} += "${libdir}/gtk-2.0/*/filesystems/lib*.so \
-                ${libdir}/libglade/*/lib*.so \
-                ${datadir}/pixmaps/gnome-about-logo.png"
-FILES_${PN}-dev += "${libdir}/gtk-2.0/*/filesystems/*.la ${libdir}/gtk-2.0/*/filesystems/*.a ${libdir}/libglade/*/*.la"
-FILES_${PN}-staticdev += "${libdir}/libglade/*/*.a"
-
-SRC_URI += " \
-    file://0001-suppress-string-format-literal-warning-to-fix-build-.patch \
-    file://gnome-stock-pixbufs.h \
-    file://no-pixbuf-csource.patch \
-"
-SRC_URI[archive.md5sum] = "d4bb506b1916015323928faab5aa708b"
-SRC_URI[archive.sha256sum] = "ae352f2495889e65524c979932c909f4629a58e64290fb0c95333373225d3c0f"
-GNOME_COMPRESS_TYPE="bz2"
-
-EXTRA_OECONF = "--disable-gtk-doc"
-
-do_configure_prepend() {
-    install -m 0644 ${WORKDIR}/gnome-stock-pixbufs.h ${S}/libgnomeui/pixmaps/gnome-stock-pixbufs.h
-}
-
-LDFLAGS += "-lm"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
index 3cd7910..a7c8a6f 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb
@@ -5,7 +5,9 @@
 LIC_FILES_CHKSUM = "file://tap.c;beginline=1;endline=20;md5=71756eeb144e9eeb177c69aa672b1635"
 PR = "r4"
 
-inherit autotools pkgconfig
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "http://burtonini.com/temp/${BP}.tar.gz \
     file://gtkstylus.sh"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb
deleted file mode 100644
index 946d118..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.30.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "LibGTop2"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://copyright.txt;md5=dbc839bf158d19a20e661db14db7a58c"
-
-inherit gnomebase lib_package gtk-doc distro_features_check gobject-introspection
-# depends on libxau
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
-           file://0001-netload-Include-libc-net-headers-unconditionally.patch \
-           "
-SRC_URI[archive.md5sum] = "ee29a9ef60659ebf4b075ac281f71cb2"
-SRC_URI[archive.sha256sum] = "463bcbe5737b1b93f3345ee34abf601e8eb864f507c49ff1921c2737abafc1e5"
-
-DEPENDS = "glib-2.0 intltool-native libxau"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.38.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.38.0.bb
new file mode 100644
index 0000000..494934f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.38.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "LibGTop2"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit gnomebase lib_package gtk-doc distro_features_check gobject-introspection gettext
+
+# depends on libxau
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "bb0ce7de6b28694b40405eedac8a31b5"
+SRC_URI[archive.sha256sum] = "4f6c0e62bb438abfd16b4559cd2eca0251de19e291c888cdc4dc88e5ffebb612"
+
+DEPENDS = "glib-2.0 libxau"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb
deleted file mode 100644
index 2252c44..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SECTION = "libs"
-require libidl_${PV}.bb
-inherit native
-
-PR = "r1"
-
-DEPENDS = "bison-native glib-2.0-native flex-native"
-
-SRC_URI[md5sum] = "bb8e10a218fac793a52d404d14adedcb"
-SRC_URI[sha256sum] = "c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl.inc b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl.inc
deleted file mode 100644
index 1a5c815..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "Library for parsing CORBA IDL files"
-HOMEPAGE = "http://andrewtv.org/libIDL/"
-SECTION = "x11/gnome/libs"
-LICENSE = "LGPLv2+"
-
-inherit autotools pkgconfig
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-${PV}.tar.bz2"
-
-S = "${WORKDIR}/libIDL-${PV}"
-
-FILES_${PN} = "${libdir}/*.so.*"
-FILES_${PN}-dev += " ${bindir}"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl_0.8.14.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl_0.8.14.bb
deleted file mode 100644
index 86dfcf2..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libidl/libidl_0.8.14.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require libidl.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
-
-DEPENDS = "glib-2.0 flex-native libidl-native"
-
-PR = "r1"
-
-BINCONFIG_GLOB = "*-config-2"
-inherit autotools pkgconfig binconfig
-
-SRC_URI[md5sum] = "bb8e10a218fac793a52d404d14adedcb"
-SRC_URI[sha256sum] = "c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb
index d6aeed3..957d7d0 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.5.bb
@@ -15,7 +15,9 @@
 
 B = "${S}"
 
-inherit autotools pkgconfig gobject-introspection
+inherit distro_features_check autotools pkgconfig gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 do_configure_prepend() {
 	(cd ${S}; NOCONFIGURE="yes" . ${S}/autogen.sh)
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch
new file mode 100644
index 0000000..3493e51
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch
@@ -0,0 +1,33 @@
+From ec0e52b49c9b6869413c9544c2ed44710ab91141 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 14 Apr 2018 16:15:59 +0800
+Subject: [PATCH] drop zenity detection
+
+OE does not support zenity
+
+Upstream-Status: inappropriate [OE specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5f9e7e9..80b32c7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -359,11 +359,6 @@ fi
+ 
+ AM_CONDITIONAL(HAVE_SM, test "$found_sm" = "yes") 
+ 
+-AC_PATH_PROG(ZENITY, zenity, no)
+-if test x"$ZENITY" = xno; then
+-  AC_MSG_ERROR([zenity not found in your path - needed for dialogs])
+-fi
+-
+ dnl **************************************************************************
+ dnl Check for Vulkan support
+ dnl **************************************************************************
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch
deleted file mode 100644
index 539d756..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-ui-Define-_GNU_SOURCE.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From e7fd072f0df968f342878b77098e97ff07ed28d7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 14 Jul 2017 10:26:31 -0700
-Subject: [PATCH] ui: Define _GNU_SOURCE
-
-it becomes portable across musl and glibc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/ui/theme.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/ui/theme.c b/src/ui/theme.c
-index 84b57a0..c7eafc8 100644
---- a/src/ui/theme.c
-+++ b/src/ui/theme.c
-@@ -60,6 +60,7 @@
- #include <gtk/gtk.h>
- #include <string.h>
- #include <stdlib.h>
-+#define _GNU_SOURCE
- #define __USE_XOPEN
- #include <math.h>
- 
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/remove-yelp-help-rules-var.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/remove-yelp-help-rules-var.patch
deleted file mode 100644
index 1970e9a..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/remove-yelp-help-rules-var.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Remove unused variable (YELP_HELP_RULES)
-
-Upstream-Status: Pending
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Index: metacity-2.34.13/doc/creating_themes/Makefile.am
-===================================================================
---- metacity-2.34.13.orig/doc/creating_themes/Makefile.am
-+++ metacity-2.34.13/doc/creating_themes/Makefile.am
-@@ -1,6 +1,5 @@
- ### This part of Makefile.am can be customized by you.
- 
--@YELP_HELP_RULES@
- 
- # The name of the directory in /usr/share/gnome/help/, 
- # and the name of the main .xml file:
-Index: metacity-2.34.13/doc/creating_themes/Makefile.in
-===================================================================
---- metacity-2.34.13.orig/doc/creating_themes/Makefile.in
-+++ metacity-2.34.13/doc/creating_themes/Makefile.in
-@@ -455,7 +455,6 @@ uninstall-am:
- 	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
- 
- 
--@YELP_HELP_RULES@
- 
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb
deleted file mode 100644
index 370de70..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SECTION = "x11/wm"
-SUMMARY = "Metacity is the boring window manager for the adult in you"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://src/include/main.h;endline=24;md5=c2242df552c880280315989bab626b90"
-
-DEPENDS = "gsettings-desktop-schemas startup-notification gtk+ gconf gdk-pixbuf-native libcanberra gnome-doc-utils libgtop intltool-native"
-PR = "r1"
-
-inherit gnomebase update-alternatives distro_features_check
-# depends on startup-notification which depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-GNOME_COMPRESS_TYPE = "xz"
-
-SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
-           file://remove-yelp-help-rules-var.patch \
-           file://0001-ui-Define-_GNU_SOURCE.patch \
-           "
-SRC_URI[archive.md5sum] = "6d89b71672d4fa49fc87f83d610d0ef6"
-SRC_URI[archive.sha256sum] = "8cf4dbf0da0a6f36357ce7db7f829ec685908a7792453c662fb8184572b91075"
-
-ALTERNATIVE_${PN} = "x-window-manager"
-ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/metacity"
-ALTERNATIVE_PRIORITY = "10"
-
-EXTRA_OECONF += "--disable-xinerama"
-
-do_configure_prepend() {
-    sed -i -e 's:$ZENITY:$NOZENITY:g' -e 's:-Werror::g' ${S}/configure.in
-}
-
-FILES_${PN} += "${datadir}/themes ${datadir}/gnome-control-center ${datadir}/gnome"
-RDEPENDS_${PN} += "gsettings-desktop-schemas"
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.38.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.38.0.bb
new file mode 100644
index 0000000..48fc914
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.38.0.bb
@@ -0,0 +1,34 @@
+SECTION = "x11/wm"
+SUMMARY = "Metacity is the boring window manager for the adult in you"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \
+                    file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad"
+
+DEPENDS = "gsettings-desktop-schemas startup-notification \
+           gnome-doc-utils gdk-pixbuf-native \
+           gtk+3 glib-2.0 libcanberra libgtop intltool-native"
+
+inherit autotools gettext gnomebase distro_features_check
+# depends on startup-notification which depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "git://github.com/GNOME/metacity.git;branch=master \
+           file://0001-drop-zenity-detection.patch \
+"
+
+S = "${WORKDIR}/git"
+SRCREV = "c0d4b2fc0fcd6f2d3c37da935923f9e9ed5eb99f"
+
+EXTRA_OECONF += "--disable-xinerama"
+
+do_configure_prepend() {
+    cd ${S}
+    aclocal --install || exit 1
+    autoreconf --verbose --force --install -Wno-portability || exit 1
+    cd -
+
+}
+
+FILES_${PN} += "${datadir}/themes ${datadir}/gnome-control-center ${datadir}/gnome"
+RDEPENDS_${PN} += "gsettings-desktop-schemas"
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/no-try-run-strftime.diff b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/no-try-run-strftime.diff
deleted file mode 100644
index ccd2934..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/no-try-run-strftime.diff
+++ /dev/null
@@ -1,28 +0,0 @@
---- /tmp/configure.in	2009-04-13 11:26:43.000000000 +0200
-+++ nautilus-2.26.1/configure.in	2009-04-13 11:28:37.000000000 +0200
-@@ -375,25 +375,6 @@
- 
- dnl ===========================================================================
- 
--dnl strftime checks
--
--AC_TRY_RUN([#include <time.h>
--                int main ()
--                {
--                  char buf[100];
--                  struct tm tm = {0};
--                  tm.tm_year = 99;
--                  if (strftime(buf, 100, "%EY", &tm) == 4 &&
--		      strcmp (buf, "1999")==0)
--                    return 0;
--                  return 1;
--                }
--            ],
--	    AC_DEFINE(HAVE_STRFTIME_EXTENSION, 1, [Define if strftime supports %E and %O modifiers.])
--            )
--
--dnl ===========================================================================
--
- #
- # Checks for Xft/XRender
- #
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus3/no-try-run-strftime.diff b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus3/no-try-run-strftime.diff
deleted file mode 100644
index 56d2e15..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus3/no-try-run-strftime.diff
+++ /dev/null
@@ -1,41 +0,0 @@
-From dc9c8cf2676c8c91ea0ae250cfedf863352f3ccd Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 24 Jun 2011 20:24:08 +0200
-Subject: [PATCH] hack out check that tries to run generated binaries
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- configure.in |   17 +----------------
- 1 files changed, 1 insertions(+), 16 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index c3aa371..1d3ecdc 100644
---- a/configure.in
-+++ b/configure.in
-@@ -251,22 +251,7 @@ AC_SUBST(WARNING_CFLAGS)
- 
- dnl ===========================================================================
- 
--dnl strftime checks
--
--AC_TRY_RUN([#include <time.h>
--                int main ()
--                {
--                  char buf[100];
--                  struct tm tm = {0};
--                  tm.tm_year = 99;
--                  if (strftime(buf, 100, "%EY", &tm) == 4 &&
--		      strcmp (buf, "1999")==0)
--                    return 0;
--                  return 1;
--                }
--            ],
--	    AC_DEFINE(HAVE_STRFTIME_EXTENSION, 1, [Define if strftime supports %E and %O modifiers.])
--            )
-+AC_DEFINE(HAVE_STRFTIME_EXTENSION, 1, [Define if strftime supports %E and %O modifiers.])
- 
- dnl ==========================================================================
- 	
--- 
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb
new file mode 100644
index 0000000..8fdbf6a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.18.5.bb
@@ -0,0 +1,29 @@
+SUMMARY = "File manager for GNOME"
+SECTION = "x11/gnome"
+
+LICENSE="GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=36cf660aea2b8beffba7945f44a7e748 \
+                    file://COPYING.EXTENSIONS;md5=7579d6678402a1868631bf82c93ff0d4 \
+                    file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/nautilus/3.18/nautilus-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "0f578bda5655c0ce204befafca5803d7"
+SRC_URI[sha256sum] = "60a927c0522b4cced9d8f62baed2ee5e2fd4305be4523eb5bc44805971a6cc15"
+
+DEPENDS = "gtk+3 gnome-desktop3 gsettings-desktop-schemas glib-2.0-native intltool-native pango"
+
+inherit distro_features_check autotools pkgconfig gobject-introspection
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF = " \
+    --disable-gtk-doc \
+    --disable-update-mimedb \
+    --disable-nst-extension \
+    --enable-tracker=no \
+    --disable-schemas-compile \
+    --enable-xmp=no \
+    --enable-libexif=no \ 
+"
+
+FILES_${PN} += "${datadir}/*"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/0001-linc2-src-Makefile.am-fix-build-with-glib-2.36.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/0001-linc2-src-Makefile.am-fix-build-with-glib-2.36.patch
deleted file mode 100644
index daf7464..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/0001-linc2-src-Makefile.am-fix-build-with-glib-2.36.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 10bd8094e1d94e5c737791c7f4b6b844f535c120 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 3 May 2013 10:00:16 +0200
-Subject: [PATCH] linc2/src/Makefile.am: fix build with glib 2.36
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Submitted [1]
-
-[1] https://bugzilla.gnome.org/show_bug.cgi?id=696900
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- linc2/src/Makefile.am |    3 +--
- 1 files changed, 1 insertions(+), 2 deletions(-)
-
-diff --git a/linc2/src/Makefile.am b/linc2/src/Makefile.am
-index 357a2dd..ba0e347 100644
---- a/linc2/src/Makefile.am
-+++ b/linc2/src/Makefile.am
-@@ -12,8 +12,7 @@ INCLUDES =                         \
- 	-I$(top_builddir)/linc2/include  \
- 	-I$(top_srcdir)/linc2/include    \
- 	$(LINC_CFLAGS)             \
--	$(WARN_CFLAGS)             \
--	-DG_DISABLE_DEPRECATED
-+	$(WARN_CFLAGS)
- 
- if OS_WIN32
- else
--- 
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/0002-Use-AM_CPPFLAGS-instead-of-INCLUDES-and-fix-problem-.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/0002-Use-AM_CPPFLAGS-instead-of-INCLUDES-and-fix-problem-.patch
deleted file mode 100644
index 7993abb..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/0002-Use-AM_CPPFLAGS-instead-of-INCLUDES-and-fix-problem-.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From d91dbb42dc3b6073720027f68827acd0abee6d75 Mon Sep 17 00:00:00 2001
-From: Kjartan Maraas <kmaraas@gnome.org>
-Date: Tue, 14 May 2013 13:29:53 +0200
-Subject: [PATCH] Use AM_CPPFLAGS instead of INCLUDES and fix problem using
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Backport [1]
-
-[1] https://git.gnome.org/browse/ORBit2/commit/test/everything/Makefile.am?id=d91dbb42dc3b6073720027f68827acd0abee6d75
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- test/everything/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/test/everything/Makefile.am b/test/everything/Makefile.am
-index 32beb36..cb4b1d6 100644
---- a/test/everything/Makefile.am
-+++ b/test/everything/Makefile.am
-@@ -10,7 +10,7 @@ EVERYTHING_IDLOUT =          \
- 	$(EVERYTHING_BUILT)  \
- 	everything-imodule.c
- 
--INCLUDES =                                 \
-+AM_CPPFLAGS =                              \
- 	-I$(top_srcdir)/include            \
- 	-I$(top_builddir)/include          \
- 	-I$(top_builddir)/src              \
-@@ -78,7 +78,7 @@ include $(top_srcdir)/Makefile.shared
- BUILT_SOURCES = ${EVERYTHING_BUILT} everything-imodule.c
- CLEANFILES = ${BUILT_SOURCES} iorfile
- 
--TESTS = $(srcdir)/test.sh
-+TESTS = $(top_builddir)/test/everything/test.sh
- 
- EXTRA_DIST = $(IDL_FILES) test.sh $(included_src)
- 
--- 
-1.8.3.1
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/configure-lossage.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/configure-lossage.patch
deleted file mode 100644
index 5fc1de5..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/configure-lossage.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- ORBit2-2.14.17/configure.in-orig	2009-01-10 09:36:18.000000000 -0800
-+++ ORBit2-2.14.17/configure.in	2009-06-17 15:10:59.000000000 -0700
-@@ -217,20 +217,20 @@ dnl
- dnl   So many people with broken linking setups asked about this
- dnl it turned out to be necessary to check for this.
- dnl
--dofus_save_libs="$LIBS"
--LIBS="$ORBIT_LIBS $LIBS"
--AC_TRY_RUN([ #include <stdio.h>
--             main ()
--             {
--               return 0;
--             } ],,
--           AC_MSG_ERROR([
--Linking is badly borked on your system. Please ensure your library path is correct
--Check config.log for details - check near the end of the log above 'failed program was'
--Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the
--prefix you're compiling on: '${prefix}' ]), 
--AC_MSG_WARN([Could not check for borked linking while cross-compiling]))
--LIBS="$dofus_save_libs"
-+dnl dofus_save_libs="$LIBS"
-+dnl LIBS="$ORBIT_LIBS $LIBS"
-+dnl AC_TRY_RUN([ #include <stdio.h>
-+dnl             main ()
-+dnl              {
-+dnl                return 0;
-+dnl              } ],,
-+dnl            AC_MSG_ERROR([
-+dnl Linking is badly borked on your system. Please ensure your library path is correct
-+dnl Check config.log for details - check near the end of the log above 'failed program was'
-+dnl Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the
-+dnl prefix you're compiling on: '${prefix}' ]), 
-+dnl AC_MSG_WARN([Could not check for borked linking while cross-compiling]))
-+dnl LIBS="$dofus_save_libs"
- 
- orig_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $ORBIT_CFLAGS"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/pkgconfig-fix.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/pkgconfig-fix.patch
deleted file mode 100644
index f629e50..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2/pkgconfig-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN ORBit2-2.14.12.orig/ORBit-2.0.pc.in ORBit2-2.14.12/ORBit-2.0.pc.in
---- ORBit2-2.14.12.orig/ORBit-2.0.pc.in	2008-01-29 13:45:22.000000000 +0100
-+++ ORBit2-2.14.12/ORBit-2.0.pc.in	2008-09-23 20:13:07.000000000 +0200
-@@ -2,7 +2,7 @@
- exec_prefix=@exec_prefix@
- libdir=@libdir@
- includedir=@includedir@
--orbit_idl=@bindir@/orbit-idl-2@EXEEXT@
-+orbit_idl=@exec_prefix@/bin/orbit-idl-2@EXEEXT@
- 
- 
- Name: ORBit-2.0
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2_2.14.19.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2_2.14.19.bb
deleted file mode 100644
index eb43972..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/orbit2/orbit2_2.14.19.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "CORBA ORB"
-HOMEPAGE = "http://www.gnome.org/projects/ORBit2"
-SECTION = "x11/gnome/libs"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-SRC_NAME = "ORBit2"
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-SRC_URI = " \
-    ${GNOME_MIRROR}/${SRC_NAME}/${SHRT_VER}/${SRC_NAME}-${PV}.tar.bz2 \
-    file://configure-lossage.patch \
-    file://pkgconfig-fix.patch \
-    file://0001-linc2-src-Makefile.am-fix-build-with-glib-2.36.patch \
-    file://0002-Use-AM_CPPFLAGS-instead-of-INCLUDES-and-fix-problem-.patch \
-"
-SRC_URI[md5sum] = "7082d317a9573ab338302243082d10d1"
-SRC_URI[sha256sum] = "55c900a905482992730f575f3eef34d50bda717c197c97c08fa5a6eafd857550"
-
-BBCLASSEXTEND = "native"
-
-IDL_COMPILER_DEPENDS = "orbit2-native"
-IDL_COMPILER_DEPENDS_class-native = " "
-DEPENDS = "libidl popt ${IDL_COMPILER_DEPENDS}"
-
-# IDL_COMPILER_DEPENDS_class-native for some reason didn't work and orbit2-native
-# was still in orbit2-native DEPENDS causing circular dependency
-DEPENDS_class-native = "libidl-native popt-native"
-PARALLEL_MAKE = ""
-
-
-FILES_${PN} += "${libdir}/orbit-2.0/*.so"
-FILES_${PN}-dev += "${libdir}/orbit-2.0/*.la"
-FILES_${PN}-staticdev += "${libdir}/orbit-2.0/*.a"
-FILES_${PN}-dbg += "${libdir}/orbit-2.0/.debug"
-
-S = "${WORKDIR}/${SRC_NAME}-${PV}"
-
-LEAD_SONAME = "libORBit-2.so"
-
-inherit autotools pkgconfig gtk-doc
-
-EXTRA_OEMAKE = "IDL_COMPILER='${STAGING_BINDIR_NATIVE}/orbit-idl-2'"
-EXTRA_OEMAKE_class-native = " "
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/stock_contact.png b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/stock_contact.png
deleted file mode 100644
index 123b448..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/stock_contact.png
+++ /dev/null
Binary files differ
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/stock_person.png b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/stock_person.png
deleted file mode 100644
index 2b1328b..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/contacts/stock_person.png
+++ /dev/null
Binary files differ
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates.inc b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates.inc
deleted file mode 100644
index 12d2f83..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Dates is a calendar application."
-HOMEPAGE = "http://pimlico-project.org/dates.html"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "GPLv2 & GPLv2+ & LGPLv2+"
-
-SECTION = "x11"
-DEPENDS = "glib-2.0 gtk+ libglade evolution-data-server intltool-native"
-RDEPENDS_${PN} = "libedata-cal"
-
-inherit autotools gettext pkgconfig gtk-icon-cache
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/0001-Fix-format-security-warnings.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/0001-Fix-format-security-warnings.patch
deleted file mode 100644
index 4f551a7..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/0001-Fix-format-security-warnings.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 687881c5fa342686c8724adcdac0f9d555a351c3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Apr 2017 18:10:57 -0700
-Subject: [PATCH] Fix format security warnings
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/dates_callbacks.c | 2 +-
- src/dates_gtk.c       | 2 +-
- src/gconf-bridge.c    | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/dates_callbacks.c b/src/dates_callbacks.c
-index d704c8f..46b8cb1 100644
---- a/src/dates_callbacks.c
-+++ b/src/dates_callbacks.c
-@@ -365,7 +365,7 @@ dates_about_cb (GtkWidget *widget, DatesData *d)
- 
- 	if (!pixb) {
- 		g_assert (error);
--		g_warning (error->message);
-+		g_warning ("%s", error->message);
- 		g_clear_error (&error);
- 	}
- 
-diff --git a/src/dates_gtk.c b/src/dates_gtk.c
-index 403bc25..fd691d2 100644
---- a/src/dates_gtk.c
-+++ b/src/dates_gtk.c
-@@ -1114,7 +1114,7 @@ calendar_do_edit_dialog_response_cb (GtkDialog *dialog, gint response_id, gpoint
- 				GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
- 				GTK_MESSAGE_WARNING,
- 				GTK_BUTTONS_NONE,
--				prompt);
-+				"%s", prompt);
- 
- 		g_free (prompt);
- 
-diff --git a/src/gconf-bridge.c b/src/gconf-bridge.c
-index 49754cf..67d3757 100644
---- a/src/gconf-bridge.c
-+++ b/src/gconf-bridge.c
-@@ -1220,7 +1220,7 @@ error_handler (GConfClient *client,
-                 dlg = gtk_message_dialog_new (NULL, 0,
-                                               GTK_MESSAGE_ERROR,
-                                               GTK_BUTTONS_OK,
--                                              message);
-+                                              "%s", message);
-                 g_free (message);
- 
-                 gtk_message_dialog_format_secondary_text
--- 
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/dso_linking_change_build_fix.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/dso_linking_change_build_fix.patch
deleted file mode 100644
index 649d59d..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/dso_linking_change_build_fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-after gcc linking has changed, all the libraries must be explicitely specified 
-This patch avoids these linking errors:
-
-
-| make[2]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/dates-0.4.11+git0+514185dc1f6588085fda41eb59898b93d0487dd4-r2/git/src'^M
-...
-| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: e: invalid DSO for symbol `pow@@GLIBC_2.0' definition^M
-| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libm.so: could not read symbols: Bad value^M
-| collect2: ld returned 1 exit status^M
-| make[2]: *** [dates] Error 1
-
-
-
-| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: z: invalid DSO for symbol `pango_layout_get_extents' definition
-| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpango-1.0.so: could not read symbols: Bad value
-| collect2: ld returned 1 exit status
-| make[2]: *** [dates] Error 1
-
-
-Nitin A Kamble <nitin.a.kamble@intel.com>
-Date: 2011/01/11
-
-Update:
-This is identified as a libtool issue. While creating the libgtkdatesview.la 
-file, libtool should have added these needed libraries in there.
- A bug has been created for this issue: 
-   http://bugzilla.pokylinux.org/show_bug.cgi?id=664
-Nitin A Kamble <nitin.a.kamble@intel.com>
-Date: 2011/01/19
-
-Upstream-Status: Pending
-
-Index: git/src/Makefile.am
-===================================================================
---- git.orig/src/Makefile.am
-+++ git/src/Makefile.am
-@@ -34,6 +34,6 @@ dates_SOURCES = $(platform) 	\
- 	gconf-bridge.h		\
- 	gconf-bridge.c
- 
--dates_LDADD = $(DATES_LIBS) $(OWL_LIBS) libgtkdatesview.la
-+dates_LDADD = $(DATES_LIBS) $(OWL_LIBS) libgtkdatesview.la -lm -lpango-1.0
- 
- MAINTAINERCLEANFILES = config.h.in Makefile.in
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/uclibc-NL_TIME_FIRST_WEEKDAY-absent.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/uclibc-NL_TIME_FIRST_WEEKDAY-absent.patch
deleted file mode 100644
index 6ade470..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates/uclibc-NL_TIME_FIRST_WEEKDAY-absent.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-uclibc has langinfo.h but it does not define _NL_TIME_FIRST_WEEKDAY
-therefore we introduce a check in configure for the this define
-and then we make sure that we use it when it really exists
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac	2011-07-18 10:34:15.000000000 -0700
-+++ git/configure.ac	2011-07-18 10:54:26.403798188 -0700
-@@ -98,6 +98,8 @@
- 		src/libgtkdatesview.pc
- ])
- 
-+AC_CHECK_DECLS([_NL_TIME_FIRST_WEEKDAY],[],[],[[#include <langinfo.h>]])
-+
- AC_OUTPUT
- 
- echo " "
-Index: git/src/dates_view.c
-===================================================================
---- git.orig/src/dates_view.c	2011-07-18 10:34:15.000000000 -0700
-+++ git/src/dates_view.c	2011-07-18 10:58:46.093798136 -0700
-@@ -1505,7 +1505,11 @@
- 	priv->days = 1;
- 	priv->months = 0;
- 	priv->months_in_row = 4;
-+#if HAVE_DECL__NL_TIME_FIRST_WEEKDAY
- 	priv->week_start = *nl_langinfo (_NL_TIME_FIRST_WEEKDAY) - 1;
-+#else
-+	priv->week_start = 0;
-+#endif
- 	priv->dragbox = TRUE;
- 	priv->single_click = TRUE;
- 	priv->double_click = FALSE;
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates_git.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates_git.bb
deleted file mode 100644
index 14965e9..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/dates_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require dates.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
-                    file://src/dates_view.h;endline=22;md5=29f934f356eb970309cdeb6693b3123a \
-                    file://src/dates_hildon.c;endline=19;md5=63938904198b25de429abb65fbdbdb8a \
-                    file://src/gconf-bridge.c;endline=22;md5=ad7626c6daf4aec590474a243f4912fa"
-
-SRCREV = "c8e30fa3211dcdfcda48184f4c57746a552b9c7a"
-PV = "0.4.11+git${SRCPV}"
-PR = "r9"
-
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://git.gnome.org/${BPN} \
-           file://dso_linking_change_build_fix.patch \
-           file://uclibc-NL_TIME_FIRST_WEEKDAY-absent.patch \
-           file://0001-Fix-format-security-warnings.patch \
-           "
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends-2.10.2/system-tools-backends b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends-2.10.2/system-tools-backends
deleted file mode 100644
index 704c36d..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends-2.10.2/system-tools-backends
+++ /dev/null
@@ -1,74 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          system-tools-backends
-# Required-Start:    $local_fs dbus
-# Required-Stop:     $local_fs dbus
-# Should-Start:	     $syslog
-# Should-Stop:       $syslog
-# Default-Start:     2 3 4 5
-# Default-Stop:      1
-# Short-Description: Gnome System Tools Backends
-# Description:       The Gnome System Tools Backends daemon handles root-needed
-#                    operations to configure your machine with the Gnome System
-#		     Tools.
-### END INIT INFO
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/bin/system-tools-backends
-PIDDIR=/var/run
-PIDFILE=$PIDDIR/system-tools-backends.pid
-NAME=system-tools-backends
-DESC="System Tools Backends"
-
-test -x $DAEMON || exit 0
-
-set -e
-
-do_start() {
-    echo "Starting $DESC"
-    start-stop-daemon --start --startas $DAEMON --quiet --pidfile $PIDFILE
-}
-
-do_stop() {
-    echo "Stopping $DESC"
-    start-stop-daemon --stop --oknodo --quiet --pidfile $PIDFILE --startas $DAEMON
-}
-
-case "$1" in
-  start)
-    do_start
-    ;;
-  stop)
-    do_stop
-    ;;
-  #reload)
-    #
-    # If the daemon can reload its config files on the fly
-    # for example by sending it SIGHUP, do it here.
-    #
-    # If the daemon responds to changes in its config file
-    # directly anyway, make this a do-nothing entry.
-    #
-    # echo "Reloading $DESC configuration files."
-    # start-stop-daemon --stop --signal 1 --quiet --pidfile \
-    #   /var/run/$NAME.pid --exec $DAEMON
-  #;;
-  restart|force-reload)
-    #
-    #   If the "reload" option is implemented, move the "force-reload"
-    #   option to the "reload" entry above. If not, "force-reload" is
-    #   just the same as "restart".
-    #
-    do_stop
-    sleep 5
-    do_start
-    ;;
-  *)
-    N=/etc/init.d/$NAME
-    echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2
-    exit 1
-    ;;
-esac
-
-exit 0
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes/drop-localedir-override.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes/drop-localedir-override.patch
deleted file mode 100644
index e37482b..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes/drop-localedir-override.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Causes locale file to be installed in /usr/locale instead of /usr/share/locale
-
-Apply the same fix as in evolution-data-server:
-https://git.gnome.org/browse/evolution-data-server/commit/configure.ac?id=ec46c763e9342f604b7228c660623d271dfeb101
-
-Upstream-Status: Pending
-
-diff -uNr gnome-themes-2.32.1.orig/configure.in gnome-themes-2.32.1/configure.in
---- gnome-themes-2.32.1.orig/configure.in	2015-09-18 15:01:25.152055729 +0200
-+++ gnome-themes-2.32.1/configure.in	2015-09-18 15:09:03.312072156 +0200
-@@ -19,11 +19,6 @@
- 
- AM_GLIB_GNU_GETTEXT
- 
--# AM_GLIB_GNU_GETTEXT above subst. $DATADIRNAME
--# this is the directory where the *.{mo,gmo} files are installed
--localedir='${prefix}/${DATADIRNAME}/locale'
--AC_SUBST(localedir)
--
- # Workaround to make aclocal get the right flags
- AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}")
- 
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes/iconpath-option.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes/iconpath-option.patch
deleted file mode 100644
index 1b4096d..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes/iconpath-option.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-
-The patch is ported from sato-icon-theme.
-
-pkg-config will only search the target sysroot and we want the native script. This 
-patch adds an option to allow the path to the tool to be specified.
-
-Upstream-Status: Pending
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- configure.in |   26 ++++++++++++++++----------
- 1 file changed, 16 insertions(+), 10 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 5f7a18c..e8fc31e 100644
---- a/configure.in
-+++ b/configure.in
-@@ -74,16 +74,22 @@ AC_ARG_ENABLE([icon-mapping],
- ICONMAP="true"
- if test "x$enable_mapping" != "xno"; then
-    UTILS_REQUIRED=0.8.7
--
--   AC_MSG_CHECKING([icon-naming-utils >= $UTILS_REQUIRED])
--   PKG_CHECK_EXISTS(icon-naming-utils >= $UTILS_REQUIRED, have_utils=yes, have_utils=no)
--   if test "x$have_utils" = "xyes"; then
--      UTILS_PATH="`$PKG_CONFIG --variable=program_path icon-naming-utils`"
--      ICONMAP="$UTILS_PATH/icon-name-mapping"
--      AC_MSG_RESULT([yes])
--   else
--	AC_MSG_RESULT([no])
--   	AC_MSG_ERROR([icon-naming-utils >= $UTILS_REQUIRED is required to build and install gnome-themes])
-+   PKG_PROG_PKG_CONFIG()
-+   AC_ARG_WITH(iconmap,
-+   	    AC_HELP_STRING([--with-iconmap=<dir>], [The location of the icon-name-mapping script to use]),
-+   	    ICONMAP=$withval, ICONMAP="")
-+   if test "x$ICONMAP" = "x"; then
-+      AC_MSG_CHECKING([icon-naming-utils >= $UTILS_REQUIRED])
-+      PKG_CHECK_EXISTS(icon-naming-utils >= $UTILS_REQUIRED, have_utils=yes, have_utils=no)
-+      if test "x$have_utils" = "xyes"; then
-+         UTILS_PATH="`$PKG_CONFIG --variable=program_path icon-naming-utils`"
-+         ICONMAP="$UTILS_PATH/icon-name-mapping"
-+
-+         AC_MSG_RESULT([yes])
-+      else
-+         AC_MSG_RESULT([no])
-+         AC_MSG_ERROR([icon-naming-utils >= $UTILS_REQUIRED is required to build and install gnome-themes"])
-+      fi
-    fi
- fi
- AC_SUBST(ICONMAP)
--- 
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb
deleted file mode 100644
index 1a89f48..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "GNOME themes"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2b543dc97eb7594d026af39d9b54204b"
-
-PR = "r3"
-
-SECTION = "x11/gnome"
-DEPENDS = "gtk-engines icon-naming-utils icon-naming-utils-native \
-           glib-2.0 intltool-native libxml-simple-perl-native \
-           glib-2.0-native \
-"
-RDEPENDS_${PN} = "adwaita-icon-theme"
-
-EXTRA_OECONF += "--enable-all-themes \
-    --with-iconmap=${STAGING_LIBEXECDIR_NATIVE}/icon-name-mapping \
-"
-
-inherit gnomebase perlnative
-
-PACKAGES =+ " gnome-theme-crux gnome-theme-highcontrast gnome-theme-highcontrastinverse gnome-theme-highcontrastlargeprint gnome-theme-highcontrastlargeprintinverse gnome-theme-largeprint gnome-theme-mist"
-FILES_gnome-theme-crux = "${datadir}/themes/Crux ${datadir}/icons/Crux"
-FILES_gnome-theme-highcontrast = "${datadir}/themes/HighContrast ${datadir}/icons/HighContrast"
-FILES_gnome-theme-highcontrastinverse = "${datadir}/themes/HighContrastInverse ${datadir}/icons/HighContrastInverse"
-FILES_gnome-theme-highcontrastlargeprint = "${datadir}/themes/HighContrastLargePrint ${datadir}/icons/HighContrastLargePrint"
-FILES_gnome-theme-highcontrastlargeprintinverse = "${datadir}/themes/HighContrastLargePrintInverse ${datadir}/icons/HighContrastLargePrintInverse"
-FILES_gnome-theme-largeprint = "${datadir}/themes/LargePrint ${datadir}/icons/LargePrint"
-FILES_gnome-theme-mist = "${datadir}/themes/Mist ${datadir}/icons/Mist"
-
-FILES_${PN} += "${datadir}/themes ${datadir}/icons"
-
-SRC_URI += "file://iconpath-option.patch \
-    file://drop-localedir-override.patch \
-"
-SRC_URI[archive.md5sum] = "41db9e3cb25d35af2675c599e67944d1"
-SRC_URI[archive.sha256sum] = "8601ee24c2e096593221cbd6ebdb6686042225a03c02a01c0d67c163f9febd1a"
-GNOME_COMPRESS_TYPE="bz2"
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.6.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.6.3.bb
deleted file mode 100644
index b9b7d0c..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.6.3.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Florence is a virtual keyboard for touch screens"
-HOMEPAGE = "http://florence.sourceforge.net/english.html"
-
-#NOTICE: If florence can't find its gconf settings, you need to start florence with --config for one time and save the configuration once.
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "gtk+3 libxml2 libglade librsvg libxtst gconf gconf-native cairo intltool-native gnome-doc-utils libnotify gstreamer1.0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${PN}/${PN}/${PV}/${PN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "8775051d7352f75dec5a86dc9964e8e0"
-SRC_URI[sha256sum] = "422992fd07d285be73cce721a203e22cee21320d69b0fda1579ce62944c5091e"
-
-inherit gettext autotools gconf pkgconfig
-
-EXTRA_OECONF = "--disable-scrollkeeper --without-docs --without-at-spi --without-panelapplet --without-xrecord"
-
-FILES_${PN} += "${datadir}/glib-2.0/schemas"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb
index d6744a3..0a0a3e6 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/keybinder/keybinder_3.0.bb
@@ -18,7 +18,9 @@
 
 RDEPENDS_${PN} = "gtk+"
 
-inherit autotools gtk-doc gobject-introspection
+inherit distro_features_check autotools gtk-doc gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
 do_configure_prepend() {
 	touch ${S}/ChangeLog
 }
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb
index 10765ee..4e49bec 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/onboard/onboard_1.4.1.bb
@@ -10,7 +10,9 @@
 SRC_URI[md5sum] = "1a2fbe82e934f5b37841d17ff51e80e8"
 SRC_URI[sha256sum] = "01cae1ac5b1ef1ab985bd2d2d79ded6fc99ee04b1535cc1bb191e43a231a3865"
 
-inherit setuptools3 pkgconfig gtk-icon-cache gsettings
+inherit distro_features_check setuptools3 pkgconfig gtk-icon-cache gsettings
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 FILES_${PN} += " \
     ${datadir}/dbus-1 \
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/90tracker b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/90tracker
deleted file mode 100644
index 9594b91..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/90tracker
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-/usr/bin/trackerd -m &
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/tracker-dbus.service b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/tracker-dbus.service
deleted file mode 100644
index c97f49a..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/tracker-dbus.service
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=tracker DBus session bus handler
-Before=tracker-store.service
-After=dbus.service
-Requires=dbus.service
-BindTo=tracker-store.service
-
-[Service]
-Type=forking
-EnvironmentFile=-/tmp/tracker.env
-ExecStartPre=@BASE_BINDIR@/rm -rf /tmp/tracker.env
-ExecStart=/bin/sh -c 'echo "DBUS_SESSION_BUS_ADDRESS=`dbus-daemon --fork --session --print-address`" > /tmp/tracker.env'
-
-[Install]
-WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/tracker-miner-fs.service b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/tracker-miner-fs.service
deleted file mode 100644
index 34d9a1e..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/tracker-miner-fs.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=tracker-miner-fs
-After=syslog.target local-fs.target udev.service dbus.service tracker-store.service
-Requires=tracker-store.service
-
-[Service]
-Environment=HOME=/home/root
-EnvironmentFile=-/tmp/tracker.env
-ExecStart=@LIBEXECDIR@/tracker-miner-fs
-
-[Install]
-WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/tracker-store.service b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/tracker-store.service
deleted file mode 100644
index c5037f3..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/files/tracker-store.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=tracker-store
-After=syslog.target local-fs.target dbus.service
-Requires=dbus.service tracker-dbus.service
-BindTo=tracker-dbus.service
-
-[Service]
-EnvironmentFile=-/tmp/tracker.env
-ExecStart=@LIBEXECDIR@/tracker-store
-
-[Install]
-WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb
index c2d7328..3aea2e6 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/usermode/usermode_1.111.bb
@@ -23,7 +23,8 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 
-inherit autotools gettext pkgconfig
+inherit distro_features_check autotools gettext pkgconfig
 
 EXTRA_OEMAKE += "INSTALL='install -p'"
 
+REQUIRED_DISTRO_FEATURES = "x11 pam"
diff --git a/import-layers/meta-openembedded/meta-gnome/site/riscv64-linux b/import-layers/meta-openembedded/meta-gnome/site/riscv64-linux
new file mode 100644
index 0000000..e3a41ea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/site/riscv64-linux
@@ -0,0 +1,16 @@
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=8
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=8
+ac_cv_alignof_CORBA_long_long=8
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=1
+ac_cv_alignof_CORBA_wchar=2
diff --git a/import-layers/meta-openembedded/meta-initramfs/README b/import-layers/meta-openembedded/meta-initramfs/README
index b7dbfef..7185383 100644
--- a/import-layers/meta-openembedded/meta-initramfs/README
+++ b/import-layers/meta-openembedded/meta-initramfs/README
@@ -12,7 +12,7 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: rocko
+branch: master
 revision: HEAD
 
 
@@ -20,13 +20,12 @@
 -----------
 
 Send patches / pull requests to openembedded-devel@lists.openembedded.org
-with '[meta-initramfs][rocko]' in the subject.
+with '[meta-initramfs]' in the subject.
 
 When sending single patches, please using something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][rocko][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][PATCH'
 
-rocko Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
+Interm layer maintainer: Armin Kuster <akuster808@gmail.com>
 
 
 License
diff --git a/import-layers/meta-openembedded/meta-initramfs/conf/layer.conf b/import-layers/meta-openembedded/meta-initramfs/conf/layer.conf
index d9b7c4c..97afc93 100644
--- a/import-layers/meta-openembedded/meta-initramfs/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-initramfs/conf/layer.conf
@@ -16,6 +16,8 @@
 BBFILE_PRIORITY_meta-initramfs = "8"
 LAYERDEPENDS_meta-initramfs = "core"
 
+LAYERSERIES_COMPAT_meta-initramfs = "sumo"
+
 SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
   dracut->virtual/kernel \
 "
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb
index 6b845bd..3a8d9f7 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb
@@ -8,5 +8,5 @@
 
 python () {
     if d.getVar('TARGET_ARCH') == "nios2":
-        raise bb.parse.SkipPackage("'nios2' not supported arch")
+        raise bb.parse.SkipRecipe("'nios2' not supported arch")
 }
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
index e18409d..ccf9f6a 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
@@ -6,10 +6,10 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 PE = "1"
-PV = "045+git${SRCREV}"
+PV = "046+git${SRCREV}"
 
-# v045 tag
-SRCREV = "39c9b67f86145953aa30def9d77c68597a4ccfe8"
+# v046 tag
+SRCREV = "a0799ffb554487a370c2a1adafaedd2021b6dc8c"
 SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \
            file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \
            "
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
index 5a99824..dc3a70b 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
@@ -4,6 +4,7 @@
 zipl (s390) boot loaders. It is primarily designed to be used from scripts which install \
 new kernels and need to find information about the current boot environment. \
 "
+HOMEPAGE = "https://github.com/rhboot/grubby"
 LICENSE = "GPLv2+"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
@@ -11,18 +12,15 @@
 DEPENDS = "popt util-linux"
 DEPENDS_append_libc-musl = " libexecinfo"
 
-SRC_URI = "https://github.com/rhinstaller/${BPN}/archive/${PV}-1.tar.gz;downloadfilename=${BPN}-${PV}-1.tar.gz \
+S = "${WORKDIR}/git"
+SRCREV = "79c5cfa02c567efdc5bb18cdd584789e2e35aa23"
+SRC_URI = "git://github.com/rhboot/grubby.git;protocol=https; \
            file://grubby-rename-grub2-editenv-to-grub-editenv.patch \
            file://run-ptest \
            file://0001-Add-another-variable-LIBS-to-provides-libraries-from.patch \
            file://0002-include-paths.h-for-_PATH_MOUNTED.patch \
            "
 
-SRC_URI[md5sum] = "1005907b275d6d93368d045274537d86"
-SRC_URI[sha256sum] = "85f1c678484f74c8978e8643451594967defce463a86c35cb1ee56d12767a9df"
-
-S = "${WORKDIR}/${BPN}-${PV}-1"
-
 RDEPENDS_${PN} += "dracut"
 
 inherit autotools-brokensep ptest
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch
index 8d1ec69..e7a0cce 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-in_-structs-for-non-glibc-system-libs.patch
@@ -1,4 +1,4 @@
-From f414dea1316a48aba3e8e293201ebd51652d3ef4 Mon Sep 17 00:00:00 2001
+From 57e3a60b23891905733bfea7a1cb78c2377cc524 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 9 Jul 2017 15:17:29 -0700
 Subject: [PATCH] Define in_* structs for non-glibc system libs
@@ -10,14 +10,38 @@
 to infer that these structs should be defined in linux/in.h
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- usr/include/netinet/in.h | 33 +++++++++++++++++++++++++++++++++
- 1 file changed, 33 insertions(+)
 
-Index: git/usr/include/netinet/in.h
-===================================================================
---- git.orig/usr/include/netinet/in.h
-+++ git/usr/include/netinet/in.h
+---
+ usr/include/net/if.h     | 11 +++++++++++
+ usr/include/netinet/in.h | 36 ++++++++++++++++++++++++++++++++++++
+ 2 files changed, 47 insertions(+)
+
+diff --git a/usr/include/net/if.h b/usr/include/net/if.h
+index 116a176..6246b12 100644
+--- a/usr/include/net/if.h
++++ b/usr/include/net/if.h
+@@ -1,6 +1,17 @@
+ #ifndef _NET_IF_H
+ #define _NET_IF_H
+ 
++#ifndef __GLIBC__
++#include <linux/libc-compat.h>
++#undef __UAPI_DEF_IF_IFREQ
++#define __UAPI_DEF_IF_IFREQ            1
++#undef __UAPI_DEF_IF_IFNAMSIZ
++#define __UAPI_DEF_IF_IFNAMSIZ         1
++#undef __UAPI_DEF_IF_IFMAP
++#define __UAPI_DEF_IF_IFMAP            1
++#undef __UAPI_DEF_IF_NET_DEVICE_FLAGS
++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
++#endif
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <linux/if.h>
+diff --git a/usr/include/netinet/in.h b/usr/include/netinet/in.h
+index 2952bb2..0c95bc9 100644
+--- a/usr/include/netinet/in.h
++++ b/usr/include/netinet/in.h
 @@ -5,6 +5,42 @@
  #ifndef _NETINET_IN_H
  #define _NETINET_IN_H
@@ -61,25 +85,3 @@
  #include <klibc/extern.h>
  #include <stdint.h>
  #include <endian.h>		/* Must be included *before* <linux/in.h> */
-Index: git/usr/include/net/if.h
-===================================================================
---- git.orig/usr/include/net/if.h
-+++ git/usr/include/net/if.h
-@@ -1,6 +1,17 @@
- #ifndef _NET_IF_H
- #define _NET_IF_H
- 
-+#ifndef __GLIBC__
-+#include <linux/libc-compat.h>
-+#undef __UAPI_DEF_IF_IFREQ
-+#define __UAPI_DEF_IF_IFREQ            1
-+#undef __UAPI_DEF_IF_IFNAMSIZ
-+#define __UAPI_DEF_IF_IFNAMSIZ         1
-+#undef __UAPI_DEF_IF_IFMAP
-+#define __UAPI_DEF_IF_IFMAP            1
-+#undef __UAPI_DEF_IF_NET_DEVICE_FLAGS
-+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
-+#endif
- #include <sys/socket.h>
- #include <sys/types.h>
- #include <linux/if.h>
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
index 7cd4c0e..181dcfb 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch
@@ -1,4 +1,4 @@
-From 10fb440795a7796140bd657ee028847ec7c34447 Mon Sep 17 00:00:00 2001
+From 4b4147b76518d31a88fb2c58cdbf2236e159a25c Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 8 Sep 2017 23:10:54 -0700
 Subject: [PATCH] Kbuild.klibc: Add path to compiler headers via -isystem
@@ -7,12 +7,13 @@
 stdarg.h which is called from wrapper stdarg.h using include_next
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
- scripts/Kbuild.klibc | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
+ scripts/Kbuild.klibc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/scripts/Kbuild.klibc b/scripts/Kbuild.klibc
-index f500d535..1d5cdc43 100644
+index 101f86f..1d5cdc4 100644
 --- a/scripts/Kbuild.klibc
 +++ b/scripts/Kbuild.klibc
 @@ -105,7 +105,8 @@ KLIBCOBJCOPY     := $(OBJCOPY)
@@ -25,6 +26,3 @@
  		    -I$(KLIBCINC)/arch/$(KLIBCARCHDIR)	\
                      -I$(KLIBCINC)/bits$(KLIBCBITSIZE)	\
  		    -I$(KLIBCOBJ)/../include		\
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
index 41cc142..1ba05a8 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch
@@ -1,19 +1,20 @@
-From f66edde8a704131d98e8783ea8d4c848e8119b20 Mon Sep 17 00:00:00 2001
+From b6185401fc3daa7fa8ba2b84db3e4da3b94a9867 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 26 Jul 2017 16:13:16 -0700
-Subject: [PATCH 1/3] Kbuild.klibc: Use -print-libgcc-file-name instead of
+Subject: [PATCH] Kbuild.klibc: Use -print-libgcc-file-name instead of
  --print-libgcc
 
 -print-libgcc-file-name works with clang and gcc unlike --print-libgcc
 which is gcc specific
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  scripts/Kbuild.klibc | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/scripts/Kbuild.klibc b/scripts/Kbuild.klibc
-index f500d535..101f86f5 100644
+index f500d53..101f86f 100644
 --- a/scripts/Kbuild.klibc
 +++ b/scripts/Kbuild.klibc
 @@ -128,7 +128,7 @@ KLIBCCFLAGS      += $(KLIBCCPPFLAGS) $(KLIBCREQFLAGS) $(KLIBCARCHREQFLAGS)  \
@@ -25,6 +26,3 @@
  KLIBCLIBGCC	 ?= $(KLIBCLIBGCC_DEF)
  KLIBCCRT0        := $(KLIBCOBJ)/arch/$(KLIBCARCHDIR)/crt0.o
  KLIBCLIBC        := $(KLIBCOBJ)/libc.a
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch
index 41a6b9e..de04d69 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-always-use-bfd-linker.patch
@@ -1,4 +1,4 @@
-From 9ea19bd9636806a73bcf29cfcee40a268f91eb4c Mon Sep 17 00:00:00 2001
+From 63ab5102d6ef362a597941e62470bf19e6f1652b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 11 Jul 2017 08:09:52 -0700
 Subject: [PATCH] always use bfd linker
@@ -8,12 +8,13 @@
 linking issues on such distros
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index dc10fc5d..40647be4 100644
+index dc10fc5..40647be 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -20,7 +20,7 @@ include $(srctree)/scripts/Kbuild.include
@@ -25,6 +26,3 @@
  export AR	:= $(KLIBCROSS)ar
  export RANLIB	:= $(KLIBCROSS)ranlib
  export STRIP	:= $(KLIBCROSS)strip
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
index 9c0ea63..fcf4f89 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-arm-Do-not-set-a-fallback-march-and-mtune.patch
@@ -1,4 +1,4 @@
-From a46a144ac883898d9cedf7a0b13aec6d10116125 Mon Sep 17 00:00:00 2001
+From ebd2b0e414c98467156b961abb470b5d07f37ea8 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 29 Sep 2017 23:11:53 -0700
 Subject: [PATCH] arm: Do not set a fallback march and mtune
@@ -9,14 +9,13 @@
 which is a bit harder in OE
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
 
+---
  usr/klibc/arch/arm/MCONFIG | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/usr/klibc/arch/arm/MCONFIG b/usr/klibc/arch/arm/MCONFIG
-index 53bc1dc3..857e2f2d 100644
+index 303c6ac..48d2685 100644
 --- a/usr/klibc/arch/arm/MCONFIG
 +++ b/usr/klibc/arch/arm/MCONFIG
 @@ -10,7 +10,7 @@
@@ -28,6 +27,3 @@
  KLIBCBITSIZE  = 32
  KLIBCREQFLAGS += -fno-exceptions
  KLIBCSTRIPFLAGS += -R .ARM.exidx
--- 
-2.14.2
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch
index ae8c1f1..46a2398 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-dash-Specify-format-string-in-fmtstr.patch
@@ -1,4 +1,4 @@
-From 2fff607fd0b5550e5072a6fffcbb01c29d5207d2 Mon Sep 17 00:00:00 2001
+From 8beffe501c1ac5b35d62004735c4157c74183901 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 9 Jul 2017 13:51:25 -0700
 Subject: [PATCH] dash: Specify format string in fmtstr()
@@ -9,12 +9,13 @@
    col = fmtstr(s, 32, strsignal(st));
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  usr/dash/jobs.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c
-index 009bbfee..299bcacc 100644
+index 009bbfe..299bcac 100644
 --- a/usr/dash/jobs.c
 +++ b/usr/dash/jobs.c
 @@ -426,7 +426,7 @@ sprint_status(char *s, int status, int sigonly)
@@ -26,6 +27,3 @@
  #ifdef WCOREDUMP
  		if (WCOREDUMP(status)) {
  			col += fmtstr(s + col, 16, " (core dumped)");
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch
index 1b033ac..04c97fc 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-include-linux-sysinfo.h-directly.patch
@@ -1,4 +1,4 @@
-From ab060a57b41f989665ade20e813bbcb67f91f1f2 Mon Sep 17 00:00:00 2001
+From d966d52d1e569cbc2293d841285e2b8941f28c61 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 9 Jul 2017 15:56:28 -0700
 Subject: [PATCH] include linux/sysinfo.h directly
@@ -10,12 +10,13 @@
 override to avoid this assumption
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  usr/include/sys/sysinfo.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/usr/include/sys/sysinfo.h b/usr/include/sys/sysinfo.h
-index dba68dc6..d145c0b1 100644
+index dba68dc..d145c0b 100644
 --- a/usr/include/sys/sysinfo.h
 +++ b/usr/include/sys/sysinfo.h
 @@ -5,7 +5,7 @@
@@ -27,6 +28,3 @@
  
  extern int sysinfo(struct sysinfo *info);
  
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch
index 9791412..3bc081d 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-mkfifo-Implement-mkfifo.patch
@@ -1,15 +1,16 @@
-From b4e120f5edf06e6df138b1804a8b5180584cea6b Mon Sep 17 00:00:00 2001
+From cf97079009ba48d10e52052b2eab7461ea4dd09b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 10 Jul 2017 20:42:50 -0700
 Subject: [PATCH] mkfifo: Implement mkfifo
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  usr/utils/mkfifo.c | 5 +++++
  1 file changed, 5 insertions(+)
 
 diff --git a/usr/utils/mkfifo.c b/usr/utils/mkfifo.c
-index 5a758b2a..f1f577e6 100644
+index 5a758b2..f1f577e 100644
 --- a/usr/utils/mkfifo.c
 +++ b/usr/utils/mkfifo.c
 @@ -26,6 +26,11 @@ static int make_fifo(char *dir)
@@ -24,6 +25,3 @@
  int main(int argc, char *argv[])
  {
  	int c, ret = 0;
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch
index 6bb384b..e842353 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch
@@ -1,11 +1,22 @@
+From d2fb484d995221277cce7abddcd7dfa0e8bceec3 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Fri, 11 Jan 2013 17:26:40 +0000
+Subject: [PATCH] klibc_2.0.2: apply FIX_V4BX patch for armv4 targets only
+
 Status: not applicable upstream, in OE/Yocto we use $(FIX_V4BX)
 which is "" in case of armv5 or thumbs.
 
 Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
 
---- a/usr/klibc/arch/arm/MCONFIG	2013-01-09 01:12:02.000000000 +0100
-+++ b/usr/klibc/arch/arm/MCONFIG	2013-01-08 23:45:59.000000000 +0100
-@@ -29,6 +29,7 @@
+---
+ usr/klibc/arch/arm/MCONFIG | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/usr/klibc/arch/arm/MCONFIG b/usr/klibc/arch/arm/MCONFIG
+index 53bc1dc..303c6ac 100644
+--- a/usr/klibc/arch/arm/MCONFIG
++++ b/usr/klibc/arch/arm/MCONFIG
+@@ -29,6 +29,7 @@ else
  KLIBCSHAREDFLAGS = -Ttext 0x01800200
  ifeq ($(CONFIG_AEABI),y)
  KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch
index 9bc4835..5f47d3f 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch
@@ -1,3 +1,11 @@
+From 0cb26cf2d25d36c1fdcc4f1635e4329436ed866a Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Fri, 19 Sep 2014 23:09:29 +0200
+
+---
+ klcc/klcc.in | 3 +++
+ 1 file changed, 3 insertions(+)
+
 diff --git a/klcc/klcc.in b/klcc/klcc.in
 index 43d0984..61e9385 100644
 --- a/klcc/klcc.in
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch
index 316c80a..f28cd54 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch
@@ -1,12 +1,22 @@
+From 1118cc971917abe19ddb029aa80417f6fd6bb343 Mon Sep 17 00:00:00 2001
+From: Thomas Kunze <thommycheck@gmx.de>
+Date: Sat, 6 Aug 2011 05:30:14 +0000
+Subject: [PATCH] klibc: initial commit of version 1.5.24
+
 Patch was imported from the OpenEmbedded git server
 (git://git.openembedded.org/openembedded)
 as of commit id b6764cf32ec93547531130dca364fb95e1c495f4
 Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
 
-diff -Nur klibc-1.5/defconfig klibc-1.5p/defconfig
---- klibc-1.5/defconfig	2007-03-04 02:52:10.000000000 +0100
-+++ klibc-1.5p/defconfig	2008-02-08 19:24:22.337127756 +0100
-@@ -5,4 +5,4 @@
+---
+ defconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/defconfig b/defconfig
+index 04b98e9..0cb23d0 100644
+--- a/defconfig
++++ b/defconfig
+@@ -6,4 +6,4 @@ CONFIG_KLIBC_ZLIB=y
  CONFIG_REGPARM=y
  # ARM options
  # CONFIG_KLIBC_THUMB is not set
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch
index 2043064..a5563b7 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch
@@ -1,15 +1,22 @@
+From 1be2bc41f915922102a3ba671b54c2df6f0052e6 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sun, 14 Mar 2010 18:41:56 +0000
+Subject: [PATCH] klibc_1.5.26: now build against linux-libc-headers
+
 commit 43adf69062254fb4f8d4d11fb5fe36a60ae25d5a
-Author: Ben Hutchings <ben@decadent.org.uk>
-Date:   Sun Mar 14 18:41:56 2010 +0000
 
     Taken from debian "Fix klibc Debian specific build trouble"
     Adapted for klibc_2.0.2
 
-Index: klibc-2.0~rc2/scripts/Kbuild.install
-===================================================================
---- klibc-2.0~rc2.orig/scripts/Kbuild.install	2012-02-11 18:50:21.000000000 +0000
-+++ klibc-2.0~rc2/scripts/Kbuild.install	2012-02-11 19:04:52.000000000 +0000
-@@ -95,7 +95,9 @@
+---
+ scripts/Kbuild.install | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/scripts/Kbuild.install b/scripts/Kbuild.install
+index 8af5697..d32a8a5 100644
+--- a/scripts/Kbuild.install
++++ b/scripts/Kbuild.install
+@@ -95,7 +95,9 @@ header:
  	$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
  	$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
  	$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
@@ -18,5 +25,5 @@
 +		ln -sf $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \
 +	done
  	$(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
- 	$(Q)chmod -R a+rX $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ 	$(Q)chmod -R a+rX,go-w $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
  	$(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch
index c01c712..5c7a662 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch
@@ -1,3 +1,8 @@
+From 1892079b827cf8f8316305b6d6e0985db82441a2 Mon Sep 17 00:00:00 2001
+From: Thomas Kunze <thommycheck@gmx.de>
+Date: Sat, 6 Aug 2011 05:30:14 +0000
+Subject: [PATCH] klibc: initial commit of version 1.5.24
+
 Patch was imported from the OpenEmbedded git server
 (git://git.openembedded.org/openembedded)
 as of commit id eefb99a313bbcc8f34c8b32bf0c5aa2dd2580735
@@ -6,11 +11,25 @@
 Minor edits following upstream changes
 Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
 
-Index: klibc-1.5.24/scripts/Kbuild.install
-===================================================================
---- a/scripts/Kbuild.install	2011-07-27 15:50:53.000000000 +0200
-+++ b/scripts/Kbuild.install	2011-08-01 00:03:03.000000000 +0200
-@@ -88,13 +88,10 @@
+---
+ scripts/Kbuild.install    | 4 ----
+ usr/dash/Kbuild           | 2 --
+ usr/gzip/Kbuild           | 2 --
+ usr/kinit/Kbuild          | 2 --
+ usr/kinit/fstype/Kbuild   | 2 --
+ usr/kinit/ipconfig/Kbuild | 2 --
+ usr/kinit/nfsmount/Kbuild | 2 --
+ usr/kinit/resume/Kbuild   | 2 --
+ usr/kinit/run-init/Kbuild | 2 --
+ usr/klibc/Kbuild          | 2 --
+ usr/utils/Kbuild          | 2 --
+ 11 files changed, 24 deletions(-)
+
+diff --git a/scripts/Kbuild.install b/scripts/Kbuild.install
+index d32a8a5..fda699d 100644
+--- a/scripts/Kbuild.install
++++ b/scripts/Kbuild.install
+@@ -88,19 +88,15 @@ else
  header:
  	$(Q)echo "  INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
  	$(Q)mkdir -p $(INSTALLROOT)$(bindir)
@@ -24,119 +43,107 @@
  	$(Q)for x in ../../../include/asm ../../../include/asm-generic ../../../include/linux ../../../include/mtd; do \
  		ln -sf $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \
  	done
-@@ -103,7 +100,6 @@
- 	done
  	$(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
  	$(Q)chmod -R a+rX,go-w $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
 -	$(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
  	$(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir)
  
  footer: header
-
-Index: klibc-1.5.24/usr/dash/Kbuild
-===================================================================
---- a/usr/dash/Kbuild	2011-07-27 15:50:53.000000000 +0200
-+++ b/usr/dash/Kbuild	2011-08-01 00:07:56.000000000 +0200
-@@ -92,5 +92,3 @@
+diff --git a/usr/dash/Kbuild b/usr/dash/Kbuild
+index 3a98c1f..1a6920a 100644
+--- a/usr/dash/Kbuild
++++ b/usr/dash/Kbuild
+@@ -92,5 +92,3 @@ $(obj)/syntax.c: $(obj)/mksyntax
  $(obj)/syntax.h: $(obj)/syntax.c
  	$(Q):
  
 -# Targets to install
 -install-y := sh.shared
-
-Index: klibc-1.5.24/usr/gzip/Kbuild
-===================================================================
---- a/usr/gzip/Kbuild	2011-07-27 15:50:53.000000000 +0200
-+++ b/usr/gzip/Kbuild	2011-08-01 00:06:39.000000000 +0200
-@@ -21,5 +21,3 @@
+diff --git a/usr/gzip/Kbuild b/usr/gzip/Kbuild
+index 9bbf0a4..c497d02 100644
+--- a/usr/gzip/Kbuild
++++ b/usr/gzip/Kbuild
+@@ -21,5 +21,3 @@ $(obj)/gunzip $(obj)/zcat: $(obj)/gzip
  # Cleaning
  targets := gzip gzip.g gunzip zcat
  
 -# Targets to install
 -install-y := gzip gunzip zcat
-
-Index: klibc-1.5.24/usr/kinit/fstype/Kbuild
-===================================================================
---- a/usr/kinit/fstype/Kbuild	2011-07-27 15:50:53.000000000 +0200
-+++ b/usr/kinit/fstype/Kbuild	2011-08-01 00:09:12.000000000 +0200
-@@ -21,5 +21,3 @@
- # Cleaning
- clean-dirs := static shared
- 
--# install binary
--install-y := $(shared-y)
-
-Index: klibc-1.5.24/usr/kinit/ipconfig/Kbuild
-===================================================================
---- a/usr/kinit/ipconfig/Kbuild	2011-07-27 15:50:53.000000000 +0200
-+++ b/usr/kinit/ipconfig/Kbuild	2011-08-01 00:10:52.000000000 +0200
-@@ -27,5 +27,3 @@
- # Cleaning
- clean-dirs := static shared
- 
--# install binary
--install-y := $(shared-y)
-
-Index: klibc-1.5.24/usr/kinit/Kbuild
-===================================================================
---- a/usr/kinit/Kbuild	2011-07-27 15:50:53.000000000 +0200
-+++ b/usr/kinit/Kbuild	2011-08-01 00:20:18.000000000 +0200
-@@ -33,5 +33,3 @@
+diff --git a/usr/kinit/Kbuild b/usr/kinit/Kbuild
+index 5320127..f7fdccd 100644
+--- a/usr/kinit/Kbuild
++++ b/usr/kinit/Kbuild
+@@ -33,5 +33,3 @@ targets += kinit kinit.g kinit.shared kinit.shared.g
  subdir- := fstype ipconfig nfsmount resume run-init
  
  
 -# install binary
 -install-y := kinit kinit.shared
-
-Index: klibc-1.5.24/usr/kinit/nfsmount/Kbuild
-===================================================================
---- a/usr/kinit/nfsmount/Kbuild	2011-07-27 15:50:53.000000000 +0200
-+++ b/usr/kinit/nfsmount/Kbuild	2011-08-01 00:12:52.000000000 +0200
-@@ -23,5 +23,3 @@
+diff --git a/usr/kinit/fstype/Kbuild b/usr/kinit/fstype/Kbuild
+index 9b20db1..367611d 100644
+--- a/usr/kinit/fstype/Kbuild
++++ b/usr/kinit/fstype/Kbuild
+@@ -21,5 +21,3 @@ shared/fstype-y := $(objs)
+ # Cleaning
+ clean-dirs := static shared
+ 
+-# install binary
+-install-y := $(shared-y)
+diff --git a/usr/kinit/ipconfig/Kbuild b/usr/kinit/ipconfig/Kbuild
+index 7f8d181..eb1d472 100644
+--- a/usr/kinit/ipconfig/Kbuild
++++ b/usr/kinit/ipconfig/Kbuild
+@@ -27,5 +27,3 @@ shared/ipconfig-y := $(objs)
+ # Cleaning
+ clean-dirs := static shared
+ 
+-# install binary
+-install-y := $(shared-y)
+diff --git a/usr/kinit/nfsmount/Kbuild b/usr/kinit/nfsmount/Kbuild
+index 461e6f3..ba31708 100644
+--- a/usr/kinit/nfsmount/Kbuild
++++ b/usr/kinit/nfsmount/Kbuild
+@@ -23,5 +23,3 @@ dummypmap-y := dummypmap_test.o
  
  clean-dirs := static shared
  
 -# Install binary
 -install-y := $(shared-y)
-
-Index: klibc-1.5.24/usr/kinit/resume/Kbuild
-===================================================================
---- a/usr/kinit/resume/Kbuild	2011-07-27 15:50:53.000000000 +0200
-+++ b/usr/kinit/resume/Kbuild	2011-08-01 00:13:51.000000000 +0200
-@@ -26,5 +26,3 @@
+diff --git a/usr/kinit/resume/Kbuild b/usr/kinit/resume/Kbuild
+index 034195d..c1342e1 100644
+--- a/usr/kinit/resume/Kbuild
++++ b/usr/kinit/resume/Kbuild
+@@ -26,5 +26,3 @@ shared/resume-lib := ../lib.a
  # Cleaning
  clean-dirs := static shared
  
 -# install binary
 -install-y := $(shared-y)
-
-Index: klibc-1.5.24/usr/kinit/run-init/Kbuild
-===================================================================
---- a/usr/kinit/run-init/Kbuild	2011-07-27 15:50:53.000000000 +0200
-+++ b/usr/kinit/run-init/Kbuild	2011-08-01 00:14:41.000000000 +0200
-@@ -25,5 +25,3 @@
+diff --git a/usr/kinit/run-init/Kbuild b/usr/kinit/run-init/Kbuild
+index f7832b7..c153b0a 100644
+--- a/usr/kinit/run-init/Kbuild
++++ b/usr/kinit/run-init/Kbuild
+@@ -30,5 +30,3 @@ shared/run-init-lib := ../lib.a
  # Cleaning
  clean-dirs := static shared
  
 -# install binary
 -install-y := $(shared-y)
-
-Index: klibc-1.5.24/usr/klibc/Kbuild
-===================================================================
---- a/usr/klibc/Kbuild	2011-07-27 15:50:53.000000000 +0200
-+++ b/usr/klibc/Kbuild	2011-08-01 00:18:11.000000000 +0200
-@@ -177,5 +177,3 @@
+diff --git a/usr/klibc/Kbuild b/usr/klibc/Kbuild
+index eba6add..98caf2e 100644
+--- a/usr/klibc/Kbuild
++++ b/usr/klibc/Kbuild
+@@ -185,5 +185,3 @@ install-rule:
  	          $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib))
  	$(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \
  	                      $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib
 -	$(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \
 -	                      $(INSTALLROOT)$(SHLIBDIR)
-
-Index: klibc-1.5.24/usr/utils/Kbuild
-===================================================================
---- a/usr/utils/Kbuild	2011-07-27 15:50:53.000000000 +0200
-+++ b/usr/utils/Kbuild	2011-08-01 00:19:13.000000000 +0200
-@@ -72,5 +72,3 @@
+diff --git a/usr/utils/Kbuild b/usr/utils/Kbuild
+index 05aa794..67d9486 100644
+--- a/usr/utils/Kbuild
++++ b/usr/utils/Kbuild
+@@ -72,5 +72,3 @@ $(obj)/shared/reboot $(obj)/shared/poweroff: $(obj)/shared/halt
  # Clean deletes the static and shared dir
  clean-dirs := static shared
  
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
index 9014f52..7df33d6 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils.inc
@@ -48,7 +48,7 @@
     ln -s gzip ${D}${base_bindir}/zcat
 }
 
-EXTRA_KLIBC_DEPS = "${@base_conditional('KLIBC_UTILS_VARIANT', 'shared', '${THIS_LIBKLIBC}', '', d)}"
+EXTRA_KLIBC_DEPS = "${@oe.utils.conditional('KLIBC_UTILS_VARIANT', 'shared', '${THIS_LIBKLIBC}', '', d)}"
 
 PACKAGES_DYNAMIC += "^${KLIBC_UTILS_PKGNAME}-.*"
 
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0001-Makefile-build-ubi-utils-only.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0001-Makefile-build-ubi-utils-only.patch
new file mode 100644
index 0000000..6ac2cca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0001-Makefile-build-ubi-utils-only.patch
@@ -0,0 +1,87 @@
+From 1c989e4c36d0bf76ab444f984bc73b98eeacd03f Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Jun 2014 00:32:29 +0200
+Subject: [PATCH 1/9] Makefile: build ubi-utils only
+
+We build all the static ubi-utils but actually only ubiattach is needed in
+a minimalistic initramfs for the mount of ubi volumes.
+
+More fixes are needed in order to build the full mtd-utils.
+The first issue is:
+
+| mkfs.jffs2.c:64:20: fatal error: libgen.h: No such file or directory
+|  #include <libgen.h>
+
+Removing the include then the second error is:
+
+| mkfs.jffs2.c:1570:22: error: '_SC_PAGESIZE' undeclared
+| (first use in this function)
+|   page_size = sysconf(_SC_PAGESIZE);
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ Makefile | 26 ++------------------------
+ 1 file changed, 2 insertions(+), 24 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 3ce8587..8b79f71 100644
+--- a/Makefile
++++ b/Makefile
+@@ -16,28 +16,11 @@ endif
+ 
+ TESTS = tests
+ 
+-MTD_BINS = \
+-	ftl_format flash_erase nanddump doc_loadbios \
+-	ftl_check mkfs.jffs2 flash_lock flash_unlock \
+-	flash_otp_info flash_otp_dump flash_otp_lock flash_otp_write \
+-	mtd_debug flashcp nandwrite nandtest mtdpart \
+-	jffs2dump \
+-	nftldump nftl_format docfdisk \
+-	rfddump rfdformat \
+-	serve_image recv_image \
+-	sumtool jffs2reader
+ UBI_BINS = \
+ 	ubiupdatevol ubimkvol ubirmvol ubicrc32 ubinfo ubiattach \
+ 	ubidetach ubinize ubiformat ubirename mtdinfo ubirsvol ubiblock
+ 
+-BINS = $(MTD_BINS)
+-BINS += mkfs.ubifs/mkfs.ubifs
+-BINS += $(addprefix ubi-utils/,$(UBI_BINS))
+-SCRIPTS = flash_eraseall
+-
+-TARGETS = $(BINS)
+-TARGETS += lib/libmtd.a
+-TARGETS += ubi-utils/libubi.a
++BINS = $(addprefix ubi-utils/,$(UBI_BINS))
+ 
+ OBJDEPS = $(BUILDDIR)/include/version.h
+ 
+@@ -61,12 +44,9 @@ endif
+ 	rm -f $(BUILDDIR)/include/version.h
+ 	$(MAKE) -C $(TESTS) clean
+ 
+-install:: $(addprefix $(BUILDDIR)/,${BINS}) ${SCRIPTS}
++install:: $(addprefix $(BUILDDIR)/,${BINS})
+ 	mkdir -p ${DESTDIR}/${SBINDIR}
+ 	install -m 0755 $^ ${DESTDIR}/${SBINDIR}/
+-	mkdir -p ${DESTDIR}/${MANDIR}/man1
+-	install -m 0644 mkfs.jffs2.1 ${DESTDIR}/${MANDIR}/man1/
+-	-gzip -9f ${DESTDIR}/${MANDIR}/man1/*.1
+ 
+ tests::
+ 	$(MAKE) -C $(TESTS)
+@@ -91,8 +71,6 @@ LDLIBS_mkfs.jffs2  = -lz $(LZOLDLIBS)
+ LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
+ LDLIBS_jffs2reader  = -lz $(LZOLDLIBS)
+ 
+-$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v))))
+-
+ #
+ # Common libmtd
+ #
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0002-common.mk-for-klibc-CC-is-klcc.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0002-common.mk-for-klibc-CC-is-klcc.patch
new file mode 100644
index 0000000..c23d11f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0002-common.mk-for-klibc-CC-is-klcc.patch
@@ -0,0 +1,27 @@
+From 89c76bbe82a2029a25b0654eb0a1d0b22d6e6877 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Jun 2014 00:37:28 +0200
+Subject: [PATCH 2/9] common.mk: for klibc $(CC) is klcc
+
+Do not hardcode: assign the value to the variable if it is not already defined.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ common.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/common.mk b/common.mk
+index ba87377..126d11a 100644
+--- a/common.mk
++++ b/common.mk
+@@ -1,4 +1,4 @@
+-CC := $(CROSS)gcc
++CC ?= $(CROSS)gcc
+ AR := $(CROSS)ar
+ RANLIB := $(CROSS)ranlib
+ 
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch
new file mode 100644
index 0000000..9ad4a5b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch
@@ -0,0 +1,76 @@
+From fecbb7056d621a30f7106e67f5fe209763571b70 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Jun 2014 00:40:15 +0200
+Subject: [PATCH 3/9] libubi.c: add klibc specific fixes for ioctl
+
+First issue is that ioctl() in klibc doesn't expect a constant as arg3.
+Second issue is that arg3 in klibc ioctl() implementation is not optional.
+
+Fixes:
+
+| ubi-utils/libubi.c: In function 'do_attach':
+| ubi-utils/libubi.c:698:8: warning: passing argument 3 of 'ioctl' discards
+| 'const' qualifier from pointer target type
+|   ret = ioctl(fd, UBI_IOCATT, r);
+|         ^
+| In file included from ubi-utils/libubi.c:32:0:
+| .../lib/klibc/include/sys/ioctl.h:15:14: note: expected 'void *' but argument
+| is of type 'const struct ubi_attach_req *'
+|  __extern int ioctl(int, int, void *);
+|               ^
+
+| ubi-utils/libubi.c: In function 'ubi_vol_block_create':
+| ubi-utils/libubi.c:1118:9: error: too few arguments to function 'ioctl'
+|   return ioctl(fd, UBI_IOCVOLCRBLK);
+|          ^
+| In file included from ubi-utils/libubi.c:32:0:
+| .../lib/klibc/include/sys/ioctl.h:15:14: note: declared here
+|  __extern int ioctl(int, int, void *);
+|               ^
+| ubi-utils/libubi.c: In function 'ubi_vol_block_remove':
+| ubi-utils/libubi.c:1123:9: error: too few arguments to function 'ioctl'
+|   return ioctl(fd, UBI_IOCVOLRMBLK);
+|          ^
+| In file included from ubi-utils/libubi.c:32:0:
+| .../usr/lib/klibc/include/sys/ioctl.h:15:14: note: declared here
+|  __extern int ioctl(int, int, void *);
+|               ^
+
+Upstream-Status: Accepted
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ ubi-utils/libubi.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ubi-utils/libubi.c b/ubi-utils/libubi.c
+index 97c0434..2b49833 100644
+--- a/ubi-utils/libubi.c
++++ b/ubi-utils/libubi.c
+@@ -687,7 +687,7 @@ void libubi_close(libubi_t desc)
+  * success and %-1 in case of failure. @r->ubi_num contains newly created UBI
+  * device number.
+  */
+-static int do_attach(const char *node, const struct ubi_attach_req *r)
++static int do_attach(const char *node, struct ubi_attach_req *r)
+ {
+ 	int fd, ret;
+ 
+@@ -1115,12 +1115,12 @@ int ubi_rsvol(libubi_t desc, const char *node, int vol_id, long long bytes)
+ 
+ int ubi_vol_block_create(int fd)
+ {
+-	return ioctl(fd, UBI_IOCVOLCRBLK);
++	return ioctl(fd, UBI_IOCVOLCRBLK, NULL);
+ }
+ 
+ int ubi_vol_block_remove(int fd)
+ {
+-	return ioctl(fd, UBI_IOCVOLRMBLK);
++	return ioctl(fd, UBI_IOCVOLRMBLK, NULL);
+ }
+ 
+ int ubi_update_start(libubi_t desc, int fd, long long bytes)
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch
new file mode 100644
index 0000000..2f31fb4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch
@@ -0,0 +1,88 @@
+From b668cb75cb7e72ff92055209130d4cd4b3cacbdb Mon Sep 17 00:00:00 2001
+From: Thorsten Glaser <tg@mirbsd.org>
+Date: Fri, 20 Jun 2014 10:56:27 +0000
+Subject: [PATCH 4/9] Restore compatibility to dietlibc, klibc, musl libc after
+ commit 4f1b108
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Each C library has their own way to define off_t, and the <features.h>
+header is nonstandard and specific to the GNU libc and those that clone
+it (uClibc). Fefe’s dietlibc uses different flags, and klibc always uses
+a 64-bit off_t (like the BSDs); musl libc cannot be recognised using cpp
+instructions, so we assume 64 bit there (and on unknown C libraries) and
+leave it to the user to submit a follow-up fix if we guess wrong. I also
+added a static assertion to verify the 64 bit guess is correct.
+
+It would be really better using a configure script for this instead.
+
+Fixes:
+|   CC      lib/libmtd.o
+| In file included from ubi-utils/ubiutils-common.c:35:0:
+| ./include/common.h:29:22: fatal error: features.h: No such file or directory
+|  #include <features.h>
+|                       ^
+| compilation terminated.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ include/common.h | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/include/common.h b/include/common.h
+index fb0ca83..5a20964 100644
+--- a/include/common.h
++++ b/include/common.h
+@@ -26,7 +26,9 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <errno.h>
++#if defined(__GLIBC__) || defined(__UCLIBC__)
+ #include <features.h>
++#endif
+ #include <inttypes.h>
+ #include "version.h"
+ 
+@@ -67,6 +69,21 @@ extern "C" {
+ #endif
+ 
+ /* define a print format specifier for off_t */
++#if defined(__KLIBC__)
++/* always 64 bit on klibc */
++#define PRIxoff_t PRIx64
++#define PRIdoff_t PRId64
++#elif defined(__dietlibc__)
++/* depends on compiler flags on dietlibc */
++#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
++#define PRIxoff_t PRIx64
++#define PRIdoff_t PRId64
++#else
++#define PRIxoff_t "l"PRIx32
++#define PRIdoff_t "l"PRId32
++#endif
++#elif defined(__GLIBC__) || defined(__UCLIBC__)
++/* depends on compiler flags on glibc and uClibc */
+ #ifdef __USE_FILE_OFFSET64
+ #define PRIxoff_t PRIx64
+ #define PRIdoff_t PRId64
+@@ -74,6 +91,13 @@ extern "C" {
+ #define PRIxoff_t "l"PRIx32
+ #define PRIdoff_t "l"PRId32
+ #endif
++#else
++/* unknown libc or musl */
++#define PRIxoff_t PRIx64
++#define PRIdoff_t PRId64
++/* verify our guess of 64 bit is correct */
++static char __PRIxoff_t_static_assert[sizeof(off_t) == 8 ? 1 : -1];
++#endif
+ 
+ /* Verbose messages */
+ #define bareverbose(verbose, fmt, ...) do {                        \
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0005-common.h-more-workarounds-for-klibc-compatibility.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0005-common.h-more-workarounds-for-klibc-compatibility.patch
new file mode 100644
index 0000000..8309a72
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0005-common.h-more-workarounds-for-klibc-compatibility.patch
@@ -0,0 +1,52 @@
+From 5d4a66b502003ef385dab31a17012246407e7364 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Jun 2014 00:44:03 +0200
+Subject: [PATCH 5/9] common.h: more workarounds for klibc compatibility
+
+Patch is addressing two issues:
+* First,  Klibc doesn't have rpmatch().
+* Second, Klibc lacks getline()
+
+Fixes:
+|   LD      ubi-utils/ubiformat
+| .../git/ubi-utils/ubiformat.o: In function `prompt':
+| .../git/./include/common.h:157: undefined reference to `getline'
+| .../git/./include/common.h:164: undefined reference to `rpmatch'
+| .../git/./include/common.h:157: undefined reference to `getline'
+| .../git/./include/common.h:164: undefined reference to `rpmatch'
+
+Upstream-Status: Submitted
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ include/common.h | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/include/common.h b/include/common.h
+index 5a20964..2f51e1c 100644
+--- a/include/common.h
++++ b/include/common.h
+@@ -161,15 +161,17 @@ static inline int __rpmatch(const char *resp)
+  */
+ static inline bool prompt(const char *msg, bool def)
+ {
+-	char *line = NULL;
+-	size_t len;
++	char *line;
+ 	bool ret = def;
+ 
++	const int sizeof_line = 2;
++	line = malloc(sizeof_line);
++
+ 	do {
+ 		normsg_cont("%s (%c/%c) ", msg, def ? 'Y' : 'y', def ? 'n' : 'N');
+ 		fflush(stdout);
+ 
+-		while (getline(&line, &len, stdin) == -1) {
++		while (fgets(line, sizeof_line, stdin) == NULL) {
+ 			printf("failed to read prompt; assuming '%s'\n",
+ 				def ? "yes" : "no");
+ 			break;
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0006-libiniparser-remove-unused-function-needing-float.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0006-libiniparser-remove-unused-function-needing-float.patch
new file mode 100644
index 0000000..d046f95
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0006-libiniparser-remove-unused-function-needing-float.patch
@@ -0,0 +1,85 @@
+From 2af30e9b2988111e45ed6ea6af55e49ec7cb1cb1 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 29 Jun 2014 00:44:57 +0200
+Subject: [PATCH 6/9] libiniparser: remove unused function needing float
+
+Fixes:
+|   LD      ubi-utils/ubiformat
+| .../git/ubi-utils/libiniparser.a(libiniparser.o): In function
+| `  LD      ubi-utils/ubirename
+| iniparser_getdouble':
+| .../git/ubi-utils/libiniparser.c:336: undefined reference to `atof'
+
+Grep doesn't reveal any occurrence of iniparser_getdouble(), using atof() so
+remove it: floating-point is not supported in klibc
+
+Upstream-Status: Accepted
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ ubi-utils/include/libiniparser.h | 15 ---------------
+ ubi-utils/libiniparser.c         | 22 ----------------------
+ 2 files changed, 37 deletions(-)
+
+diff --git a/ubi-utils/include/libiniparser.h b/ubi-utils/include/libiniparser.h
+index be3c667..abd77aa 100644
+--- a/ubi-utils/include/libiniparser.h
++++ b/ubi-utils/include/libiniparser.h
+@@ -158,21 +158,6 @@ int iniparser_getint(dictionary * d, const char * key, int notfound);
+ 
+ /*-------------------------------------------------------------------------*/
+ /**
+-  @brief    Get the string associated to a key, convert to a double
+-  @param    d Dictionary to search
+-  @param    key Key string to look for
+-  @param    notfound Value to return in case of error
+-  @return   double
+-
+-  This function queries a dictionary for a key. A key as read from an
+-  ini file is given as "section:key". If the key cannot be found,
+-  the notfound value is returned.
+- */
+-/*--------------------------------------------------------------------------*/
+-double iniparser_getdouble(dictionary * d, char * key, double notfound);
+-
+-/*-------------------------------------------------------------------------*/
+-/**
+   @brief    Get the string associated to a key, convert to a boolean
+   @param    d Dictionary to search
+   @param    key Key string to look for
+diff --git a/ubi-utils/libiniparser.c b/ubi-utils/libiniparser.c
+index 898f57f..ba70c08 100644
+--- a/ubi-utils/libiniparser.c
++++ b/ubi-utils/libiniparser.c
+@@ -316,28 +316,6 @@ int iniparser_getint(dictionary * d, const char * key, int notfound)
+ 
+ /*-------------------------------------------------------------------------*/
+ /**
+-  @brief    Get the string associated to a key, convert to a double
+-  @param    d Dictionary to search
+-  @param    key Key string to look for
+-  @param    notfound Value to return in case of error
+-  @return   double
+-
+-  This function queries a dictionary for a key. A key as read from an
+-  ini file is given as "section:key". If the key cannot be found,
+-  the notfound value is returned.
+- */
+-/*--------------------------------------------------------------------------*/
+-double iniparser_getdouble(dictionary * d, char * key, double notfound)
+-{
+-    char    *   str ;
+-
+-    str = iniparser_getstring(d, key, INI_INVALID_KEY);
+-    if (str==INI_INVALID_KEY) return notfound ;
+-    return atof(str);
+-}
+-
+-/*-------------------------------------------------------------------------*/
+-/**
+   @brief    Get the string associated to a key, convert to a boolean
+   @param    d Dictionary to search
+   @param    key Key string to look for
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch
new file mode 100644
index 0000000..36b012f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch
@@ -0,0 +1,64 @@
+From 41e7c76b0853bf5241b38b8167dfd57c27fef1eb Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sun, 28 Jan 2018 21:47:59 +0100
+Subject: [PATCH 7/9] mtd-utils: common.c: convert to integer arithmetic
+
+We use floating point just to print out KiB, MiB, GiB.
+Avoid that to be klibc friendly.
+
+Fixes compilation for aarch64 against klibc:
+
+error: '-mgeneral-regs-only' is incompatible with floating-point argument
+|    printf("%s%.1f GiB", p, (double)bytes / (1024 * 1024 * 1024));
+etc.
+
+Note:
+* In the KiB case, we could apparently multiply by 100 before dividing
+  without risking overflow. This code simply avoids multiplications.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ ubi-utils/ubiutils-common.c | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/ubi-utils/ubiutils-common.c b/ubi-utils/ubiutils-common.c
+index 6609a6b..0ded2a4 100644
+--- a/ubi-utils/ubiutils-common.c
++++ b/ubi-utils/ubiutils-common.c
+@@ -107,6 +107,9 @@ long long ubiutils_get_bytes(const char *str)
+ void ubiutils_print_bytes(long long bytes, int bracket)
+ {
+ 	const char *p;
++	int GiB = 1024 * 1024 * 1024;
++	int MiB = 1024 * 1024;
++	int KiB = 1024;
+ 
+ 	if (bracket)
+ 		p = " (";
+@@ -115,12 +118,15 @@ void ubiutils_print_bytes(long long bytes, int bracket)
+ 
+ 	printf("%lld bytes", bytes);
+ 
+-	if (bytes > 1024 * 1024 * 1024)
+-		printf("%s%.1f GiB", p, (double)bytes / (1024 * 1024 * 1024));
+-	else if (bytes > 1024 * 1024)
+-		printf("%s%.1f MiB", p, (double)bytes / (1024 * 1024));
+-	else if (bytes > 1024 && bytes != 0)
+-		printf("%s%.1f KiB", p, (double)bytes / 1024);
++	if (bytes > GiB)
++		printf("%s%lld.%lld GiB", p,
++		       bytes / GiB, bytes % GiB / (GiB / 10));
++	else if (bytes > MiB)
++		printf("%s%lld.%lld MiB", p,
++		       bytes / MiB, bytes % MiB / (MiB / 10));
++	else if (bytes > KiB && bytes != 0)
++		printf("%s%lld.%lld KiB", p,
++		       bytes / KiB, bytes % KiB / (KiB / 10));
+ 	else
+ 		return;
+ 
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch
new file mode 100644
index 0000000..5bd0574
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch
@@ -0,0 +1,44 @@
+From e6f1a85c0a3df24fe3ca9a520dc697105e75a80c Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sat, 27 Jan 2018 09:39:26 +0100
+Subject: [PATCH 8/9] ubi-utils: ubiformat.c: convert to integer arithmetic
+
+Do not cast percent to double, it is just used as upper limit.
+Avoid floating point to fix compilation for aarch64 against klibc:
+
+error: '-mgeneral-regs-only' is incompatible with floating-point code
+|    int percent = ((double)si->ok_cnt)/si->good_cnt * 100;
+|        ^~~~~~~
+
+Notes:
+* The checks in the code above this line ensure that si->good_cnt is not 0.
+
+* The code assumes  si->good_cnt * 100  will not overflow, then we can use
+  (si->ok_cnt * 100) safely because the former is bigger.
+
+* The truncated result does not affect the logic:
+  i.e. a value of 49.9 is truncated to 49 and is still <50.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ ubi-utils/ubiformat.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ubi-utils/ubiformat.c b/ubi-utils/ubiformat.c
+index 21409ca..d93164a 100644
+--- a/ubi-utils/ubiformat.c
++++ b/ubi-utils/ubiformat.c
+@@ -843,7 +843,7 @@ int main(int argc, char * const argv[])
+ 	}
+ 
+ 	if (!args.override_ec && si->empty_cnt < si->good_cnt) {
+-		int percent = ((double)si->ok_cnt)/si->good_cnt * 100;
++		int percent = (si->ok_cnt * 100) / si->good_cnt;
+ 
+ 		/*
+ 		 * Make sure the majority of eraseblocks have valid
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0009-Eliminate-warnings-about-implicit-non-const-casting-.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0009-Eliminate-warnings-about-implicit-non-const-casting-.patch
new file mode 100644
index 0000000..658246a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc-1.5.2/0009-Eliminate-warnings-about-implicit-non-const-casting-.patch
@@ -0,0 +1,48 @@
+From 2229f3b9fd4bad47794c28e558ad273173cea73d Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Sat, 27 Jan 2018 09:52:46 +0100
+Subject: [PATCH 9/9] Eliminate warnings about implicit non-const casting in
+ libmtd
+
+The mtd_get_dev_info1 function reads (among other things) name and type
+string into coresponding struct mtd_dev_info fields.
+
+The struct mtd_dev_info has the string fields marked const, requiring
+them to be cast to non-const version during initialization.
+
+This cast was previously omitted from the dev_read_data calls,
+triggering warnings during compilation.
+
+Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
+Signed-off-by: Richard Weinberger <richard@nod.at>
+
+Upstream-Status: Backport
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ lib/libmtd.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/libmtd.c b/lib/libmtd.c
+index 60b4782..5f0bcbc 100644
+--- a/lib/libmtd.c
++++ b/lib/libmtd.c
+@@ -746,13 +746,13 @@ int mtd_get_dev_info1(libmtd_t desc, int mtd_num, struct mtd_dev_info *mtd)
+ 	if (dev_get_major(lib, mtd_num, &mtd->major, &mtd->minor))
+ 		return -1;
+ 
+-	ret = dev_read_data(lib->mtd_name, mtd_num, &mtd->name,
++	ret = dev_read_data(lib->mtd_name, mtd_num, (char *)&mtd->name,
+ 			    MTD_NAME_MAX + 1);
+ 	if (ret < 0)
+ 		return -1;
+ 	((char *)mtd->name)[ret - 1] = '\0';
+ 
+-	ret = dev_read_data(lib->mtd_type, mtd_num, &mtd->type_str,
++	ret = dev_read_data(lib->mtd_type, mtd_num, (char *)&mtd->type_str,
+ 			    MTD_TYPE_MAX + 1);
+ 	if (ret < 0)
+ 		return -1;
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch
deleted file mode 100644
index 6e1b9ff..0000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From c4e6bd9378645d577e9d9f85da85f1438afe7c50 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 29 Jun 2014 00:32:29 +0200
-Subject: [PATCH 1/6] Makefile: build ubi-utils only
-
-We build all the static ubi-utils but actually only ubiattach is needed in
-a minimalistic initramfs for the mount of ubi volumes.
-
-More fixes are needed in order to build the full mtd-utils.
-The first issue is:
-
-| mkfs.jffs2.c:64:20: fatal error: libgen.h: No such file or directory
-|  #include <libgen.h>
-
-Removing the include then the second error is:
-
-| mkfs.jffs2.c:1570:22: error: '_SC_PAGESIZE' undeclared
-| (first use in this function)
-|   page_size = sysconf(_SC_PAGESIZE);
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- Makefile | 24 ++----------------------
- 1 file changed, 2 insertions(+), 22 deletions(-)
-
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile
-+++ git/Makefile
-@@ -16,28 +16,11 @@ endif
- 
- TESTS = tests
- 
--MTD_BINS = \
--	ftl_format flash_erase nanddump doc_loadbios \
--	ftl_check mkfs.jffs2 flash_lock flash_unlock \
--	flash_otp_info flash_otp_dump flash_otp_lock flash_otp_write \
--	mtd_debug flashcp nandwrite nandtest mtdpart \
--	jffs2dump \
--	nftldump nftl_format docfdisk \
--	rfddump rfdformat \
--	serve_image recv_image \
--	sumtool jffs2reader
- UBI_BINS = \
- 	ubiupdatevol ubimkvol ubirmvol ubicrc32 ubinfo ubiattach \
- 	ubidetach ubinize ubiformat ubirename mtdinfo ubirsvol ubiblock
- 
--BINS = $(MTD_BINS)
--BINS += mkfs.ubifs/mkfs.ubifs
--BINS += $(addprefix ubi-utils/,$(UBI_BINS))
--SCRIPTS = flash_eraseall
--
--TARGETS = $(BINS)
--TARGETS += lib/libmtd.a
--TARGETS += ubi-utils/libubi.a
-+BINS = $(addprefix ubi-utils/,$(UBI_BINS))
- 
- OBJDEPS = $(BUILDDIR)/include/version.h
- 
-@@ -61,12 +44,9 @@ endif
- 	rm -f $(BUILDDIR)/include/version.h
- 	$(MAKE) -C $(TESTS) clean
- 
--install:: $(addprefix $(BUILDDIR)/,${BINS}) ${SCRIPTS}
-+install:: $(addprefix $(BUILDDIR)/,${BINS})
- 	mkdir -p ${DESTDIR}/${SBINDIR}
- 	install -m 0755 $^ ${DESTDIR}/${SBINDIR}/
--	mkdir -p ${DESTDIR}/${MANDIR}/man1
--	install -m 0644 mkfs.jffs2.1 ${DESTDIR}/${MANDIR}/man1/
--	-gzip -9f ${DESTDIR}/${MANDIR}/man1/*.1
- 
- tests::
- 	$(MAKE) -C $(TESTS)
-@@ -91,8 +71,6 @@ LDLIBS_mkfs.jffs2  = -lz $(LZOLDLIBS)
- LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
- LDLIBS_jffs2reader  = -lz $(LZOLDLIBS)
- 
--$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v))))
--
- #
- # Common libmtd
- #
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch
deleted file mode 100644
index f46824b..0000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From f3609c7c0450b4c31e1d4603fcf2cfb1ba46f994 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 29 Jun 2014 00:37:28 +0200
-Subject: [PATCH 2/6] common.mk: for klibc $(CC) is klcc
-
-Do not hardcode: assign the value to the variable if it is not already defined.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- common.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/common.mk b/common.mk
-index ba87377..59c56df 100644
---- a/common.mk
-+++ b/common.mk
-@@ -1,4 +1,4 @@
--CC := $(CROSS)gcc
-+CC ?= $(CROSS)gcc
- AR := $(CROSS)ar
- RANLIB := $(CROSS)ranlib
- 
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch
deleted file mode 100644
index 962b368..0000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 72a39bb3290a79e76b0dbf59eef83ea2d9b577a1 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 29 Jun 2014 00:40:15 +0200
-Subject: [PATCH 3/6] libubi.c: add klibc specific fixes for ioctl
-
-First issue is that ioctl() in klibc doesn't expect a constant as arg3.
-Second issue is that arg3 in klibc ioctl() implementation is not optional.
-
-Fixes:
-
-| ubi-utils/libubi.c: In function 'do_attach':
-| ubi-utils/libubi.c:698:8: warning: passing argument 3 of 'ioctl' discards
-| 'const' qualifier from pointer target type
-|   ret = ioctl(fd, UBI_IOCATT, r);
-|         ^
-| In file included from ubi-utils/libubi.c:32:0:
-| .../lib/klibc/include/sys/ioctl.h:15:14: note: expected 'void *' but argument
-| is of type 'const struct ubi_attach_req *'
-|  __extern int ioctl(int, int, void *);
-|               ^
-
-| ubi-utils/libubi.c: In function 'ubi_vol_block_create':
-| ubi-utils/libubi.c:1118:9: error: too few arguments to function 'ioctl'
-|   return ioctl(fd, UBI_IOCVOLCRBLK);
-|          ^
-| In file included from ubi-utils/libubi.c:32:0:
-| .../lib/klibc/include/sys/ioctl.h:15:14: note: declared here
-|  __extern int ioctl(int, int, void *);
-|               ^
-| ubi-utils/libubi.c: In function 'ubi_vol_block_remove':
-| ubi-utils/libubi.c:1123:9: error: too few arguments to function 'ioctl'
-|   return ioctl(fd, UBI_IOCVOLRMBLK);
-|          ^
-| In file included from ubi-utils/libubi.c:32:0:
-| .../usr/lib/klibc/include/sys/ioctl.h:15:14: note: declared here
-|  __extern int ioctl(int, int, void *);
-|               ^
-
-Upstream-Status: Inappropriate [klibc specific]
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- ubi-utils/libubi.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/ubi-utils/libubi.c b/ubi-utils/libubi.c
-index 1e08b7d..491e525 100644
---- a/ubi-utils/libubi.c
-+++ b/ubi-utils/libubi.c
-@@ -687,7 +687,7 @@ void libubi_close(libubi_t desc)
-  * success and %-1 in case of failure. @r->ubi_num contains newly created UBI
-  * device number.
-  */
--static int do_attach(const char *node, const struct ubi_attach_req *r)
-+static int do_attach(const char *node, struct ubi_attach_req *r)
- {
- 	int fd, ret;
- 
-@@ -1115,12 +1115,12 @@ int ubi_rsvol(libubi_t desc, const char *node, int vol_id, long long bytes)
- 
- int ubi_vol_block_create(int fd)
- {
--	return ioctl(fd, UBI_IOCVOLCRBLK);
-+	return ioctl(fd, UBI_IOCVOLCRBLK, NULL);
- }
- 
- int ubi_vol_block_remove(int fd)
- {
--	return ioctl(fd, UBI_IOCVOLRMBLK);
-+	return ioctl(fd, UBI_IOCVOLRMBLK, NULL);
- }
- 
- int ubi_update_start(libubi_t desc, int fd, long long bytes)
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch
deleted file mode 100644
index fee1cbc..0000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From e56767b9caa02e7c41803499c77dc939d5a7f64a Mon Sep 17 00:00:00 2001
-From: Thorsten Glaser <tg@mirbsd.org>
-Date: Fri, 20 Jun 2014 10:56:27 +0000
-Subject: [PATCH 4/6] Restore compatibility to dietlibc, klibc, musl libc after commit 4f1b108
-
-Each C library has their own way to define off_t, and the <features.h>
-header is nonstandard and specific to the GNU libc and those that clone
-it (uClibc). Fefe’s dietlibc uses different flags, and klibc always uses
-a 64-bit off_t (like the BSDs); musl libc cannot be recognised using cpp
-instructions, so we assume 64 bit there (and on unknown C libraries) and
-leave it to the user to submit a follow-up fix if we guess wrong. I also
-added a static assertion to verify the 64 bit guess is correct.
-
-It would be really better using a configure script for this instead.
-
-Fixes:
-|   CC      lib/libmtd.o
-| In file included from ubi-utils/ubiutils-common.c:35:0:
-| ./include/common.h:29:22: fatal error: features.h: No such file or directory
-|  #include <features.h>
-|                       ^
-| compilation terminated.
-
-Upstream-Status: Pending
-
-Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- include/common.h | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-diff --git a/include/common.h b/include/common.h
-index 6895e5c..77f3f7d 100644
---- a/include/common.h
-+++ b/include/common.h
-@@ -26,7 +26,9 @@
- #include <string.h>
- #include <fcntl.h>
- #include <errno.h>
-+#if defined(__GLIBC__) || defined(__UCLIBC__)
- #include <features.h>
-+#endif
- #include <inttypes.h>
- #include "version.h"
- 
-@@ -52,6 +54,21 @@ extern "C" {
- #endif
- 
- /* define a print format specifier for off_t */
-+#if defined(__KLIBC__)
-+/* always 64 bit on klibc */
-+#define PRIxoff_t PRIx64
-+#define PRIdoff_t PRId64
-+#elif defined(__dietlibc__)
-+/* depends on compiler flags on dietlibc */
-+#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
-+#define PRIxoff_t PRIx64
-+#define PRIdoff_t PRId64
-+#else
-+#define PRIxoff_t "l"PRIx32
-+#define PRIdoff_t "l"PRId32
-+#endif
-+#elif defined(__GLIBC__) || defined(__UCLIBC__)
-+/* depends on compiler flags on glibc and uClibc */
- #ifdef __USE_FILE_OFFSET64
- #define PRIxoff_t PRIx64
- #define PRIdoff_t PRId64
-@@ -59,6 +76,13 @@ extern "C" {
- #define PRIxoff_t "l"PRIx32
- #define PRIdoff_t "l"PRId32
- #endif
-+#else
-+/* unknown libc or musl */
-+#define PRIxoff_t PRIx64
-+#define PRIdoff_t PRId64
-+/* verify our guess of 64 bit is correct */
-+static char __PRIxoff_t_static_assert[sizeof(off_t) == 8 ? 1 : -1];
-+#endif
- 
- /* Verbose messages */
- #define bareverbose(verbose, fmt, ...) do {                        \
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch
deleted file mode 100644
index 6b09c14..0000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 8318852ef4f768bed31072aa7b57e11adc1f639c Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 29 Jun 2014 00:44:03 +0200
-Subject: [PATCH 5/6] common.h: more workarounds for klibc compatibility
-
-Patch is addressing two issues:
-* First,  Klibc doesn't have rpmatch().
-* Second, Klibc lacks getline()
-
-Fixes:
-|   LD      ubi-utils/ubiformat
-| .../git/ubi-utils/ubiformat.o: In function `prompt':
-| .../git/./include/common.h:157: undefined reference to `getline'
-| .../git/./include/common.h:164: undefined reference to `rpmatch'
-| .../git/./include/common.h:157: undefined reference to `getline'
-| .../git/./include/common.h:164: undefined reference to `rpmatch'
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- include/common.h | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-Index: git/include/common.h
-===================================================================
---- git.orig/include/common.h
-+++ git/include/common.h
-@@ -161,15 +161,17 @@ static inline int __rpmatch(const char *
-  */
- static inline bool prompt(const char *msg, bool def)
- {
--	char *line = NULL;
--	size_t len;
-+	char *line;
- 	bool ret = def;
- 
-+	const int sizeof_line = 2;
-+	line = malloc(sizeof_line);
-+
- 	do {
- 		normsg_cont("%s (%c/%c) ", msg, def ? 'Y' : 'y', def ? 'n' : 'N');
- 		fflush(stdout);
- 
--		while (getline(&line, &len, stdin) == -1) {
-+		while (fgets(line, sizeof_line, stdin) == NULL) {
- 			printf("failed to read prompt; assuming '%s'\n",
- 				def ? "yes" : "no");
- 			break;
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch
deleted file mode 100644
index 043a89d..0000000
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 72a04a9b9ed33c889d2e2b86f306c5be9f6cde35 Mon Sep 17 00:00:00 2001
-From: Andrea Adami <andrea.adami@gmail.com>
-Date: Sun, 29 Jun 2014 00:44:57 +0200
-Subject: [PATCH 6/6] libiniparser: remove unused function needing float
-
-Fixes:
-|   LD      ubi-utils/ubiformat
-| .../git/ubi-utils/libiniparser.a(libiniparser.o): In function
-| `  LD      ubi-utils/ubirename
-| iniparser_getdouble':
-| .../git/ubi-utils/libiniparser.c:336: undefined reference to `atof'
-
-Grep doesn't reveal any occurrence of iniparser_getdouble(), using atof() so
-remove it: floating-point is not supported in klibc
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- ubi-utils/include/libiniparser.h | 15 ---------------
- ubi-utils/libiniparser.c         | 22 ----------------------
- 2 files changed, 37 deletions(-)
-
-diff --git a/ubi-utils/include/libiniparser.h b/ubi-utils/include/libiniparser.h
-index be3c667..abd77aa 100644
---- a/ubi-utils/include/libiniparser.h
-+++ b/ubi-utils/include/libiniparser.h
-@@ -158,21 +158,6 @@ int iniparser_getint(dictionary * d, const char * key, int notfound);
- 
- /*-------------------------------------------------------------------------*/
- /**
--  @brief    Get the string associated to a key, convert to a double
--  @param    d Dictionary to search
--  @param    key Key string to look for
--  @param    notfound Value to return in case of error
--  @return   double
--
--  This function queries a dictionary for a key. A key as read from an
--  ini file is given as "section:key". If the key cannot be found,
--  the notfound value is returned.
-- */
--/*--------------------------------------------------------------------------*/
--double iniparser_getdouble(dictionary * d, char * key, double notfound);
--
--/*-------------------------------------------------------------------------*/
--/**
-   @brief    Get the string associated to a key, convert to a boolean
-   @param    d Dictionary to search
-   @param    key Key string to look for
-diff --git a/ubi-utils/libiniparser.c b/ubi-utils/libiniparser.c
-index 898f57f..ba70c08 100644
---- a/ubi-utils/libiniparser.c
-+++ b/ubi-utils/libiniparser.c
-@@ -316,28 +316,6 @@ int iniparser_getint(dictionary * d, const char * key, int notfound)
- 
- /*-------------------------------------------------------------------------*/
- /**
--  @brief    Get the string associated to a key, convert to a double
--  @param    d Dictionary to search
--  @param    key Key string to look for
--  @param    notfound Value to return in case of error
--  @return   double
--
--  This function queries a dictionary for a key. A key as read from an
--  ini file is given as "section:key". If the key cannot be found,
--  the notfound value is returned.
-- */
--/*--------------------------------------------------------------------------*/
--double iniparser_getdouble(dictionary * d, char * key, double notfound)
--{
--    char    *   str ;
--
--    str = iniparser_getstring(d, key, INI_INVALID_KEY);
--    if (str==INI_INVALID_KEY) return notfound ;
--    return atof(str);
--}
--
--/*-------------------------------------------------------------------------*/
--/**
-   @brief    Get the string associated to a key, convert to a boolean
-   @param    d Dictionary to search
-   @param    key Key string to look for
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb
index 518c02f..abb0d4b 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.2.bb
@@ -11,12 +11,15 @@
 
 SRCREV = "aea36417067dade75192bafa03af70b6eb2677b1"
 SRC_URI = "git://git.infradead.org/mtd-utils.git \
-             file://0001-Makefile-only-build-ubi-utils.patch \
+             file://0001-Makefile-build-ubi-utils-only.patch \
              file://0002-common.mk-for-klibc-CC-is-klcc.patch \
-             file://0003-libubi.c-add-klibc-specific-fixes.patch \
-             file://0004-common.h-klibc-fixes-1.patch \
-             file://0005-common.h-klibc-fixes-2.patch \
+             file://0003-libubi.c-add-klibc-specific-fixes-for-ioctl.patch \
+             file://0004-Restore-compatibility-to-dietlibc-klibc-musl-libc-af.patch \
+             file://0005-common.h-more-workarounds-for-klibc-compatibility.patch \
              file://0006-libiniparser-remove-unused-function-needing-float.patch \
+             file://0007-mtd-utils-common.c-convert-to-integer-arithmetic.patch \
+             file://0008-ubi-utils-ubiformat.c-convert-to-integer-arithmetic.patch \
+             file://0009-Eliminate-warnings-about-implicit-non-const-casting-.patch \
              "
 
 S = "${WORKDIR}/git/"
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb b/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb
index 49c53a3..2e27033 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb
@@ -1,10 +1,16 @@
 # the binaries are statically linked against klibc
-require recipes-kernel/kexec/kexec-tools.inc
 SUMMARY = "Kexec tools, statically compiled against klibc"
-SRC_URI[md5sum] = "92eff93b097475b7767f8c98df84408a"
-SRC_URI[sha256sum] = "09e180ff36dee087182cdc939ba6c6917b6adbb5fc12d589f31fd3659b6471f2"
+AUTHOR = "Eric Biederman"
+HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/"
+SECTION = "kernel/userland"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
+                    file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
+DEPENDS = "zlib xz"
 
-inherit klibc
+PR = "r1"
+
+inherit klibc autotools
 
 FILESPATH =. "${FILE_DIRNAME}/kexec-tools-${PV}:"
 
@@ -23,6 +29,9 @@
             file://0001-Adjust-the-order-of-headers-to-fix-build-for-musl.patch \
             "
 
+SRC_URI[md5sum] = "92eff93b097475b7767f8c98df84408a"
+SRC_URI[sha256sum] = "09e180ff36dee087182cdc939ba6c6917b6adbb5fc12d589f31fd3659b6471f2"
+
 SRC_URI_append_arm = " file://arm_crashdump.patch"
 SRC_URI_append_powerpc = " file://ppc__lshrdi3.patch"
 SRC_URI_append_x86 = " file://x86_sys_io.patch file://x86_basename.patch file://x86_vfscanf.patch file://x86_kexec_test.patch"
@@ -35,7 +44,26 @@
 CFLAGS += "-I${STAGING_DIR_HOST}${libdir}/klibc/include -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
 CFLAGS_x86-64 += "-I${STAGING_DIR_HOST}${libdir}/klibc/include -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
 
+do_compile_prepend() {
+    # Remove the prepackaged config.h from the source tree as it overrides
+    # the same file generated by configure and placed in the build tree
+    rm -f ${S}/include/config.h
+
+    # Remove the '*.d' file to make sure the recompile is OK
+    for dep in `find ${B} -type f -name '*.d'`; do
+        dep_no_d="`echo $dep | sed 's#.d$##'`"
+        # Remove file.d when there is a file.o
+        if [ -f "$dep_no_d.o" ]; then
+            rm -f $dep
+        fi
+    done
+}
+
 PACKAGES =+ "kexec-klibc kdump-klibc"
 
 FILES_kexec-klibc = "${sbindir}/kexec"
 FILES_kdump-klibc = "${sbindir}/kdump"
+
+INSANE_SKIP_${PN} = "arch"
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)'
diff --git a/import-layers/meta-openembedded/meta-multimedia/README b/import-layers/meta-openembedded/meta-multimedia/README
index b59dfe0..20f4fb8 100644
--- a/import-layers/meta-openembedded/meta-multimedia/README
+++ b/import-layers/meta-openembedded/meta-multimedia/README
@@ -1,20 +1,19 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: rocko
+branch: master
 revision: HEAD
 
 URI: git://github.com/openembedded/meta-oe.git
 layers: meta-oe
-branch: rocko
+branch: master
 revision: HEAD
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][rocko]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia]' in the subject'
 
 When sending single patches, please use something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][rocko][PATCH
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][PATCH
 
 You are encouraged to fork the mirror on github https://github.com/openembedded/meta-oe/ to share your patches, this is preferred for patch sets consisting of more than one patch. Other services like gitorious, repo.or.cz or self hosted setups are of course accepted as well, 'git fetch <remote>' works the same on all of them. We recommend github because it is free, easy to use, has been proven to be reliable and has a really good web GUI.
 
-rocko Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
+Layer maintainer: Andreas Müller <schnitzeltony@googlemail.com>
diff --git a/import-layers/meta-openembedded/meta-multimedia/conf/layer.conf b/import-layers/meta-openembedded/meta-multimedia/conf/layer.conf
index d68b13f..cfedf2f 100644
--- a/import-layers/meta-openembedded/meta-multimedia/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-multimedia/conf/layer.conf
@@ -29,3 +29,4 @@
 
 LAYERDEPENDS_multimedia-layer = "core"
 
+LAYERSERIES_COMPAT_multimedia-layer = "sumo"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb
index 9360d65..3ddb818 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.13.bb
@@ -8,4 +8,6 @@
 SRC_URI = "http://download.gnome.org/sources/${BPN}/0.8/${BPN}-${PV}.tar.xz"
 SRC_URI[md5sum] = "212d85ebce89b32468b59e1164050d40"
 SRC_URI[sha256sum] = "aa3decb9d532c0e2e505adc592f431fd81c0231ded2981129e87da13712479ed"
-inherit autotools pkgconfig gettext
+inherit distro_features_check autotools pkgconfig gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6/sepbuildfix.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6/sepbuildfix.patch
deleted file mode 100644
index 0493cea..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6/sepbuildfix.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From e198f0a87660a048164ca0e16d18517d0aee846e Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 9 Jun 2015 12:20:45 -0700
-Subject: [PATCH] Fix builds when using separate source and build directories.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- configure.ac           | 10 +++++-----
- 1 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a8731b5..54a3c3d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -744,9 +744,9 @@ AC_OUTPUT
- #
- # Files copied for windows compilation.
- #
--echo "configure: copying \"autoconfig.h\"          to \"build/inc/autoconfig.h\""
--test -d build/inc || mkdir -p build/inc
--cp autoconfig.h build/inc/autoconfig.h
--echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"build/inc/upnpconfig.h\""
--cp upnp/inc/upnpconfig.h build/inc/upnpconfig.h
-+echo "configure: copying \"autoconfig.h\"          to \"\$srcdir/build/inc/autoconfig.h\""
-+test -d $srcdir/build/inc || mkdir -p $srcdir/build/inc
-+cp autoconfig.h $srcdir/build/inc/autoconfig.h
-+echo "configure: copying \"upnp/inc/upnpconfig.h\" to \"\$srcdir/build/inc/upnpconfig.h\""
-+cp upnp/inc/upnpconfig.h $srcdir/build/inc/upnpconfig.h
- 
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6_1.6.21.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6_1.6.21.bb
deleted file mode 100644
index c1b0429..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp1.6_1.6.21.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Portable SDK for UPnP* Devices"
-DESCRIPTION = "The Portable SDK for UPnP Devices is an SDK for development of \
-UPnP device and control point applications. It consists of the core UPnP \
-protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \
-supporting the Document Object Model (DOM) Level 2 API and an optional, \
-integrated mini web server for serving UPnP related documents."
-HOMEPAGE = "http://pupnp.sourceforge.net/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b3190d5244e08e78e4c8ee78544f4863"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/pupnp/libupnp-${PV}.tar.bz2 \
-           file://sepbuildfix.patch \
-"
-
-SRC_URI[md5sum] = "513adadb07fa039a8aeb0ceb7b7b0f6e"
-SRC_URI[sha256sum] = "af3f3c0846a1d75baeadae4aa5a2bda427567e2a1fb4559bf73ccff0a4f9a39b"
-
-S = "${WORKDIR}/libupnp-${PV}"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
index d2eda6b..e94c9ff 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.34.0.bb
@@ -30,6 +30,7 @@
 PACKAGECONFIG[media-export] = "--enable-media-export-plugin,--disable-media-export-plugin"
 PACKAGECONFIG[gst-launch] = "--enable-gst-launch-plugin,--disable-gst-launch-plugin"
 PACKAGECONFIG[gtk+3] = ",--without-ui,gtk+3"
+PACKAGECONFIG[lms] = "--enable-lms-plugin,--disable-lms-plugin"
 
 LIBV = "2.6"
 
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
index 5158f05..2956189 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -6,60 +6,59 @@
 FILESPATH =. "${FILE_DIRNAME}/kodi-17:"
 
 DEPENDS = " \
-            cmake-native \
-            curl-native \
-            gperf-native \
-            jsonschemabuilder-native \
-            nasm-native \
-            swig-native \
-            unzip-native \
-            yasm-native \
-            zip-native \
-            avahi \
-            boost \
-            bzip2 \
-            crossguid \
-            curl \
-            dcadec \
-            enca \
-            expat \
-            faad2 \
-            ffmpeg \
-            fontconfig \
-            fribidi \
-            giflib \
-            jasper \
-            libass \
-            libcdio \
-            libcec \
-            libmad \
-            libmicrohttpd \
-            libmms \
-            libmms \
-            libmodplug \
-            libpcre \
-            libplist \
-            libsamplerate0 \
-            libsdl-image \
-            libsdl-mixer \
-            libsquish \
-            libssh \
-            libtinyxml \
-            libusb1 \
-            libxslt \
-            lzo \
-            mpeg2dec \
-            python \
-            samba \
-            sqlite3 \
-            taglib \
-            virtual/egl \
-            virtual/libsdl \
-            wavpack \
-            yajl \
-            zlib \
-            ${@enable_glew(bb, d)} \
-          "
+    cmake-native \
+    curl-native \
+    gperf-native \
+    jsonschemabuilder-native \
+    nasm-native \
+    swig-native \
+    unzip-native \
+    yasm-native \
+    zip-native \
+    avahi \
+    boost \
+    bzip2 \
+    crossguid \
+    curl \
+    dcadec \
+    enca \
+    expat \
+    faad2 \
+    ffmpeg \
+    fontconfig \
+    fribidi \
+    giflib \
+    jasper \
+    libass \
+    libcdio \
+    libcec \
+    libmad \
+    libmicrohttpd \
+    libmms \
+    libmms \
+    libmodplug \
+    libpcre \
+    libplist \
+    libsamplerate0 \
+    libsdl-image \
+    libsdl-mixer \
+    libsquish \
+    libssh \
+    libtinyxml \
+    libusb1 \
+    libxslt \
+    lzo \
+    mpeg2dec \
+    python \
+    sqlite3 \
+    taglib \
+    virtual/egl \
+    virtual/libsdl \
+    wavpack \
+    yajl \
+    zlib \
+    ${@enable_glew(bb, d)} \
+"
 
 PROVIDES = "xbmc"
 
@@ -67,24 +66,24 @@
 PV = "17.3+gitr${SRCPV}"
 ADDONSPV = "17.1"
 SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Krypton \
-           https://repo.voidlinux.eu/distfiles/${BPN}-${ADDONSPV}-generated-addons.tar.xz;name=addons;unpack=0 \
-           file://0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
-           file://0004-handle-SIGTERM.patch \
-           file://0005-add-support-to-read-frequency-output-if-using-intel-.patch \
-           file://0006-Disable-DVD-support.patch \
-           file://0007-Always-compile-libcpluff-as-PIC.patch \
-           file://0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch \
-           file://0009-build-Add-support-for-musl-triplets.patch \
-           file://0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch \
-           file://0011-Let-configure-pass-on-unknown-architectures-setting-.patch \
-           file://0012-Revert-droid-fix-builds-with-AML-disabled.patch \
-           file://0001-change-order-of-detecting-libegl-and-libgles2.patch \
-           file://0013-FTPParse.cpp-use-std-string.patch \
+    https://repo.voidlinux.eu/distfiles/${BPN}-${ADDONSPV}-generated-addons.tar.xz;name=addons;unpack=0 \
+    file://0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
+    file://0004-handle-SIGTERM.patch \
+    file://0005-add-support-to-read-frequency-output-if-using-intel-.patch \
+    file://0006-Disable-DVD-support.patch \
+    file://0007-Always-compile-libcpluff-as-PIC.patch \
+    file://0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch \
+    file://0009-build-Add-support-for-musl-triplets.patch \
+    file://0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch \
+    file://0011-Let-configure-pass-on-unknown-architectures-setting-.patch \
+    file://0012-Revert-droid-fix-builds-with-AML-disabled.patch \
+    file://0001-change-order-of-detecting-libegl-and-libgles2.patch \
+    file://0013-FTPParse.cpp-use-std-string.patch \
 "
 
 SRC_URI_append_libc-musl = " \
-           file://0001-Fix-file_Emu-on-musl.patch \
-           file://0002-Remove-FILEWRAP.patch \
+    file://0001-Fix-file_Emu-on-musl.patch \
+    file://0002-Remove-FILEWRAP.patch \
 "
 SRC_URI[addons.md5sum] = "719614fa764011a18665d08af5c8c92f"
 SRC_URI[addons.sha256sum] = "350da57408c27473eaf40e7f544bc94841bf101dc4346085260c5c4af0adac97"
@@ -102,8 +101,10 @@
 ACCEL_x86 = "vaapi vdpau"
 ACCEL_x86-64 = "vaapi vdpau"
 
-PACKAGECONFIG ??= "${ACCEL} opengl"
-PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', ' openglesv2', d)}"
+PACKAGECONFIG ??= "${ACCEL} opengl \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'openglesv2', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'samba', '', d)} \
+"
 
 PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
 PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
@@ -113,6 +114,7 @@
 PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
 PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
 PACKAGECONFIG[lcms] = "--enable-lcms2,--disable-lcms2,lcms"
+PACKAGECONFIG[samba] = "--enable-samba,--disable-samba,samba"
 
 EXTRA_OECONF = " \
     --disable-debug \
@@ -183,29 +185,31 @@
 
 # kodi uses some kind of dlopen() method for libcec so we need to add it manually
 # OpenGL builds need glxinfo, that's in mesa-demos
-RRECOMMENDS_${PN}_append = " libcec \
-                             python \
-                             python-ctypes \
-                             python-lang \
-                             python-re \
-                             python-netclient \
-                             python-html \
-                             python-difflib \
-                             python-json \
-                             python-zlib \
-                             python-shell \
-                             python-sqlite3 \
-                             python-compression \
-                             libcurl \
-                             ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'xrandr xdpyinfo', '', d)} \
+RRECOMMENDS_${PN}_append = " \
+    libcec \
+    python \
+    python-ctypes \
+    python-lang \
+    python-re \
+    python-netclient \
+    python-html \
+    python-difflib \
+    python-json \
+    python-zlib \
+    python-shell \
+    python-sqlite3 \
+    python-compression \
+    libcurl \
+    ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'xrandr xdpyinfo', '', d)} \
 "
-RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 \
-                                        glibc-gconv-ibm850 \
-					glibc-gconv-unicode \
-                                        glibc-gconv-utf-32 \
-					glibc-charmap-utf-8 \
-					glibc-localedata-en-us \
-                                      "
+RRECOMMENDS_${PN}_append_libc-glibc = " \
+    glibc-charmap-ibm850 \
+    glibc-gconv-ibm850 \
+    glibc-gconv-unicode \
+    glibc-gconv-utf-32 \
+    glibc-charmap-utf-8 \
+    glibc-localedata-en-us \
+"
 
 RPROVIDES_${PN} += "xbmc"
 
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/0001-Do-not-use-obsolete-pow10f-function.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/0001-Do-not-use-obsolete-pow10f-function.patch
new file mode 100644
index 0000000..bd5e1b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/0001-Do-not-use-obsolete-pow10f-function.patch
@@ -0,0 +1,50 @@
+From 0cc7362e171616dcfeb93c6e1576362761bf14e5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Jan 2018 18:37:16 -0800
+Subject: [PATCH] Do not use obsolete pow10f() function
+
+exp10 name is standardized in TS 18661-4 and its
+available in glibc since version 2.1
+it has been now removed from glibc 2.27+
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ dsp/v4f_IIR2.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/dsp/v4f_IIR2.h b/dsp/v4f_IIR2.h
+index a68ecf5..ebd1234 100644
+--- a/dsp/v4f_IIR2.h
++++ b/dsp/v4f_IIR2.h
+@@ -33,7 +33,7 @@
+ namespace DSP {
+ 
+ #ifdef __APPLE__
+-inline float pow10f(float f) {return pow(10,f);}
++inline float exp10f(float f) {return __exp10f(f);}
+ #endif
+ 
+ class RBJv4
+@@ -142,7 +142,7 @@ class IIR2v4
+ 				/* A = pow (10, gain / 40) */
+ 				v4f_t A = (v4f_t) {.025,.025,.025,.025};
+ 				A *= gain;
+-				A = v4f_map<pow10f> (A);
++				A = v4f_map<exp10f> (A);
+ 
+ 				RBJv4 p (f, Q);
+ 
+@@ -429,7 +429,7 @@ class IIR2v4Bank
+ 					/* A = pow (10, gain / 40) */
+ 					v4f_t A = (v4f_t) {.025,.025,.025,.025};
+ 					A *= gain[i];
+-					A = v4f_map<pow10f> (A);
++					A = v4f_map<exp10f> (A);
+ 
+ 					RBJv4 p (f[i], Q[i]);
+ 
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
index 29167d1..fe864c4 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
@@ -7,6 +7,7 @@
            file://Avoid-ambiguity-in-div-invocation.patch \
            file://0001-basic.h-Use-c99-supported-stdint-types.patch \
            file://append_ldflags.patch \
+           file://0001-Do-not-use-obsolete-pow10f-function.patch \
            "
 
 SRC_URI[md5sum] = "c1d634038dcb54702306c0e30cb1c626"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
new file mode 100644
index 0000000..0e1846e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
@@ -0,0 +1,76 @@
+From 2de7e128fbdf528716b500cf27ed9a4358c931c9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 24 Nov 2017 00:05:35 +0100
+Subject: [PATCH 2/2] Use ARM-NEON accelaration for float-multithreaded setups
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/rvoice/fluid_rvoice_mixer.c | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+diff --git a/src/rvoice/fluid_rvoice_mixer.c b/src/rvoice/fluid_rvoice_mixer.c
+index 9616518..dbf8057 100644
+--- a/src/rvoice/fluid_rvoice_mixer.c
++++ b/src/rvoice/fluid_rvoice_mixer.c
+@@ -27,6 +27,10 @@
+ #include "fluid_ladspa.h"
+ #include "fluid_synth.h"
+ 
++#if defined(__ARM_NEON__)
++#include "arm_neon.h"
++#endif
++
+ 
+ #define ENABLE_MIXER_THREADS 1
+ 
+@@ -794,20 +798,42 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t* dest, fluid_mixer_buffers_t* src)
+   if (minbuf > src->buf_count)
+     minbuf = src->buf_count;
+   for (i=0; i < minbuf; i++) {
++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
++    for (j=0; j < scount; j+=4) {
++        float32x4_t vleft = vld1q_f32(&dest->left_buf[i][j]);
++        float32x4_t vright = vld1q_f32(&dest->right_buf[i][j]);
++        vleft = vaddq_f32(vleft, vld1q_f32(&src->left_buf[i][j]));
++        vright = vaddq_f32(vright, vld1q_f32(&src->right_buf[i][j]));
++        vst1q_f32(&dest->left_buf[i][j], vleft);
++        vst1q_f32(&dest->right_buf[i][j], vright);
++    }
++#else
+     for (j=0; j < scount; j++) {
+       dest->left_buf[i][j] += src->left_buf[i][j];
+       dest->right_buf[i][j] += src->right_buf[i][j];
+     }
++#endif
+   }
+ 
+   minbuf = dest->fx_buf_count;
+   if (minbuf > src->fx_buf_count)
+     minbuf = src->fx_buf_count;
+   for (i=0; i < minbuf; i++) {
++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
++    for (j=0; j < scount; j+=4) {
++        float32x4_t vleft = vld1q_f32(&dest->fx_left_buf[i][j]);
++        float32x4_t vright = vld1q_f32(&dest->fx_right_buf[i][j]);
++        vleft = vaddq_f32(vleft, vld1q_f32(&src->fx_left_buf[i][j]));
++        vright = vaddq_f32(vright, vld1q_f32(&src->fx_right_buf[i][j]));
++        vst1q_f32(&dest->fx_left_buf[i][j], vleft);
++        vst1q_f32(&dest->fx_right_buf[i][j], vright);
++    }
++#else
+     for (j=0; j < scount; j++) {
+       dest->fx_left_buf[i][j] += src->fx_left_buf[i][j];
+       dest->fx_right_buf[i][j] += src->fx_right_buf[i][j];
+     }
++#endif
+   }
+ }
+ 
+-- 
+2.9.5
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.10.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.10.bb
new file mode 100644
index 0000000..0ec4c49
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.10.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Fluidsynth is a software synthesizer"
+HOMEPAGE = "http://www.fluidsynth.org/"
+SECTION = "libs/multimedia"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
+
+DEPENDS = "alsa-lib ncurses glib-2.0"
+
+SRC_URI = " \
+    git://github.com/FluidSynth/fluidsynth.git;branch=1.1.x \
+    file://0001-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
+"
+SRCREV = "f5a0fee6f7f2b2ab4c866df1acb649333464b3fd"
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig lib_package
+
+EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
+PACKAGECONFIG[sndfile] = "-Denable-libsndfile-support=ON,-Denable-libsndfile-support=OFF,libsndfile1"
+PACKAGECONFIG[jack] = "-Denable-jack-support=ON,-Denable-jack-support=OFF,jack"
+PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,--Denable-pulseaudio=OFF,pulseaudio"
+PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb
deleted file mode 100644
index 88981e4..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Fluidsynth is a software synthesizer"
-HOMEPAGE = "http://www.fluidsynth.org/"
-SECTION = "libs/multimedia"
-LICENSE = "LGPL-2.0+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e198e9aac94943d0ec29a7dae8c29416"
-
-DEPENDS = "alsa-lib ncurses glib-2.0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BP}/${BP}.tar.gz"
-SRC_URI[md5sum] = "ae5aca6de824b4173667cbd3a310b263"
-SRC_URI[sha256sum] = "50853391d9ebeda9b4db787efb23f98b1e26b7296dd2bb5d0d96b5bccee2171c"
-
-inherit autotools-brokensep pkgconfig lib_package
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
-PACKAGECONFIG[sndfile] = "--enable-libsndfile-support,--disable-libsndfile-support,libsndfile1"
-PACKAGECONFIG[jack] = "--enable-jack-support,--disable-jack-support,jack"
-PACKAGECONFIG[pulseaudio] = "--enable-pulse-support,--disable-pulse-support,pulseaudio"
-PACKAGECONFIG[portaudio] = "--enable-portaudio-support,--disable-portaudio-support,portaudio-v19"
-
-do_configure_prepend () {
-    rm -f ${S}/m4/*
-}
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/lower-rank.diff b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/lower-rank.diff
deleted file mode 100644
index 5f08afe..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13/lower-rank.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-Lower the rank of ffmpeg plugin so codecs that hook into accelerated pieces (e.g. dsp or hw engines) can get picked over this
-Derived from OE by Dongxiao Xu <dongxiao.xu@intel.com>
-
-Upstream-Status: Inappropriate [embedded specific]
-
---- /tmp/gstffmpegdec.c	2009-03-05 09:31:15.000000000 +0100
-+++ gst-ffmpeg-0.10.6/ext/ffmpeg/gstffmpegdec.c	2009-03-05 09:33:09.000000000 +0100
-@@ -2588,7 +2588,7 @@
-       case CODEC_ID_MSMPEG4V3:
-       case CODEC_ID_H264:
-       case CODEC_ID_COOK:
--        rank = GST_RANK_PRIMARY;
-+        rank = GST_RANK_SECONDARY;
-         break;
-       case CODEC_ID_DVVIDEO:
-         /* we have a good dv decoder, fast on both ppc as well as x86. they say
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb
index a3bfa5f..f235464 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base_0.10.36.bb
@@ -25,7 +25,6 @@
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 
-PACKAGECONFIG[gnomevfs] = "--enable-gnome_vfs,--disable-gnome_vfs,gnome-vfs"
 PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
 PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
 PACKAGECONFIG[x11] = "--enable-x --enable-xvideo,--disable-x --disable-xvideo,virtual/libx11 libxv libsm libice"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch
index 3afca4e..69b21dd 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-rtsp/0001-change-deprecated-INCLUDES-to-AM_CPPFLAGS-for-automa.patch
@@ -1,34 +1,38 @@
 index gst-rtsp_0.10.8/bindings/python/Makefile.am
---- gst-rtsp_0.10.8.orig/bindings/python/Makefile.am
-+++ gst-rtsp_0.10.8/bindings/python/Makefile.am
+Index: gst-rtsp-0.10.8/bindings/python/Makefile.am
+===================================================================
+--- gst-rtsp-0.10.8.orig/bindings/python/Makefile.am
++++ gst-rtsp-0.10.8/bindings/python/Makefile.am
 @@ -14,7 +14,7 @@ defs_DATA = $(DEFS)
  defsdir = $(pkgdatadir)/$(GST_MAJORMINOR)/defs
  OVERRIDES = rtspserver.override
-
+ 
 -INCLUDES = -I$(top_srcdir) -I$(srcdir) $(PYTHON_INCLUDES)
 +AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) $(PYTHON_INCLUDES)
-
+ 
  rtspserver_la_CFLAGS = -I$(top_srcdir)/src \
-         $(PYGOBJECT_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
-index gst-rtsp_0.10.8/examples/Makefile.am
---- gst-rtsp_0.10.8.orig/examples/Makefile.am
-+++ gst-rtsp_0.10.8/examples/Makefile.am
+ 		$(PYGOBJECT_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
+Index: gst-rtsp-0.10.8/examples/Makefile.am
+===================================================================
+--- gst-rtsp-0.10.8.orig/examples/Makefile.am
++++ gst-rtsp-0.10.8/examples/Makefile.am
 @@ -1,6 +1,6 @@
  noinst_PROGRAMS = test-video test-ogg test-mp4 test-readme test-launch test-sdp test-uri test-auth
-
+ 
 -INCLUDES = -I$(top_srcdir) -I$(srcdir)
 +AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir)
-
+ 
  AM_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
  AM_LDFLAGS = \
-index gst-rtsp_0.10.8/tests/Makefile.am
---- gst-rtsp_0.10.8.orig/tests/Makefile.am
-+++ gst-rtsp_0.10.8/tests/Makefile.am
+Index: gst-rtsp-0.10.8/tests/Makefile.am
+===================================================================
+--- gst-rtsp-0.10.8.orig/tests/Makefile.am
++++ gst-rtsp-0.10.8/tests/Makefile.am
 @@ -1,6 +1,6 @@
  noinst_PROGRAMS = test-cleanup
-
+ 
 -INCLUDES = -I$(top_srcdir) -I$(srcdir)
 +AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir)
-
+ 
  AM_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
  AM_LDFLAGS = \
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc
new file mode 100644
index 0000000..10ee5bc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd.inc
@@ -0,0 +1,25 @@
+DESCRIPTION = "Gstreamer Daemon 1.0"
+SUMMARY = "GStreamer framework for controlling audio and video streaming using TCP connection messages"
+HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=Gstd-1.0"
+SECTION = "multimedia"
+LICENSE = "GPLv2+"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon"
+
+SRCBRANCH ?= "master"
+SRCREV = "097a086a8606dcb368c7d38c7ec4fefc2497401b"
+SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH} \
+	   file://0001-gstd-yocto-compatibility.patch"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG_CONFARGS = " \
+	--disable-gtk-doc \
+"
+
+inherit autotools pkgconfig gettext
+
+do_configure() {
+${S}/autogen.sh
+oe_runconf
+}
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
new file mode 100644
index 0000000..ddc1831
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
@@ -0,0 +1,63 @@
+From eaf51d6420c63713f62025583681007c3502d387 Mon Sep 17 00:00:00 2001
+From: Carlos <carlos.rodriguez@ridgerun.com>
+Date: Fri, 15 Dec 2017 10:14:05 -0600
+Subject: [PATCH] gstd:yocto compatibility
+
+---
+ autogen.sh                      | 8 +++++++-
+ docs/reference/gstd/Makefile.am | 2 +-
+ gstd/Makefile.am                | 2 +-
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/autogen.sh b/autogen.sh
+index 66dbd42..793ee2f 100755
+--- a/autogen.sh
++++ b/autogen.sh
+@@ -21,7 +21,11 @@
+ # ACLOCAL, AUTOPOINT and/or LIBTOOLIZE to the right versions, or leave them
+ # unset and get the defaults
+ 
+-gtkdocize || exit 1
++test -n "$srcdir" || srcdir=`dirname "$0"`
++test -n "$srcdir" || srcdir=.
++
++olddir=`pwd`
++cd "$srcdir"
+ 
+ autoreconf --verbose --force --install || {
+  echo 'autogen.sh failed';
+@@ -31,3 +35,5 @@ autoreconf --verbose --force --install || {
+ echo
+ echo "Now run './configure' with your system settings followed by 'make' to compile this module."
+ echo
++
++cd "$olddir"
+diff --git a/docs/reference/gstd/Makefile.am b/docs/reference/gstd/Makefile.am
+index f860fa1..153a13b 100644
+--- a/docs/reference/gstd/Makefile.am
++++ b/docs/reference/gstd/Makefile.am
+@@ -66,7 +66,7 @@ GTKDOC_LIBS=$(top_builddir)/gstd/libgstd-core.la
+ 
+ 
+ # This includes the standard gtk-doc make rules, copied by gtkdocize.
+-include $(top_srcdir)/docs/gtk-doc.make
++# include $(top_srcdir)/docs/gtk-doc.make
+ 
+ # Comment this out if you want 'make check' to test you doc status
+ # and run some sanity checks
+diff --git a/gstd/Makefile.am b/gstd/Makefile.am
+index 13c551d..11fe202 100644
+--- a/gstd/Makefile.am
++++ b/gstd/Makefile.am
+@@ -49,7 +49,7 @@ bin_PROGRAMS = gstd
+ 
+ gstd_SOURCES = gstd.c
+ gstd_CFLAGS = $(GST_CFLAGS) $(GIO_CFLAGS) $(GJSON_CFLAGS)
+-gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GJSON_LIBS) -Wl,-rpath -Wl,$(libdir)
++gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GJSON_LIBS)
+ gstd_LDADD = libgstd-core.la
+ 
+ gstdincludedir = $(includedir)/gstd
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_1.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_1.0.bb
new file mode 100644
index 0000000..94f6b57
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_1.0.bb
@@ -0,0 +1,3 @@
+require gstd.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch
index 89133ad..df0c235 100755
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch
@@ -1,9 +1,9 @@
 Index: libdc1394/examples/Makefile.am
 ===================================================================
---- libdc1394.orig/examples/Makefile.am	2012-06-30 17:50:46.000000000 -0700
-+++ libdc1394/examples/Makefile.am	2012-06-30 19:02:13.822646430 -0700
-@@ -36,8 +36,7 @@
- AM_LDFLAGS = -framework CoreFoundation -framework Carbon
+--- libdc1394.orig/examples/Makefile.am
++++ libdc1394/examples/Makefile.am
+@@ -36,8 +36,7 @@ if HAVE_MACOSX
+ AM_LDFLAGS = -framework CoreFoundation $(FRAMEWORK_IOKIT)
  endif
  
 -noinst_PROGRAMS = $(A)
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.2.bb
new file mode 100644
index 0000000..cd075ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.2.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "libde265 is an open source implementation of the h.265 \
+video codec. It is written from scratch and has a plain C API to enable a \
+simple integration into other software."
+HOMEPAGE = "http://www.libde265.org/"
+SECTION = "libs/multimedia"
+
+LICENSE = "LGPLv3"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://COPYING;md5=852f345c1c52c9160f9a7c36bb997546"
+
+SRC_URI = "https://github.com/strukturag/libde265/releases/download/v${PV}/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "93520b378df25f3a94e962f2b54872cc"
+SRC_URI[sha256sum] = "eaa0348839c2935dd90647d72c6dd4a043e36361cb3c33d2b04df10fbcebd3cb"
+
+EXTRA_OECONF = "--disable-sherlock265 --disable-dec265"
+
+inherit autotools-brokensep pkgconfig
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch
index d59d12e..db4d6e8 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch
@@ -6,11 +6,11 @@
 
 Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
 
-Index: libmusicbrainz-3.0.3/CMakeLists.txt
+Index: git/CMakeLists.txt
 ===================================================================
---- libmusicbrainz-3.0.3.orig/CMakeLists.txt
-+++ libmusicbrainz-3.0.3/CMakeLists.txt
-@@ -26,7 +26,7 @@ FIND_PACKAGE(DiscId)
+--- git.orig/CMakeLists.txt
++++ git/CMakeLists.txt
+@@ -36,7 +36,7 @@ FIND_PACKAGE(LibXml2 REQUIRED)
  SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
  SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE)
  SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE)
@@ -18,4 +18,4 @@
 +SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH  "Installation prefix for object code libraries")
  SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE)
  
- CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz3.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz3.pc)
+ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz5.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc)
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb
deleted file mode 100644
index 2eb21a3..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.21.bb
+++ /dev/null
@@ -1,100 +0,0 @@
-SUMMARY = "Music Player Daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-HOMEPAGE ="http://www.musicpd.org"
-
-inherit autotools useradd systemd pkgconfig
-
-DEPENDS += " \
-    alsa-lib \
-    libsamplerate0 \
-    libsndfile1 \
-    libvorbis \
-    libogg \
-    faad2 \
-    ffmpeg \
-    curl \
-    sqlite \
-    bzip2 \
-    pulseaudio \
-    tcp-wrappers \
-    openal-soft \
-    yajl \
-    jack \
-    faad2 \
-    flac \
-    libao \
-    fluidsynth \
-    libcdio \
-    wavpack \
-    libopus \
-    mpg123 \
-    libmms \
-    libmodplug \
-    boost \
-    icu \
-    dbus \
-    expat \
-    zlib \
-    libupnp1.6 \
-"
-
-# While this item does not require it, it depends on mpg123 which does
-LICENSE_FLAGS = "commercial"
-
-SRC_URI = " \
-    http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \
-    file://mpd.conf.in \
-"
-SRC_URI[md5sum] = "fc19f76b512bd471b6af5214965ff7c5"
-SRC_URI[sha256sum] = "8305b8bc026f4b6bde28b8dd09bfdddbe5590acf36358eed4d083a396e301730"
-
-EXTRA_OECONF = "enable_bzip2=yes"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-PACKAGECONFIG[audiofile] = "--enable-audiofile,--disable-audiofile,audiofile"
-PACKAGECONFIG[cdioparanoia] = "--enable-cdio-paranoia,--disable-cdio-paranoia,libcdio-paranoia"
-PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
-PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag"
-PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame"
-PACKAGECONFIG[smb] = "--enable-smbclient,--disable-smbclient,samba"
-
-do_configure_prepend() {
-    sed -i -e 's|libsystemd-daemon|libsystemd|' ${S}/configure.ac
-}
-
-do_install_append() {
-    install -d ${D}/${localstatedir}/lib/mpd/music
-    chmod 775 ${D}/${localstatedir}/lib/mpd/music
-    install -d ${D}/${localstatedir}/lib/mpd/playlists
-    chown -R mpd ${D}/${localstatedir}/lib/mpd
-    chown mpd:mpd ${D}/${localstatedir}/lib/mpd/music
-
-    install -d ${D}/${sysconfdir}
-    install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
-    sed -i \
-        -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
-        -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
-        -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
-        -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
-        -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
-        ${D}/${sysconfdir}/mpd.conf
-
-    if [ -e ${D}/${systemd_unitdir}/system/mpd.service ] ; then
-        sed -i \
-            's|^ExecStart=.*|ExecStart=${bindir}/mpd --no-daemon|' \
-            ${D}/${systemd_unitdir}/system/mpd.service
-    fi
-}
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "mpd.socket"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = " \
-    --system --no-create-home \
-    --home ${localstatedir}/lib/mpd \
-    --groups audio \
-    --user-group mpd"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.18.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.18.bb
new file mode 100644
index 0000000..6754f34
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.20.18.bb
@@ -0,0 +1,100 @@
+SUMMARY = "Music Player Daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+HOMEPAGE ="http://www.musicpd.org"
+
+inherit autotools useradd systemd pkgconfig
+
+DEPENDS += " \
+    alsa-lib \
+    libsamplerate0 \
+    libsndfile1 \
+    libvorbis \
+    libogg \
+    faad2 \
+    ffmpeg \
+    curl \
+    sqlite \
+    bzip2 \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
+    tcp-wrappers \
+    openal-soft \
+    yajl \
+    jack \
+    faad2 \
+    flac \
+    libao \
+    fluidsynth \
+    libcdio \
+    wavpack \
+    libopus \
+    mpg123 \
+    libmms \
+    libmodplug \
+    boost \
+    icu \
+    dbus \
+    expat \
+    zlib \
+    libupnp \
+"
+
+# While this item does not require it, it depends on mpg123 which does
+LICENSE_FLAGS = "commercial"
+
+SRC_URI = " \
+    http://www.musicpd.org/download/${BPN}/0.20/${BP}.tar.xz \
+    file://mpd.conf.in \
+"
+SRC_URI[md5sum] = "8dc87ba95473fd738f2aff9bd69cc212"
+SRC_URI[sha256sum] = "6a582dc2ae90b94ff3853f9ffd7d80b2c2b5fe2e2c35cb1da0b36f3f3dfad434"
+
+EXTRA_OECONF = "enable_bzip2=yes"
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
+
+PACKAGECONFIG[audiofile] = "--enable-audiofile,--disable-audiofile,audiofile"
+PACKAGECONFIG[cdioparanoia] = "--enable-cdio-paranoia,--disable-cdio-paranoia,libcdio-paranoia"
+PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
+PACKAGECONFIG[id3tag] = "--enable-id3,--disable-id3,libid3tag"
+PACKAGECONFIG[lame] = "--enable-lame-encoder,--disable-lame-encoder,lame"
+PACKAGECONFIG[smb] = "--enable-smbclient,--disable-smbclient,samba"
+
+do_configure_prepend() {
+    sed -i -e 's|libsystemd-daemon|libsystemd|' ${S}/configure.ac
+}
+
+do_install_append() {
+    install -d ${D}/${localstatedir}/lib/mpd/music
+    chmod 775 ${D}/${localstatedir}/lib/mpd/music
+    install -d ${D}/${localstatedir}/lib/mpd/playlists
+    chown -R mpd ${D}/${localstatedir}/lib/mpd
+    chown mpd:mpd ${D}/${localstatedir}/lib/mpd/music
+
+    install -d ${D}/${sysconfdir}
+    install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
+    sed -i \
+        -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
+        -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
+        -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
+        -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
+        -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
+        ${D}/${sysconfdir}/mpd.conf
+
+    if [ -e ${D}/${systemd_unitdir}/system/mpd.service ] ; then
+        sed -i \
+            's|^ExecStart=.*|ExecStart=${bindir}/mpd --no-daemon|' \
+            ${D}/${systemd_unitdir}/system/mpd.service
+    fi
+}
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "mpd.socket"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = " \
+    --system --no-create-home \
+    --home ${localstatedir}/lib/mpd \
+    --groups audio \
+    --user-group mpd"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb
new file mode 100644
index 0000000..44c46f8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \
+decoding. It is suitable for use in real time applications such as WebRTC."
+HOMEPAGE = "http://www.openh264.org/"
+SECTION = "libs/multimedia"
+
+DEPENDS_x86 += "nasm-native"
+DEPENDS_x86-64 += "nasm-native"
+
+LICENSE = "BSD-2-Clause"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
+
+S = "${WORKDIR}/git"
+SRCREV = "a180c9d4d6f1a4830ca9eed9d159d54996bd63cb"
+BRANCH = "openh264v1.7"
+SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH};"
+
+COMPATIBLE_MACHINE_armv7a = "(.*)"
+COMPATIBLE_MACHINE_aarch64 = "(.*)"
+COMPATIBLE_MACHINE_x86 = "(.*)"
+COMPATIBLE_MACHINE_x86-64 = "(.*)"
+COMPATIBLE_MACHINE_mips = "(.*)"
+COMPATIBLE_MACHINE_mips64 = "(.*)"
+
+EXTRA_OEMAKE_armv7a = "ARCH=arm"
+EXTRA_OEMAKE_aarch64 = "ARCH=arm64"
+EXTRA_OEMAKE_x86 = "ARCH=i386"
+EXTRA_OEMAKE_x86-64 = "ARCH=x86_64"
+EXTRA_OEMAKE_mips = "ARCH=mips"
+EXTRA_OEMAKE_mips64 = "ARCH=mips64"
+
+do_configure() {
+    :
+}
+
+do_compile() {
+    oe_runmake
+}
+
+do_install() {
+    oe_runmake install DESTDIR=${D} PREFIX=${prefix}
+}
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.10.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.10.bb
new file mode 100644
index 0000000..189dc87
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.10.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Library for opening, seeking, and decoding opus audio files"
+HOMEPAGE = "https://www.opus-codec.org/"
+SECTION = "audio"
+
+DEPENDS = "libogg openssl libopus"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ac22b992dde6a891f8949c3e2da8576"
+
+SRC_URI = "https://downloads.xiph.org/releases/opus/${PN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "ab3f7d15d766f5b36b0951ee435f9ebf"
+SRC_URI[sha256sum] = "48e03526ba87ef9cf5f1c47b5ebe3aa195bd89b912a57060c36184a6cd19412f"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch
index 2ed8d22..838400f 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch
@@ -5,10 +5,10 @@
 
 Upstream-Status: Inappropriate [configuration]
 
-Index: schroedinger-1.0.9/configure.ac
+Index: schroedinger-1.0.11/configure.ac
 ===================================================================
---- schroedinger-1.0.9.orig/configure.ac
-+++ schroedinger-1.0.9/configure.ac
+--- schroedinger-1.0.11.orig/configure.ac
++++ schroedinger-1.0.11/configure.ac
 @@ -54,7 +54,7 @@ if test "x${HAVE_ORC}" != xyes ; then
    AC_ERROR([orc-0.4 >= $ORC_VER is required])
  fi
@@ -16,5 +16,5 @@
 -ORCC=`$PKG_CONFIG --variable=orcc orc-0.4`
 +ORCC=$STAGING_DIR`$PKG_CONFIG --variable=orcc orc-0.4`
  AC_SUBST(ORCC)
+ AM_CONDITIONAL(HAVE_ORCC, test "x$cross_compiling" != xyes)
  
- AC_ARG_WITH([thread],
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-Update-exported-symbol-list.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-Update-exported-symbol-list.patch
new file mode 100644
index 0000000..44c6b19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-Update-exported-symbol-list.patch
@@ -0,0 +1,34 @@
+From b1809d82031aa7c5bcaad58bcb4b59e082e0446e Mon Sep 17 00:00:00 2001
+From: Mans Rullgard <mans@mansr.com>
+Date: Sun, 5 Nov 2017 15:40:16 +0000
+Subject: [PATCH] Update exported symbol list
+
+commit 5c58413544 ("Don't export (most) internal libsox symbols")
+breaks dynamic flac builds as flac.c references lsx.error, so add it
+to the list of exceptions.
+
+| .libs/flac.o: In function `decoder_read_callback':
+| /usr/src/debug/sox/14.4.2-r0/sox-14.4.2/src/flac.c:63: undefined reference to `lsx_error'
+
+Upstream-Status: Backport [https://bogomips.org/sox.git ("pu" branch)]
+
+---
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 7cceaafd..a3a04ed1 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -95,7 +95,7 @@ libsox_la_LIBADD += @GOMP_LIBS@
+ 
+ libsox_la_CFLAGS = @WARN_CFLAGS@
+ libsox_la_LDFLAGS = @APP_LDFLAGS@ -version-info @SHLIB_VERSION@ \
+-  -export-symbols-regex '^(sox_.*|lsx_(check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$'
++  -export-symbols-regex '^(sox_.*|lsx_(([cm]|re)alloc|check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|error|fail_errno|filelength|find_(enum_(text|value)|file_extension)|flush|getopt(_init)?|id3_read_tag|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|rewind|seeki|sigfigs3p?|strcasecmp|strdup|tell|unreadb|write(b|_b_buf|buf|s)))$$'
+ 
+ if HAVE_WIN32_LTDL
+   libsox_la_SOURCES += win32-ltdl.c win32-ltdl.h
+-- 
+2.16.2
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
index 605863a..4f02a66 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
@@ -1,4 +1,4 @@
-From c2aed28e3e14329ad0a8c4371fdcce9934013f21 Mon Sep 17 00:00:00 2001
+From d0313be5fb947df399a4db24a5f9244510d2ce87 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 12 Jul 2017 16:36:06 -0700
 Subject: [PATCH] remove the #error line and live without file-type detection
@@ -12,17 +12,17 @@
  1 file changed, 1 deletion(-)
 
 diff --git a/src/formats.c b/src/formats.c
-index 7e231ca..b13f0d5 100644
+index 724a4cda..f683a922 100644
 --- a/src/formats.c
 +++ b/src/formats.c
-@@ -416,7 +416,6 @@ static void UNUSED rewind_pipe(FILE * fp)
+@@ -422,7 +422,6 @@ static void UNUSED rewind_pipe(FILE * fp)
    /* To fix this #error, either simply remove the #error line and live without
     * file-type detection with pipes, or add support for your compiler in the
-    * lines above.  Test with cat monkey.au | ./sox --info - */
+    * lines above.  Test with cat monkey.wav | ./sox --info - */
 -  #error FIX NEEDED HERE
    #define NO_REWIND_PIPE
    (void)fp;
  #endif
 -- 
-2.13.2
+2.16.2
 
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb
deleted file mode 100644
index 3eb1856..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION="SoX is the Swiss Army knife of sound processing tools. \
-It converts audio files among various standard audio file formats \
-and can apply different effects and filters to the audio data."
-HOMEPAGE = "http://sox.sourceforge.net"
-SECTION = "audio"
-
-DEPENDS = "libpng ffmpeg libsndfile1 libvorbis"
-
-# While this item does not require it, it depends on ffmpeg which does
-LICENSE_FLAGS = "commercial"
-
-PR = "r2"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \
-                   magic \
-"
-PACKAGECONFIG[pulseaudio] = "--with-pulseaudio=dyn,--with-pulseaudio=no,pulseaudio,"
-PACKAGECONFIG[alsa] = "--with-alsa=dyn,--with-alsa=no,alsa-lib,"
-PACKAGECONFIG[wavpack] = "--with-wavpack=dyn,--with-wavpack=no,wavpack,"
-PACKAGECONFIG[flac] = "--with-flac=dyn,--with-flac=no,flac,"
-PACKAGECONFIG[amrwb] = "--with-amrwb=dyn,--with-amrwb=no,opencore-amr,"
-PACKAGECONFIG[amrnb] = "--with-amrnb=dyn,--with-amrnb=no,opencore-amr,"
-PACKAGECONFIG[magic] = "--with-magic,--without-magic,file,"
-PACKAGECONFIG[mad] = "--with-mad,--without-mad,libmad,"
-PACKAGECONFIG[id3tag] = "--with-id3tag,--without-id3tag,libid3tag,"
-PACKAGECONFIG[lame] = "--with-lame,--without-lame,lame,"
-PACKAGECONFIG[ao] = "--with-ao,--without-ao,libao,"
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \
-                    file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz \
-           file://0001-remove-the-error-line-and-live-without-file-type-det.patch \
-           "
-SRC_URI[md5sum] = "b0c15cff7a4ba0ec17fdc74e6a1f9cf1"
-SRC_URI[sha256sum] = "3ee34b14dd267de378e8a117aae81ec4cae330772342e6a55bbf6520a0a88aa3"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb
new file mode 100644
index 0000000..21fddd1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb
@@ -0,0 +1,40 @@
+DESCRIPTION="SoX is the Swiss Army knife of sound processing tools. \
+It converts audio files among various standard audio file formats \
+and can apply different effects and filters to the audio data."
+HOMEPAGE = "http://sox.sourceforge.net"
+SECTION = "audio"
+
+DEPENDS = "libpng ffmpeg libsndfile1"
+
+# While this item does not require it, it depends on ffmpeg which does
+LICENSE_FLAGS = "commercial"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \
+                   magic \
+"
+PACKAGECONFIG[pulseaudio] = "--with-pulseaudio=dyn,--with-pulseaudio=no,pulseaudio,"
+PACKAGECONFIG[alsa] = "--with-alsa=dyn,--with-alsa=no,alsa-lib,"
+PACKAGECONFIG[wavpack] = "--with-wavpack=dyn,--with-wavpack=no,wavpack,"
+PACKAGECONFIG[flac] = "--with-flac=dyn,--with-flac=no,flac,"
+PACKAGECONFIG[amrwb] = "--with-amrwb=dyn,--with-amrwb=no,opencore-amr,"
+PACKAGECONFIG[amrnb] = "--with-amrnb=dyn,--with-amrnb=no,opencore-amr,"
+PACKAGECONFIG[oggvorbis] = "--with-oggvorbis=dyn,--with-oggvorbis=no,libvorbis"
+PACKAGECONFIG[opus] = "--with-opus=dyn,--with-opus=no,opusfile"
+PACKAGECONFIG[magic] = "--with-magic,--without-magic,file,"
+PACKAGECONFIG[mad] = "--with-mad,--without-mad,libmad,"
+PACKAGECONFIG[id3tag] = "--with-id3tag,--without-id3tag,libid3tag,"
+PACKAGECONFIG[lame] = "--with-lame,--without-lame,lame,"
+PACKAGECONFIG[ao] = "--with-ao,--without-ao,libao,"
+
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \
+                    file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz \
+           file://0001-remove-the-error-line-and-live-without-file-type-det.patch \
+           file://0001-Update-exported-symbol-list.patch \
+           "
+SRC_URI[md5sum] = "d04fba2d9245e661f245de0577f48a33"
+SRC_URI[sha256sum] = "b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_1.1.1.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_1.1.1.bb
new file mode 100644
index 0000000..66b95db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_1.1.1.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "TinyALSA is a small library to interface with ALSA in \
+the Linux kernel. It is a lightweight alternative to libasound."
+HOMEPAGE = "https://github.com/tinyalsa/tinyalsa"
+SECTION = "libs/multimedia"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://NOTICE;md5=dbdefe400d894b510a9de14813181d0b"
+
+S = "${WORKDIR}/git"
+SRCREV = "df11091086b56e5fb71887f2fa320e1d2ffeff58"
+SRC_URI = "git://github.com/tinyalsa/tinyalsa.git;protocol=https;"
+
+do_configure() {
+    :
+}
+
+do_compile() {
+    oe_runmake CC='${CC}' LD='${CC}' AR='${AR}'
+}
+
+do_install() {
+    oe_runmake install \
+        PREFIX="${prefix}" DESTDIR="${D}" INCDIR="${includedir}/tinyalsa" \
+        LIBDIR="${libdir}" BINDIR="${bindir}" MANDIR="${mandir}"
+}
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
index acb3ccd..8e82b3b 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
@@ -57,7 +57,6 @@
 PACKAGECONFIG[qt4] = "--enable-qt,--disable-qt, qt4-x11-free"
 PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
 PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
-PACKAGECONFIG[gnome-vfs] = "--enable-gnomevfs,--disable-gnomevfs, gnome-vfs"
 PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
 PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
 PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb
index b6cdc4f..07d0c55 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_0.2.3.bb
@@ -5,18 +5,16 @@
 LICENSE = "LGPL-3.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02"
 
-SRC_URI = "https://github.com/kirushyk/gst-instruments/archive/${PV}.tar.gz"
+DEPENDS = "gstreamer1.0"
 
-SRC_URI[md5sum] = "14a394dec25642848b17f9999f1b4999"
-SRC_URI[sha256sum] = "5565658a33ff9596946541304fbdd3b3683dbb82171a0e6ce56f42b64a01e58d"
+S = "${WORKDIR}/git"
+SRCREV = "4ce8092636ee6572148b5fa044080734cf5a6b8d"
+SRC_URI = "git://github.com/kirushyk/gst-instruments.git;protocol=https;"
 
-S = "${WORKDIR}/gst-instruments-${PV}"
-
+FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*a"
 FILES_${PN} += "${libdir}/*"
 
 INSANE_SKIP_${PN} = "dev-so"
 
-DEPENDS = "gstreamer1.0"
-
 inherit autotools pkgconfig
 
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb
index 8abaa12..ee8c68b 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.5.2.bb
@@ -5,11 +5,11 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=15bc16b9d2e305974dde47e733883714"
 
-SRC_URI = "https://github.com/cisco/libsrtp/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+S = "${WORKDIR}/git"
+SRCREV = "e806a66bad35f4b215b7a825c24ef0ec4cc19569"
+SRC_URI = "git://github.com/cisco/libsrtp.git;protocol=https; \
            file://0001-Rename-conflicting-variable-mips.patch \
            "
-SRC_URI[md5sum] = "2309aa6027992810a4285b042c71e644"
-SRC_URI[sha256sum] = "86e1efe353397c0751f6bdd709794143bd1b76494412860f16ff2b6d9c304eda"
 
 inherit autotools
 
@@ -18,3 +18,5 @@
 rm_unused_bindir() {
     rmdir ${D}/${bindir}
 }
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/import-layers/meta-openembedded/meta-networking/MAINTAINERS b/import-layers/meta-openembedded/meta-networking/MAINTAINERS
index 771c73c..bbb2d1b 100644
--- a/import-layers/meta-openembedded/meta-networking/MAINTAINERS
+++ b/import-layers/meta-openembedded/meta-networking/MAINTAINERS
@@ -2,16 +2,13 @@
 
 Please submit any patches against meta-networking to the OpenEmbedded
 development mailing list (openembedded-devel@lists.openembedded.org) with
-'[meta-networking][rocko]' in the subject.
+'[meta-networking]' in the subject.
 
 When sending single patches, please use something like:
 
    git send-email -1 -M \
         --to openembedded-devel@lists.openembedded.org \
-        --subject-prefix=meta-networking][rocko][PATCH
-
-rocko Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
+        --subject-prefix=meta-networking][PATCH
 
 You may also contact the maintainers directly.
 
diff --git a/import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass b/import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass
index e490176..1632c3c 100644
--- a/import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass
+++ b/import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass
@@ -1,7 +1,7 @@
 # waf is a build system which is used by samba related project.
 # Obtain details from https://wiki.samba.org/index.php/Waf
-# 
-inherit qemu pythonnative waf
+#
+inherit qemu pythonnative
 
 DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python"
 
@@ -21,6 +21,29 @@
                   ${PACKAGECONFIG_CONFARGS} \
                 "
 
+# avoids build breaks when using no-static-libs.inc
+DISABLE_STATIC = ""
+
+def get_waf_parallel_make(d):
+    pm = d.getVar('PARALLEL_MAKE')
+    if pm:
+        # look for '-j' and throw other options (e.g. '-l') away
+        # because they might have different meaning in bjam
+        pm = pm.split()
+        while pm:
+            opt = pm.pop(0)
+            if opt == '-j':
+                v = pm.pop(0)
+            elif opt.startswith('-j'):
+                v = opt[2:].strip()
+            else:
+                continue
+
+            v = min(64, int(v))
+            return '-j' + str(v)
+
+    return ""
+
 # Three methods for waf cross compile:
 # 1. answers:
 #    Only --cross-answers - try the cross-answers file, and if
@@ -86,8 +109,9 @@
     fi
 }
 
+do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+"
 do_compile () {
-    python ./buildtools/bin/waf ${@get_waf_parallel_make(d)}
+    python ./buildtools/bin/waf ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}
 }
 
 do_install() {
diff --git a/import-layers/meta-openembedded/meta-networking/conf/layer.conf b/import-layers/meta-openembedded/meta-networking/conf/layer.conf
index 2dfde4b..e594b7b 100644
--- a/import-layers/meta-openembedded/meta-networking/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-networking/conf/layer.conf
@@ -17,6 +17,8 @@
 LAYERDEPENDS_networking-layer += "openembedded-layer"
 LAYERDEPENDS_networking-layer += "meta-python"
 
+LAYERSERIES_COMPAT_networking-layer = "sumo"
+
 LICENSE_PATH += "${LAYERDIR}/licenses"
 
 SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
new file mode 100644
index 0000000..1023f6a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
@@ -0,0 +1,39 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: OK
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
new file mode 100644
index 0000000..1023f6a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
@@ -0,0 +1,39 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: OK
+Checking for HAVE_INCOHERENT_MMAP: NO
+Checking value of NSIG: "65"
+Checking value of _NSIG: "65"
+Checking value of SIGRTMAX: "64"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: OK
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-issues-when-USE_OPENSSL-1.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-issues-when-USE_OPENSSL-1.patch
index 93c836c..1bb5c63 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-issues-when-USE_OPENSSL-1.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-issues-when-USE_OPENSSL-1.patch
@@ -17,7 +17,7 @@
    static struct pubkey keys[] = {
 
 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-Upsteam-Status: Pending
+Upstream-Status: Pending
 Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
 ---
  utils/key2pub.py | 5 +++--
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-linking-of-libraries-used-by-reglib.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-linking-of-libraries-used-by-reglib.patch
index aceb56d..812e983 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-linking-of-libraries-used-by-reglib.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-linking-of-libraries-used-by-reglib.patch
@@ -1,6 +1,7 @@
+From 890f5bf2654b695a866262d72bfa9750af921a3b Mon Sep 17 00:00:00 2001
 From: Ben Hutchings <ben@decadent.org.uk>
 Date: Sat, 23 Aug 2014 12:26:37 -0700
-Subject: Fix linking of libraries used by libreg
+Subject: [PATCH] Fix linking of libraries used by libreg
 
 The math and crypto libraries are called by and need to be linked to
 libreg.so, not to the executables.
@@ -9,10 +10,15 @@
 
 Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
 Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+---
+ Makefile | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
 
+diff --git a/Makefile b/Makefile
+index a3ead30..da2dcc3 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -30,7 +30,7 @@ CFLAGS += -std=gnu99 -Wall -Werror -peda
+@@ -30,7 +30,7 @@ CFLAGS += -std=gnu99 -Wall -Werror -pedantic
  CFLAGS += -Wall -g
  LDLIBREG += -lreg
  LDLIBS += $(LDLIBREG)
@@ -21,16 +27,14 @@
  LIBREG += libreg.so
  LDFLAGS += -L ./
  
-@@ -40,7 +40,7 @@ all_noverify: $(LIBREG) crda intersect r
+@@ -40,13 +40,13 @@ all_noverify: $(LIBREG) crda intersect regdbdump db2rd optimize
  
  ifeq ($(USE_OPENSSL),1)
  CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `pkg-config --cflags openssl`
 -LDLIBS += `pkg-config --libs openssl`
 +LIBREGLDLIBS += `pkg-config --libs openssl`
  
- ifeq ($(RUNTIME_PUBKEY_ONLY),1)
- CFLAGS += -DRUNTIME_PUBKEY_ONLY
-@@ -51,7 +51,7 @@ endif
+ $(LIBREG): keys-ssl.c
  
  else
  CFLAGS += -DUSE_GCRYPT
@@ -39,7 +43,7 @@
  
  $(LIBREG): keys-gcrypt.c
  
-@@ -121,7 +121,7 @@ keys-%.c: utils/key2pub.py $(wildcard $(
+@@ -116,7 +116,7 @@ keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem)
  
  $(LIBREG): regdb.h reglib.h reglib.c
  	$(NQ) '  CC  ' $@
@@ -48,3 +52,6 @@
  
  install-libreg-headers:
  	$(NQ) '  INSTALL  libreg-headers'
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.3.bb
deleted file mode 100644
index cb3b5c2..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.3.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SECTION = "console/network"
-SUMMARY = "dhcpcd - a DHCP client"
-DESCRIPTION = "dhcpcd runs on your machine and silently configures your computer to work on the attached networks without trouble and mostly without configuration."
-
-HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://dhcpcd.c;endline=26;md5=77c40d671aff804ca91ea99556da8e9b"
-
-SRC_URI = "http://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "d4f2f3ed4964197dee7767219c33a9df"
-SRC_URI[sha256sum] = "5abd12c4df2947d608f60a35227f9bf8ae8ab9de06ce975cdab1144d8f229b06"
-
-inherit autotools-brokensep
-
-PACKAGECONFIG ?= "udev ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-
-PACKAGECONFIG[udev] = "--with-udev,--without-udev,udev,udev"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-
-EXTRA_OECONF = "--enable-ipv4"
-
-FILES_${PN}-dbg += "${libdir}/dhcpcd/dev/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb
new file mode 100644
index 0000000..885c6c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb
@@ -0,0 +1,24 @@
+SECTION = "console/network"
+SUMMARY = "dhcpcd - a DHCP client"
+DESCRIPTION = "dhcpcd runs on your machine and silently configures your computer to work on the attached networks without trouble and mostly without configuration."
+
+HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://dhcpcd.c;endline=26;md5=77c40d671aff804ca91ea99556da8e9b"
+
+SRC_URI = "http://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "2465624b62c1154f0e89dc69c42c849b"
+SRC_URI[sha256sum] = "6f9674dc7e27e936cc787175404a6171618675ecfb6903ab9887b1b66a87d69e"
+
+inherit autotools-brokensep
+
+PACKAGECONFIG ?= "udev ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+
+PACKAGECONFIG[udev] = "--with-udev,--without-udev,udev,udev"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+
+EXTRA_OECONF = "--enable-ipv4"
+
+FILES_${PN}-dbg += "${libdir}/dhcpcd/dev/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
index 4655bc5..190cd5f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb
@@ -169,7 +169,10 @@
 FILES_${PN}-ifconfig = "${base_sbindir}/ifconfig.${BPN}"
 FILES_${PN}-traceroute = "${bindir}/traceroute.${BPN}"
 FILES_${PN}-logger = "${bindir}/logger.${BPN}"
+
 FILES_${PN}-syslogd = "${base_sbindir}/syslogd.${BPN}"
+RCONFLICTS_${PN}-syslogd = "rsyslog busybox-syslog sysklogd syslog-ng"
+
 FILES_${PN}-ftp = "${bindir}/ftp.${BPN}"
 
 FILES_${PN}-tftp = "${bindir}/tftp.${BPN}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_1.3.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_1.3.17.bb
deleted file mode 100644
index fcfec69..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_1.3.17.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Lightweight crypto and SSL/TLS library"
-DESCRIPTION = "mbedtls is a lean open source crypto library          \
-for providing SSL and TLS support in your programs. It offers        \
-an intuitive API and documented header files, so you can actually    \
-understand what the code does. It features:                          \
-                                                                     \
- - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4,  \
-   Camellia and XTEA                                                 \
- - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5            \
- - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG   \
- - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
-   ECDSA and ECDH                                                    \
- - SSL v3 and TLS 1.0, 1.1 and 1.2                                   \
- - Abstraction layers for ciphers, hashes, public key operations,    \
-   platform abstraction and threading                                \
-"
-
-HOMEPAGE = "https://polarssl.org"
-BUGTRACKER = "https://github.com/polarssl/polarssl/issues"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-
-SECTION = "libdevel"
-
-SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-gpl.tgz"
-
-SRC_URI[md5sum] = "a6ed92fc377ef60f7c24d42b900e0dad"
-SRC_URI[sha256sum] = "f5beb43e850283915e3e0f8d37495eade3bfb5beedfb61e7b8da70d4c68edb82"
-
-DEPENDS = "openssl"
-RDEPENDS_${PN} += "libcrypto"
-PROVIDES += "polarssl"
-RPROVIDES_${PN} = "polarssl"
-EXTRA_OECMAKE = "-DUSE_SHARED_POLARSSL_LIBRARY=on -DLIB_INSTALL_DIR=${baselib}"
-
-inherit cmake
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.8.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.8.0.bb
new file mode 100644
index 0000000..736cce1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.8.0.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Lightweight crypto and SSL/TLS library"
+DESCRIPTION = "mbedtls is a lean open source crypto library          \
+for providing SSL and TLS support in your programs. It offers        \
+an intuitive API and documented header files, so you can actually    \
+understand what the code does. It features:                          \
+                                                                     \
+ - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4,  \
+   Camellia and XTEA                                                 \
+ - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5            \
+ - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG   \
+ - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
+   ECDSA and ECDH                                                    \
+ - SSL v3 and TLS 1.0, 1.1 and 1.2                                   \
+ - Abstraction layers for ciphers, hashes, public key operations,    \
+   platform abstraction and threading                                \
+"
+
+HOMEPAGE = "https://tls.mbed.org/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a"
+
+SECTION = "libdevel"
+
+SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz"
+
+SRC_URI[md5sum] = "2d4b0e2cb844efde1e73d3bcd9731fef"
+SRC_URI[sha256sum] = "ab8b62b995781bcf22e87a265ed06267f87c3041198e996b44441223d19fa9c3"
+
+inherit cmake
+
+PACKAGECONFIG ??= "shared-libs programs"
+PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-USE_SHARED_MBEDTLS_LIBRARY=OFF"
+PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF"
+
+EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
+
+PROVIDES += "polarssl"
+RPROVIDES_${PN} = "polarssl"
+
+PACKAGES =+ "${PN}-programs"
+FILES_${PN}-programs = "${bindir}/"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb
index cce3f91..1b604ad 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.8.bb
@@ -26,7 +26,7 @@
 
 FILES_${PN} += " \
     ${libdir}/NetworkManager/*.so \
-    ${libdir}/NetworkManager/VPN/nm-openvpn-service.name \
+    ${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \
 "
 
 FILES_${PN}-staticdev += " \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch
deleted file mode 100644
index ced0c7c..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-adjust-net-headers-for-musl-compatibility.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 047d3bf96b510740f64687480333c378e414995f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 31 Mar 2017 15:57:05 -0700
-Subject: [PATCH 1/5] adjust net/ headers for musl compatibility
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libnm-core/nm-utils.c          | 12 +++++++-----
- libnm-core/nm-utils.h          |  5 ++---
- src/platform/wifi/wifi-utils.h |  2 +-
- 3 files changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c
-index df75d56..868224e 100644
---- a/libnm-core/nm-utils.c
-+++ b/libnm-core/nm-utils.c
-@@ -19,24 +19,26 @@
-  * Copyright 2005 - 2014 Red Hat, Inc.
-  */
- 
--#include "nm-default.h"
--
--#include "nm-utils.h"
--
- #include <string.h>
- #include <errno.h>
- #include <stdlib.h>
--#include <netinet/ether.h>
- #include <arpa/inet.h>
- #include <uuid/uuid.h>
- #include <libintl.h>
- #include <gmodule.h>
- #include <sys/stat.h>
-+//#include <net/if_arp.h>
-+//#include <net/ethernet.h>
-+#include <netinet/ether.h>
-+
-+#include "nm-default.h"
- 
-+#include "nm-utils.h"
- #if WITH_JANSSON
- #include <jansson.h>
- #endif
- 
-+
- #include "nm-common-macros.h"
- #include "nm-utils-private.h"
- #include "nm-setting-private.h"
-diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
-index 407c14e..156ccae 100644
---- a/libnm-core/nm-utils.h
-+++ b/libnm-core/nm-utils.h
-@@ -27,11 +27,10 @@
- 
- #include <glib.h>
- 
--#include <netinet/in.h>
--
- /* For ETH_ALEN and INFINIBAND_ALEN */
--#include <linux/if_ether.h>
-+//#include <linux/if_ether.h>
- #include <linux/if_infiniband.h>
-+#include <netinet/in.h>
- 
- #include "nm-core-enum-types.h"
- #include "nm-setting-wireless-security.h"
-diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h
-index 8e2b93f..84f5ce9 100644
---- a/src/platform/wifi/wifi-utils.h
-+++ b/src/platform/wifi/wifi-utils.h
-@@ -22,7 +22,7 @@
- #ifndef __WIFI_UTILS_H__
- #define __WIFI_UTILS_H__
- 
--#include <net/ethernet.h>
-+//#include <net/ethernet.h>
- 
- #include "nm-dbus-interface.h"
- 
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch
deleted file mode 100644
index 26f380b..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-check-for-strndupa-before-using-it.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 05e8bd664d0244cb8ab4376b962830b97860f6bf Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 31 Mar 2017 18:37:19 -0700
-Subject: [PATCH] check for strndupa before using it
-
-musl does not have strndupa
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- config.h.in                        |  4 ++++
- configure.ac                       |  1 +
- src/systemd/src/basic/alloc-util.h | 12 ++++++++++++
- 3 files changed, 17 insertions(+)
-
-diff --git a/config.h.in b/config.h.in
-index db8c135..c4229ed 100644
---- a/config.h.in
-+++ b/config.h.in
-@@ -41,6 +41,10 @@
-    */
- #undef HAVE_DCGETTEXT
- 
-+/* Define to 1 if you have the declaration of `strndupa', and to 0 if you
-+   don't. */
-+#undef HAVE_DECL_STRNDUPA
-+
- /* Define to 1 if you have the <dlfcn.h> header file. */
- #undef HAVE_DLFCN_H
- 
-diff --git a/configure.ac b/configure.ac
-index 2630f8d..d0a57fd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -54,6 +54,7 @@ AC_SUBST(NM_VERSION)
- 
- GIT_SHA_RECORD(NM_GIT_SHA)
- 
-+AC_CHECK_DECLS([strndupa], [], [], [[#include <string.h>]])
- dnl
- dnl Checks for typedefs, structures, and compiler characteristics.
- dnl
-diff --git a/src/systemd/src/basic/alloc-util.h b/src/systemd/src/basic/alloc-util.h
-index ceeee51..924b59c 100644
---- a/src/systemd/src/basic/alloc-util.h
-+++ b/src/systemd/src/basic/alloc-util.h
-@@ -25,6 +25,18 @@
- #include <string.h>
- 
- #include "macro.h"
-+#include "config.h"
-+
-+#if !HAVE_DECL_STRNDUPA
-+#define strndupa(s, n) \
-+  ({ \
-+    const char *__old = (s); \
-+    size_t __len = strnlen(__old, (n)); \
-+    char *__new = (char *)alloca(__len + 1); \
-+    __new[__len] = '\0'; \
-+    (char *)memcpy(__new, __old, __len); \
-+  })
-+#endif
- 
- #define new(t, n) ((t*) malloc_multiply(sizeof(t), (n)))
- 
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-add-systemd-resolved-backend.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-add-systemd-resolved-backend.patch
deleted file mode 100644
index bd194a6..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-add-systemd-resolved-backend.patch
+++ /dev/null
@@ -1,621 +0,0 @@
-From: Sjoerd Simons <sjoerd@luon.net>
-Date: Sun, 21 Aug 2016 21:46:02 +0200
-Subject: [PATCH] dns/resolved: add systemd-resolved backend
-
-Add initial DNS backend that pushes DNS information into
-systemd-resolved. Backend is choosen by default if the systems
-resolv.conv is setup to pointing to one of the standard resolved
-locations.
-
-This doesn't handle global dns configuration.
-
-Signed-off-by: Sjoerd Simons <sjoerd@luon.net>
-
-https://bugzilla.gnome.org/show_bug.cgi?id=762540
-
-Upstream-Status: Backport
-
----
- man/NetworkManager.conf.xml               |  10 +-
- src/Makefile.am                           |   2 +
- src/dns-manager/nm-dns-manager.c          |  43 ++-
- src/dns-manager/nm-dns-systemd-resolved.c | 427 ++++++++++++++++++++++++++++++
- src/dns-manager/nm-dns-systemd-resolved.h |  45 ++++
- 5 files changed, 523 insertions(+), 4 deletions(-)
- create mode 100644 src/dns-manager/nm-dns-systemd-resolved.c
- create mode 100644 src/dns-manager/nm-dns-systemd-resolved.h
-
-diff --git a/man/NetworkManager.conf.xml b/man/NetworkManager.conf.xml
-index 6295b82..0a67ae5 100644
---- a/man/NetworkManager.conf.xml
-+++ b/man/NetworkManager.conf.xml
-@@ -275,10 +275,12 @@ no-auto-default=*
-       <varlistentry>
-         <term><varname>dns</varname></term>
-         <listitem><para>Set the DNS (<filename>resolv.conf</filename>) processing mode.</para>
--        <para><literal>default</literal>: The default if the key is
--        not specified. NetworkManager will update
-+        <para><literal>default</literal>: NetworkManager will update
-         <filename>resolv.conf</filename> to reflect the nameservers
--        provided by currently active connections.</para>
-+        provided by currently active connections.  This is the default
-+        if the key is not specified, unless the system is configured
-+        to use systemd-resolved; in this case the default is
-+        <literal>systemd-resolved</literal></para>
-         <para><literal>dnsmasq</literal>: NetworkManager will run
-         dnsmasq as a local caching nameserver, using a "split DNS"
-         configuration if you are connected to a VPN, and then update
-@@ -288,6 +290,8 @@ no-auto-default=*
-         to unbound and dnssec-triggerd, providing a "split DNS"
-         configuration with DNSSEC support. The <filename>/etc/resolv.conf</filename>
-         will be managed by dnssec-trigger daemon.</para>
-+        <para><literal>systemd-resolved</literal>: NetworkManager will
-+        push the DNS configuration to systemd-resolved</para>
-         <para><literal>none</literal>: NetworkManager will not
-         modify resolv.conf. This implies
-         <literal>rc-manager</literal>&nbsp;<literal>unmanaged</literal></para>
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 8d29b19..10f63de 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -345,6 +345,8 @@ libNetworkManager_la_SOURCES = \
- 	\
- 	dns-manager/nm-dns-dnsmasq.c \
- 	dns-manager/nm-dns-dnsmasq.h \
-+	dns-manager/nm-dns-systemd-resolved.c \
-+	dns-manager/nm-dns-systemd-resolved.h \
- 	dns-manager/nm-dns-unbound.c \
- 	dns-manager/nm-dns-unbound.h \
- 	dns-manager/nm-dns-manager.c \
-diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c
-index 5a758a9..38bc786 100644
---- a/src/dns-manager/nm-dns-manager.c
-+++ b/src/dns-manager/nm-dns-manager.c
-@@ -45,6 +45,7 @@
- 
- #include "nm-dns-plugin.h"
- #include "nm-dns-dnsmasq.h"
-+#include "nm-dns-systemd-resolved.h"
- #include "nm-dns-unbound.h"
- 
- #if WITH_LIBSOUP
-@@ -1588,6 +1589,37 @@ _check_resconf_immutable (NMDnsManagerResolvConfManager rc_manager)
- 
- NM_DEFINE_SINGLETON_GETTER (NMDnsManager, nm_dns_manager_get, NM_TYPE_DNS_MANAGER);
- 
-+static gboolean
-+_resolvconf_resolved_managed (void)
-+{
-+	static const char *const resolved_paths[] = {
-+		"/run/systemd/resolve/resolv.conf",
-+		"/lib/systemd/resolv.conf",
-+		"/usr/lib/systemd/resolv.conf",
-+	};
-+	GFile *f;
-+	GFileInfo *info;
-+	gboolean ret = FALSE;
-+
-+	f = g_file_new_for_path (_PATH_RESCONF);
-+	info = g_file_query_info (f,
-+	                          G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK","\
-+	                          G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET,
-+	                          G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
-+	                          NULL, NULL);
-+
-+	if (info && g_file_info_get_is_symlink (info)) {
-+		ret = _nm_utils_strv_find_first ((gchar **) resolved_paths,
-+		                                 G_N_ELEMENTS (resolved_paths),
-+		                                 g_file_info_get_symlink_target (info)) >= 0;
-+	}
-+
-+	g_clear_object(&info);
-+	g_clear_object(&f);
-+
-+	return ret;
-+}
-+
- static void
- init_resolv_conf_mode (NMDnsManager *self, gboolean force_reload_plugin)
- {
-@@ -1633,7 +1665,16 @@ again:
- 
- 	rc_manager = _check_resconf_immutable (rc_manager);
- 
--	if (nm_streq0 (mode, "dnsmasq")) {
-+	if (   (!mode && _resolvconf_resolved_managed ())
-+	    || nm_streq0 (mode, "systemd-resolved")) {
-+		if (   force_reload_plugin
-+		    || !NM_IS_DNS_SYSTEMD_RESOLVED (priv->plugin)) {
-+			_clear_plugin (self);
-+			priv->plugin = nm_dns_systemd_resolved_new ();
-+			plugin_changed = TRUE;
-+		}
-+		mode = "systemd-resolved";
-+	} else if (nm_streq0 (mode, "dnsmasq")) {
- 		if (force_reload_plugin || !NM_IS_DNS_DNSMASQ (priv->plugin)) {
- 			_clear_plugin (self);
- 			priv->plugin = nm_dns_dnsmasq_new ();
-diff --git a/src/dns-manager/nm-dns-systemd-resolved.c b/src/dns-manager/nm-dns-systemd-resolved.c
-new file mode 100644
-index 0000000..6bdd5f6
---- /dev/null
-+++ b/src/dns-manager/nm-dns-systemd-resolved.c
-@@ -0,0 +1,427 @@
-+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-+/*
-+ * Copyright (C) 2010 Dan Williams <dcbw@redhat.com>
-+ * Copyright (C) 2016 Sjoerd Simons <sjoerd@luon.net>
-+ *
-+ * 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, 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.
-+ *
-+ */
-+
-+#include "nm-default.h"
-+
-+#include "nm-dns-systemd-resolved.h"
-+
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <sys/types.h>
-+#include <sys/wait.h>
-+#include <arpa/inet.h>
-+#include <sys/stat.h>
-+#include <linux/if.h>
-+
-+#include "nm-core-internal.h"
-+#include "nm-platform.h"
-+#include "nm-utils.h"
-+#include "nm-ip4-config.h"
-+#include "nm-ip6-config.h"
-+#include "nm-bus-manager.h"
-+#include "nm-manager.h"
-+#include "nm-device.h"
-+#include "NetworkManagerUtils.h"
-+
-+G_DEFINE_TYPE (NMDnsSystemdResolved, nm_dns_systemd_resolved, NM_TYPE_DNS_PLUGIN)
-+
-+#define NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE(o) \
-+  (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DNS_SYSTEMD_RESOLVED, \
-+    NMDnsSystemdResolvedPrivate))
-+
-+#define SYSTEMD_RESOLVED_DBUS_SERVICE "org.freedesktop.resolve1"
-+#define SYSTEMD_RESOLVED_DBUS_PATH "/org/freedesktop/resolve1"
-+
-+typedef struct {
-+	int ifindex;
-+	GList *configs;
-+} InterfaceConfig;
-+
-+typedef struct {
-+	GDBusProxy *resolve;
-+	GCancellable *init_cancellable;
-+	GCancellable *update_cancellable;
-+	GQueue dns_updates;
-+	GQueue domain_updates;
-+} NMDnsSystemdResolvedPrivate;
-+
-+/*****************************************************************************/
-+
-+#define _NMLOG_DOMAIN         LOGD_DNS
-+#define _NMLOG_PREFIX_NAME    "systemd-resolved"
-+#define _NMLOG(level, ...) \
-+    G_STMT_START { \
-+        nm_log ((level), _NMLOG_DOMAIN, \
-+                "%s[%p]: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
-+                _NMLOG_PREFIX_NAME, \
-+                (self) \
-+                _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
-+    } G_STMT_END
-+
-+/*****************************************************************************/
-+
-+static void
-+call_done (GObject *source, GAsyncResult *r, gpointer user_data)
-+{
-+	GVariant *v;
-+	GError *error = NULL;
-+	NMDnsSystemdResolved *self = (NMDnsSystemdResolved *) user_data;
-+
-+	v = g_dbus_proxy_call_finish (G_DBUS_PROXY (source), r, &error);
-+
-+	if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-+		return;
-+
-+	if (error != NULL) {
-+		_LOGW ("Failed: %s\n", error->message);
-+		g_error_free (error);
-+	}
-+}
-+
-+static void
-+add_interface_configuration (NMDnsSystemdResolved *self,
-+                             GArray *interfaces,
-+                             const NMDnsIPConfigData *data)
-+{
-+	int i;
-+	InterfaceConfig *ic = NULL;
-+	int ifindex;
-+	NMDevice *device;
-+
-+	if (NM_IS_IP4_CONFIG (data->config))
-+		ifindex = nm_ip4_config_get_ifindex (data->config);
-+	else if (NM_IS_IP6_CONFIG  (data->config))
-+		ifindex = nm_ip6_config_get_ifindex (data->config);
-+	else
-+		g_return_if_reached ();
-+
-+	device = nm_manager_get_device_by_ifindex (nm_manager_get (), ifindex);
-+
-+	if (!nm_device_get_managed (device, FALSE))
-+		return;
-+
-+	for (i = 0; i < interfaces->len; i++) {
-+		InterfaceConfig *tic = &g_array_index (interfaces, InterfaceConfig, i);
-+		if (ifindex == tic->ifindex) {
-+			ic = tic;
-+			break;
-+		}
-+	}
-+
-+	if (!ic) {
-+		g_array_set_size (interfaces, interfaces->len + 1);
-+		ic = &g_array_index (interfaces, InterfaceConfig,
-+		                     interfaces->len - 1);
-+		ic->ifindex = ifindex;
-+	}
-+
-+	ic->configs = g_list_append (ic->configs, data->config);
-+}
-+
-+static void
-+add_domain (GVariantBuilder *domains,
-+            const char *domain,
-+            gboolean never_default)
-+{
-+	/* If this link is never the default (e.g. only used for resources on this
-+	 * network) add a routing domain. */
-+	g_variant_builder_add (domains, "(sb)", domain, never_default);
-+}
-+
-+static void
-+update_add_ip6_config (NMDnsSystemdResolved *self,
-+                       GVariantBuilder *dns,
-+                       GVariantBuilder *domains,
-+                       const NMIP6Config *config)
-+{
-+	guint i, n;
-+
-+	n = nm_ip6_config_get_num_nameservers (config);
-+	for (i = 0 ; i < n; i++) {
-+		const struct in6_addr *ip;
-+
-+		g_variant_builder_open (dns, G_VARIANT_TYPE ("(iay)"));
-+		g_variant_builder_add (dns, "i", AF_INET6);
-+		ip = nm_ip6_config_get_nameserver (config, i),
-+
-+		g_variant_builder_add_value (dns, g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, ip, 16, 1));
-+		g_variant_builder_close (dns);
-+	}
-+
-+	n = nm_ip6_config_get_num_searches (config);
-+	if (n > 0) {
-+		for (i = 0; i < n; i++) {
-+			add_domain (domains, nm_ip6_config_get_search (config, i),
-+			            nm_ip6_config_get_never_default (config));
-+		}
-+	} else {
-+		n = nm_ip6_config_get_num_domains (config);
-+		for (i = 0; i < n; i++) {
-+			add_domain (domains, nm_ip6_config_get_domain (config, i),
-+			            nm_ip6_config_get_never_default (config));
-+		}
-+	}
-+}
-+
-+static void
-+update_add_ip4_config (NMDnsSystemdResolved *self,
-+                       GVariantBuilder *dns,
-+                       GVariantBuilder *domains,
-+                       const NMIP4Config *config)
-+{
-+	guint i, n;
-+
-+	n = nm_ip4_config_get_num_nameservers (config);
-+	for (i = 0 ; i < n; i++) {
-+		guint32 ns;
-+
-+		g_variant_builder_open (dns, G_VARIANT_TYPE ("(iay)"));
-+		g_variant_builder_add (dns, "i", AF_INET);
-+		ns = nm_ip4_config_get_nameserver (config, i),
-+
-+		g_variant_builder_add_value (dns, g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, &ns, 4, 1));
-+		g_variant_builder_close (dns);
-+	}
-+
-+	n = nm_ip4_config_get_num_searches (config);
-+	if (n  > 0) {
-+		for (i = 0; i < n; i++) {
-+			add_domain (domains, nm_ip4_config_get_search (config, i),
-+			            nm_ip4_config_get_never_default (config));
-+		}
-+	} else {
-+		n = nm_ip4_config_get_num_domains (config);
-+		for (i = 0; i < n; i++) {
-+			add_domain (domains, nm_ip4_config_get_domain (config, i),
-+			            nm_ip4_config_get_never_default (config));
-+		}
-+	}
-+}
-+
-+static void
-+free_pending_updates (NMDnsSystemdResolved *self)
-+{
-+	NMDnsSystemdResolvedPrivate *priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
-+	GVariant *v;
-+
-+	while ((v = g_queue_pop_head (&priv->dns_updates)) != NULL)
-+		g_variant_unref (v);
-+
-+	while ((v = g_queue_pop_head (&priv->domain_updates)) != NULL)
-+		g_variant_unref (v);
-+}
-+
-+static void
-+prepare_one_interface (NMDnsSystemdResolved *self, InterfaceConfig *ic)
-+{
-+	NMDnsSystemdResolvedPrivate *priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
-+	GVariantBuilder dns, domains;
-+	GList *l;
-+
-+	g_variant_builder_init (&dns, G_VARIANT_TYPE ("(ia(iay))"));
-+	g_variant_builder_add (&dns, "i", ic->ifindex);
-+	g_variant_builder_open (&dns, G_VARIANT_TYPE ("a(iay)"));
-+
-+	g_variant_builder_init (&domains, G_VARIANT_TYPE ("(ia(sb))"));
-+	g_variant_builder_add (&domains, "i", ic->ifindex);
-+	g_variant_builder_open (&domains, G_VARIANT_TYPE ("a(sb)"));
-+
-+	for (l = ic->configs ; l != NULL ; l = g_list_next (l)) {
-+		if (NM_IS_IP4_CONFIG (l->data))
-+			update_add_ip4_config (self, &dns, &domains, l->data);
-+		else if (NM_IS_IP6_CONFIG (l->data))
-+			update_add_ip6_config (self, &dns, &domains, l->data);
-+		else
-+			g_assert_not_reached ();
-+	}
-+	g_variant_builder_close (&dns);
-+	g_variant_builder_close (&domains);
-+
-+	g_queue_push_tail (&priv->dns_updates,
-+	                   g_variant_ref_sink (g_variant_builder_end (&dns)));
-+	g_queue_push_tail (&priv->domain_updates,
-+	                   g_variant_ref_sink (g_variant_builder_end (&domains)));
-+}
-+
-+static void
-+send_updates (NMDnsSystemdResolved *self)
-+{
-+	NMDnsSystemdResolvedPrivate *priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
-+	GVariant *v;
-+
-+	nm_clear_g_cancellable (&priv->update_cancellable);
-+
-+	if (!priv->resolve)
-+		return;
-+
-+	priv->update_cancellable = g_cancellable_new ();
-+
-+	while ((v = g_queue_pop_head (&priv->dns_updates)) != NULL) {
-+		g_dbus_proxy_call (priv->resolve, "SetLinkDNS", v,
-+		                   G_DBUS_CALL_FLAGS_NONE,
-+		                   -1, priv->update_cancellable, call_done, self);
-+		g_variant_unref (v);
-+	}
-+
-+	while ((v = g_queue_pop_head (&priv->domain_updates)) != NULL) {
-+		g_dbus_proxy_call (priv->resolve, "SetLinkDomains", v,
-+		                   G_DBUS_CALL_FLAGS_NONE,
-+		                   -1, priv->update_cancellable, call_done, self);
-+		g_variant_unref (v);
-+	}
-+}
-+
-+static gboolean
-+update (NMDnsPlugin *plugin,
-+        const NMDnsIPConfigData **configs,
-+        const NMGlobalDnsConfig *global_config,
-+        const char *hostname)
-+{
-+	NMDnsSystemdResolved *self = NM_DNS_SYSTEMD_RESOLVED (plugin);
-+	GArray *interfaces = g_array_new (TRUE, TRUE, sizeof (InterfaceConfig));
-+	const NMDnsIPConfigData **c;
-+	int i;
-+
-+	for (c = configs; *c != NULL; c++)
-+		add_interface_configuration (self, interfaces, *c);
-+
-+	free_pending_updates (self);
-+
-+	for (i = 0; i < interfaces->len; i++) {
-+		InterfaceConfig *ic = &g_array_index (interfaces, InterfaceConfig, i);
-+
-+		prepare_one_interface (self, ic);
-+		g_list_free (ic->configs);
-+	}
-+
-+	g_array_free (interfaces, TRUE);
-+
-+	send_updates (self);
-+
-+	return TRUE;
-+}
-+
-+/****************************************************************/
-+
-+static gboolean
-+is_caching (NMDnsPlugin *plugin)
-+{
-+	return TRUE;
-+}
-+
-+static const char *
-+get_name (NMDnsPlugin *plugin)
-+{
-+	return "systemd-resolved";
-+}
-+
-+/****************************************************************/
-+
-+NMDnsPlugin *
-+nm_dns_systemd_resolved_new (void)
-+{
-+	return g_object_new (NM_TYPE_DNS_SYSTEMD_RESOLVED, NULL);
-+}
-+
-+static void
-+resolved_proxy_created (GObject *source, GAsyncResult *r, gpointer user_data)
-+{
-+	NMDnsSystemdResolved *self = (NMDnsSystemdResolved *) user_data;
-+	NMDnsSystemdResolvedPrivate *priv;
-+	gs_free_error GError *error = NULL;
-+	GDBusProxy *resolve;
-+
-+	resolve = g_dbus_proxy_new_finish (r, &error);
-+	if (   !resolve
-+	    && g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-+		return;
-+
-+	priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
-+	g_clear_object (&priv->init_cancellable);
-+	if (!resolve) {
-+		_LOGW ("failed to connect to resolved via DBus: %s", error->message);
-+		g_signal_emit_by_name (self, NM_DNS_PLUGIN_FAILED);
-+		return;
-+	}
-+
-+	priv->resolve = resolve;
-+	send_updates (self);
-+}
-+
-+
-+static void
-+nm_dns_systemd_resolved_init (NMDnsSystemdResolved *self)
-+{
-+	NMDnsSystemdResolvedPrivate *priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
-+	NMBusManager *dbus_mgr;
-+	GDBusConnection *connection;
-+
-+	g_queue_init (&priv->dns_updates);
-+	g_queue_init (&priv->domain_updates);
-+
-+	dbus_mgr = nm_bus_manager_get ();
-+	g_return_if_fail (dbus_mgr);
-+
-+	connection = nm_bus_manager_get_connection (dbus_mgr);
-+	g_return_if_fail (connection);
-+
-+	priv->init_cancellable = g_cancellable_new ();
-+	g_dbus_proxy_new (connection,
-+	                  G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES |
-+	                  G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS,
-+	                  NULL,
-+	                  SYSTEMD_RESOLVED_DBUS_SERVICE,
-+	                  SYSTEMD_RESOLVED_DBUS_PATH,
-+	                  SYSTEMD_RESOLVED_DBUS_SERVICE ".Manager",
-+	                  priv->init_cancellable,
-+	                  resolved_proxy_created,
-+	                  self);
-+}
-+
-+static void
-+dispose (GObject *object)
-+{
-+	NMDnsSystemdResolved *self = NM_DNS_SYSTEMD_RESOLVED (object);
-+	NMDnsSystemdResolvedPrivate *priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self);
-+
-+	free_pending_updates (self);
-+	g_clear_object (&priv->resolve);
-+	nm_clear_g_cancellable (&priv->init_cancellable);
-+	nm_clear_g_cancellable (&priv->update_cancellable);
-+
-+	G_OBJECT_CLASS (nm_dns_systemd_resolved_parent_class)->dispose (object);
-+}
-+
-+static void
-+nm_dns_systemd_resolved_class_init (NMDnsSystemdResolvedClass *dns_class)
-+{
-+	NMDnsPluginClass *plugin_class = NM_DNS_PLUGIN_CLASS (dns_class);
-+	GObjectClass *object_class = G_OBJECT_CLASS (dns_class);
-+
-+	g_type_class_add_private (dns_class, sizeof (NMDnsSystemdResolvedPrivate));
-+
-+	object_class->dispose = dispose;
-+
-+	plugin_class->is_caching = is_caching;
-+	plugin_class->update = update;
-+	plugin_class->get_name = get_name;
-+}
-+
-diff --git a/src/dns-manager/nm-dns-systemd-resolved.h b/src/dns-manager/nm-dns-systemd-resolved.h
-new file mode 100644
-index 0000000..45c64b3
---- /dev/null
-+++ b/src/dns-manager/nm-dns-systemd-resolved.h
-@@ -0,0 +1,45 @@
-+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-+/* 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, 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.
-+ *
-+ * Copyright (C) 2010 Red Hat, Inc.
-+ * Copyright (C) 2016 Sjoerd Simons <sjoerd@luon.net>
-+ */
-+
-+#ifndef __NETWORKMANAGER_DNS_SYSTEMD_RESOLVED_H__
-+#define __NETWORKMANAGER_DNS_SYSTEMD_RESOLVED_H__
-+
-+#include "nm-dns-plugin.h"
-+
-+#define NM_TYPE_DNS_SYSTEMD_RESOLVED            (nm_dns_systemd_resolved_get_type ())
-+#define NM_DNS_SYSTEMD_RESOLVED(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DNS_SYSTEMD_RESOLVED, NMDnsSystemdResolved))
-+#define NM_DNS_SYSTEMD_RESOLVED_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DNS_SYSTEMD_RESOLVED, NMDnsSystemdResolvedClass))
-+#define NM_IS_DNS_SYSTEMD_RESOLVED(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DNS_SYSTEMD_RESOLVED))
-+#define NM_IS_DNS_SYSTEMD_RESOLVED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DNS_SYSTEMD_RESOLVED))
-+#define NM_DNS_SYSTEMD_RESOLVED_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DNS_SYSTEMD_RESOLVED, NMDnsSystemdResolvedClass))
-+
-+typedef struct {
-+	NMDnsPlugin parent;
-+} NMDnsSystemdResolved;
-+
-+typedef struct {
-+	NMDnsPluginClass parent;
-+} NMDnsSystemdResolvedClass;
-+
-+GType nm_dns_systemd_resolved_get_type (void);
-+
-+NMDnsPlugin *nm_dns_systemd_resolved_new (void);
-+
-+#endif /* __NETWORKMANAGER_DNS_SYSTEMD_RESOLVED_H__ */
-+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-also-check-for-etc-resolv-conf.systemd.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-also-check-for-etc-resolv-conf.systemd.patch
deleted file mode 100644
index ca7e4a4..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-dns-resolved-also-check-for-etc-resolv-conf.systemd.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6f799f1f0e68cc7bf89c0a56aec5ecf46937619d Mon Sep 17 00:00:00 2001
-From: Ricardo Salveti <rsalveti@rsalveti.net>
-Date: Thu, 15 Jun 2017 10:02:38 -0300
-Subject: [PATCH] dns/resolved: also check for /etc/resolv-conf.systemd
-
-OE specific resolv.conf path, so it can be enabled by default if available.
-
-Upstream-Status: Inappropriate [OE config specific]
-
-Signed-off-by: Ricardo Salveti <rsalveti@rsalveti.net>
----
- src/dns-manager/nm-dns-manager.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c
-index c1d2bf7..d70d4b4 100644
---- a/src/dns-manager/nm-dns-manager.c
-+++ b/src/dns-manager/nm-dns-manager.c
-@@ -1596,6 +1596,7 @@ _resolvconf_resolved_managed (void)
- 		"/run/systemd/resolve/resolv.conf",
- 		"/lib/systemd/resolv.conf",
- 		"/usr/lib/systemd/resolv.conf",
-+		"/etc/resolv-conf.systemd",
- 	};
- 	GFile *f;
- 	GFileInfo *info;
--- 
-2.7.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch
deleted file mode 100644
index 5c9ed92..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 7dd40db6606c3b3559365a03944cb99aee5ceabc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 4 Apr 2013 12:57:58 +0200
-Subject: [PATCH] don't try to run /sbin/dhclient to get the version number,
- this break cross-compiling
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [build system specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac |    6 ------
- 1 files changed, 0 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index cc66e9b..7163287 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -488,12 +488,6 @@ AS_IF([test -z "$with_dhcpcd"], with_dhcpcd=yes)
- # Search and check the executables
- if test "$with_dhclient" = "yes"; then
- 	AC_PATH_PROGS(with_dhclient, dhclient, no, /sbin:/usr/sbin:/usr/local/sbin)
--	if test "$with_dhclient" != "no"; then
--		if ! $with_dhclient --version 2>&1 | grep -q "^isc-dhclient-4\."; then
--			AC_MSG_WARN([Cannot use dhclient, version 4.x is required])
--			with_dhclient=no
--		fi
--	fi
- fi
- if test "$with_dhcpcd" = "yes"; then
- 	AC_PATH_PROGS(with_dhcpcd, dhcpcd, no, /sbin:/usr/sbin:/usr/local/sbin)
--- 
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
new file mode 100644
index 0000000..7194423
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
@@ -0,0 +1,40 @@
+From 18f71c1b48730b8602826517f2b5b088283ae948 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 31 Mar 2017 16:48:00 -0700
+Subject: [PATCH 5/7] sd-lldp.h: Remove net/ethernet.h seems to be over
+ specified
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/systemd/src/libsystemd-network/sd-lldp.c | 1 +
+ src/systemd/src/systemd/sd-lldp.h            | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/systemd/src/libsystemd-network/sd-lldp.c b/src/systemd/src/libsystemd-network/sd-lldp.c
+index 31e2448..7721cc2 100644
+--- a/src/systemd/src/libsystemd-network/sd-lldp.c
++++ b/src/systemd/src/libsystemd-network/sd-lldp.c
+@@ -21,6 +21,7 @@
+ #include "nm-sd-adapt.h"
+ 
+ #include <arpa/inet.h>
++#include <net/ethernet.h>
+ #include <linux/sockios.h>
+ 
+ #include "sd-lldp.h"
+diff --git a/src/systemd/src/systemd/sd-lldp.h b/src/systemd/src/systemd/sd-lldp.h
+index 3f35eeb..61b0e45 100644
+--- a/src/systemd/src/systemd/sd-lldp.h
++++ b/src/systemd/src/systemd/sd-lldp.h
+@@ -22,7 +22,7 @@
+ ***/
+ 
+ #include <inttypes.h>
+-#include <net/ethernet.h>
++//#include <net/ethernet.h>
+ #include <sys/types.h>
+ 
+ #include "sd-event.h"
+-- 
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch
deleted file mode 100644
index 4234e2b..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a9bfe6f2029d75caf28fcdf3e740843cf6359615 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Jun 2017 07:31:25 -0700
-Subject: [PATCH 1/2] systemd: xlocale.h is dropped by newer glibc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/systemd/src/basic/parse-util.c | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/src/systemd/src/basic/parse-util.c b/src/systemd/src/basic/parse-util.c
-index 9c21e5a..dd95d1f 100644
---- a/src/systemd/src/basic/parse-util.c
-+++ b/src/systemd/src/basic/parse-util.c
-@@ -25,11 +25,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#ifdef __GLIBC__
--#include <xlocale.h>
--#else
- #include <locale.h>
--#endif
- #include "alloc-util.h"
- #include "extract-word.h"
- #include "macro.h"
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fix-nm-version-macro-includes.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fix-nm-version-macro-includes.patch
deleted file mode 100644
index aa57c83..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fix-nm-version-macro-includes.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 7274bbadd398a69b8babf47431f80d35e0228c42 Mon Sep 17 00:00:00 2001
-From: Adrian Freihofer <adrian.freihofer@gmail.com>
-Date: Mon, 18 Jan 2016 08:53:26 +0100
-Subject: [PATCH] Fix nm-version-macro includes
-
-nm-version-macros.h cannot be found since include directive has
-been changed from " to <. This breaks for example gnome-panel
-build:
-/usr/include/NetworkManager/NetworkManager.h:31:31:
-fatal error: nm-version-macros.h: No such file or directory.
----
- libnm-core/nm-version.h     | 2 +-
- libnm-util/NetworkManager.h | 2 +-
- libnm-util/nm-version.h     | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/libnm-core/nm-version.h b/libnm-core/nm-version.h
-index 730330a..d751bc1 100644
---- a/libnm-core/nm-version.h
-+++ b/libnm-core/nm-version.h
-@@ -23,7 +23,7 @@
- 
- #include <glib.h>
- 
--#include <nm-version-macros.h>
-+#include "nm-version-macros.h"
- 
- /* Deprecation / Availability macros */
- 
-diff --git a/libnm-util/NetworkManager.h b/libnm-util/NetworkManager.h
-index d83e4ab..3a964fc 100644
---- a/libnm-util/NetworkManager.h
-+++ b/libnm-util/NetworkManager.h
-@@ -28,7 +28,7 @@
- 
- /* This header must not include glib or libnm. */
- 
--#include <nm-version-macros.h>
-+#include "nm-version-macros.h"
- 
- /*
-  * dbus services details
-diff --git a/libnm-util/nm-version.h b/libnm-util/nm-version.h
-index 63895dd..41101a4 100644
---- a/libnm-util/nm-version.h
-+++ b/libnm-util/nm-version.h
-@@ -23,7 +23,7 @@
- 
- #include <glib.h>
- 
--#include <nm-version-macros.h>
-+#include "nm-version-macros.h"
- 
- /* Deprecation / Availability macros */
- 
--- 
-2.5.0
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
new file mode 100644
index 0000000..28848d3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch
@@ -0,0 +1,25 @@
+From 583f0448fb7e9aba2b410c06eec6f420b41a6a0c Mon Sep 17 00:00:00 2001
+From: Pablo Saavedra <psaavedra@igalia.com>
+Date: Tue, 13 Mar 2018 17:36:20 +0100
+Subject: [PATCH 7/7] Fixed configure.ac: Fix pkgconfig sysroot locations
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 51e5eb6..c9d3e56 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -669,7 +669,7 @@ else
+ 	AC_DEFINE(WITH_JANSSON, 1, [Define if JANSSON is enabled])
+ 
+ 	AC_CHECK_TOOLS(READELF, [eu-readelf readelf])
+-	JANSSON_LIBDIR=`$PKG_CONFIG --variable=libdir jansson`
++	JANSSON_LIBDIR=${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=libdir jansson`
+ 	JANSSON_SONAME=`$READELF -d $JANSSON_LIBDIR/libjansson.so |sed -n 's/.*SONAME.*\[[\([^]]*\)]]/\1/p'`
+ 
+ 	if test "$JANSSON_SONAME" = ""; then
+-- 
+2.14.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch
deleted file mode 100644
index 22bc6e8..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-socket-util.h-Include-linux-sockios.h-on-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 98d7e3ae5b15e30af1bf5dd1d279e1a774bf2b86 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 31 Mar 2017 16:05:05 -0700
-Subject: [PATCH 2/5] socket-util.h: Include linux/sockios.h on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/systemd/src/basic/socket-util.h | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h
-index 2536b08..76d6107 100644
---- a/src/systemd/src/basic/socket-util.h
-+++ b/src/systemd/src/basic/socket-util.h
-@@ -29,6 +29,12 @@
- #include <linux/netlink.h>
- #include <linux/if_packet.h>
- 
-+#if !defined(__GLIBC__)
-+/* SIOCGSTAMPNS from linux/asm-generic.h
-+ * for src/systemd/src/libsystemd-network/sd-lldp.c */
-+#include <linux/sockios.h>
-+#endif
-+
- #include "macro.h"
- #include "util.h"
- 
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch
deleted file mode 100644
index e32b5c0..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-user-format-string-in-g_dbus_message_new_method_erro.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From adc0668b854289a11cfc29597b5566ba1869d17e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Jun 2017 07:32:09 -0700
-Subject: [PATCH 2/2] user format string in g_dbus_message_new_method_error ()
-
-This fixes format errors with -Werror=format-security
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/nm-manager.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/nm-manager.c b/src/nm-manager.c
-index c3d65cd..e814912 100644
---- a/src/nm-manager.c
-+++ b/src/nm-manager.c
-@@ -4871,6 +4871,7 @@ prop_set_auth_done_cb (NMAuthChain *chain,
- 	if (error || (result != NM_AUTH_CALL_RESULT_YES)) {
- 		reply = g_dbus_message_new_method_error (pfd->message,
- 		                                         NM_PERM_DENIED_ERROR,
-+		                                         "%s",
- 		                                         (error_message = "Not authorized to perform this operation"));
- 		if (error)
- 			error_message = error->message;
-@@ -4882,6 +4883,7 @@ prop_set_auth_done_cb (NMAuthChain *chain,
- 	if (!object) {
- 		reply = g_dbus_message_new_method_error (pfd->message,
- 		                                         "org.freedesktop.DBus.Error.UnknownObject",
-+		                                         "%s",
- 		                                         (error_message = "Object doesn't exist."));
- 		goto done;
- 	}
-@@ -4890,6 +4892,7 @@ prop_set_auth_done_cb (NMAuthChain *chain,
- 	if (!nm_exported_object_get_interface_by_type (object, pfd->interface_type)) {
- 		reply = g_dbus_message_new_method_error (pfd->message,
- 		                                         "org.freedesktop.DBus.Error.InvalidArgs",
-+		                                         "%s",
- 		                                         (error_message = "Object is of unexpected type."));
- 		goto done;
- 	}
-@@ -4905,6 +4908,7 @@ prop_set_auth_done_cb (NMAuthChain *chain,
- 		if (global_dns && !nm_global_dns_config_is_internal (global_dns)) {
- 			reply = g_dbus_message_new_method_error (pfd->message,
- 			                                         NM_PERM_DENIED_ERROR,
-+			                                         "%s",
- 			                                         (error_message = "Global DNS configuration already set via configuration file"));
- 			goto done;
- 		}
-@@ -4949,6 +4953,7 @@ do_set_property_check (gpointer user_data)
- 	if (!pfd->subject) {
- 		reply = g_dbus_message_new_method_error (pfd->message,
- 		                                         NM_PERM_DENIED_ERROR,
-+		                                         "%s",
- 		                                         (error_message = "Could not determine request UID."));
- 		goto out;
- 	}
-@@ -4958,6 +4963,7 @@ do_set_property_check (gpointer user_data)
- 	if (!chain) {
- 		reply = g_dbus_message_new_method_error (pfd->message,
- 		                                         NM_PERM_DENIED_ERROR,
-+		                                         "%s",
- 		                                         (error_message = "Could not authenticate request."));
- 		goto out;
- 	}
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch
deleted file mode 100644
index 236914f..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Define-ETH_ALEN.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 16c3dc7a407101243d2056d2c93e61dce1a05350 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 31 Mar 2017 16:08:45 -0700
-Subject: [PATCH 3/5] Define ETH_ALEN
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libnm-core/nm-utils.h          | 1 +
- src/platform/wifi/wifi-utils.h | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
-index 156ccae..68e222b 100644
---- a/libnm-core/nm-utils.h
-+++ b/libnm-core/nm-utils.h
-@@ -29,6 +29,7 @@
- 
- /* For ETH_ALEN and INFINIBAND_ALEN */
- //#include <linux/if_ether.h>
-+#define ETH_ALEN	6		/* Octets in one ethernet addr	 */
- #include <linux/if_infiniband.h>
- #include <netinet/in.h>
- 
-diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h
-index 84f5ce9..33a838d 100644
---- a/src/platform/wifi/wifi-utils.h
-+++ b/src/platform/wifi/wifi-utils.h
-@@ -24,6 +24,8 @@
- 
- //#include <net/ethernet.h>
- 
-+#define ETH_ALEN	6		/* Octets in one ethernet addr	 */
-+
- #include "nm-dbus-interface.h"
- 
- typedef struct WifiData WifiData;
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch
new file mode 100644
index 0000000..92485f0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch
@@ -0,0 +1,77 @@
+From 4f000a4a19975d6aba71427e693cd1ed080abda9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 22 Mar 2018 11:08:30 +0100
+Subject: [PATCH] Do not create settings settings/property documentation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It was tried to get this work but gi / GirRepository could not be found by
+python. Anyway it is not necessary for us to have the settings/property docs.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ Makefile.am  | 18 ++----------------
+ configure.ac |  4 ----
+ 2 files changed, 2 insertions(+), 20 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 639921d..314a61d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -961,9 +961,7 @@ endif
+ if HAVE_INTROSPECTION
+ 
+ libnm_noinst_data = \
+-	libnm/nm-property-docs.xml \
+ 	libnm/nm-settings-docs-overrides.xml \
+-	libnm/nm-settings-docs.xml \
+ 	libnm/nm-settings-keyfile-docs.xml \
+ 	libnm/nm-settings-ifcfg-rh-docs.xml
+ 
+@@ -3317,23 +3315,11 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
+ $(clients_common_libnmc_base_la_OBJECTS): clients/common/.dirstamp
+ 
+ clients_common_settings_doc_c = clients/common/settings-docs.c
+-if HAVE_INTROSPECTION
+-$(clients_common_settings_doc_c): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp
+-	$(AM_V_GEN) $(XSLTPROC) --output $@ $< $(word 2,$^)
+-DISTCLEANFILES += $(clients_common_settings_doc_c)
+-check-local-settings-docs: $(clients_common_settings_doc_c)
+-	@if test -z "$$NMTST_NO_CHECK_SETTINGS_DOCS" ; then  \
+-		if ! cmp -s "$(srcdir)/$(clients_common_settings_doc_c).in" "$(builddir)/$(clients_common_settings_doc_c)" ; then \
+-			echo "The generated file \"$(builddir)/$(clients_common_settings_doc_c)\" differs from the source file \"$(srcdir)/$(clients_common_settings_doc_c).in\". You probably should copy the generated file over to the source file. You can skip this test by setting \$$NMTST_NO_CHECK_SETTINGS_DOCS=yes"; \
+-			false; \
+-		fi;\
+-	fi
+-check_local += check-local-settings-docs
+-else
++
+ $(clients_common_settings_doc_c): $(clients_common_settings_doc_c).in clients/common/.dirstamp
+ 	$(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_c).in" "$(builddir)/$(clients_common_settings_doc_c)"
+ check-local-settings-docs:
+-endif
++
+ EXTRA_DIST += \
+ 	$(clients_common_settings_doc_c) \
+ 	$(clients_common_settings_doc_c).in
+diff --git a/configure.ac b/configure.ac
+index c9d3e56..407222e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1286,10 +1286,6 @@ GTK_DOC_CHECK(1.0)
+ # check if we can build setting property documentation
+ build_docs=no
+ if test -n "$INTROSPECTION_MAKEFILE"; then
+-	# If g-i is installed we know we have python, but we might not have pygobject
+-	if ! "$PYTHON" -c 'from gi.repository import GObject' >& /dev/null; then
+-		AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)])
+-	fi
+ 
+ 	AC_PATH_PROG(PERL, perl)
+ 	if test -z "$PERL"; then
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch
deleted file mode 100644
index 27c9ae9..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0004-Define-missing-features-to-cater-for-musl.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 2153109e60e362e0d09215d529bf00176f31a3e7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 31 Mar 2017 16:09:41 -0700
-Subject: [PATCH 4/5] Define missing features to cater for musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/systemd/sd-adapt/nm-sd-adapt.h | 2 +-
- src/systemd/src/basic/parse-util.c | 5 ++++-
- src/systemd/src/basic/stdio-util.h | 2 ++
- src/systemd/src/basic/util.h       | 5 +++++
- src/systemd/src/systemd/sd-event.h | 4 ----
- 5 files changed, 12 insertions(+), 6 deletions(-)
-
-diff --git a/src/systemd/sd-adapt/nm-sd-adapt.h b/src/systemd/sd-adapt/nm-sd-adapt.h
-index cf27c1a..72c1b89 100644
---- a/src/systemd/sd-adapt/nm-sd-adapt.h
-+++ b/src/systemd/sd-adapt/nm-sd-adapt.h
-@@ -119,7 +119,7 @@ G_STMT_START { \
- #  ifdef HAVE___SECURE_GETENV
- #    define secure_getenv __secure_getenv
- #  else
--#    error neither secure_getenv nor __secure_getenv is available
-+#    define secure_getenv getenv
- #  endif
- #endif
- 
-diff --git a/src/systemd/src/basic/parse-util.c b/src/systemd/src/basic/parse-util.c
-index 2738663..9c21e5a 100644
---- a/src/systemd/src/basic/parse-util.c
-+++ b/src/systemd/src/basic/parse-util.c
-@@ -25,8 +25,11 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#ifdef __GLIBC__
- #include <xlocale.h>
--
-+#else
-+#include <locale.h>
-+#endif
- #include "alloc-util.h"
- #include "extract-word.h"
- #include "macro.h"
-diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h
-index bd1144b..c92e935 100644
---- a/src/systemd/src/basic/stdio-util.h
-+++ b/src/systemd/src/basic/stdio-util.h
-@@ -19,7 +19,9 @@
-   along with systemd; If not, see <http://www.gnu.org/licenses/>.
- ***/
- 
-+#ifdef __GLIBC__
- #include <printf.h>
-+#endif
- #include <stdarg.h>
- #include <stdio.h>
- #include <sys/types.h>
-diff --git a/src/systemd/src/basic/util.h b/src/systemd/src/basic/util.h
-index bb2fc31..fe074a5 100644
---- a/src/systemd/src/basic/util.h
-+++ b/src/systemd/src/basic/util.h
-@@ -46,6 +46,11 @@
- #include "missing.h"
- #include "time-util.h"
- 
-+#if !defined(__GLIBC__)
-+typedef int (*__compar_fn_t) (const void*, const void*);
-+typedef __compar_fn_t comparison_fn_t;
-+#endif
-+
- size_t page_size(void) _pure_;
- #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
- 
-diff --git a/src/systemd/src/systemd/sd-event.h b/src/systemd/src/systemd/sd-event.h
-index cc26b7d..c7e0004 100644
---- a/src/systemd/src/systemd/sd-event.h
-+++ b/src/systemd/src/systemd/sd-event.h
-@@ -69,11 +69,7 @@ typedef int (*sd_event_handler_t)(sd_event_source *s, void *userdata);
- typedef int (*sd_event_io_handler_t)(sd_event_source *s, int fd, uint32_t revents, void *userdata);
- typedef int (*sd_event_time_handler_t)(sd_event_source *s, uint64_t usec, void *userdata);
- typedef int (*sd_event_signal_handler_t)(sd_event_source *s, const struct signalfd_siginfo *si, void *userdata);
--#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
- typedef int (*sd_event_child_handler_t)(sd_event_source *s, const siginfo_t *si, void *userdata);
--#else
--typedef void* sd_event_child_handler_t;
--#endif
- 
- int sd_event_default(sd_event **e);
- 
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
deleted file mode 100644
index f4a04c7..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 9e9e5814456ec23b9fc669d342bf9d8f7ee49fc2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 31 Mar 2017 16:48:00 -0700
-Subject: [PATCH 5/5] sd-lldp.h: Remove net/ethernet.h seems to be over
- specified
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/systemd/src/systemd/sd-lldp.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: NetworkManager-1.4.2/src/systemd/src/systemd/sd-lldp.h
-===================================================================
---- NetworkManager-1.4.2.orig/src/systemd/src/systemd/sd-lldp.h
-+++ NetworkManager-1.4.2/src/systemd/src/systemd/sd-lldp.h
-@@ -22,7 +22,7 @@
- ***/
- 
- #include <inttypes.h>
--#include <net/ethernet.h>
-+//#include <net/ethernet.h>
- #include <sys/types.h>
- 
- #include "sd-event.h"
-Index: NetworkManager-1.4.2/src/systemd/src/libsystemd-network/sd-lldp.c
-===================================================================
---- NetworkManager-1.4.2.orig/src/systemd/src/libsystemd-network/sd-lldp.c
-+++ NetworkManager-1.4.2/src/systemd/src/libsystemd-network/sd-lldp.c
-@@ -21,6 +21,7 @@
- #include "nm-sd-adapt.h"
- 
- #include <arpa/inet.h>
-+#include <net/ethernet.h>
- 
- #include "sd-lldp.h"
- 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch
new file mode 100644
index 0000000..9d208e1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch
@@ -0,0 +1,53 @@
+From e92de7409a3e107f90d108a9c5d49bd0418296dd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 22 Mar 2018 17:54:10 +0100
+Subject: [PATCH 1/4] Usual fix for musl libc
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Stolen from [1] and prettyfied slightly
+
+[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/systemd/src/basic/stdio-util.h | 2 ++
+ src/systemd/src/basic/util.h       | 5 +++++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h
+index bd1144b..9eafacb 100644
+--- a/src/systemd/src/basic/stdio-util.h
++++ b/src/systemd/src/basic/stdio-util.h
+@@ -19,7 +19,9 @@
+   along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ ***/
+ 
++#if defined(__GLIBC__)
+ #include <printf.h>
++#endif
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+diff --git a/src/systemd/src/basic/util.h b/src/systemd/src/basic/util.h
+index b31dfd1..9b7032c 100644
+--- a/src/systemd/src/basic/util.h
++++ b/src/systemd/src/basic/util.h
+@@ -46,6 +46,11 @@
+ #include "missing.h"
+ #include "time-util.h"
+ 
++#if !defined(__GLIBC__)
++typedef int (*__compar_fn_t) (const void*, const void*);
++typedef __compar_fn_t comparison_fn_t;
++#endif
++
+ size_t page_size(void) _pure_;
+ #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
+ 
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch
new file mode 100644
index 0000000..548cccb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch
@@ -0,0 +1,35 @@
+From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 22 Mar 2018 18:18:06 +0100
+Subject: [PATCH 2/4] musl: dlopen is included so LD_LIBS="" instead of
+ LD_LIBS="none required"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Stolen from [1] and prettyfied slightly
+
+[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 487a266..96ae4f7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -305,6 +305,7 @@ dnl
+ dnl Checks for libdl - on certain platforms its part of libc
+ dnl
+ AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=])
++AS_IF([test "$ac_cv_search_dlopen" = "none required"],[ac_cv_search_dlopen=""])
+ AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen")
+ 
+ PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0],
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch
new file mode 100644
index 0000000..5dd17b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch
@@ -0,0 +1,72 @@
+From 714b4731a238653e9c7d885c0dee10677b0a4df3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 22 Mar 2018 18:24:07 +0100
+Subject: [PATCH 3/4] musl: network support
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Stolen from [1] and prettyfied slightly
+
+[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ libnm-core/nm-utils.h               | 4 ++++
+ src/platform/wifi/wifi-utils.h      | 4 ++++
+ src/systemd/src/basic/socket-util.h | 5 +++++
+ 3 files changed, 13 insertions(+)
+
+diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
+index df9284b..2bcf4b8 100644
+--- a/libnm-core/nm-utils.h
++++ b/libnm-core/nm-utils.h
+@@ -30,7 +30,11 @@
+ #include <netinet/in.h>
+ 
+ /* For ETH_ALEN and INFINIBAND_ALEN */
++#if defined(__GLIBC__)
+ #include <linux/if_ether.h>
++#else
++#define ETH_ALEN	6		/* Octets in one ethernet addr	 */
++#endif
+ #include <linux/if_infiniband.h>
+ 
+ #include "nm-core-enum-types.h"
+diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h
+index 705717b..da3edc4 100644
+--- a/src/platform/wifi/wifi-utils.h
++++ b/src/platform/wifi/wifi-utils.h
+@@ -22,7 +22,11 @@
+ #ifndef __WIFI_UTILS_H__
+ #define __WIFI_UTILS_H__
+ 
++#if defined(__GLIBC__)
+ #include <net/ethernet.h>
++#else /* musl libc */
++#define ETH_ALEN	6		/* Octets in one ethernet addr	 */
++#endif
+ 
+ #include "nm-dbus-interface.h"
+ 
+diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h
+index d7e2d85..d109c84 100644
+--- a/src/systemd/src/basic/socket-util.h
++++ b/src/systemd/src/basic/socket-util.h
+@@ -29,6 +29,11 @@
+ #include <linux/netlink.h>
+ #include <linux/if_infiniband.h>
+ #include <linux/if_packet.h>
++#if !defined(__GLIBC__)
++/* SIOCGSTAMPNS from linux/asm-generic.h
++ * for src/systemd/src/libsystemd-network/sd-lldp.c */
++#include <linux/sockios.h>
++#endif
+ 
+ #include "macro.h"
+ #include "missing.h"
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch
new file mode 100644
index 0000000..fc55ce8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch
@@ -0,0 +1,62 @@
+From d513c8bfc982dbd976617178b040c512c95710b6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 22 Mar 2018 18:29:00 +0100
+Subject: [PATCH 4/4] musl: process-util
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Stolen from [1] and prettyfied slightly
+
+[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/systemd/src/basic/process-util.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/systemd/src/basic/process-util.c b/src/systemd/src/basic/process-util.c
+index 272030d..485f1db 100644
+--- a/src/systemd/src/basic/process-util.c
++++ b/src/systemd/src/basic/process-util.c
+@@ -36,6 +36,9 @@
+ #include <sys/wait.h>
+ #include <syslog.h>
+ #include <unistd.h>
++#ifndef __GLIBC__
++#include <pthread.h>
++#endif
+ #if 0 /* NM_IGNORED */
+ #if HAVE_VALGRIND_VALGRIND_H
+ #include <valgrind/valgrind.h>
+@@ -1015,11 +1018,13 @@ static void reset_cached_pid(void) {
+         cached_pid = CACHED_PID_UNSET;
+ }
+ 
++#ifdef __GLIBC__
+ /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
+  * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
+  * libpthread, as it is part of glibc anyway. */
+ extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle);
+ extern void* __dso_handle __attribute__ ((__weak__));
++#endif
+ 
+ pid_t getpid_cached(void) {
+         pid_t current_value;
+@@ -1042,7 +1047,11 @@ pid_t getpid_cached(void) {
+ 
+                 new_pid = getpid();
+ 
++#ifdef __GLIBC__
+                 if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
++#else
++                if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) {
++#endif
+                         /* OOM? Let's try again later */
+                         cached_pid = CACHED_PID_UNSET;
+                         return new_pid;
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch
new file mode 100644
index 0000000..752fe4f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch
@@ -0,0 +1,77 @@
+From b3b4fe35018c98ad176719b2d9ffb867974fc7c3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 16 Apr 2018 14:45:44 +0200
+Subject: [PATCH] musl: avoid further conflicts by including net/ethernet.h
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/systemd/src/systemd/sd-dhcp-client.h  | 2 ++
+ src/systemd/src/systemd/sd-dhcp-lease.h   | 2 ++
+ src/systemd/src/systemd/sd-dhcp6-client.h | 2 ++
+ src/systemd/src/systemd/sd-ipv4ll.h       | 2 ++
+ 4 files changed, 8 insertions(+)
+
+diff --git a/src/systemd/src/systemd/sd-dhcp-client.h b/src/systemd/src/systemd/sd-dhcp-client.h
+index 5e46d8d..18a613f 100644
+--- a/src/systemd/src/systemd/sd-dhcp-client.h
++++ b/src/systemd/src/systemd/sd-dhcp-client.h
+@@ -21,7 +21,9 @@
+ ***/
+ 
+ #include <inttypes.h>
++#if defined(__GLIBC__)
+ #include <net/ethernet.h>
++#endif
+ #include <netinet/in.h>
+ #include <sys/types.h>
+ 
+diff --git a/src/systemd/src/systemd/sd-dhcp-lease.h b/src/systemd/src/systemd/sd-dhcp-lease.h
+index 7ab99cc..85acdf2 100644
+--- a/src/systemd/src/systemd/sd-dhcp-lease.h
++++ b/src/systemd/src/systemd/sd-dhcp-lease.h
+@@ -22,7 +22,9 @@
+ ***/
+ 
+ #include <inttypes.h>
++#if defined(__GLIBC__)
+ #include <net/ethernet.h>
++#endif
+ #include <netinet/in.h>
+ #include <sys/types.h>
+ 
+diff --git a/src/systemd/src/systemd/sd-dhcp6-client.h b/src/systemd/src/systemd/sd-dhcp6-client.h
+index 7819f0d..35f30ee 100644
+--- a/src/systemd/src/systemd/sd-dhcp6-client.h
++++ b/src/systemd/src/systemd/sd-dhcp6-client.h
+@@ -21,7 +21,9 @@
+ ***/
+ 
+ #include <inttypes.h>
++#if defined(__GLIBC__)
+ #include <net/ethernet.h>
++#endif
+ #include <sys/types.h>
+ 
+ #include "sd-dhcp6-lease.h"
+diff --git a/src/systemd/src/systemd/sd-ipv4ll.h b/src/systemd/src/systemd/sd-ipv4ll.h
+index 5ba9208..c90eca6 100644
+--- a/src/systemd/src/systemd/sd-ipv4ll.h
++++ b/src/systemd/src/systemd/sd-ipv4ll.h
+@@ -20,7 +20,9 @@
+   along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ ***/
+ 
++#if defined(__GLIBC__)
+ #include <net/ethernet.h>
++#endif
+ #include <netinet/in.h>
+ 
+ #include "sd-event.h"
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch
new file mode 100644
index 0000000..8ed7ee6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch
@@ -0,0 +1,47 @@
+From 6db6596e450062601d18b2ae812a4a58d2e03a53 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 16 Apr 2018 15:07:20 +0200
+Subject: [PATCH] Add a strndupa replacement for musl
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/systemd/src/basic/in-addr-util.c | 1 +
+ src/systemd/src/basic/string-util.h  | 5 +++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/systemd/src/basic/in-addr-util.c b/src/systemd/src/basic/in-addr-util.c
+index 2a02d90..a57c360 100644
+--- a/src/systemd/src/basic/in-addr-util.c
++++ b/src/systemd/src/basic/in-addr-util.c
+@@ -30,6 +30,7 @@
+ #include "in-addr-util.h"
+ #include "macro.h"
+ #include "parse-util.h"
++#include "string-util.h"
+ #include "util.h"
+ 
+ bool in4_addr_is_null(const struct in_addr *a) {
+diff --git a/src/systemd/src/basic/string-util.h b/src/systemd/src/basic/string-util.h
+index 4c94b18..a6dc446 100644
+--- a/src/systemd/src/basic/string-util.h
++++ b/src/systemd/src/basic/string-util.h
+@@ -44,6 +44,11 @@
+ #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0)
+ #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0)
+ 
++/* musl does not know strndupa */
++#if !defined(__GLIBC__)
++#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s)
++#endif
++
+ int strcmp_ptr(const char *a, const char *b) _pure_;
+ 
+ static inline bool streq_ptr(const char *a, const char *b) {
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb
new file mode 100644
index 0000000..09c5dbd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb
@@ -0,0 +1,143 @@
+SUMMARY = "NetworkManager"
+HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
+                    file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
+                    file://docs/api/html/license.html;md5=77b9e362690c149da196aefe7712db30 \
+"
+
+DEPENDS = " \
+    intltool-native \
+    libxslt-native \
+    libnl \
+    dbus \
+    dbus-glib \
+    dbus-glib-native \
+    libgudev \
+    util-linux \
+    libndp \
+    libnewt \
+    polkit \
+    jansson \
+    curl \
+"
+
+inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc
+
+SRC_URI = " \
+    ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
+    file://0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \
+    file://0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
+    file://0003-Do-not-create-settings-settings-property-documentati.patch \
+    file://musl/0001-musl-basic.patch \
+    file://musl/0002-musl-dlopen-configure-ac.patch \
+    file://musl/0003-musl-network-support.patch \
+    file://musl/0004-musl-process-util.patch \
+    file://musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch \
+    file://musl/0006-Add-a-strndupa-replacement-for-musl.patch \
+"
+SRC_URI[md5sum] = "de3c7147a693da6f80eb22f126086a14"
+SRC_URI[sha256sum] = "6af0b1e856a3725f88791f55c4fbb04105dc0b20dbf182aaec8aad16481fac76"
+
+S = "${WORKDIR}/NetworkManager-${PV}"
+
+EXTRA_OECONF = " \
+    --disable-ifcfg-rh \
+    --disable-ifnet \
+    --disable-ifcfg-suse \
+    --disable-more-warnings \
+    --with-iptables=${sbindir}/iptables \
+    --with-tests \
+    --with-nmtui=yes \
+"
+
+# gobject-introspection related
+GI_DATA_ENABLED_libc-musl = "False"
+
+# stolen from https://github.com/voidlinux/void-packages/blob/master/srcpkgs/NetworkManager/template
+CFLAGS_libc-musl_append = " \
+    -DHAVE_SECURE_GETENV -Dsecure_getenv=getenv \
+    -D__USE_POSIX199309 -DRTLD_DEEPBIND=0 \
+"
+
+do_compile_prepend() {
+    export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
+}
+
+PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \
+"
+PACKAGECONFIG[systemd] = " \
+    --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \
+    --without-systemdsystemunitdir, \
+    polkit \
+"
+PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
+# consolekit is not picked by shlibs, so add it to RDEPENDS too
+PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
+PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
+PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
+# Use full featured dhcp client instead of internal one
+PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
+PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
+PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
+PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
+PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,wireless-tools,wpa-supplicant wireless-tools"
+PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
+PACKAGECONFIG[netconfig] = "--with-netconfig=yes,--with-netconfig=no"
+PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
+
+PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
+  ${PN}-nmtui ${PN}-nmtui-doc \
+  ${PN}-adsl \
+"
+
+FILES_libnmutil += "${libdir}/libnm-util.so.*"
+FILES_libnmglib += "${libdir}/libnm-glib.so.*"
+FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
+
+FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
+
+FILES_${PN} += " \
+    ${libexecdir} \
+    ${libdir}/pppd/*/nm-pppd-plugin.so \
+    ${libdir}/NetworkManager/*.so \
+    ${nonarch_libdir}/NetworkManager/VPN \
+    ${nonarch_libdir}/NetworkManager/conf.d \
+    ${datadir}/polkit-1 \
+    ${datadir}/dbus-1 \
+    ${base_libdir}/udev/* \
+    ${systemd_unitdir}/system \
+"
+
+RRECOMMENDS_${PN} += "iptables \
+    ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
+"
+RCONFLICTS_${PN} = "connman"
+
+FILES_${PN}-dev += " \
+    ${datadir}/NetworkManager/gdb-cmd \
+    ${libdir}/pppd/*/*.la \
+    ${libdir}/NetworkManager/*.la \
+"
+
+FILES_${PN}-nmtui = " \
+    ${bindir}/nmtui \
+    ${bindir}/nmtui-edit \
+    ${bindir}/nmtui-connect \
+    ${bindir}/nmtui-hostname \
+"
+
+FILES_${PN}-nmtui-doc = " \
+    ${mandir}/man1/nmtui* \
+"
+
+SYSTEMD_SERVICE_${PN} = "NetworkManager.service NetworkManager-dispatcher.service"
+
+do_install_append() {
+    rm -rf ${D}/run ${D}${localstatedir}/run
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
deleted file mode 100644
index d5f456f..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
+++ /dev/null
@@ -1,136 +0,0 @@
-SUMMARY = "NetworkManager"
-HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
-SECTION = "net/misc"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
-                    file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
-                    file://docs/api/html/license.html;md5=8eb8e72bab097b9d11763002cb003697 \
-"
-
-DEPENDS = " \
-    intltool-native \
-    libnl \
-    dbus \
-    dbus-glib \
-    dbus-glib-native \
-    libgudev \
-    util-linux \
-    libndp \
-    libnewt \
-    polkit \
-    jansson \
-"
-
-inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection
-
-GI_DATA_ENABLED_libc-musl = "False"
-
-SRC_URI = "${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
-           file://0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch \
-           file://0002-Fix-nm-version-macro-includes.patch \
-           file://0001-adjust-net-headers-for-musl-compatibility.patch \
-           file://0002-socket-util.h-Include-linux-sockios.h-on-musl.patch \
-           file://0003-Define-ETH_ALEN.patch \
-           file://0004-Define-missing-features-to-cater-for-musl.patch \
-           file://0005-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \
-           file://0001-check-for-strndupa-before-using-it.patch \
-           file://0001-dns-resolved-add-systemd-resolved-backend.patch \
-           file://0001-dns-resolved-also-check-for-etc-resolv-conf.systemd.patch \
-           file://0001-systemd-xlocale.h-is-dropped-by-newer-glibc.patch \
-           file://0002-user-format-string-in-g_dbus_message_new_method_erro.patch \
-           "
-SRC_URI[md5sum] = "63f1e0d6d7e9099499d062c84c927a75"
-SRC_URI[sha256sum] = "829378f318cc008d138a23ca6a9191928ce75344e7e47a2f2c35f4ac82133309"
-
-S = "${WORKDIR}/NetworkManager-${PV}"
-
-EXTRA_OECONF = " \
-    --disable-ifcfg-rh \
-    --disable-ifnet \
-    --disable-ifcfg-suse \
-    --disable-more-warnings \
-    --with-iptables=${sbindir}/iptables \
-    --with-tests \
-    --with-nmtui=yes \
-"
-
-do_compile_prepend() {
-        export GIR_EXTRA_LIBS_PATH="${B}/libnm-util/.libs"
-}
-
-PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
-       bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \
-"
-PACKAGECONFIG[systemd] = " \
-    --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \
-    --without-systemdsystemunitdir, \
-    polkit \
-"
-PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
-# consolekit is not picked by shlibs, so add it to RDEPENDS too
-PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
-PACKAGECONFIG[concheck] = "--with-libsoup=yes,--with-libsoup=no,libsoup-2.4"
-PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
-PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
-# Use full featured dhcp client instead of internal one
-PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
-PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
-PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
-PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
-PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,wireless-tools,wpa-supplicant wireless-tools"
-PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
-PACKAGECONFIG[netconfig] = "--with-netconfig=yes,--with-netconfig=no"
-PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
-
-PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
-  ${PN}-nmtui ${PN}-nmtui-doc \
-  ${PN}-adsl \
-"
-
-FILES_libnmutil += "${libdir}/libnm-util.so.*"
-FILES_libnmglib += "${libdir}/libnm-glib.so.*"
-FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
-
-FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
-
-FILES_${PN} += " \
-    ${libexecdir} \
-    ${libdir}/pppd/*/nm-pppd-plugin.so \
-    ${libdir}/NetworkManager/*.so \
-    ${datadir}/polkit-1 \
-    ${datadir}/dbus-1 \
-    ${base_libdir}/udev/* \
-    ${systemd_unitdir}/system \
-"
-
-RRECOMMENDS_${PN} += "iptables \
-    ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
-"
-RCONFLICTS_${PN} = "connman"
-
-FILES_${PN}-dev += " \
-    ${datadir}/NetworkManager/gdb-cmd \
-    ${libdir}/pppd/*/*.la \
-    ${libdir}/NetworkManager/*.la \
-"
-
-FILES_${PN}-nmtui = " \
-    ${bindir}/nmtui \
-    ${bindir}/nmtui-edit \
-    ${bindir}/nmtui-connect \
-    ${bindir}/nmtui-hostname \
-"
-
-FILES_${PN}-nmtui-doc = " \
-    ${mandir}/man1/nmtui* \
-"
-
-SYSTEMD_SERVICE_${PN} = "NetworkManager.service NetworkManager-dispatcher.service"
-
-do_install_append() {
-    rm -rf ${D}/run ${D}${localstatedir}/run
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch
index 0ab3436..0e89a9b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch
@@ -13,16 +13,17 @@
 therefore get killed.
 
 Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+
 ---
  packaging/systemd/nmb.service | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/packaging/systemd/nmb.service b/packaging/systemd/nmb.service
-index 992c0cd..555c9ab 100644
+index 71c93d6..f3d2fc2 100644
 --- a/packaging/systemd/nmb.service
 +++ b/packaging/systemd/nmb.service
 @@ -10,6 +10,7 @@ EnvironmentFile=-/etc/sysconfig/samba
- ExecStart=/usr/sbin/nmbd $NMBDOPTIONS
+ ExecStart=/usr/sbin/nmbd --foreground --no-process-group $NMBDOPTIONS
  ExecReload=/usr/bin/kill -HUP $MAINPID
  LimitCORE=infinity
 +TimeoutStartSec=0
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch
index c37cfcd..8ca7a52 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch
@@ -1,13 +1,24 @@
-Don't check xsltproc manpages
+From 2214c2d1e455a38c891d17e421b438e3f7c495d8 Mon Sep 17 00:00:00 2001
+From: Bian Naimeng <biannm@cn.fujitsu.com>
+Date: Mon, 18 Apr 2016 17:00:53 -0400
+Subject: [PATCH] Don't check xsltproc manpages
 
+Upstream-Status: Pending
+ 
 Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
 
-Index: samba-4.4.2/lib/ldb/wscript
-===================================================================
---- samba-4.4.2.orig/lib/ldb/wscript
-+++ samba-4.4.2/lib/ldb/wscript
-@@ -65,7 +65,7 @@ def configure(conf):
-                 conf.define('USING_SYSTEM_LDB', 1)
+---
+ lib/ldb/wscript    | 2 +-
+ lib/talloc/wscript | 2 +-
+ lib/tdb/wscript    | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/lib/ldb/wscript b/lib/ldb/wscript
+index 5ea5231..d94086b 100644
+--- a/lib/ldb/wscript
++++ b/lib/ldb/wscript
+@@ -98,7 +98,7 @@ def configure(conf):
+         conf.DEFINE('EXPECTED_SYSTEM_LDB_VERSION_RELEASE', int(v[2]))
  
      if conf.env.standalone_ldb:
 -        conf.CHECK_XSLTPROC_MANPAGES()
@@ -15,24 +26,24 @@
  
          # we need this for the ldap backend
          if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'):
-Index: samba-4.4.2/lib/talloc/wscript
-===================================================================
---- samba-4.4.2.orig/lib/talloc/wscript
-+++ samba-4.4.2/lib/talloc/wscript
-@@ -56,7 +56,7 @@ def configure(conf):
-     if conf.env.standalone_talloc:
-         conf.env.TALLOC_COMPAT1 = Options.options.TALLOC_COMPAT1
+diff --git a/lib/talloc/wscript b/lib/talloc/wscript
+index df7e6be..b3305cf 100644
+--- a/lib/talloc/wscript
++++ b/lib/talloc/wscript
+@@ -49,7 +49,7 @@ def configure(conf):
+         conf.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
+         conf.env.TALLOC_VERSION = VERSION
  
 -    conf.CHECK_XSLTPROC_MANPAGES()
 +    #conf.CHECK_XSLTPROC_MANPAGES()
  
-     if not conf.env.disable_python:
-         # also disable if we don't have the python libs installed
-Index: samba-4.4.2/lib/tdb/wscript
-===================================================================
---- samba-4.4.2.orig/lib/tdb/wscript
-+++ samba-4.4.2/lib/tdb/wscript
-@@ -92,7 +92,7 @@ def configure(conf):
+     conf.CHECK_HEADERS('sys/auxv.h')
+     conf.CHECK_FUNCS('getauxval')
+diff --git a/lib/tdb/wscript b/lib/tdb/wscript
+index 4782550..6bb3fa1 100644
+--- a/lib/tdb/wscript
++++ b/lib/tdb/wscript
+@@ -89,7 +89,7 @@ def configure(conf):
          not conf.env.disable_tdb_mutex_locking):
          conf.define('USE_TDB_MUTEX_LOCKING', 1)
  
@@ -41,3 +52,6 @@
  
      if not conf.env.disable_python:
          # also disable if we don't have the python libs installed
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
index 025ac27..6a7f8fa 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
@@ -6,6 +6,7 @@
 Upstream-Status: Pending
 
 Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+
 ---
  lib/replace/wscript | 4 +++-
  source3/wscript     | 5 ++++-
@@ -16,9 +17,9 @@
 index f0040b1..aca73af 100644
 --- a/lib/replace/wscript
 +++ b/lib/replace/wscript
-@@ -101,7 +101,9 @@ struct foo bar = { .y = 'X', .x = 1 };
- 
-     conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H')
+@@ -101,7 +101,9 @@ def configure(conf):
+     conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
+     conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
  
 -    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
 +    if not Options.options.disable_valgrind:
@@ -26,12 +27,12 @@
 +
      conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
      conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
-     conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h malloc.h')
+     conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
 diff --git a/source3/wscript b/source3/wscript
 index bac3dd5..a5c51ea 100644
 --- a/source3/wscript
 +++ b/source3/wscript
-@@ -1016,7 +1016,10 @@ syscall(SYS_setgroups32, 0, NULL);
+@@ -1070,7 +1070,10 @@ syscall(SYS_setgroups32, 0, NULL);
              Logs.warn("--with-dnsupdate=yes but gssapi support not sufficient")
          else:
              conf.DEFINE('WITH_DNS_UPDATES', 1)
@@ -44,12 +45,12 @@
          if conf.CONFIG_SET('HAVE_VALGRIND_H') or conf.CONFIG_SET('HAVE_VALGRIND_VALGRIND_H'):
              conf.DEFINE('VALGRIND', '1')
 diff --git a/wscript b/wscript
-index 7679c0f..681ac17 100644
+index 542a60c..22e6116 100644
 --- a/wscript
 +++ b/wscript
-@@ -72,6 +72,10 @@ def set_options(opt):
-                    help=("Disable systemd integration"),
-                    action='store_false', dest='enable_systemd')
+@@ -86,6 +86,10 @@ def set_options(opt):
+                   help=("Disable RELRO builds"),
+                   action="store_false", dest='enable_relro')
  
 +    opt.add_option('--without-valgrind',
 +                   help=("Disable use of the valgrind headers"),
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/dnsserver-4.7.0.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/dnsserver-4.7.0.patch
new file mode 100644
index 0000000..0c7592f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/dnsserver-4.7.0.patch
@@ -0,0 +1,19 @@
+samba: build dnsserver_common code
+
+Just 'install' does not seem to do it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+--- a/source4/dns_server/wscript_build
++++ b/source4/dns_server/wscript_build
+@@ -4,7 +4,7 @@ bld.SAMBA_LIBRARY('dnsserver_common',
+         source='dnsserver_common.c',
+         deps='samba-util samba-errors ldbsamba clidns',
+         private_library=True,
+-        install=bld.AD_DC_BUILD_IS_ENABLED()
++        enabled=bld.AD_DC_BUILD_IS_ENABLED()
+         )
+ 
+ bld.SAMBA_MODULE('service_dns',
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/iconv-4.7.0.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/iconv-4.7.0.patch
new file mode 100644
index 0000000..5ae8c59
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/iconv-4.7.0.patch
@@ -0,0 +1,25 @@
+samba: defeat iconv test
+
+A test was added when configuring samba which requires target code
+to be executed.  In general, this will not work, so we eliminate it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+--- a/lib/util/charset/wscript_configure
++++ b/lib/util/charset/wscript_configure
+@@ -17,6 +17,8 @@ if (conf.CHECK_FUNCS_IN('iconv_open', 'i
+     
+     conf.DEFINE('HAVE_NATIVE_ICONV', 1)
+ 
++"""
++[added for 4.7.0, but breaks cross-compilation]
+ conf.CHECK_CODE('''
+                 uint8_t inbuf[2] = { 0x30, 0xdf };
+                 uint8_t outbuf[4] = { 0 };
+@@ -36,3 +38,4 @@ conf.CHECK_CODE('''
+                 msg='Checking errno of iconv for illegal multibyte sequence',
+                 lib='iconv',
+                 headers='errno.h iconv.h')
++"""
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.2.7-pam.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.2.7-pam.patch
deleted file mode 100644
index 6b9ade9..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-4.2.7-pam.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Lifted from gentoo and ported to 4.4.5
-
-http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.2.7-pam.patch
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-
-Index: samba-4.4.5/source3/wscript
-===================================================================
---- samba-4.4.5.orig/source3/wscript
-+++ samba-4.4.5/source3/wscript
-@@ -873,7 +873,7 @@ msg.msg_accrightslen = sizeof(fd);
-         if conf.env.with_iconv:
-             conf.DEFINE('HAVE_ICONV', 1)
- 
--    if Options.options.with_pam:
-+    if Options.options.with_pam != False:
-         use_pam=True
-         conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h')
-         if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'):
-@@ -945,6 +945,15 @@ int i; i = PAM_RADIO_TYPE;
-         if use_pam:
-             conf.DEFINE('WITH_PAM', 1)
-             conf.DEFINE('WITH_PAM_MODULES', 1)
-+    else:
-+        Logs.warn("PAM disabled")
-+        use_pam=False
-+        conf.undefine('WITH_PAM')
-+        conf.undefine('WITH_PAM_MODULES')
-+        conf.undefine('HAVE_SECURITY_PAM_APPL_H')
-+        conf.undefine('PAM_RHOST')
-+        conf.undefine('PAM_TTY')
-+        conf.undefine('HAVE_PAM_PAM_APPL_H')
- 
-     seteuid = False
- 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-pam.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-pam.patch
new file mode 100644
index 0000000..0cbacb6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-pam.patch
@@ -0,0 +1,37 @@
+Lifted from gentoo and ported to 4.4.5
+
+http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.2.7-pam.patch
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: samba-4.7.0/source3/wscript
+===================================================================
+--- samba-4.7.0.orig/source3/wscript
++++ samba-4.7.0/source3/wscript
+@@ -875,7 +875,7 @@ msg.msg_accrightslen = sizeof(fd);
+         if conf.env.with_iconv:
+             conf.DEFINE('HAVE_ICONV', 1)
+ 
+-    if Options.options.with_pam:
++    if Options.options.with_pam != False:
+         use_pam=True
+         conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h')
+         if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'):
+@@ -952,6 +952,17 @@ int i; i = PAM_RADIO_TYPE;
+                        "or headers not found. Use --without-pam to disable "
+                        "PAM support.");
+ 
++    else:
++        Logs.warn("PAM disabled")
++        use_pam=False
++        conf.undefine('WITH_PAM')
++        conf.undefine('WITH_PAM_MODULES')
++        conf.undefine('HAVE_SECURITY_PAM_APPL_H')
++        conf.undefine('PAM_RHOST')
++        conf.undefine('PAM_TTY')
++        conf.undefine('HAVE_PAM_PAM_APPL_H')
++
++
+     seteuid = False
+ 
+ #
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch
new file mode 100644
index 0000000..77c8b36
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch
@@ -0,0 +1,19 @@
+samba: correct log files location
+
+We use /var/log/samba.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+--- a/packaging/RHEL/setup/smb.conf
++++ b/packaging/RHEL/setup/smb.conf
+@@ -63,7 +63,7 @@
+ 
+ # this tells Samba to use a separate log file for each machine
+ # that connects
+-   log file = /usr/local/samba/var/log.%m
++   log file = /var/log/samba/log.%m
+ 
+ # Put a capping on the size of the log files (in Kb).
+    max log size = 50
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb
deleted file mode 100644
index 2b227c9..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb
+++ /dev/null
@@ -1,256 +0,0 @@
-HOMEPAGE = "https://www.samba.org/"
-SECTION = "console/network"
-
-LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
-                    file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
-                    file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 "
-
-SAMBA_MIRROR = "http://samba.org/samba/ftp"
-MIRRORS += "\
-${SAMBA_MIRROR}    http://mirror.internode.on.net/pub/samba \n \
-${SAMBA_MIRROR}    http://www.mirrorservice.org/sites/ftp.samba.org \n \
-"
-
-SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
-           file://16-do-not-check-xsltproc-manpages.patch \
-           file://20-do-not-import-target-module-while-cross-compile.patch \
-           file://21-add-config-option-without-valgrind.patch \
-           file://0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch \
-           file://0006-avoid-using-colon-in-the-checking-msg.patch \
-           file://netdb_defines.patch \
-           file://glibc_only.patch \
-           file://volatiles.03_samba \
-          "
-SRC_URI_append_libc-musl = " \
-           file://samba-4.2.7-pam.patch \
-           file://samba-4.3.9-remove-getpwent_r.patch \
-          "
-
-SRC_URI[md5sum] = "c6ee5c766016d59908c8fb672fbbd445"
-SRC_URI[sha256sum] = "9ef24393de08390f236cabccd6a420b5cea304e959cbf1a99ff317325db3ddfa"
-
-inherit systemd waf-samba cpan-base perlnative update-rc.d
-# remove default added RDEPENDS on perl
-RDEPENDS_${PN}_remove = "perl"
-
-DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb krb5 libbsd libaio libpam"
-DEPENDS_append_libc-musl = " libtirpc"
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
-LDFLAGS_append_libc-musl = " -ltirpc"
-
-LSB = ""
-LSB_linuxstdbase = "lsb"
-
-INITSCRIPT_NAME = "samba"
-INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
-
-SYSTEMD_PACKAGES = "${PN}-base winbind"
-SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service"
-SYSTEMD_SERVICE_winbind = "winbind.service"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
-                   acl cups ldap \
-"
-
-RDEPENDS_${PN}-base += "${LSB}"
-RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
-
-PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
-PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[sasl] = ",,cyrus-sasl"
-PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
-PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
-PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
-PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
-PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
-
-
-SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
-SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
-SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
-SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
-
-SAMBA4_LIBS="heimdal,!zlib,!popt,!talloc,!pytalloc,!pytalloc-util,!tevent,!pytevent,!tdb,!pytdb,!ldb,!pyldb"
-
-EXTRA_OECONF += "--enable-fhs \
-                 --with-piddir=/run \
-                 --with-sockets-dir=/run/samba \
-                 --with-modulesdir=${libdir}/samba \
-                 --with-lockdir=${localstatedir}/lib/samba \
-                 --with-cachedir=${localstatedir}/lib/samba \
-                 --disable-gnutls \
-                 --disable-rpath-install \
-                 --with-shared-modules=${SAMBA4_MODULES} \
-                 --bundled-libraries=${SAMBA4_LIBS} \
-                 --with-system-mitkrb5 \
-                 --without-ad-dc \
-                 ${@base_conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
-                 --with-cluster-support \
-                 --with-profiling-data \
-                 --with-libiconv=${STAGING_DIR_HOST}${prefix} \
-                 --with-pam --with-pammodulesdir=${base_libdir}/security \
-                "
-
-LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-do_install_append() {
-    for section in 1 5 7; do
-        install -d ${D}${mandir}/man$section
-        install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
-    done
-    for section in 1 5 7 8; do
-        install -d ${D}${mandir}/man$section
-        install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
-    done
-
-    install -d ${D}${systemd_system_unitdir}
-    install -m 0644 packaging/systemd/*.service ${D}${systemd_system_unitdir}
-    sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
-        -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
-        -i ${D}${systemd_system_unitdir}/*.service
-
-    install -d ${D}${sysconfdir}/tmpfiles.d
-    install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
-    echo "d ${localstatedir}/log/samba 0755 root root -" \
-        >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
-    if [ "${LSB}" = "lsb" ]; then
-        install -d ${D}${sysconfdir}/init.d
-        install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d/samba
-    else
-        install -d ${D}${sysconfdir}/init.d
-        install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba
-        sed -e 's,/opt/samba/bin,${sbindir},g' \
-            -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
-            -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
-            -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \
-            -e 's,/usr/bin,${base_bindir},g' \
-            -i ${D}${sysconfdir}/init.d/samba
-    fi
-
-    install -d ${D}${sysconfdir}/samba
-    echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
-    install -m644 packaging/LSB/smb.conf ${D}${sysconfdir}/samba/smb.conf
-    install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
-
-    install -d ${D}${sysconfdir}/default
-    install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
-
-    # install ctdb config file and test cases
-    install -D -m 0644 ${S}/ctdb/tests/onnode/nodes ${D}${sysconfdir}/ctdb/nodes
-    # the items are from ctdb/tests/run_tests.sh
-    for d in onnode takeover tool eventscripts cunit simple complex; do
-        testdir=${D}${datadir}/ctdb-tests/$d
-        install -d $testdir
-        cp ${S}/ctdb/tests/$d/*.sh $testdir
-        cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true
-    done
-
-    # fix file-rdeps qa warning
-    if [ -f ${D}${bindir}/onnode ]; then
-        sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
-    fi
-
-    chmod 0750 ${D}${sysconfdir}/sudoers.d
-    rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
-}
-
-PACKAGES =+ "${PN}-python ${PN}-pidl \
-             ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
-             winbind \
-             ${PN}-common ${PN}-base ${PN}-ctdb-tests \
-             smbclient"
-
-python samba_populate_packages() {
-    def module_hook(file, pkg, pattern, format, basename):
-        pn = d.getVar('PN', True)
-        d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg)
-
-    mlprefix = d.getVar('MLPREFIX', True) or ''
-    pam_libdir = d.expand('${base_libdir}/security')
-    pam_pkgname = mlprefix + 'pam-plugin%s'
-    do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
-
-    libdir = d.getVar('libdir', True)
-    do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
-    pkglibdir = '%s/samba' % libdir
-    do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
-    moduledir = '%s/samba/auth' % libdir
-    do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
-    moduledir = '%s/samba/pdb' % libdir
-    do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
-}
-
-PACKAGESPLITFUNCS_prepend = "samba_populate_packages "
-
-RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules"
-RDEPENDS_${PN}-python += "pytalloc python-tdb"
-
-FILES_${PN}-base = "${sbindir}/nmbd \
-                    ${sbindir}/smbd \
-                    ${sysconfdir}/init.d \
-                    ${localstatedir}/lib/samba \
-                    ${localstatedir}/nmbd \
-                    ${localstatedir}/spool/samba \
-                    ${systemd_system_unitdir}/nmb.service \
-                    ${systemd_system_unitdir}/samba.service \
-                    ${systemd_system_unitdir}/smb.service"
-
-FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
-                          ${bindir}/ctdb_run_cluster_tests \
-                          ${sysconfdir}/ctdb/nodes \
-                          ${datadir}/ctdb-tests \
-                          ${datadir}/ctdb/tests \
-                         "
-
-FILES_${BPN}-common = "${sysconfdir}/default \
-                       ${sysconfdir}/samba \
-                       ${sysconfdir}/tmpfiles.d \
-"
-
-FILES_${PN} += "${libdir}/vfs/*.so \
-                ${libdir}/charset/*.so \
-                ${libdir}/*.dat \
-                ${libdir}/auth/*.so \
-"
-
-FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb"
-
-FILES_${PN}-testsuite = "${bindir}/gentest \
-                         ${bindir}/locktest \
-                         ${bindir}/masktest \
-                         ${bindir}/ndrdump \
-                         ${bindir}/smbtorture"
-
-FILES_registry-tools = "${bindir}/regdiff \
-                        ${bindir}/regpatch \
-                        ${bindir}/regshell \
-                        ${bindir}/regtree"
-
-FILES_winbind = "${sbindir}/winbindd \
-                 ${bindir}/wbinfo \
-                 ${bindir}/ntlm_auth \
-                 ${libdir}/samba/idmap \
-                 ${libdir}/samba/nss_info \
-                 ${libdir}/winbind_krb5_locator.so \
-                 ${sysconfdir}/init.d/winbind \
-                 ${systemd_system_unitdir}/winbind.service"
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-
-FILES_smbclient = "${bindir}/cifsdd \
-                   ${bindir}/rpcclient \
-                   ${bindir}/smbcacls \
-                   ${bindir}/smbclient \
-                   ${bindir}/smbcquotas \
-                   ${bindir}/smbget \
-                   ${bindir}/smbspool \
-                   ${bindir}/smbtar \
-                   ${bindir}/smbtree \
-                   ${libdir}/samba/smbspool_krb5_wrapper"
-
-RDEPENDS_${PN}-pidl_append = " perl"
-FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.7.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.7.6.bb
new file mode 100644
index 0000000..a8517c5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.7.6.bb
@@ -0,0 +1,318 @@
+HOMEPAGE = "https://www.samba.org/"
+SECTION = "console/network"
+
+LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+                    file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
+                    file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 "
+
+SAMBA_MIRROR = "http://samba.org/samba/ftp"
+MIRRORS += "\
+${SAMBA_MIRROR}    http://mirror.internode.on.net/pub/samba \n \
+${SAMBA_MIRROR}    http://www.mirrorservice.org/sites/ftp.samba.org \n \
+"
+
+SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
+           file://16-do-not-check-xsltproc-manpages.patch \
+           file://20-do-not-import-target-module-while-cross-compile.patch \
+           file://21-add-config-option-without-valgrind.patch \
+           file://0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch \
+           file://0006-avoid-using-colon-in-the-checking-msg.patch \
+           file://netdb_defines.patch \
+           file://glibc_only.patch \
+           file://iconv-4.7.0.patch \
+           file://dnsserver-4.7.0.patch \
+           file://smb_conf-4.7.0.patch \
+           file://volatiles.03_samba \
+          "
+SRC_URI_append_libc-musl = " \
+           file://samba-pam.patch \
+           file://samba-4.3.9-remove-getpwent_r.patch \
+          "
+
+SRC_URI[md5sum] = "0253021a45c479cec1e135b004a0177a"
+SRC_URI[sha256sum] = "1eede30fc8ef6504e24602fb72b00baa0a7b73b59f16d25cb0771dc8c7c57d6e"
+
+inherit systemd waf-samba cpan-base perlnative update-rc.d
+# remove default added RDEPENDS on perl
+RDEPENDS_${PN}_remove = "perl"
+
+DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libbsd libaio libpam"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
+LSB = ""
+LSB_linuxstdbase = "lsb"
+
+INITSCRIPT_NAME = "samba"
+INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
+
+SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind"
+SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service"
+SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}"
+SYSTEMD_SERVICE_winbind = "winbind.service"
+
+# There are prerequisite settings to enable ad-dc, so disable the service by default.
+# Reference:
+# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
+SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable"
+
+# Use krb5.  Build active domain controller.
+#
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
+                   acl ad-dc cups gnutls ldap mitkrb5 \
+"
+
+RDEPENDS_${PN}-base += "${LSB}"
+RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
+
+PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[sasl] = ",,cyrus-sasl"
+PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
+PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
+PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
+PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
+PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
+PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
+
+# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS,
+# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to:
+# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html
+# So the working combination is:
+# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable
+# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable
+#
+# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where
+# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow.
+#
+PACKAGECONFIG[ad-dc] = ",--without-ad-dc,,"
+PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
+
+SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
+SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
+SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
+SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
+
+# These libraries are supposed to replace others supplied by packages, but decorate the names of
+# .so files so there will not be a conflict.  This is not done consistantly, so be very careful
+# when adding to this list.
+#
+SAMBA4_LIBS="heimdal,cmocka,NONE"
+
+EXTRA_OECONF += "--enable-fhs \
+                 --with-piddir=/run \
+                 --with-sockets-dir=/run/samba \
+                 --with-modulesdir=${libdir}/samba \
+                 --with-lockdir=${localstatedir}/lib/samba \
+                 --with-cachedir=${localstatedir}/lib/samba \
+                 --disable-rpath-install \
+                 --with-shared-modules=${SAMBA4_MODULES} \
+                 --bundled-libraries=${SAMBA4_LIBS} \
+                 ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
+                 --with-cluster-support \
+                 --with-profiling-data \
+                 --with-libiconv=${STAGING_DIR_HOST}${prefix} \
+                 --with-pam --with-pammodulesdir=${base_libdir}/security \
+                "
+
+LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+do_install_append() {
+    for section in 1 5 7; do
+        install -d ${D}${mandir}/man$section
+        install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
+    done
+    for section in 1 5 7 8; do
+        install -d ${D}${mandir}/man$section
+        install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
+    done
+
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 packaging/systemd/*.service ${D}${systemd_system_unitdir}
+    sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
+        -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
+        -i ${D}${systemd_system_unitdir}/*.service
+
+    if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then
+        rm -f ${D}${systemd_system_unitdir}/samba.service
+    fi
+
+    install -d ${D}${sysconfdir}/tmpfiles.d
+    install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
+    echo "d ${localstatedir}/log/samba 0755 root root -" \
+        >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
+    if [ "${LSB}" = "lsb" ]; then
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d/samba
+    else
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba
+        sed -e 's,/opt/samba/bin,${sbindir},g' \
+            -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
+            -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
+            -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \
+            -e 's,/usr/bin,${base_bindir},g' \
+            -i ${D}${sysconfdir}/init.d/samba
+    fi
+
+    install -d ${D}${sysconfdir}/samba
+    echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
+    install -m644 packaging/RHEL/setup/smb.conf ${D}${sysconfdir}/samba/smb.conf
+    install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
+
+    install -d ${D}${sysconfdir}/default
+    install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
+
+    # install ctdb config file and test cases
+    install -D -m 0644 ${S}/ctdb/tests/onnode/nodes ${D}${sysconfdir}/ctdb/nodes
+    # the items are from ctdb/tests/run_tests.sh
+    for d in onnode takeover tool eventscripts cunit simple complex; do
+        testdir=${D}${datadir}/ctdb-tests/$d
+        install -d $testdir
+        cp ${S}/ctdb/tests/$d/*.sh $testdir
+        cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true
+    done
+
+    # fix file-rdeps qa warning
+    if [ -f ${D}${bindir}/onnode ]; then
+        sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
+    fi
+
+    chmod 0750 ${D}${sysconfdir}/sudoers.d
+    rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
+}
+
+PACKAGES =+ "${PN}-python ${PN}-pidl \
+             ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
+             winbind \
+             ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \
+             smbclient ${PN}-client ${PN}-server ${PN}-test"
+
+python samba_populate_packages() {
+    def module_hook(file, pkg, pattern, format, basename):
+        pn = d.getVar('PN', True)
+        d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg)
+
+    mlprefix = d.getVar('MLPREFIX', True) or ''
+    pam_libdir = d.expand('${base_libdir}/security')
+    pam_pkgname = mlprefix + 'pam-plugin%s'
+    do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
+
+    libdir = d.getVar('libdir', True)
+    do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
+    pkglibdir = '%s/samba' % libdir
+    do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
+    moduledir = '%s/samba/auth' % libdir
+    do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
+    moduledir = '%s/samba/pdb' % libdir
+    do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
+}
+
+PACKAGESPLITFUNCS_prepend = "samba_populate_packages "
+
+RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules"
+RDEPENDS_${PN}-python += "pytalloc python-tdb"
+
+FILES_${PN}-base = "${sbindir}/nmbd \
+                    ${sbindir}/smbd \
+                    ${sysconfdir}/init.d \
+                    ${localstatedir}/lib/samba \
+                    ${localstatedir}/nmbd \
+                    ${localstatedir}/spool/samba \
+                    ${systemd_system_unitdir}/nmb.service \
+                    ${systemd_system_unitdir}/smb.service"
+
+FILES_${PN}-ad-dc = "${sbindir}/samba \
+                     ${systemd_system_unitdir}/samba.service \
+                     ${libdir}/krb5/plugins/kdb/samba.so \
+                    "
+RDEPENDS_${PN}-ad-dc = "krb5-kdc"
+
+FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
+                          ${bindir}/ctdb_run_cluster_tests \
+                          ${sysconfdir}/ctdb/nodes \
+                          ${datadir}/ctdb-tests \
+                          ${datadir}/ctdb/tests \
+                         "
+
+FILES_${BPN}-common = "${sysconfdir}/default \
+                       ${sysconfdir}/samba \
+                       ${sysconfdir}/tmpfiles.d \
+"
+
+FILES_${PN} += "${libdir}/vfs/*.so \
+                ${libdir}/charset/*.so \
+                ${libdir}/*.dat \
+                ${libdir}/auth/*.so \
+"
+
+FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb"
+
+FILES_${PN}-testsuite = "${bindir}/gentest \
+                         ${bindir}/locktest \
+                         ${bindir}/masktest \
+                         ${bindir}/ndrdump \
+                         ${bindir}/smbtorture"
+
+FILES_registry-tools = "${bindir}/regdiff \
+                        ${bindir}/regpatch \
+                        ${bindir}/regshell \
+                        ${bindir}/regtree"
+
+FILES_winbind = "${sbindir}/winbindd \
+                 ${bindir}/wbinfo \
+                 ${bindir}/ntlm_auth \
+                 ${libdir}/samba/idmap \
+                 ${libdir}/samba/nss_info \
+                 ${libdir}/winbind_krb5_locator.so \
+                 ${sysconfdir}/init.d/winbind \
+                 ${systemd_system_unitdir}/winbind.service"
+
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+
+FILES_smbclient = "${bindir}/cifsdd \
+                   ${bindir}/rpcclient \
+                   ${bindir}/smbcacls \
+                   ${bindir}/smbclient \
+                   ${bindir}/smbcquotas \
+                   ${bindir}/smbget \
+                   ${bindir}/smbspool \
+                   ${bindir}/smbtar \
+                   ${bindir}/smbtree \
+                   ${libdir}/samba/smbspool_krb5_wrapper"
+
+RDEPENDS_${PN}-pidl_append = " perl"
+FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
+
+RDEPENDS_${PN}-client = "\
+    smbclient \
+    winbind \
+    registry-tools \
+    ${PN}-pidl \
+    " 
+
+ALLOW_EMPTY_${PN}-client = "1"
+
+RDEPENDS_${PN}-server = "\
+    ${PN} \
+    winbind \
+    registry-tools \
+    " 
+
+ALLOW_EMPTY_${PN}-server = "1"
+
+RDEPENDS_${PN}-test = "\
+    ${PN}-ctdb-tests \
+    ${PN}-testsuite \
+    "
+
+ALLOW_EMPTY_${PN}-test = "1"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-fix-do_package-failed-since-snort-2.9.7.0.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-fix-do_package-failed-since-snort-2.9.7.0.patch
index 1520553..047caec 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-fix-do_package-failed-since-snort-2.9.7.0.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-fix-do_package-failed-since-snort-2.9.7.0.patch
@@ -1,4 +1,4 @@
-From 815e861721a9c43efddb78521147145ebc7569ca Mon Sep 17 00:00:00 2001
+From 4335c4c61877c0b65ff4ec767e8ad3ad8c73c32d Mon Sep 17 00:00:00 2001
 From: Zhiquan Li <zhiquan.li@windriver.com>
 Date: Fri, 13 Nov 2015 17:40:24 +0800
 Subject: [PATCH] fix do_package failed since snort 2.9.7.0
@@ -13,6 +13,7 @@
 Upstream-Status:Inappropriate [embedded specific]
 
 Signed-off-by: Zhiquan Li <zhiquan.li@windriver.com>
+
 ---
  src/snort.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -30,6 +31,3 @@
  #include "profiler.h"
  #include "rules.h"
  #include "treenodes.h"
---
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-libpcap-search-sysroot-for-headers.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-libpcap-search-sysroot-for-headers.patch
index 54c2a95..2e28cd0 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-libpcap-search-sysroot-for-headers.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-libpcap-search-sysroot-for-headers.patch
@@ -1,4 +1,4 @@
-From 4d7ebe3ed6cee72bc7db98bd408d22c10ef5dd82 Mon Sep 17 00:00:00 2001
+From 5875dea90f71350b7205788fbc67e3759077cefe Mon Sep 17 00:00:00 2001
 From: Joe MacDonald <joe@deserted.net>
 Date: Wed, 20 Nov 2013 16:06:07 -0500
 Subject: [PATCH] libpcap: search sysroot for headers
@@ -9,15 +9,16 @@
 Upstream-Status: Pending
 
 Signed-off-by: Joe MacDonald <joe@deserted.net>
+
 ---
- configure.in |    2 +-
+ configure.in | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure.in b/configure.in
-index e52bb6c..8ded35d 100644
+index 62573a8..fded45b 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -78,7 +78,7 @@ case "$host" in
+@@ -69,7 +69,7 @@ case "$host" in
      linux="yes"
      AC_DEFINE([LINUX],[1],[Define if Linux])
      AC_SUBST(extra_incl)
@@ -26,6 +27,3 @@
      ;;
    *-hpux10*|*-hpux11*)
      AC_DEFINE([HPUX],[1],[Define if HP-UX 10 or 11])
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch
index 39e5c9c..6aa0b73 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch
@@ -1,17 +1,27 @@
+From 5a53260a819e2873f58165e96852529719101c53 Mon Sep 17 00:00:00 2001
+From: Chunrong Guo <B40290@freescale.com>
+Date: Mon, 4 Nov 2013 10:39:56 +0800
+Subject: [PATCH] snort: add recipe
+
 Upstream-Status:Inappropriate [embedded specific]
 
 fix the below error:
-checking for dap address space id... configure: 
+checking for dap address space id... configure:
 configure: error: cannot run test program while cross compiling
 
-
 Signed-off-by: Chunrong Guo <B40290@freescale.com>
 
---- a/configure.in	2013-08-23 00:06:37.239361932 -0500
-+++ b/configure.in	2013-08-23 00:07:32.860266534 -0500
-@@ -679,23 +679,23 @@
+---
+ configure.in | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 6fe5d68..e7636ce 100644
+--- a/configure.in
++++ b/configure.in
+@@ -698,23 +698,23 @@ if test "x$ac_cv_func_daq_dp_add_dc" = "xyes"; then
  
- AC_CHECK_FUNCS([daq_hup_apply] [daq_acquire_with_meta])
+ fi
  
 -AC_MSG_CHECKING([for daq address space ID])
 -AC_RUN_IFELSE(
@@ -48,5 +58,5 @@
 +#        [DAQ version supports address space ID in header.])
 +#fi
  
- # any sparc platform has to have this one defined.
- AC_MSG_CHECKING(for sparc)
+ AC_MSG_CHECKING([for daq flow ID])
+ AC_RUN_IFELSE(
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-flow-id.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-flow-id.patch
index e6afcab..04df37c 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-flow-id.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-flow-id.patch
@@ -1,16 +1,26 @@
+From 5aa42a3137c657b5eddd4608343aa1854bd7cd27 Mon Sep 17 00:00:00 2001
+From: Zhiquan Li <zhiquan.li@windriver.com>
+Date: Mon, 16 Nov 2015 10:23:00 +0800
+Subject: [PATCH] snort: 2.9.6.0 -> 2.9.7.5
+
 Upstream-Status:Inappropriate [embedded specific]
 
 fix the below error:
 checking for daq flow ID... configure:
 configure: error: cannot run test program while cross compiling
 
+---
+ configure.in | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
 
---- a/configure.in    2015-10-28 10:36:42.918512690 +0800
-+++ b/configure.in    2015-10-28 10:37:36.738510048 +0800
-@@ -716,23 +716,23 @@
+diff --git a/configure.in b/configure.in
+index e7636ce..2fbd298 100644
+--- a/configure.in
++++ b/configure.in
+@@ -716,23 +716,23 @@ have_daq_address_space_id="yes"
  #        [DAQ version supports address space ID in header.])
  #fi
-
+ 
 -AC_MSG_CHECKING([for daq flow ID])
 -AC_RUN_IFELSE(
 -[AC_LANG_PROGRAM(
@@ -45,6 +55,6 @@
 +#    AC_DEFINE([HAVE_DAQ_FLOW_ID],[1],
 +#        [DAQ version supports flow ID in header.])
 +#fi
-
+ 
  AC_MSG_CHECKING([for DAQ_VERDICT_RETRY])
  AC_RUN_IFELSE(
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-verdict-retry.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-verdict-retry.patch
index 1a13298..15958a7 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-verdict-retry.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-daq-verdict-retry.patch
@@ -1,16 +1,26 @@
+From b916443d43f2e1eeacfbed0033274a0270ef634d Mon Sep 17 00:00:00 2001
+From: Zhiquan Li <zhiquan.li@windriver.com>
+Date: Mon, 16 Nov 2015 10:23:00 +0800
+Subject: [PATCH] snort: 2.9.6.0 -> 2.9.7.5
+
 Upstream-Status:Inappropriate [embedded specific]
 
 fix the below error:
 checking for DAQ_VERDICT_RETRY... configure:
 configure: error: cannot run test program while cross compiling
 
+---
+ configure.in | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
 
---- a/configure.in    2015-10-28 10:45:18.174487395 +0800
-+++ b/configure.in    2015-10-28 10:45:47.586485951 +0800
-@@ -734,23 +734,23 @@
+diff --git a/configure.in b/configure.in
+index 2fbd298..62573a8 100644
+--- a/configure.in
++++ b/configure.in
+@@ -734,23 +734,23 @@ have_daq_flow_id="yes"
  #        [DAQ version supports flow ID in header.])
  #fi
-
+ 
 -AC_MSG_CHECKING([for DAQ_VERDICT_RETRY])
 -AC_RUN_IFELSE(
 -[AC_LANG_PROGRAM(
@@ -45,7 +55,6 @@
 +#    AC_DEFINE([HAVE_DAQ_VERDICT_RETRY],[1],
 +#        [DAQ version supports DAQ_VERDICT_RETRY in DAQ_Verdict.])
 +#fi
-
+ 
  # any sparc platform has to have this one defined.
  AC_MSG_CHECKING(for sparc)
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch
index 9dafe63..79e9f07 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch
@@ -1,3 +1,8 @@
+From a1fdbced4166cb0f35d23b63a59312d86860485a Mon Sep 17 00:00:00 2001
+From: Chunrong Guo <B40290@freescale.com>
+Date: Mon, 4 Nov 2013 10:39:56 +0800
+Subject: [PATCH] snort: add recipe
+
 Upstream-Status: Inappropriate [embedded specific]
 
 fix the below error:
@@ -6,10 +11,15 @@
 
 Signed-off-by: Chunrong Guo <B40290@freescale.com>
 
+---
+ configure.in | 50 ++++++++++++++++----------------------------------
+ 1 file changed, 16 insertions(+), 34 deletions(-)
 
---- a/configure.in	2013-08-21 03:56:17.197414789 -0500
-+++ b/configure.in	2013-08-21 23:19:05.298553560 -0500
-@@ -281,25 +281,7 @@
+diff --git a/configure.in b/configure.in
+index 20d15eb..6fe5d68 100644
+--- a/configure.in
++++ b/configure.in
+@@ -274,25 +274,7 @@ AC_CHECK_TYPES([int8_t,int16_t,int32_t,int64_t])
  AC_CHECK_TYPES([boolean])
  
  # In case INADDR_NONE is not defined (like on Solaris)
@@ -36,7 +46,7 @@
  
  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
  #include <stdio.h>
-@@ -397,21 +379,21 @@
+@@ -421,21 +403,21 @@ if test "x$LPCAP" = "xno"; then
    fi
  fi
  
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/fix-host-contamination-when-enable-static-daq.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/fix-host-contamination-when-enable-static-daq.patch
index 2becc06..0404ea0 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/fix-host-contamination-when-enable-static-daq.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/fix-host-contamination-when-enable-static-daq.patch
@@ -1,3 +1,8 @@
+From f46d096015d7402a37a59eb66b8f6b7fbf0cdff0 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Wed, 24 May 2017 17:38:53 +0800
+Subject: [PATCH] snort: enable static daq
+
 Upstream-Status: Inappropriate [embedded specific]
 
 When enable static daq for snort, it calls to daq-modules-config to get link
@@ -5,7 +10,11 @@
 contamination issue. So filter it.
 
 Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
 ---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
 diff --git a/configure.in b/configure.in
 index fded45b..a247bb9 100644
 --- a/configure.in
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb
index bd55efc..7eea5d1 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb
@@ -14,6 +14,8 @@
 
 S = "${WORKDIR}/${BPN}"
 
+inherit update-alternatives
+
 EXTRA_OEMAKE = "-e MAKEFLAGS="
 
 # comment out MakeInclude in Makefile which sets build environment
@@ -30,3 +32,7 @@
     install -d ${D}/${base_sbindir}
     install -m 0755 ${S}/vconfig ${D}/${base_sbindir}/
 }
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "vconfig"
+ALTERNATIVE_LINK_NAME[vconfig] = "${base_sbindir}/vconfig"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.12.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.12.0.bb
index 5126190..9290651 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.12.0.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.12.0.bb
@@ -12,15 +12,12 @@
 PROVIDES += "cyassl"
 RPROVIDES_${PN} = "cyassl"
 
-SRC_URI = "https://github.com/wolfSSL/wolfssl/archive/v${PV}-stable.zip \
+S = "${WORKDIR}/git"
+SRCREV = "d195009dcb62d8712195661bd1d50f8dd6831044"
+SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https; \
            file://0001-fix-no-rule-to-make-cyassl-options.h.patch \
           "
 
-SRC_URI[md5sum] = "f9caf558169ab650dc8200708799ebeb"
-SRC_URI[sha256sum] = "b6d87d3e2c8757177d69aff373c91cf162f4a3944fae90fa10d086fd5f9542e7"
-
-S = "${WORKDIR}/wolfssl-${PV}-stable"
-
 inherit autotools
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-and-_PATH_NSSWITCH_CONF.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-and-_PATH_NSSWITCH_CONF.patch
index 075af57..8715971 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-and-_PATH_NSSWITCH_CONF.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-and-_PATH_NSSWITCH_CONF.patch
@@ -1,19 +1,20 @@
-From 933e065cf8aecfa0cce5f8f92abbed5baaaf3f77 Mon Sep 17 00:00:00 2001
+From 987c8f4a718cdd6b764592ba7510090a59623959 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 31 Mar 2017 19:10:57 -0700
-Subject: [PATCH 1/2] Define __SWORD_TYPE and _PATH_NSSWITCH_CONF
+Subject: [PATCH] Define __SWORD_TYPE and _PATH_NSSWITCH_CONF
 
 if they are not defined as is in musl then define
 them here
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  include/automount.h | 8 ++++++++
  include/nsswitch.h  | 3 +++
  2 files changed, 11 insertions(+)
 
 diff --git a/include/automount.h b/include/automount.h
-index 219b07d..b12c22a 100644
+index cc336ad..8bdcf12 100644
 --- a/include/automount.h
 +++ b/include/automount.h
 @@ -42,6 +42,14 @@
@@ -32,7 +33,7 @@
  #ifndef HAVE_MOUNT
  #error Failed to locate mount(8)!
 diff --git a/include/nsswitch.h b/include/nsswitch.h
-index 2b445a9..3db77b2 100644
+index d3e4027..7a0c38f 100644
 --- a/include/nsswitch.h
 +++ b/include/nsswitch.h
 @@ -24,6 +24,9 @@
@@ -45,6 +46,3 @@
  #define NSSWITCH_FILE _PATH_NSSWITCH_CONF
  
  enum nsswitch_status {
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch
index 7ac1456..32293dd 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch
@@ -1,4 +1,4 @@
-From e4ee00e08acd7c0912a3264ad32e4de861c7416f Mon Sep 17 00:00:00 2001
+From 745e355ac8b595a27e1fcca75bf01d3e244f4a5f Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 7 Sep 2017 22:22:31 -0700
 Subject: [PATCH] modules/lookup_multi.c: Replace __S_IEXEC with S_IEXEC
@@ -7,6 +7,7 @@
 all libc e.g. musl
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  modules/lookup_multi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -24,6 +25,3 @@
  					type = src_prog;
  				else
  					type = src_file;
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
index 6b6ba6d..469027a 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
@@ -1,21 +1,22 @@
-From 8fd74ddb3369572c594b22b396346131af00faee Mon Sep 17 00:00:00 2001
+From 557ca399f4b3a397f20bb147ec6dc4ab9732dd1e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 31 Mar 2017 19:12:10 -0700
-Subject: [PATCH 2/2] Replace __S_IEXEC with S_IEXEC
+Subject: [PATCH] Replace __S_IEXEC with S_IEXEC
 
 S_IEXEC is portable
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  daemon/lookup.c        | 4 ++--
  modules/lookup_multi.c | 2 +-
  2 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/daemon/lookup.c b/daemon/lookup.c
-index 62071df..1bec97f 100644
+index 201ccbb..d821db8 100644
 --- a/daemon/lookup.c
 +++ b/daemon/lookup.c
-@@ -400,7 +400,7 @@ static int read_file_source_instance(struct autofs_point *ap, struct map_source
+@@ -366,7 +366,7 @@ static int read_file_source_instance(struct autofs_point *ap, struct map_source
  	if (!S_ISREG(st.st_mode))
  		return NSS_STATUS_NOTFOUND;
  
@@ -24,7 +25,7 @@
  		type = src_prog;
  	else
  		type = src_file;
-@@ -890,7 +890,7 @@ static int lookup_name_file_source_instance(struct autofs_point *ap, struct map_
+@@ -856,7 +856,7 @@ static int lookup_name_file_source_instance(struct autofs_point *ap, struct map_
  	if (!S_ISREG(st.st_mode))
  		return NSS_STATUS_NOTFOUND;
  
@@ -34,10 +35,10 @@
  	else
  		type = src_file;
 diff --git a/modules/lookup_multi.c b/modules/lookup_multi.c
-index 6ec8434..88d081f 100644
+index fadd2ea..3ecda6d 100644
 --- a/modules/lookup_multi.c
 +++ b/modules/lookup_multi.c
-@@ -104,7 +104,7 @@ static struct lookup_mod *nss_open_lookup(const char *format, int argc, const ch
+@@ -247,7 +247,7 @@ static struct lookup_mod *nss_open_lookup(const char *format, int argc, const ch
  				continue;
  			}
  
@@ -46,6 +47,3 @@
  				type = src_prog;
  			else
  				type = src_file;
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/add-the-needed-stdarg.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/add-the-needed-stdarg.h.patch
index fdb906b..816a409 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/add-the-needed-stdarg.h.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/add-the-needed-stdarg.h.patch
@@ -1,14 +1,18 @@
-[PATCH] add the needed stdarg.h
+From df5d45b2d7ad7e7b5f0542a816d08b0409a529a1 Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Tue, 19 Aug 2014 11:31:35 +0800
+Subject: [PATCH] [PATCH] add the needed stdarg.h
 
 Upstream-status: Pending
 
 Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
 ---
- lib/defaults.c |    1 +
+ lib/defaults.c | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/lib/defaults.c b/lib/defaults.c
-index 2b03ea2..5728e67 100644
+index 0e48a78..667f35d 100644
 --- a/lib/defaults.c
 +++ b/lib/defaults.c
 @@ -16,6 +16,7 @@
@@ -19,6 +23,3 @@
  #include <ctype.h>
  #include <string.h>
  #include <sys/utsname.h>
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch
index af5be6a..1d5c3e1 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch
@@ -1,3 +1,8 @@
+From 2cbc576ea1fbd1cbf4579d64b30e41d762084e7f Mon Sep 17 00:00:00 2001
+From: "yanjun.zhu" <yanjun.zhu@windriver.com>
+Date: Tue, 15 Jan 2013 12:45:44 +0800
+Subject: [PATCH] autofs: do not check for modprobe
+
 Description: Loading autofs module is #ifdef'ed in the source, so
  there is no need to check for /proc (which is only used
  to load module) or modprobe.  Both modprobe and /proc
@@ -7,9 +12,16 @@
 Upstream-Status: Backport [1]
 [1] http://www.spinics.net/lists/autofs/msg00139.html
 
-diff -urpN a/configure.in b/configure.in
---- a/configure.in	2013-01-15 11:30:22.000000000 +0800
-+++ b/configure.in	2013-01-15 11:31:45.000000000 +0800
+---
+ configure.in        |  6 ------
+ daemon/module.c     |  3 +++
+ include/automount.h | 11 +++--------
+ 3 files changed, 6 insertions(+), 14 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 44a1c8b..b226236 100644
+--- a/configure.in
++++ b/configure.in
 @@ -34,11 +34,6 @@ AC_MSG_CHECKING([for binaries in])
  AC_MSG_RESULT([$searchpath])
  
@@ -22,7 +34,7 @@
  # Location of init.d directory?
  #
  AF_INIT_D()
-@@ -142,7 +137,6 @@ AF_PATH_INCLUDE(UMOUNT, umount, /bin/umo
+@@ -142,7 +137,6 @@ AF_PATH_INCLUDE(UMOUNT, umount, /bin/umount, $searchpath)
  AF_PATH_INCLUDE(E2FSCK, fsck.ext2 e2fsck, , $searchpath)
  AF_PATH_INCLUDE(E3FSCK, fsck.ext3 e3fsck, , $searchpath)
  AF_PATH_INCLUDE(E4FSCK, fsck.ext4 e4fsck, , $searchpath)
@@ -30,30 +42,32 @@
  
  AF_CHECK_PROG(LEX, flex lex, , $searchpath)
  AF_CHECK_PROG(YACC, bison, , $searchpath)
-diff -urpN a/daemon/module.c b/daemon/module.c
---- a/daemon/module.c	2013-01-15 11:30:49.000000000 +0800
-+++ b/daemon/module.c	2013-01-15 11:32:00.000000000 +0800
-@@ -18,6 +18,8 @@
- #include <stdlib.h>
+diff --git a/daemon/module.c b/daemon/module.c
+index bed8f7a..e41a98e 100644
+--- a/daemon/module.c
++++ b/daemon/module.c
+@@ -19,6 +19,8 @@
  #include "automount.h"
+ #include "nsswitch.h"
  
 +#if 0
 +/* see comment in daemon/automount.c around load_autofs4_module() call */
  int load_autofs4_module(void)
  {
  	FILE *fp;
-@@ -52,6 +54,7 @@ int load_autofs4_module(void)
+@@ -53,6 +55,7 @@ int load_autofs4_module(void)
  
  	return 1;
  }
 +#endif
  
- struct lookup_mod *open_lookup(const char *name, const char *err_prefix,
- 			       const char *mapfmt, int argc, const char *const *argv)
-diff -urpN a/include/automount.h b/include/automount.h
---- a/include/automount.h	2013-01-15 11:31:10.000000000 +0800
-+++ b/include/automount.h	2013-01-15 11:32:06.000000000 +0800
-@@ -50,16 +50,11 @@
+ int open_lookup(const char *name, const char *err_prefix, const char *mapfmt,
+ 		int argc, const char *const *argv, struct lookup_mod **lookup)
+diff --git a/include/automount.h b/include/automount.h
+index c0f5fbf..cc336ad 100644
+--- a/include/automount.h
++++ b/include/automount.h
+@@ -51,16 +51,11 @@
  #error Failed to locate umount(8)!
  #endif
  
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-fix-lib-deps.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-fix-lib-deps.patch
index 09fea49..8e06db6 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-fix-lib-deps.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-fix-lib-deps.patch
@@ -1,4 +1,4 @@
-From 54a9bd28a307dd74df044d779ca85adcf36aa202 Mon Sep 17 00:00:00 2001
+From 080626108c9ab70e2489752ef2a14006d0564b0c Mon Sep 17 00:00:00 2001
 From: Joe MacDonald <joe.macdonald@windriver.com>
 Date: Tue, 18 Jun 2013 10:05:21 -0400
 Subject: [PATCH] Fix the dependency issue
@@ -10,19 +10,17 @@
 
 Signed-off-by: Roy.Li <rongqing.li@windriver.com>
 Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com>
+
 ---
- lib/Makefile |    1 +
+ lib/Makefile | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/lib/Makefile b/lib/Makefile
-index 5418009..bff4e1d 100644
+index 518b483..4798a4b 100644
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -75,3 +75,4 @@ install: all
+@@ -81,3 +81,4 @@ install: all
  clean:
  	rm -f $(LIB) $(RPCS) $(OBJS) $(YACCSRC) *.output *~
  
 +$(OBJS): $(RPCS)
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
index 3a87898..9b0942e 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
@@ -1,21 +1,22 @@
-Upstream-Status: Pending
-
-From 44bdce8c6ed9b30c1643e5981172a4f9025f013c Mon Sep 17 00:00:00 2001
+From 2256b8aa98cff15ddf2a8d36496e6c9125927901 Mon Sep 17 00:00:00 2001
 From: Andreas Oberritter <obi@opendreambox.org>
 Date: Wed, 13 Mar 2013 16:17:08 +0100
 Subject: [PATCH] autofs-5.0.7: include linux/nfs.h directly in rpc_subs.h
 
+Upstream-Status: Pending
+
 Fixes compile error with uclibc. Glibc's nfs/nfs.h contains
 nothing but "#include linux/nfs.h". rpc_subs.h already includes
 other linux/nfs*.h files directly.
 
 Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+
 ---
- include/rpc_subs.h |    2 +-
+ include/rpc_subs.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/include/rpc_subs.h b/include/rpc_subs.h
-index b6d59f9..a2d9648 100644
+index e744e89..83db47e 100644
 --- a/include/rpc_subs.h
 +++ b/include/rpc_subs.h
 @@ -18,7 +18,7 @@
@@ -27,6 +28,3 @@
  #include <linux/nfs2.h>
  #include <linux/nfs3.h>
  
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.1.2-libtirpc-as-need.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.1.2-libtirpc-as-need.patch
index cbf2bf8..18ce193 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.1.2-libtirpc-as-need.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.1.2-libtirpc-as-need.patch
@@ -1,12 +1,21 @@
+From b31decac4acb194b020c621d2d11019f636a45e0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 24 Apr 2017 20:41:25 -0700
+Subject: [PATCH] autofs: Upgrade to 5.1.2 release
+
 Make configure compatible with -Wl,--as-needed following
 https://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed#Failure_in_..2Fconfigure
 
 2016-07-05 Martin von Gagern
 
-Index: autofs-5.1.2/aclocal.m4
-===================================================================
---- autofs-5.1.2.orig/aclocal.m4
-+++ autofs-5.1.2/aclocal.m4
+---
+ aclocal.m4 | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index 0e4a624..2e620cd 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
 @@ -415,9 +415,9 @@ AC_DEFUN([AF_CHECK_LIBTIRPC],
  [
  # save current flags
@@ -19,7 +28,7 @@
  
  AC_TRY_LINK(
      [ #include <rpc/rpc.h> ],
-@@ -440,7 +440,7 @@ AC_CHECK_FUNCS([getrpcbyname getservbyna
+@@ -440,7 +440,7 @@ AC_CHECK_FUNCS([getrpcbyname getservbyname])
  
  # restore flags
  CFLAGS="$af_check_libtirpc_save_cflags"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/cross.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/cross.patch
index 8f1af62..b25c43f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/cross.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/cross.patch
@@ -1,8 +1,17 @@
-Index: autofs-5.0.7/aclocal.m4
-===================================================================
---- autofs-5.0.7.orig/aclocal.m4	2012-10-28 04:45:07.000000000 -0700
-+++ autofs-5.0.7/aclocal.m4	2012-10-28 10:47:53.263996910 -0700
-@@ -7,6 +7,8 @@
+From b9b44cd82caceeb638cc6a862b5bb90b93ad6c6a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 5 Jan 2013 19:53:10 -0800
+
+---
+ aclocal.m4   | 2 ++
+ configure.in | 8 ++++++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index 2115204..2a9a802 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -7,6 +7,8 @@ dnl --------------------------------------------------------------------------
  AC_DEFUN(AF_PATH_INCLUDE,
  [AC_PATH_PROGS($1,$2,$3,$4)
  if test -n "$$1"; then
@@ -11,11 +20,11 @@
    AC_DEFINE(HAVE_$1,1,[define if you have $1])
    AC_DEFINE_UNQUOTED(PATH_$1, "$$1", [define if you have $1])
    HAVE_$1=1
-Index: autofs-5.0.7/configure.in
-===================================================================
---- autofs-5.0.7.orig/configure.in	2012-10-28 04:45:06.000000000 -0700
-+++ autofs-5.0.7/configure.in	2012-10-28 10:50:07.580000628 -0700
-@@ -301,13 +301,15 @@
+diff --git a/configure.in b/configure.in
+index 25d7c4e..44a1c8b 100644
+--- a/configure.in
++++ b/configure.in
+@@ -324,13 +324,15 @@ AC_PROG_CC
  cat > pietest.c <<EOF
  int main(void) { return 0; }
  EOF
@@ -33,7 +42,7 @@
  AC_MSG_RESULT([$gcc_supports_pie])
  if test $gcc_supports_pie = yes ; then
  	DAEMON_CFLAGS="-fPIE"
-@@ -316,6 +318,8 @@
+@@ -339,6 +341,8 @@ fi
  rm -f pietest.c
  AC_SUBST(DAEMON_CFLAGS)
  AC_SUBST(DAEMON_LDFLAGS)
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch
index 9b64183..21a97c8 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch
@@ -1,4 +1,7 @@
-[PATCH] fix the YACC rule to fix a building failure
+From 971d48a00ef82880c34e89778bf430a01360ebd5 Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Mon, 18 May 2015 16:28:36 +0800
+Subject: [PATCH] [PATCH] fix the YACC rule to fix a building failure
 
 Upstream-Statu: Pending
 
@@ -14,6 +17,7 @@
   |../Makefile.rules:64: recipe for target 'amd_tok.o' failed
   |----------------------
 Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
 ---
  lib/Makefile     | 6 ++++--
  modules/Makefile | 3 ++-
@@ -44,7 +48,7 @@
  
  nss_tok.o: nss_tok.c nss_parse.tab.h
 diff --git a/modules/Makefile b/modules/Makefile
-index 237b70b..71415d0 100644
+index d9ab06c..abc7698 100644
 --- a/modules/Makefile
 +++ b/modules/Makefile
 @@ -103,7 +103,8 @@ amd_tok.c: amd_tok.l
@@ -57,6 +61,3 @@
  	$(YACC) -v -d -p amd_ -b amd_parse $?
  
  amd_parse.tab.o: amd_parse.tab.c amd_parse.tab.h
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix_disable_ldap.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix_disable_ldap.patch
index 94750b2..4143259 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix_disable_ldap.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix_disable_ldap.patch
@@ -1,6 +1,9 @@
-autofs: fails to compile with openldap disabled
+From c500d9906f163bf716c872d37403b9de02ef0a86 Mon Sep 17 00:00:00 2001
+From: Amy Fong <amy.fong@windriver.com>
+Date: Fri, 18 Jan 2013 12:13:32 -0500
+Subject: [PATCH] autofs: fails to compile with openldap disabled
 
-As of 5.0.6, it appears that changes were introduced so that 
+As of 5.0.6, it appears that changes were introduced so that
 if you compile with openldap disabled and openldap headers are not
 available, then autofs fails to build.
 
@@ -12,13 +15,13 @@
  1 file changed, 4 insertions(+)
 
 ---
- include/lookup_ldap.h |    4 ++++
+ include/lookup_ldap.h | 4 ++++
  1 file changed, 4 insertions(+)
 
-Index: autofs-5.1.2/include/lookup_ldap.h
-===================================================================
---- autofs-5.1.2.orig/include/lookup_ldap.h
-+++ autofs-5.1.2/include/lookup_ldap.h
+diff --git a/include/lookup_ldap.h b/include/lookup_ldap.h
+index 3a7aba7..bfdb0b3 100644
+--- a/include/lookup_ldap.h
++++ b/include/lookup_ldap.h
 @@ -1,7 +1,9 @@
  #ifndef LOOKUP_LDAP_H
  #define LOOKUP_LDAP_H
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/force-STRIP-to-emtpy.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/force-STRIP-to-emtpy.patch
index 634005b..21396dd 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/force-STRIP-to-emtpy.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/force-STRIP-to-emtpy.patch
@@ -1,14 +1,18 @@
-[PATCH] force STRIP to emtpy
+From 3cbee00fe5725b87abdae80cfa2ee735e4513ca6 Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Tue, 19 Aug 2014 11:31:35 +0800
+Subject: [PATCH] [PATCH] force STRIP to emtpy
 
 otherwise the generate file will be stripped
 
 Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
 ---
- Makefile.rules |    2 +-
+ Makefile.rules | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile.rules b/Makefile.rules
-index 710a2c9..e4334db 100644
+index 709dd04..b1f7e50 100644
 --- a/Makefile.rules
 +++ b/Makefile.rules
 @@ -31,7 +31,7 @@ LDFLAGS   ?= -s
@@ -20,6 +24,3 @@
  else
  STRIP     ?= strip --strip-debug
  endif
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/libtirpc.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/libtirpc.patch
index d68944b..0a2d502 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/libtirpc.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/libtirpc.patch
@@ -1,21 +1,17 @@
-Index: autofs-5.0.7/aclocal.m4
-===================================================================
---- autofs-5.0.7.orig/aclocal.m4	2012-10-28 13:17:45.504237027 -0700
-+++ autofs-5.0.7/aclocal.m4	2012-10-28 13:20:50.108242739 -0700
-@@ -403,7 +403,7 @@
- # save current flags
- af_check_libtirpc_save_cflags="$CFLAGS"
- af_check_libtirpc_save_ldflags="$LDFLAGS"
--CFLAGS="$CFLAGS -I/usr/include/tirpc"
-+CFLAGS="$CFLAGS -I=/usr/include/tirpc"
- LDFLAGS="$LDFLAGS -ltirpc"
- 
- AC_TRY_LINK(
-Index: autofs-5.0.7/Makefile.rules
-===================================================================
---- autofs-5.0.7.orig/Makefile.rules	2012-10-28 13:17:45.308237022 -0700
-+++ autofs-5.0.7/Makefile.rules	2012-10-28 13:21:25.720242803 -0700
-@@ -48,7 +48,7 @@
+From cb6a4f61adb027f2366318f2c08c8264ebf39218 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 5 Jan 2013 19:53:10 -0800
+
+---
+ Makefile.rules | 2 +-
+ aclocal.m4     | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.rules b/Makefile.rules
+index 6fa3e02..709dd04 100644
+--- a/Makefile.rules
++++ b/Makefile.rules
+@@ -46,7 +46,7 @@ CFLAGS += -D_REENTRANT -D_FILE_OFFSET_BITS=64
  LIBS += -lpthread
  
  ifdef TIRPCLIB
@@ -24,3 +20,16 @@
  LIBS += $(TIRPCLIB)
  endif
  
+diff --git a/aclocal.m4 b/aclocal.m4
+index 2a9a802..0e4a624 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -416,7 +416,7 @@ AC_DEFUN([AF_CHECK_LIBTIRPC],
+ # save current flags
+ af_check_libtirpc_save_cflags="$CFLAGS"
+ af_check_libtirpc_save_ldflags="$LDFLAGS"
+-CFLAGS="$CFLAGS -I/usr/include/tirpc"
++CFLAGS="$CFLAGS -I=/usr/include/tirpc"
+ LDFLAGS="$LDFLAGS -ltirpc"
+ 
+ AC_TRY_LINK(
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/no-bash.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/no-bash.patch
index cf03635..c46c0e5 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/no-bash.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/no-bash.patch
@@ -1,17 +1,26 @@
-Index: autofs-5.0.7/samples/auto.net
-===================================================================
---- autofs-5.0.7.orig/samples/auto.net	2012-07-24 23:05:26.000000000 -0700
-+++ autofs-5.0.7/samples/auto.net	2012-10-28 10:44:25.035991715 -0700
+From a3007d7ea930823926611081bb873ddd771325cb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 5 Jan 2013 19:53:10 -0800
+
+---
+ samples/auto.net | 2 +-
+ samples/auto.smb | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/samples/auto.net b/samples/auto.net
+index 0384f61..61215f6 100755
+--- a/samples/auto.net
++++ b/samples/auto.net
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#!/bin/sh
  
  # This file must be executable to work! chmod 755!
  
-Index: autofs-5.0.7/samples/auto.smb
-===================================================================
---- autofs-5.0.7.orig/samples/auto.smb	2012-07-24 23:05:26.000000000 -0700
-+++ autofs-5.0.7/samples/auto.smb	2012-10-28 10:44:25.035991715 -0700
+diff --git a/samples/auto.smb b/samples/auto.smb
+index 6af5d85..d296b81 100755
+--- a/samples/auto.smb
++++ b/samples/auto.smb
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#!/bin/sh
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch
index bf2c964..1c7b119 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch
@@ -1,13 +1,22 @@
+From e3ae56cf0bb4063c31295f45d04e3c504f4b6cc7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 24 Apr 2017 20:41:25 -0700
+Subject: [PATCH] autofs: Upgrade to 5.1.2 release
+
 Use pkg-config first to look for external libnsl which is now
 split out from glibc, if it does not exist then see if its provided
 by glibc itself.
 
 -Khem
 
-Index: autofs-5.1.2/configure.in
-===================================================================
---- autofs-5.1.2.orig/configure.in
-+++ autofs-5.1.2/configure.in
+---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index 9cf73b8..1016c71 100644
+--- a/configure.in
++++ b/configure.in
 @@ -186,7 +186,7 @@ fi
  #
  # glibc/libc 6 new libraries
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/remove-bashism.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/remove-bashism.patch
index 282d6f0..4183069 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/remove-bashism.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/remove-bashism.patch
@@ -1,4 +1,4 @@
-From 79034f969bbd12215d65b4337dfd38a13d02d4ef Mon Sep 17 00:00:00 2001
+From cfacbb917f87b903b50132a5025f86b0cc522e9c Mon Sep 17 00:00:00 2001
 From: Robert Yang <liezhi.yang@windriver.com>
 Date: Sat, 13 Sep 2014 20:19:28 -0700
 Subject: [PATCH] autofs.init.in: remove bashism
@@ -9,9 +9,10 @@
 
 Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
 Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
 ---
- redhat/autofs.init.in |   12 ++++++------
- samples/rc.autofs.in  |   10 +++++-----
+ redhat/autofs.init.in | 12 ++++++------
+ samples/rc.autofs.in  | 10 +++++-----
  2 files changed, 11 insertions(+), 11 deletions(-)
 
 diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in
@@ -115,6 +116,3 @@
  	pid=`pidof $prog`
  	if [ -z $pid ]; then
  		echo $"$prog not running"
--- 
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
index 93b76bd..3d0c6bd 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
@@ -1,14 +1,18 @@
-using pkg-config to detect libxml-2.0 and krb5
+From dabcbdae38038a8e4ad2c4286112381c407c5ce7 Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Tue, 19 Aug 2014 11:31:35 +0800
+Subject: [PATCH] using pkg-config to detect libxml-2.0 and krb5
 
 Upstream-status: Pending
 
 Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
 ---
- configure.in |   16 ++++++++++++++--
- 2 files changed, 14 insertions(+), 2 deletions(-)
+ configure.in | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
 
 diff --git a/configure.in b/configure.in
-index 392d122..a3028aa 100644
+index b226236..9cf73b8 100644
 --- a/configure.in
 +++ b/configure.in
 @@ -162,8 +162,20 @@ if test x$enable_sloppy_mount = xyes; then
@@ -34,6 +38,3 @@
  
  AC_SEARCH_LIBS([versionsort],[])
  if test "$ac_cv_search_versionsort" = "no"; then
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb
index eaa453d..6dbff87 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Generic client/server library for SASL authentication"
 SECTION = "libs"
 HOMEPAGE = "http://asg.web.cmu.edu/sasl/"
-DEPENDS = "openssl virtual/db"
+DEPENDS = "openssl db"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3f55e0974e3d6db00ca6f57f2d206396"
 
@@ -75,8 +75,8 @@
 USERADD_PACKAGES = "${PN}-bin"
 USERADD_PARAM_${PN}-bin = "--system --home=/var/spool/mail -g mail cyrus"
 
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "saslauthd.service"
+SYSTEMD_PACKAGES = "${PN}-bin"
+SYSTEMD_SERVICE_${PN}-bin = "saslauthd.service"
 SYSTEMD_AUTO_ENABLE = "disable"
 
 SRC_URI[md5sum] = "a7f4e5e559a0e37b3ffc438c9456e425"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-libopeniscsiusr-Include-limit.h-for-PATH_MAX.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-libopeniscsiusr-Include-limit.h-for-PATH_MAX.patch
new file mode 100644
index 0000000..f5e1bec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-libopeniscsiusr-Include-limit.h-for-PATH_MAX.patch
@@ -0,0 +1,25 @@
+From cfee58d5863a535b61aa54690ae205b876f57944 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Feb 2018 22:53:29 -0800
+Subject: [PATCH 1/2] libopeniscsiusr: Include limit.h for PATH_MAX
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libopeniscsiusr/iface.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libopeniscsiusr/iface.c b/libopeniscsiusr/iface.c
+index 79898df..a48ef36 100644
+--- a/libopeniscsiusr/iface.c
++++ b/libopeniscsiusr/iface.c
+@@ -30,6 +30,7 @@
+ #include <netdb.h>
+ #include <assert.h>
+ #include <inttypes.h>
++#include <limits.h>
+ 
+ #include "libopeniscsiusr/libopeniscsiusr.h"
+ #include "misc.h"
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-qedi.c-Removed-unused-linux-ethtool.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-qedi.c-Removed-unused-linux-ethtool.h.patch
new file mode 100644
index 0000000..174aa50
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-qedi.c-Removed-unused-linux-ethtool.h.patch
@@ -0,0 +1,25 @@
+From 197713ad7e3e944102bbd792e1ab9ec4a67100c0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Feb 2018 23:25:21 -0800
+Subject: [PATCH 1/4] qedi.c: Removed unused linux/ethtool.h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ iscsiuio/src/unix/libs/qedi.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/iscsiuio/src/unix/libs/qedi.c b/iscsiuio/src/unix/libs/qedi.c
+index b81fecd..24cb89a 100644
+--- a/iscsiuio/src/unix/libs/qedi.c
++++ b/iscsiuio/src/unix/libs/qedi.c
+@@ -49,7 +49,6 @@
+ #include <arpa/inet.h>
+ #include <linux/types.h>
+ #include <linux/sockios.h>
+-#include <linux/ethtool.h>
+ #include <linux/netlink.h>
+ #include <sys/mman.h>
+ #include <sys/ioctl.h>
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0002-idbm.c-Include-fcnl.h-for-O_RDWR-and-O_CREAT-definit.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0002-idbm.c-Include-fcnl.h-for-O_RDWR-and-O_CREAT-definit.patch
new file mode 100644
index 0000000..aecede6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0002-idbm.c-Include-fcnl.h-for-O_RDWR-and-O_CREAT-definit.patch
@@ -0,0 +1,25 @@
+From 2b39f85dcf020647544002cb0b0e734748391dfb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Feb 2018 23:27:25 -0800
+Subject: [PATCH 2/4] idbm.c: Include fcnl.h for O_RDWR and O_CREAT definitions
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usr/idbm.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/usr/idbm.c b/usr/idbm.c
+index 5532202..0a51b85 100644
+--- a/usr/idbm.c
++++ b/usr/idbm.c
+@@ -27,6 +27,7 @@
+ #include <errno.h>
+ #include <dirent.h>
+ #include <limits.h>
++#include <fcntl.h>
+ #include <sys/stat.h>
+ #include <sys/file.h>
+ 
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0002-libopeniscsiusr-Add-CFLAGS-to-linker-cmdline.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0002-libopeniscsiusr-Add-CFLAGS-to-linker-cmdline.patch
new file mode 100644
index 0000000..836ed60
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0002-libopeniscsiusr-Add-CFLAGS-to-linker-cmdline.patch
@@ -0,0 +1,29 @@
+From 29571f71692e28ce9a17d1450097a98492f3b465 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Feb 2018 22:54:04 -0800
+Subject: [PATCH 2/2] libopeniscsiusr: Add CFLAGS to linker cmdline
+
+This will ensure that -fPIC is passed to linker as
+well
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libopeniscsiusr/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libopeniscsiusr/Makefile b/libopeniscsiusr/Makefile
+index 8b9b523..4f1d0d6 100644
+--- a/libopeniscsiusr/Makefile
++++ b/libopeniscsiusr/Makefile
+@@ -49,7 +49,7 @@ LIBADD =
+ all: $(LIBS) $(LIBS_MAJOR) $(TESTS) doc
+ 
+ $(LIBS): $(OBJS)
+-	$(CC) $(LDFLAGS) -shared -Wl,-soname=$@ -o $@ $(OBJS) $(LIBADD)
++	$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname=$@ -o $@ $(OBJS) $(LIBADD)
+ 	ln -sf $@ $(DEVLIB)
+ 
+ $(LIBS_MAJOR): $(LIBS)
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0003-bnx2x.c-Reorder-the-includes-to-avoid-duplicate-defi.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0003-bnx2x.c-Reorder-the-includes-to-avoid-duplicate-defi.patch
new file mode 100644
index 0000000..0ce155f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0003-bnx2x.c-Reorder-the-includes-to-avoid-duplicate-defi.patch
@@ -0,0 +1,49 @@
+From 9b7a32903b56ce4d41f264a345ca59a0b00d53b3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Feb 2018 23:28:33 -0800
+Subject: [PATCH 3/4] bnx2x.c: Reorder the includes to avoid duplicate defines
+ with musl
+
+including nic.h before linux/ethtool.h avoids redefinitions of
+eth structs
+
+/mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-musleabi/iscsi-initiator-utils/2.0.876-r0/recipe-sysroot/
+usr/include/netinet/if_ether.h:104:8: error: redefinition of 'struct ethhdr'
+ struct ethhdr {
+        ^~~~~~
+In file included from /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-musleabi/iscsi-initiator-utils/2.0.
+876-r0/recipe-sysroot/usr/include/linux/ethtool.h:19:0,
+                 from qedi.c:52:
+/mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-musleabi/iscsi-initiator-utils/2.0.876-r0/recipe-sysroot/
+usr/include/linux/if_ether.h:154:8: note: originally defined here
+ struct ethhdr {
+        ^~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ iscsiuio/src/unix/libs/bnx2x.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/iscsiuio/src/unix/libs/bnx2x.c b/iscsiuio/src/unix/libs/bnx2x.c
+index 3df6d5f..62530d1 100644
+--- a/iscsiuio/src/unix/libs/bnx2x.c
++++ b/iscsiuio/src/unix/libs/bnx2x.c
+@@ -36,6 +36,7 @@
+  * bnx2x.c - bnx2x user space driver
+  *
+  */
++#include "nic.h"
+ #include <errno.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -58,7 +59,6 @@
+ #include "bnx2x.h"
+ #include "cnic.h"
+ #include "logger.h"
+-#include "nic.h"
+ #include "nic_id.h"
+ #include "nic_utils.h"
+ #include "options.h"
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0004-fwparam_ppc.c-Do-not-use-__compar_fn_t.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0004-fwparam_ppc.c-Do-not-use-__compar_fn_t.patch
new file mode 100644
index 0000000..57bdc8c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0004-fwparam_ppc.c-Do-not-use-__compar_fn_t.patch
@@ -0,0 +1,28 @@
+From 6f9c1a04d250388d1574cfaf20a1ff66a64beb48 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Feb 2018 23:42:12 -0800
+Subject: [PATCH 4/4] fwparam_ppc.c: Do not use __compar_fn_t
+
+__compar_fn_t is not defined in musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/fwparam_ibft/fwparam_ppc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utils/fwparam_ibft/fwparam_ppc.c b/utils/fwparam_ibft/fwparam_ppc.c
+index c298b8c..391faa2 100644
+--- a/utils/fwparam_ibft/fwparam_ppc.c
++++ b/utils/fwparam_ibft/fwparam_ppc.c
+@@ -356,7 +356,7 @@ static int loop_devs(const char *devtree)
+ 	 * Sort the nics into "natural" order.	The proc fs
+ 	 * device-tree has them in somewhat random, or reversed order.
+ 	 */
+-	qsort(niclist, nic_count, sizeof(char *), (__compar_fn_t)nic_cmp);
++	qsort(niclist, nic_count, sizeof(char *), nic_cmp);
+ 
+ 	snprintf(prefix, sizeof(prefix), "%s/%s", devtree, "aliases");
+ 	dev_count = 0;
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-Do-not-clean-kernel-source.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-Do-not-clean-kernel-source.patch
deleted file mode 100644
index 2c46611..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-Do-not-clean-kernel-source.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 4ebab8add4a549c16ab8b124137546c0a7b46a9b Mon Sep 17 00:00:00 2001
-From: Joe MacDonald <joe_macdonald@mentor.com>
-Date: Tue, 15 Nov 2016 11:11:30 -0500
-Subject: [PATCH] Do not clean kernel source
-
-The default behaviour should not be to attempt to clean the kernel source
-tree when building userspace.  When not cross-compiling, however, this action is
-harmless, but when attempting to build within the sysroot and since this package
-is purely userspace, the clean step will fail.
-
-Removing the clean step eliminates an unnecessary dependency on the kernel build
-infrastructure.
-
-Upstream-status: Inappropriate (embedded specific)
-
-Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
----
- Makefile | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index c8cd00e..9576bba 100644
---- a/Makefile
-+++ b/Makefile
-@@ -37,7 +37,7 @@ endif
- 
- all: user
- 
--user: iscsiuio/Makefile
-+user:
- 	$(MAKE) -C utils/sysdeps
- 	$(MAKE) -C utils/fwparam_ibft
- 	$(MAKE) -C usr
-@@ -75,7 +75,6 @@ clean:
- 	$(MAKE) -C utils/fwparam_ibft clean
- 	$(MAKE) -C utils clean
- 	$(MAKE) -C usr clean
--	$(MAKE) -C kernel clean
- 	[ ! -f iscsiuio/Makefile ] || $(MAKE) -C iscsiuio clean
- 	[ ! -f iscsiuio/Makefile ] || $(MAKE) -C iscsiuio distclean
- 
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-fw_context-add-include-for-NI_MAXHOST-definiton.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-fw_context-add-include-for-NI_MAXHOST-definiton.patch
deleted file mode 100644
index 37d695f..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-fw_context-add-include-for-NI_MAXHOST-definiton.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 79bea58a554205dd185509fbc4e76b5fc40f9038 Mon Sep 17 00:00:00 2001
-From: Joe MacDonald <joe_macdonald@mentor.com>
-Date: Tue, 15 Nov 2016 12:36:45 -0500
-Subject: [PATCH] fw_context: add include for NI_MAXHOST definiton
-
-This appears to build successfully with gcc 4.x but fails on gcc 5+, though it's
-not immediately clear why NI_MAXHOST isn't being defined from the include
-chain.  Currently engaging with the upstream devs to determine the best course
-of action, but this is an adequate workaround.
-
-Upstream-status: Pending
-
-Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
----
- include/fw_context.h | 4 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/fw_context.h b/include/fw_context.h
-index 44053d8..0b05cea 100644
---- a/include/fw_context.h
-+++ b/include/fw_context.h
-@@ -21,6 +21,10 @@
- #ifndef FWPARAM_CONTEXT_H_
- #define FWPARAM_CONTEXT_H_
- 
-+#include <sys/socket.h>
-+#ifndef NI_MAXHOST
-+#define NI_MAXHOST 1025
-+#endif
- #include <netdb.h>
- #include <net/if.h>
- 
--- 
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.874.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.874.bb
deleted file mode 100644
index 16ac199..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.874.bb
+++ /dev/null
@@ -1,122 +0,0 @@
-SUMMARY = "iSCSI daemon and utility programs"
-DESCRIPTION = "Open-iSCSI project is a high performance, transport \
-independent, multi-platform implementation of RFC3720. The iscsi package \
-provides the server daemon for the iSCSI protocol, as well as the utility \
-programs used to manage it. iSCSI is a protocol for distributed \
-disk access using SCSI commands sent over Internet Protocol networks."
-HOMEPAGE = "http://www.open-iscsi.com/"
-LICENSE = "GPLv2 & LGPLv2.1"
-SECTION = "net"
-DEPENDS = "openssl flex-native bison-native open-isns util-linux"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-
-SRCREV ?= "8db9717e73d32d2c5131da4f9ad86dfd9065f74b"
-
-SRC_URI = "git://github.com/open-iscsi/open-iscsi \
-    file://iscsi-initiator-utils-Do-not-clean-kernel-source.patch \
-    file://iscsi-initiator-utils-fw_context-add-include-for-NI_MAXHOST-definiton.patch \
-    file://initd.debian \
-    file://99_iscsi-initiator-utils \
-    file://iscsi-initiator \
-    file://iscsi-initiator.service \
-    file://iscsi-initiator-targets.service \
-    file://set_initiatorname \
-"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-inherit update-rc.d systemd autotools distro_features_check
-# open-isns depends on systemd
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-EXTRA_OECONF = " \
-    --target=${TARGET_SYS} \
-    --host=${BUILD_SYS} \
-    --prefix=${prefix} \
-    --libdir=${libdir} \
-"
-
-EXTRA_OEMAKE = ' \
-    CC="${CC}" \
-    AR="${AR}" \
-    RANLIB="${RANLIB}" \
-    CFLAGS="${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE -I. -I../include -I../../include -I../usr -I../../usr" \
-    LDFLAGS="${LDFLAGS}" \
-    LD="${LD}" \
-    OS="${TARGET_SYS}" \
-    TARGET="${TARGET_OS}" \
-    BASE="${prefix}" \
-    MANDIR="${mandir}" \
-'
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_configure () {
-    cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF}
-}
-
-do_compile () {
-    # Make sure we DO NOT regenerate prom_lex.c.
-    mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused
-    oe_runmake -C ${S} ${EXTRA_OEMAKE} user
-}
-
-do_install () {
-    #install necessary directories
-    install -d ${D}${sbindir} \
-        ${D}${sysconfdir}/init.d \
-        ${D}${sysconfdir}/iscsi \
-        ${D}${localstatedir}/lib/iscsi/nodes \
-        ${D}${localstatedir}/lib/iscsi/send_targets \
-        ${D}${localstatedir}/lib/iscsi/static \
-        ${D}${localstatedir}/lib/iscsi/isns \
-        ${D}${localstatedir}/lib/iscsi/slp \
-        ${D}${localstatedir}/lib/iscsi/ifaces \
-        ${D}/${mandir}/man8
-
-    install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \
-        ${S}/utils/iscsi-iname \
-        ${S}/usr/iscsistart ${D}/${sbindir}
-
-    install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8
-    install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi
-    install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid
-
-    sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf
-
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -d ${D}${sysconfdir}/tmpfiles.d
-        echo "d /run/${BPN}/lock - - - -" \
-                     > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf
-        install -d ${D}/etc/default/
-        install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/
-
-        install -d ${D}${systemd_unitdir}/system/
-        install -m 0644 ${WORKDIR}/iscsi-initiator.service \
-                        ${WORKDIR}/iscsi-initiator-targets.service \
-                        ${D}${systemd_unitdir}/system/
-        install -d ${D}${nonarch_libdir}/iscsi
-        install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi
-    else
-        install -d ${D}/etc/default/volatiles
-        install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles
-    fi
-}
-
-pkg_postinst_${PN}() {
-    if [ "x$D" = "x" ]; then
-        if [ -e /etc/init.d/populate-volatile.sh ]; then
-            /etc/init.d/populate-volatile.sh update
-        elif command -v systemd-tmpfiles >/dev/null; then
-            systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
-        fi
-    fi
-}
-
-SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service "
-INITSCRIPT_NAME = "iscsid"
-INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ."
-
-FILES_${PN} += "${nonarch_libdir}/iscsi"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb
new file mode 100644
index 0000000..823227c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb
@@ -0,0 +1,117 @@
+SUMMARY = "iSCSI daemon and utility programs"
+DESCRIPTION = "Open-iSCSI project is a high performance, transport \
+independent, multi-platform implementation of RFC3720. The iscsi package \
+provides the server daemon for the iSCSI protocol, as well as the utility \
+programs used to manage it. iSCSI is a protocol for distributed \
+disk access using SCSI commands sent over Internet Protocol networks."
+HOMEPAGE = "http://www.open-iscsi.com/"
+LICENSE = "GPLv2 & LGPLv2.1"
+SECTION = "net"
+DEPENDS = "openssl flex-native bison-native open-isns util-linux"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+
+SRCREV ?= "24580adc4c174bbc5dde3ae7594a46d57635e906"
+
+SRC_URI = "git://github.com/open-iscsi/open-iscsi \
+    file://initd.debian \
+    file://99_iscsi-initiator-utils \
+    file://iscsi-initiator \
+    file://iscsi-initiator.service \
+    file://iscsi-initiator-targets.service \
+    file://set_initiatorname \
+    file://0001-libopeniscsiusr-Include-limit.h-for-PATH_MAX.patch \
+    file://0002-libopeniscsiusr-Add-CFLAGS-to-linker-cmdline.patch \
+    file://0001-qedi.c-Removed-unused-linux-ethtool.h.patch \
+    file://0002-idbm.c-Include-fcnl.h-for-O_RDWR-and-O_CREAT-definit.patch \
+    file://0003-bnx2x.c-Reorder-the-includes-to-avoid-duplicate-defi.patch \
+    file://0004-fwparam_ppc.c-Do-not-use-__compar_fn_t.patch \
+"
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+inherit update-rc.d systemd autotools
+
+EXTRA_OECONF = " \
+    --target=${TARGET_SYS} \
+    --host=${BUILD_SYS} \
+"
+
+EXTRA_OEMAKE = ' \
+    OS="${TARGET_SYS}" \
+    TARGET="${TARGET_OS}" \
+    BASE="${prefix}" \
+    MANDIR="${mandir}" \
+'
+
+do_configure () {
+    cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF}
+}
+
+do_compile () {
+    # Make sure we DO NOT regenerate prom_lex.c.
+    if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then
+        mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused
+    fi
+    oe_runmake -C ${S} ${EXTRA_OEMAKE} user
+}
+
+do_install () {
+    #install necessary directories
+    install -d ${D}${sbindir} \
+        ${D}${sysconfdir}/init.d \
+        ${D}${sysconfdir}/iscsi \
+        ${D}${localstatedir}/lib/iscsi/nodes \
+        ${D}${localstatedir}/lib/iscsi/send_targets \
+        ${D}${localstatedir}/lib/iscsi/static \
+        ${D}${localstatedir}/lib/iscsi/isns \
+        ${D}${localstatedir}/lib/iscsi/slp \
+        ${D}${localstatedir}/lib/iscsi/ifaces \
+        ${D}${libdir} \
+        ${D}${mandir}/man8
+
+    install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \
+        ${S}/utils/iscsi-iname \
+        ${S}/usr/iscsistart ${D}/${sbindir}
+
+    cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir}
+    install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8
+    install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi
+    install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid
+
+    sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        echo "d /run/${BPN}/lock - - - -" \
+                     > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf
+        install -d ${D}/etc/default/
+        install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/
+
+        install -d ${D}${systemd_unitdir}/system/
+        install -m 0644 ${WORKDIR}/iscsi-initiator.service \
+                        ${WORKDIR}/iscsi-initiator-targets.service \
+                        ${D}${systemd_unitdir}/system/
+        install -d ${D}${nonarch_libdir}/iscsi
+        install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi
+    else
+        install -d ${D}/etc/default/volatiles
+        install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles
+    fi
+}
+
+pkg_postinst_${PN}() {
+    if [ "x$D" = "x" ]; then
+        if [ -e /etc/init.d/populate-volatile.sh ]; then
+            /etc/init.d/populate-volatile.sh update
+        elif command -v systemd-tmpfiles >/dev/null; then
+            systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
+        fi
+    fi
+}
+
+SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service "
+INITSCRIPT_NAME = "iscsid"
+INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ."
+
+FILES_${PN} += "${nonarch_libdir}/iscsi"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.3.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.3.5.bb
deleted file mode 100644
index 5e7e6e4..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.3.5.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "High Availability monitor built upon LVS, VRRP and service pollers"
-DESCRIPTION = "Keepalived is a routing software written in C. The main goal \
-of this project is to provide simple and robust facilities for loadbalancing \
-and high-availability to Linux system and Linux based infrastructures. \
-Loadbalancing framework relies on well-known and widely used Linux Virtual \
-Server (IPVS) kernel module providing Layer4 loadbalancing \
-"
-HOMEPAGE = "http://www.keepalived.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "9964d295ec9d34ed3408b57d28847b68"
-SRC_URI[sha256sum] = "c0114d86ea4c896557beb0d9367819a423ffba772bc5d7c548dc455e6b3bd048"
-
-DEPENDS = "libnfnetlink openssl"
-
-inherit autotools pkgconfig systemd update-rc.d
-
-PACKAGECONFIG ??= "libnl snmp \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
-"
-PACKAGECONFIG[libnl] = "--enable-libnl,--disable-libnl,libnl"
-PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
-PACKAGECONFIG[systemd] = "--with-init=systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--with-init=SYSV,systemd"
-
-EXTRA_OECONF = "--disable-libiptc"
-EXTRA_OEMAKE = "initdir=${sysconfdir}/init.d"
-
-do_install_append() {
-    if [ -f ${D}${sysconfdir}/init.d/${BPN} ]; then
-        chmod 0755 ${D}${sysconfdir}/init.d/${BPN}
-        sed -i 's#rc.d/##' ${D}${sysconfdir}/init.d/${BPN}
-    fi
-
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -D -m 0644 ${B}/${BPN}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
-    fi
-}
-
-FILES_${PN} += "${datadir}/snmp/mibs/KEEPALIVED-MIB.txt"
-
-INITSCRIPT_NAME = "keepalived"
-INITSCRIPT_PARAMS = "remove"
-
-SYSTEMD_SERVICE_${PN} = "keepalived.service"
-SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.4.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.4.2.bb
new file mode 100644
index 0000000..36417b7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_1.4.2.bb
@@ -0,0 +1,48 @@
+SUMMARY = "High Availability monitor built upon LVS, VRRP and service pollers"
+DESCRIPTION = "Keepalived is a routing software written in C. The main goal \
+of this project is to provide simple and robust facilities for loadbalancing \
+and high-availability to Linux system and Linux based infrastructures. \
+Loadbalancing framework relies on well-known and widely used Linux Virtual \
+Server (IPVS) kernel module providing Layer4 loadbalancing \
+"
+HOMEPAGE = "http://www.keepalived.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz"
+SRC_URI[md5sum] = "610af6e04071f02d3469191de7499f4e"
+SRC_URI[sha256sum] = "4e2d7cc01a6ee29a3955f5c622d47704ba7d9dd758189f15e9def016a2d1faa3"
+
+DEPENDS = "libnfnetlink openssl"
+
+inherit autotools pkgconfig systemd update-rc.d
+
+PACKAGECONFIG ??= "libnl snmp \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
+PACKAGECONFIG[libnl] = "--enable-libnl,--disable-libnl,libnl"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
+PACKAGECONFIG[systemd] = "--with-init=systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--with-init=SYSV,systemd"
+
+EXTRA_OECONF = "--disable-libiptc"
+EXTRA_OEMAKE = "initdir=${sysconfdir}/init.d"
+
+do_install_append() {
+    if [ -f ${D}${sysconfdir}/init.d/${BPN} ]; then
+        chmod 0755 ${D}${sysconfdir}/init.d/${BPN}
+        sed -i 's#rc.d/##' ${D}${sysconfdir}/init.d/${BPN}
+    fi
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -D -m 0644 ${B}/${BPN}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
+    fi
+}
+
+FILES_${PN} += "${datadir}/snmp/mibs/KEEPALIVED-MIB.txt"
+
+INITSCRIPT_NAME = "keepalived"
+INITSCRIPT_PARAMS = "remove"
+
+SYSTEMD_SERVICE_${PN} = "keepalived.service"
+SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-host-gcc.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-host-gcc.patch
index 029b857..97c515e 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-host-gcc.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-host-gcc.patch
@@ -6,11 +6,11 @@
 
 Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
 
-diff --git a/configure.ac b/configure.ac
-index f5a5b74..4a20154 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -605,11 +605,6 @@ AC_ARG_ENABLE([werror],
+Index: openhpi-3.6.1/configure.ac
+===================================================================
+--- openhpi-3.6.1.orig/configure.ac
++++ openhpi-3.6.1/configure.ac
+@@ -656,11 +656,6 @@ AC_ARG_ENABLE([werror],
      fi],
      [])
  
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch
index 205696e..60e2e79 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch
@@ -4,10 +4,11 @@
 
 Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com>
 
-diff -urpN a/openhpid/safhpi.c b/openhpid/safhpi.c
---- a/openhpid/safhpi.c
-+++ b/openhpid/safhpi.c
-@@ -1976,7 +1976,7 @@ SaErrorT SAHPI_API saHpiSensorThresholds
+Index: openhpi-3.6.1/openhpid/safhpi.c
+===================================================================
+--- openhpi-3.6.1.orig/openhpid/safhpi.c
++++ openhpi-3.6.1/openhpid/safhpi.c
+@@ -1933,7 +1933,7 @@ SaErrorT SAHPI_API saHpiSensorThresholds
          oh_release_domain(d); /* Unlock domain */
  
          OH_CALL_ABI(h, set_sensor_thresholds, SA_ERR_HPI_INVALID_CMD, rv,
@@ -16,10 +17,11 @@
          oh_release_handler(h);
  
          return rv;
-diff -urpN a/utils/sahpi_struct_utils.c b/utils/sahpi_struct_utils.c
---- a/utils/sahpi_struct_utils.c
-+++ b/utils/sahpi_struct_utils.c
-@@ -3855,6 +3855,9 @@ SaHpiBoolT oh_valid_textbuffer(SaHpiText
+Index: openhpi-3.6.1/utils/sahpi_struct_utils.c
+===================================================================
+--- openhpi-3.6.1.orig/utils/sahpi_struct_utils.c
++++ openhpi-3.6.1/utils/sahpi_struct_utils.c
+@@ -3861,6 +3861,9 @@ SaHpiBoolT oh_valid_textbuffer(SaHpiText
                                          /* found a unpaired surrogate */
                                          return SAHPI_FALSE;
                                  }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-hpi-shell-thread-fix.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-hpi-shell-thread-fix.patch
index 7dac453..cc21ff8 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-hpi-shell-thread-fix.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-hpi-shell-thread-fix.patch
@@ -14,11 +14,11 @@
     
     Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
 
-diff --git a/hpi_shell/session.c b/hpi_shell/session.c
-index 85c31bf..187da4c 100644
---- a/hpi_shell/session.c
-+++ b/hpi_shell/session.c
-@@ -66,7 +66,7 @@ static void* progress_bar(void *unused)
+Index: openhpi-3.6.1/hpi_shell/session.c
+===================================================================
+--- openhpi-3.6.1.orig/hpi_shell/session.c
++++ openhpi-3.6.1/hpi_shell/session.c
+@@ -73,7 +73,7 @@ static void* progress_bar(void *unused)
  		if (i < (PROGRESS_BUF_SIZE - mes_len - 1)) i++;
  		t++;
  	};
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-libxml2-cross-compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-libxml2-cross-compile.patch
index 6d3b664..c848b35 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-libxml2-cross-compile.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-libxml2-cross-compile.patch
@@ -6,11 +6,11 @@
 
 Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
 
-diff --git a/configure.ac b/configure.ac
-index 30a792c..b5f5aad 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -175,7 +175,7 @@ AC_CHECK_HEADERS([openssl/md2.h openssl/md5.h openssl/bio.h openssl/ssl.h openss
+Index: openhpi-3.6.1/configure.ac
+===================================================================
+--- openhpi-3.6.1.orig/configure.ac
++++ openhpi-3.6.1/configure.ac
+@@ -177,7 +177,7 @@ AC_CHECK_HEADERS([openssl/md2.h openssl/
  
  dnl xml is used for XML-based communication in ilo2_ribcl and oa_soap
  AC_CHECK_LIB([xml2],[xmlParseMemory],[XML2_LIB=-lxml2],[XML2_LIB=])
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-use-serial-tests-config-needed-by-ptest.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-use-serial-tests-config-needed-by-ptest.patch
index 51537ef..3e09180 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-use-serial-tests-config-needed-by-ptest.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi-use-serial-tests-config-needed-by-ptest.patch
@@ -13,19 +13,16 @@
  configure.ac |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
-diff --git a/configure.ac b/configure.ac
-index 4b51971..16136b3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -7,7 +7,7 @@ dnl   various hacks by Sean Dague <http://dague.net/sean> 4/23/03
+Index: openhpi-3.6.1/configure.ac
+===================================================================
+--- openhpi-3.6.1.orig/configure.ac
++++ openhpi-3.6.1/configure.ac
+@@ -7,7 +7,7 @@ dnl   various hacks by Sean Dague <http:
  AC_PREREQ(2.57)
- AC_INIT(openhpi, 3.5.0)
+ AC_INIT(openhpi, 3.6.1)
  AC_CONFIG_SRCDIR(openhpi.spec.in)
 -AM_INIT_AUTOMAKE([1.8])
 +AM_INIT_AUTOMAKE([1.8 serial-tests])
  
  AM_CONFIG_HEADER(config.h)
  AH_TOP([#ifndef __OPENHPI_CONFIG_H
--- 
-1.7.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-configure-Disable-format-overflow-if-supported-by-gc.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-configure-Disable-format-overflow-if-supported-by-gc.patch
index 512e246..effe25c 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-configure-Disable-format-overflow-if-supported-by-gc.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-configure-Disable-format-overflow-if-supported-by-gc.patch
@@ -11,10 +11,10 @@
  3 files changed, 79 insertions(+), 3 deletions(-)
  create mode 100644 m4/ax_check_compile_flag.m4
 
-diff --git a/Makefile.am b/Makefile.am
-index d63fbbb..1012a2c 100644
---- a/Makefile.am
-+++ b/Makefile.am
+Index: opensaf-5.18.02/Makefile.am
+===================================================================
+--- opensaf-5.18.02.orig/Makefile.am
++++ opensaf-5.18.02/Makefile.am
 @@ -52,10 +52,10 @@ AM_CPPFLAGS = \
  	-pthread \
  	-D_GNU_SOURCE -DINTERNAL_VERSION_ID='"@INTERNAL_VERSION_ID@"' \
@@ -26,14 +26,14 @@
 -AM_CXXFLAGS = -pipe -std=gnu++11 @OSAF_HARDEN_FLAGS@ -Wall -Wformat=2 -Werror
 +AM_CFLAGS = -pipe -std=gnu11 @OSAF_HARDEN_FLAGS@ -Wall -Wformat=2 -Werror @NOWARNINGS@
 +AM_CXXFLAGS = -pipe -std=gnu++11 @OSAF_HARDEN_FLAGS@ -Wall -Wformat=2 -Werror @NOWARNINGS@
- AM_LDFLAGS = @OSAF_HARDEN_FLAGS@ -Wl,--as-needed -ldl -lrt -pthread -rdynamic
- ACLOCAL_AMFLAGS = -I m4
- OSAF_LIB_FLAGS =
-diff --git a/configure.ac b/configure.ac
-index 02771c6..b76b0fe 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -557,6 +557,8 @@ if test -z "$OSAF_HARDEN_FLAGS"; then
+ 
+ if ENABLE_GCOV
+ AM_CFLAGS += --coverage
+Index: opensaf-5.18.02/configure.ac
+===================================================================
+--- opensaf-5.18.02.orig/configure.ac
++++ opensaf-5.18.02/configure.ac
+@@ -593,6 +593,8 @@ if test -z "$OSAF_HARDEN_FLAGS"; then
  fi
  AC_SUBST(OSAF_HARDEN_FLAGS)
  
@@ -42,11 +42,10 @@
  #############################################
  # List the output Makefiles
  #############################################
-diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4
-new file mode 100644
-index 0000000..dcabb92
+Index: opensaf-5.18.02/m4/ax_check_compile_flag.m4
+===================================================================
 --- /dev/null
-+++ b/m4/ax_check_compile_flag.m4
++++ opensaf-5.18.02/m4/ax_check_compile_flag.m4
 @@ -0,0 +1,74 @@
 +# ===========================================================================
 +#  https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
@@ -122,6 +121,3 @@
 +  [m4_default([$3], :)])
 +AS_VAR_POPDEF([CACHEVAR])dnl
 +])dnl AX_CHECK_COMPILE_FLAGS
--- 
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.17.07.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.17.07.bb
deleted file mode 100644
index 74483d7..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.17.07.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification"
-DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \
-middleware consistent with Service Availability Forum (SA Forum) \
-specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \
-established by leading Communications and Enterprise Computing Companies to \
-facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \
-code base in commercial products. \
-The OpenSAF project was launched in mid 2007 and has been under development by \
-an informal group of supporters of the OpenSAF initiative. The OpenSAF \
-Foundation was founded on January 22nd 2008 with Emerson Network Power, \
-Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members."
-HOMEPAGE = "http://www.opensaf.org"
-SECTION = "admin"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
-
-DEPENDS = "libxml2 python"
-TOOLCHAIN = "gcc"
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
-           file://0001-configure-Pass-linker-specific-options-with-Wl.patch \
-           file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \
-           file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \
-           file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \
-"
-SRC_URI[md5sum] = "125bcd9aabd7412aedcbfbf73f4e6196"
-SRC_URI[sha256sum] = "3fb2239bb2c9328c8b45368ff8d8de979ea286a27edc9871d218200e88bb91cc"
-
-inherit autotools useradd systemd pkgconfig
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-f -r opensaf"
-USERADD_PARAM_${PN} =  "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf"
-
-SYSTEMD_SERVICE_${PN} += "opensafd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-PACKAGECONFIG[systemd] = ",,systemd"
-PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03 --enable-ais-plm,,openhpi"
-
-PACKAGECONFIG_append = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}"
-
-PKGLIBDIR="${libdir}"
-
-LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
-
-do_install_append() {
-    cp -av --no-preserve=ownership ${B}/lib/.libs/*.so* ${D}${libdir}
-    rm -fr "${D}${localstatedir}/lock"
-    rm -fr "${D}${localstatedir}/run"
-    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
-    rmdir --ignore-fail-on-non-empty "${D}${datadir}/java"
-    if [ ! -d "${D}${sysconfdir}/init.d" ]; then
-        install -d ${D}${sysconfdir}/init.d
-        install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/
-    fi
-}
-
-FILES_${PN} += "${systemd_unitdir}/system/*.service"
-FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a"
-
-INSANE_SKIP_${PN} = "dev-so"
-
-RDEPENDS_${PN} += "bash python"
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.02.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.02.bb
new file mode 100644
index 0000000..4b556ce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.18.02.bb
@@ -0,0 +1,67 @@
+SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification"
+DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \
+middleware consistent with Service Availability Forum (SA Forum) \
+specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \
+established by leading Communications and Enterprise Computing Companies to \
+facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \
+code base in commercial products. \
+The OpenSAF project was launched in mid 2007 and has been under development by \
+an informal group of supporters of the OpenSAF initiative. The OpenSAF \
+Foundation was founded on January 22nd 2008 with Emerson Network Power, \
+Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members."
+HOMEPAGE = "http://www.opensaf.org"
+SECTION = "admin"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
+
+DEPENDS = "libxml2 python"
+TOOLCHAIN = "gcc"
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
+           file://0001-configure-Pass-linker-specific-options-with-Wl.patch \
+           file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \
+           file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \
+           file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \
+"
+SRC_URI[md5sum] = "42064f5ddbc7f560bfc5ff93ea9eecc7"
+SRC_URI[sha256sum] = "f9e24897f9cfd63bb3115f6275c706de1702d3d9bae2fc423227db72b23c37f0"
+
+inherit autotools useradd systemd pkgconfig
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "-f -r opensaf"
+USERADD_PARAM_${PN} =  "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf"
+
+SYSTEMD_SERVICE_${PN} += "opensafd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+PACKAGECONFIG[systemd] = ",,systemd"
+PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03 --enable-ais-plm,,openhpi"
+
+PACKAGECONFIG_append = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}"
+
+PKGLIBDIR="${libdir}"
+
+LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
+
+do_install_append() {
+    cp -av --no-preserve=ownership ${B}/lib/.libs/*.so* ${D}${libdir}
+    rm -fr "${D}${localstatedir}/lock"
+    rm -fr "${D}${localstatedir}/run"
+    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+    rmdir --ignore-fail-on-non-empty "${D}${datadir}/java"
+    if [ ! -d "${D}${sysconfdir}/init.d" ]; then
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/
+    fi
+}
+
+FILES_${PN} += "${systemd_unitdir}/system/*.service"
+FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+RDEPENDS_${PN} += "bash python"
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/main.cf b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/main.cf
new file mode 100644
index 0000000..e75c6fc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/main.cf
@@ -0,0 +1,105 @@
+compatibility_level = 2
+smtputf8_enable = no
+
+# Configure your domain and accounts
+#mydomain=sample.com
+#FQDN from gethostname
+#myhostname =
+mydomain=localdomain
+mydestination = $myhostname, localhost.localdomain localhost
+mynetworks = 127.0.0.1/8
+inet_interfaces = 127.0.0.1
+
+virtual_mailbox_domains = sample.com, other.net
+virtual_mailbox_maps = hash:/etc/postfix/virtual
+virtual_alias_maps = hash:/etc/postfix/virtual_alias
+
+alias_maps = hash:/etc/aliases
+
+# You'll start with the following lines for maildir storage
+virtual_mailbox_base = /var/spool/vmail
+virtual_uid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 3`
+virtual_gid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 4`
+
+
+# You'll start with the following lines for IMAP storage
+#virtual_transport = lmtp:unix:/var/lib/cyrus/socket/lmtp
+
+
+# General stuff here again
+#config_directory = /etc/postfix
+sample_directory = /etc/postfix
+queue_directory = /var/spool/postfix
+mail_spool_directory = /var/spool/mail
+readme_directory = no
+command_directory = /usr/sbin
+daemon_directory = @LIBEXECDIR@/postfix
+mail_owner = postfix
+setgid_group = postdrop
+unknown_local_recipient_reject_code = 450
+mynetworks_style = host
+debug_peer_level = 2
+sendmail_path = /usr/sbin/sendmail
+newaliases_path = /usr/bin/newaliases
+mailq_path = /usr/bin/mailq
+
+smtpd_data_restrictions =
+        permit_mynetworks,
+        reject_unauth_pipelining,
+        permit
+
+smtpd_client_restrictions =
+        permit_mynetworks,
+        # reject_unknown_client, # This can cause a lot of false rejects.
+        reject_invalid_hostname,
+        reject_rbl_client list.dsbl.org,
+        reject_rbl_client sbl.spamhaus.org,
+        reject_rbl_client cbl.abuseat.org,
+        reject_rbl_client dul.dnsbl.sorbs.net,
+        permit
+
+smtpd_helo_required = yes
+smtpd_helo_restrictions =
+        permit_mynetworks,
+        reject_unauth_pipelining,
+        # reject_non_fqdn_hostname, # This can cause a lot of false rejects.
+        # reject_unknown_hostname, # This can cause a lot of false rejects.
+        reject_invalid_hostname,
+        permit
+
+smtpd_sender_restrictions =
+        permit_mynetworks,
+        reject_non_fqdn_sender,
+        # check_sender_access hash:/etc/postfix/access_domains,
+        reject_unknown_sender_domain,
+        permit
+
+smtpd_recipient_restrictions =
+        permit_mynetworks,
+        permit_sasl_authenticated,
+        reject_unauth_destination,
+
+        # check_recipient_access pcre:/etc/postfix/recipient_checks.pcre,
+        # check_helo_access pcre:/etc/postfix/helo_checks.pcre,
+
+        # check_client_access hash:/etc/postfix/maps/access_client,
+        # check_client_access hash:/etc/postfix/maps/exceptions_client,
+        # check_helo_access hash:/etc/postfix/maps/access_helo,
+        # check_helo_access hash:/etc/postfix/maps/verify_helo,
+        # check_sender_access hash:/etc/postfix/maps/access_sender,
+        # check_sender_access hash:/etc/postfix/maps/verify_sender,
+        # check_recipient_access hash:/etc/postfix/maps/access_recipient,
+
+        # reject_multi_recipient_bounce,
+        reject_non_fqdn_recipient,
+        reject_unknown_recipient_domain,
+        # reject_unlisted_recipient,
+        #check_policy_service unix:private/policy,
+
+        # check_sender_access hash:/etc/postfix/maps/no_verify_sender,
+        # check_sender_access hash:/etc/postfix/access_domains,
+        # reject_unverified_sender,
+        # reject_unverified_recipient
+        check_recipient_access hash:/etc/postfix/internal_recipient
+
+disable_vrfy_command = yes
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/main.cf_2.0
deleted file mode 100644
index dc7feb5..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/main.cf_2.0
+++ /dev/null
@@ -1,102 +0,0 @@
-# Configure your domain and accounts
-#mydomain=sample.com
-#FQDN from gethostname
-#myhostname =
-mydomain=localdomain
-mydestination = $myhostname, localhost.localdomain localhost
-mynetworks = 127.0.0.1/8
-inet_interfaces = 127.0.0.1
-
-virtual_mailbox_domains = sample.com, other.net
-virtual_mailbox_maps = hash:/etc/postfix/virtual
-virtual_alias_maps = hash:/etc/postfix/virtual_alias
-
-alias_maps = hash:/etc/aliases
-
-# You'll start with the following lines for maildir storage
-virtual_mailbox_base = /var/spool/vmail
-virtual_uid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 3`
-virtual_gid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 4`
-
-
-# You'll start with the following lines for IMAP storage
-#virtual_transport = lmtp:unix:/var/lib/cyrus/socket/lmtp
-
-
-# General stuff here again
-#config_directory = /etc/postfix
-sample_directory = /etc/postfix
-queue_directory = /var/spool/postfix
-mail_spool_directory = /var/spool/mail
-readme_directory = no
-command_directory = /usr/sbin
-daemon_directory = @LIBEXECDIR@
-mail_owner = postfix
-setgid_group = postdrop
-unknown_local_recipient_reject_code = 450
-mynetworks_style = host
-debug_peer_level = 2
-sendmail_path = /usr/sbin/sendmail
-newaliases_path = /usr/bin/newaliases
-mailq_path = /usr/bin/mailq
-
-smtpd_data_restrictions =
-        permit_mynetworks,
-        reject_unauth_pipelining,
-        permit
-
-smtpd_client_restrictions =
-        permit_mynetworks,
-        # reject_unknown_client, # This can cause a lot of false rejects.
-        reject_invalid_hostname,
-        reject_rbl_client list.dsbl.org,
-        reject_rbl_client sbl.spamhaus.org,
-        reject_rbl_client cbl.abuseat.org,
-        reject_rbl_client dul.dnsbl.sorbs.net,
-        permit
-
-smtpd_helo_required = yes
-smtpd_helo_restrictions =
-        permit_mynetworks,
-        reject_unauth_pipelining,
-        # reject_non_fqdn_hostname, # This can cause a lot of false rejects.
-        # reject_unknown_hostname, # This can cause a lot of false rejects.
-        reject_invalid_hostname,
-        permit
-
-smtpd_sender_restrictions =
-        permit_mynetworks,
-        reject_non_fqdn_sender,
-        # check_sender_access hash:/etc/postfix/access_domains,
-        reject_unknown_sender_domain,
-        permit
-
-smtpd_recipient_restrictions =
-        permit_mynetworks,
-        permit_sasl_authenticated,
-        reject_unauth_destination,
-
-        # check_recipient_access pcre:/etc/postfix/recipient_checks.pcre,
-        # check_helo_access pcre:/etc/postfix/helo_checks.pcre,
-
-        # check_client_access hash:/etc/postfix/maps/access_client,
-        # check_client_access hash:/etc/postfix/maps/exceptions_client,
-        # check_helo_access hash:/etc/postfix/maps/access_helo,
-        # check_helo_access hash:/etc/postfix/maps/verify_helo,
-        # check_sender_access hash:/etc/postfix/maps/access_sender,
-        # check_sender_access hash:/etc/postfix/maps/verify_sender,
-        # check_recipient_access hash:/etc/postfix/maps/access_recipient,
-
-        # reject_multi_recipient_bounce,
-        reject_non_fqdn_recipient,
-        reject_unknown_recipient_domain,
-        # reject_unlisted_recipient,
-        #check_policy_service unix:private/policy,
-
-        # check_sender_access hash:/etc/postfix/maps/no_verify_sender,
-        # check_sender_access hash:/etc/postfix/access_domains,
-        # reject_unverified_sender,
-        # reject_unverified_recipient
-        check_recipient_access hash:/etc/postfix/internal_recipient
-
-disable_vrfy_command = yes
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/postfix.service b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/postfix.service
index 3a9a0a1..30d54a4 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/postfix.service
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/files/postfix.service
@@ -7,7 +7,7 @@
 Type=forking
 PIDFile=@LOCALSTATEDIR@/spool/postfix/pid/master.pid
 ExecStartPre=-@SBINDIR@/check_hostname.sh
-ExecStartPre=-@LIBEXECDIR@/aliasesdb
+ExecStartPre=-@LIBEXECDIR@/postfix/aliasesdb
 ExecStart=@SBINDIR@/postfix start
 ExecReload=@SBINDIR@/postfix reload
 ExecStop=@SBINDIR@/postfix stop
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
index a588bd3..09447d5 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
@@ -6,11 +6,11 @@
 
 HOMEPAGE= "http://www.postfix.org"
 SECTION = "mail"
-DEPENDS = "virtual/db icu libpcre openssl postfix-native \
+DEPENDS = "db icu libpcre openssl postfix-native \
     ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \
 "
-DEPENDS_class-native = "virtual/db-native icu-native openssl-native libpcre-native"
+DEPENDS_class-native = "db-native icu-native openssl-native libpcre-native"
 
 LICENSE = "IPL-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=64375f37431336ea1b1b3005fe3fa354"
@@ -18,7 +18,7 @@
 SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
     file://makedefs.patch \
     file://install.patch \
-    file://main.cf_2.0 \
+    file://main.cf \
     file://postfix \
     file://internal_recipient \
     file://postfix.service \
@@ -135,7 +135,7 @@
 do_install () {
     sh ./postfix-install 'install_root=${D}' \
         'config_directory=${sysconfdir}/postfix' \
-        'daemon_directory=${libexecdir}' \
+        'daemon_directory=${libexecdir}/postfix' \
         'command_directory=${sbindir}' \
         'queue_directory=${localstatedir}/spool/postfix' \
         'sendmail_path=${sbindir}/sendmail.postfix' \
@@ -149,7 +149,7 @@
     mv ${D}${sysconfdir}/postfix/main.cf ${D}${sysconfdir}/postfix/sample-main.cf
     install -m 755 ${S}/bin/smtp-sink ${D}/${sbindir}/
     install -d ${D}${sysconfdir}/init.d
-    install -m 644 ${WORKDIR}/main.cf_2.0 ${D}${sysconfdir}/postfix/main.cf
+    install -m 644 ${WORKDIR}/main.cf ${D}${sysconfdir}/postfix/main.cf
     sed -i 's#@LIBEXECDIR@#${libexecdir}#' ${D}${sysconfdir}/postfix/main.cf
 
     install -m 755 ${WORKDIR}/check_hostname.sh ${D}${sbindir}/
@@ -163,7 +163,7 @@
     sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/postfix.service
     sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/postfix.service
 
-    install -m 0755 ${WORKDIR}/aliasesdb ${D}${libexecdir}
+    install -m 0755 ${WORKDIR}/aliasesdb ${D}${libexecdir}/postfix
 
     install -m 770 -d ${D}${localstatedir}/spool/postfix
     chown postfix:postfix ${D}${localstatedir}/spool/postfix
@@ -219,8 +219,6 @@
     sed -i 's:-fdebug-prefix-map[^ ]*::g; s:--sysroot=${STAGING_DIR_TARGET}::g' ${D}/etc/postfix/makedefs.out
 }
 
-NATIVE_INSTALL_WORKS = "1"
-
 ALTERNATIVE_${PN} = "sendmail"
 ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix"
 ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
@@ -231,6 +229,7 @@
 ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1"
 ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1"
 
+PACKAGE_WRITE_DEPS += "postfix-native"
 pkg_postinst_${PN} () {
     if [ "x$D" = "x" ]; then
         touch /etc/aliases
@@ -240,19 +239,24 @@
         touch /etc/postfix/virtual_alias
         postmap /etc/postfix/virtual_alias
     else
+        if ${@'true' if 'linuxstdbase' in d.getVar('DISTROOVERRIDES', False) else 'false'}; then
+            # /usr/lib/sendmail is required by LSB core test
+            [ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/
+        fi
+
         touch $D/etc/aliases
-        newaliases -C $D/etc/postfix/main.cf -oA$D/etc/aliases
+        # This can fail depending on host setup
+        if ! newaliases -C $D/etc/postfix/main.cf -oA$D/etc/aliases; then
+            $INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX}
+            exit 0
+        fi
         touch $D/etc/postfix/virtual_alias
         postmap -c $D/etc/postfix $D/etc/postfix/virtual_alias
 
-        if ${@'true' if 'linuxstdbase' in d.getVar('DISTROOVERRIDES', False) else 'false'}; then
-            # /usr/lib/sendmial is required by LSB core test
-            [ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/
-        fi
     fi
 }
 
 # Exclude .debug directories from the main package
 FILES_${PN} = "${sysconfdir} ${localstatedir} ${bindir}/* ${sbindir}/* \
                ${libexecdir}/* ${systemd_unitdir}/*"
-FILES_${PN}-dbg += "${libexecdir}/.debug"
+FILES_${PN}-dbg += "${libexecdir}/postfix/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
index 439ede9..89af406 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.2.2.bb
@@ -1,18 +1,9 @@
 require postfix.inc
 
-SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
-           file://makedefs.patch \
-           file://install.patch \
-           file://main.cf_2.0 \
-           file://postfix \
-           file://internal_recipient \
-           file://postfix.service \
-           file://aliasesdb \
-           file://check_hostname.sh \
-           file://0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch \
-           file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
-           file://postfix-install.patch \
-           file://icu-config.patch \
+SRC_URI += "file://0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch \
+            file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
+            file://postfix-install.patch \
+            file://icu-config.patch \
            "
 SRC_URI[md5sum] = "aea073a9b0bea5bdb590460a270a4aa0"
 SRC_URI[sha256sum] = "d06849418d119d09366997b2b481bb23f737629769b4e4a52da42fb3ad8b0576"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd.inc b/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd.inc
index bff693c..06d16a4 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd.inc
@@ -8,7 +8,7 @@
 choose a default router based on these advertisements."
 HOMEPAGE = "http://www.litech.org/radvd/"
 SECTION = "net"
-DEPENDS = "flex-native libdaemon"
+DEPENDS = "flex-native bison-native libdaemon "
 
 # License is BSD-Style (with advertising clause) but also has an additional 0th clause
 LICENSE = "radvd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch
index 48674c3..f482f80 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch
@@ -1,4 +1,4 @@
-From f9150a0dc092ab2cbd47ee428436b747dce323a9 Mon Sep 17 00:00:00 2001
+From 27e10667bf27baf5f119a791e3473bb9435a786a Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 23 Apr 2017 10:28:28 -0700
 Subject: [PATCH] SquidNew: use noexcept instead of throw for C++11 compilers
@@ -11,6 +11,7 @@
                                                        ^~~~~
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  include/SquidNew.h | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
@@ -43,6 +44,3 @@
  {
      xfree(address);
  }
--- 
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
index 0c0a3aa..302136a 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
@@ -1,4 +1,4 @@
-From 14d469bc82c758116aef7d549abd49c131b4170f Mon Sep 17 00:00:00 2001
+From c21adbb0b230ffba97cf5d059e2bd024e13a37df Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 22 Apr 2017 11:54:57 -0700
 Subject: [PATCH] configure: Check for -Wno-error=format-truncation compiler
@@ -9,36 +9,18 @@
 client.c:834:23: error: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Werror=format-truncation=]
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac                |  3 +-
- m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 76 insertions(+), 1 deletion(-)
- create mode 100644 m4/ax_check_compile_flag.m4
 
-Index: squid-3.5.26/configure.ac
-===================================================================
---- squid-3.5.26.orig/configure.ac
-+++ squid-3.5.26/configure.ac
-@@ -26,6 +26,7 @@ m4_include([acinclude/pkg.m4])
- m4_include([acinclude/lib-checks.m4])
- m4_include([acinclude/ax_cxx_compile_stdcxx_11.m4])
- m4_include([acinclude/ax_cxx_0x_types.m4])
-+m4_include([acinclude/ax_check_compile_flag.m4])
- 
- HOSTCXX="$BUILD_CXX"
- PRESET_CFLAGS="$CFLAGS"
-@@ -44,6 +45,7 @@ AC_PROG_CXX
- AC_LANG([C++])
- AC_CANONICAL_HOST
- 
-+AX_CHECK_COMPILE_FLAG([-Werror=format-truncation],[CFLAGS="$CFLAGS -Wno-error=format-truncation" CXXFLAGS="$CXXFLAGS -Wno-error=format-truncation"])
- # Clang 3.2 on some CPUs requires -march-native to detect correctly.
- # GCC 4.3+ can also produce faster executables when its used.
- # But building inside a virtual machine environment has been found to
-Index: squid-3.5.26/acinclude/ax_check_compile_flag.m4
-===================================================================
+---
+ acinclude/ax_check_compile_flag.m4 | 74 ++++++++++++++++++++++++++++++++++++++
+ configure.ac                       |  2 ++
+ 2 files changed, 76 insertions(+)
+ create mode 100644 acinclude/ax_check_compile_flag.m4
+
+diff --git a/acinclude/ax_check_compile_flag.m4 b/acinclude/ax_check_compile_flag.m4
+new file mode 100644
+index 0000000..dcabb92
 --- /dev/null
-+++ squid-3.5.26/acinclude/ax_check_compile_flag.m4
++++ b/acinclude/ax_check_compile_flag.m4
 @@ -0,0 +1,74 @@
 +# ===========================================================================
 +#  https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
@@ -114,3 +96,23 @@
 +  [m4_default([$3], :)])
 +AS_VAR_POPDEF([CACHEVAR])dnl
 +])dnl AX_CHECK_COMPILE_FLAGS
+diff --git a/configure.ac b/configure.ac
+index ff4688c..9382fdf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,6 +26,7 @@ m4_include([acinclude/pkg.m4])
+ m4_include([acinclude/lib-checks.m4])
+ m4_include([acinclude/ax_cxx_compile_stdcxx_11.m4])
+ m4_include([acinclude/ax_cxx_0x_types.m4])
++m4_include([acinclude/ax_check_compile_flag.m4])
+ 
+ HOSTCXX="$BUILD_CXX"
+ PRESET_CFLAGS="$CFLAGS"
+@@ -44,6 +45,7 @@ AC_PROG_CXX
+ AC_LANG([C++])
+ AC_CANONICAL_HOST
+ 
++AX_CHECK_COMPILE_FLAG([-Werror=format-truncation],[CFLAGS="$CFLAGS -Wno-error=format-truncation" CXXFLAGS="$CXXFLAGS -Wno-error=format-truncation"])
+ # Clang 3.2 on some CPUs requires -march-native to detect correctly.
+ # GCC 4.3+ can also produce faster executables when its used.
+ # But building inside a virtual machine environment has been found to
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch
index 082a111..8ea55d0 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch
@@ -1,4 +1,4 @@
-From a78f2f0feda8f92cb59afe8236bd90726908768f Mon Sep 17 00:00:00 2001
+From faaa796a138cbd5033b1e53f33faac0cf4162bf5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 25 Jun 2017 00:59:24 -0700
 Subject: [PATCH] tools.cc: fixed unused-result warning
@@ -10,9 +10,8 @@
 |      ~~~~~~^~~
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
 
+---
  src/tools.cc | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
@@ -31,6 +30,3 @@
  #endif
  #if HAVE_PRCTL && defined(PR_SET_DUMPABLE)
      /* Set Linux DUMPABLE flag */
--- 
-2.13.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch
index 2304c5f..25f68af 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch
@@ -1,8 +1,7 @@
-From 0d5b337ff5ef7dd48f970f08bd95d6327917cfd1 Mon Sep 17 00:00:00 2001
-Message-Id: <0d5b337ff5ef7dd48f970f08bd95d6327917cfd1.1382375807.git.Jim.Somerville@windriver.com>
+From b4943594654cd340b95aabdc2f3750a4705cc0de Mon Sep 17 00:00:00 2001
 From: Jim Somerville <Jim.Somerville@windriver.com>
 Date: Mon, 21 Oct 2013 12:50:44 -0400
-Subject: [PATCH 1/1] Fix flawed dynamic -ldb link test in configure
+Subject: [PATCH] Fix flawed dynamic -ldb link test in configure
 
 The test uses dbopen, but just ignores the fact
 that this function may not exist in the db version
@@ -11,15 +10,16 @@
 about why and setting the need for -ldb incorrectly.
 
 Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
+
 ---
- configure.ac |   12 ++++++++++--
- 1 files changed, 10 insertions(+), 2 deletions(-)
+ configure.ac | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 962a748..42e6a93 100644
+index 57cd1ac..3827222 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -3051,8 +3051,16 @@ AC_CHECK_DECL(dbopen,,,[
+@@ -3229,8 +3229,16 @@ AC_CHECK_DECL(dbopen,,,[
  #include <db.h>
  #endif])
  
@@ -38,6 +38,3 @@
  if test "x$ac_cv_dbopen_libdb" = "xyes"; then
      LIB_DB="-ldb"
  fi
--- 
-1.7.4.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch
index 4ca2744..3852f7c 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch
@@ -1,29 +1,28 @@
-From 17e5a28667f667859c48bee25e575a072d39ee1b Mon Sep 17 00:00:00 2001
-Message-Id: <17e5a28667f667859c48bee25e575a072d39ee1b.1381956170.git.Jim.Somerville@windriver.com>
+From 995aaf30799fa972441354b6feb45f0621968929 Mon Sep 17 00:00:00 2001
 From: Jim Somerville <Jim.Somerville@windriver.com>
 Date: Wed, 16 Oct 2013 16:41:03 -0400
-Subject: [PATCH 1/1] Set up for cross compilation
+Subject: [PATCH] Set up for cross compilation
+
+Message-Id: <17e5a28667f667859c48bee25e575a072d39ee1b.1381956170.git.Jim.Somerville@windriver.com>
 
 Set the host compiler to BUILD_CXX so
 proper cross compilation can occur.
 
 Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
+
 ---
- configure.ac |    1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
 
 diff --git a/configure.ac b/configure.ac
-index c2d3033..dda9ed9 100644
+index fe80ee0..57cd1ac 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -19,6 +19,7 @@ m4_include([acinclude/lib-checks.m4])
- m4_include([acinclude/ax_cxx_compile_stdcxx_0x.m4])
+@@ -27,6 +27,7 @@ m4_include([acinclude/lib-checks.m4])
+ m4_include([acinclude/ax_cxx_compile_stdcxx_11.m4])
  m4_include([acinclude/ax_cxx_0x_types.m4])
  
 +HOSTCXX="$BUILD_CXX"
  PRESET_CFLAGS="$CFLAGS"
  PRESET_CXXFLAGS="$CXXFLAGS"
  PRESET_LDFLAGS="$LDFLAGS"
--- 
-1.7.4.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
index 7b6dcc8..6a33525 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch
@@ -1,3 +1,6 @@
+From a85311965707ba2fa78f7ce044e6f61e65e66fd0 Mon Sep 17 00:00:00 2001
+From: Jim Somerville <Jim.Somerville@windriver.com>
+Date: Tue, 14 Oct 2014 02:56:08 -0400
 Subject: [PATCH] Skip AC_RUN_IFELSE tests
 
 Upstream-Status: Inappropriate [cross compiling specific]
@@ -7,16 +10,17 @@
 
 Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
 ---
- acinclude/krb5.m4       |   10 +++++++++-
- acinclude/lib-checks.m4 |    8 ++++++--
+ acinclude/krb5.m4       | 10 +++++++++-
+ acinclude/lib-checks.m4 |  8 ++++++--
  2 files changed, 15 insertions(+), 3 deletions(-)
 
 diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4
-index 946bea8..7a072a2 100644
+index 5c83d88..c264118 100644
 --- a/acinclude/krb5.m4
 +++ b/acinclude/krb5.m4
-@@ -82,7 +82,15 @@ main(void)
+@@ -61,7 +61,15 @@ main(void)
  
          return 0;
  }
@@ -34,31 +38,28 @@
    ])
  ]) dnl SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H
 diff --git a/acinclude/lib-checks.m4 b/acinclude/lib-checks.m4
-index 2bf98ee..50dba9b 100644
+index c4874da..ba72982 100644
 --- a/acinclude/lib-checks.m4
 +++ b/acinclude/lib-checks.m4
-@@ -128,7 +128,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS],[
-    AC_DEFINE(SQUID_SSLGETCERTIFICATE_BUGGY, 1)
-    AC_MSG_RESULT([yes])
+@@ -177,7 +177,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_CONST_SSL_METHOD],[
+   [
+    AC_MSG_RESULT([no])
    ],
 -  [])
 +  [
 +   AC_MSG_RESULT([skipped - can't test in cross-compiled env])
 +  ])
  
-   AC_MSG_CHECKING(whether the workaround for SSL_get_certificate works)
-   AC_RUN_IFELSE([
-@@ -154,7 +156,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS],[
-   [
-    AC_MSG_RESULT([no])
+ SQUID_STATE_ROLLBACK(check_const_SSL_METHOD)
+ ]
+@@ -265,7 +267,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_TXTDB],[
+    AC_MSG_RESULT([yes])
+    AC_DEFINE(SQUID_USE_SSLLHASH_HACK, 1)
    ],
 -[])
 +[
 +   AC_MSG_RESULT([skipped - can't test in cross-compiled env])
 +])
  
- SQUID_STATE_ROLLBACK(check_SSL_get_certificate)
+ SQUID_STATE_ROLLBACK(check_TXTDB)
  ])
--- 
-1.7.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch
index cc1ea78..2feca49 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch
@@ -1,11 +1,20 @@
+From 660fce9cfa00a57e5b7cec46116a31e21595c306 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 19 Jun 2017 23:47:01 -0700
+Subject: [PATCH] squid: Upgrade to 3.5.26
+
 ../../squid-3.5.26/src/DiskIO/DiskThreads/aiops.cc: In function 'void squidaio_init()':                                                              ../../squid-3.5.26/src/DiskIO/DiskThreads/DiskThreads.h:30:50: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context]      #define NUMTHREADS (Config.cacheSwap.n_configured*16)
 
-
 Upstream-Status: Backport
-Index: squid-3.5.26/src/DiskIO/DiskThreads/aiops.cc
-===================================================================
---- squid-3.5.26.orig/src/DiskIO/DiskThreads/aiops.cc
-+++ squid-3.5.26/src/DiskIO/DiskThreads/aiops.cc
+
+---
+ src/DiskIO/DiskThreads/aiops.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/DiskIO/DiskThreads/aiops.cc b/src/DiskIO/DiskThreads/aiops.cc
+index b44adfa..e11f948 100644
+--- a/src/DiskIO/DiskThreads/aiops.cc
++++ b/src/DiskIO/DiskThreads/aiops.cc
 @@ -290,7 +290,7 @@ squidaio_init(void)
      /* Create threads and get them to sit in their wait loop */
      squidaio_thread_pool = memPoolCreate("aio_thread", sizeof(squidaio_thread_t));
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch
index fdcd174..e990480 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch
@@ -1,15 +1,23 @@
-Set the SYSROOT for libxml2 header file to avoid host contamination.
+From 702bd881b66dc034e711c0ff47805f2da40b6e0d Mon Sep 17 00:00:00 2001
+From: Yue Tao <yue.tao@windriver.com>
+Date: Mon, 8 Aug 2016 16:04:33 +0800
+Subject: [PATCH] Set the SYSROOT for libxml2 header file to avoid host
+ contamination.
 
 Upstream-Status: Inappropriate [embedded specific]
 
 Signed-off-by: Yue Tao <yue.tao@windriver.com>
 Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
 
-diff --git a/configure.ac.old b/configure.ac
-index 54eda73..874f48e 100644
---- a/configure.ac.old
+---
+ configure.ac | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 504a844..ff4688c 100644
+--- a/configure.ac
 +++ b/configure.ac
-@@ -964,15 +964,15 @@ if test "x$squid_opt_use_esi" = "xyes" -a "x$with_libxml2" != "xno" ; then
+@@ -974,15 +974,15 @@ if test "x$squid_opt_use_esi" = "xyes" -a "x$with_libxml2" != "xno" ; then
    dnl Find the main header and include path...
    AC_CACHE_CHECK([location of libxml2 include files], [ac_cv_libxml2_include], [
      AC_CHECK_HEADERS([libxml/parser.h], [], [
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch
index 312f44f..e5267ea 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch
@@ -1,4 +1,4 @@
-From 54a9c2ba60adc7ec2724786662fd398e7c03999f Mon Sep 17 00:00:00 2001
+From 8786b91488dae3f6dfeadd686e80d2ffc5c29320 Mon Sep 17 00:00:00 2001
 From: Jackie Huang <jackie.huang@windriver.com>
 Date: Thu, 25 Aug 2016 15:22:57 +0800
 Subject: [PATCH] squid: don't do squid-conf-tests at build time
@@ -14,12 +14,13 @@
 Upstream-Status: Inappropriate [cross compile specific]
 
 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
 ---
  test-suite/Makefile.am | 15 +++++++--------
  1 file changed, 7 insertions(+), 8 deletions(-)
 
 diff --git a/test-suite/Makefile.am b/test-suite/Makefile.am
-index d5468be..77fc480 100644
+index 061a463..350dfb2 100644
 --- a/test-suite/Makefile.am
 +++ b/test-suite/Makefile.am
 @@ -41,8 +41,7 @@ TESTS += debug \
@@ -58,6 +59,3 @@
  		else break; fi; \
  	done; \
  	if test "$$failed" -eq 0; then cp $(TRUE) $@ ; fi
--- 
-2.8.3
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch
index 01ec596..9c75f17 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch
@@ -1,4 +1,4 @@
-From bd58d3672bc267824000f34a37561c7ab2bd571f Mon Sep 17 00:00:00 2001
+From 9bcec221a2bb438d8a9ed59aed846ffe3be9cffa Mon Sep 17 00:00:00 2001
 From: Jackie Huang <jackie.huang@windriver.com>
 Date: Tue, 19 Jul 2016 01:56:23 -0400
 Subject: [PATCH] squid: use serial-tests config needed by ptest
@@ -9,12 +9,13 @@
 Upstream-Status: Inappropriate [default automake behavior incompatible with ptest]
 
 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
 ---
  configure.ac | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index 05ad027..e324b93 100644
+index 3827222..504a844 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -10,7 +10,7 @@ AC_PREREQ(2.61)
@@ -26,6 +27,3 @@
  AC_REVISION($Revision$)dnl
  AC_PREFIX_DEFAULT(/usr/local/squid)
  AM_MAINTAINER_MODE
--- 
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/files/change-secure_chroot_dir.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/files/change-secure_chroot_dir.patch
index 5f2860e..b69de1d 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/files/change-secure_chroot_dir.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/files/change-secure_chroot_dir.patch
@@ -1,20 +1,25 @@
-vsftpd: change default value of secure_chroot_dir
+From ce2be5d4967445828d5ae9d9462cfaa78ae03c73 Mon Sep 17 00:00:00 2001
+From: Ming Liu <ming.liu@windriver.com>
+Date: Wed, 18 Sep 2013 09:44:20 +0800
+Subject: [PATCH] vsftpd: change default value of secure_chroot_dir
 
 Upstream-Status: Pending
 
 Change secure_chroot_dir pointing to a volatile directory.
 
 Signed-off-by: Ming Liu <ming.liu@windriver.com>
+
 ---
- INSTALL       |    6 +++---
- tunables.c    |    2 +-
- vsftpd.conf.5 |    2 +-
+ INSTALL       | 6 +++---
+ tunables.c    | 2 +-
+ vsftpd.conf.5 | 2 +-
  3 files changed, 5 insertions(+), 5 deletions(-)
 
-diff -urpN a/INSTALL b/INSTALL
---- a/INSTALL	2013-09-13 10:23:57.504972397 +0800
-+++ b/INSTALL	2013-09-13 10:25:25.664971779 +0800
-@@ -27,11 +27,11 @@ user in case it does not already exist. 
+diff --git a/INSTALL b/INSTALL
+index 4f811aa..427122a 100644
+--- a/INSTALL
++++ b/INSTALL
+@@ -27,11 +27,11 @@ user in case it does not already exist. e.g.:
  [root@localhost root]# useradd nobody
  useradd: user nobody exists
  
@@ -29,9 +34,10 @@
  
  2c) For anonymous FTP, you will need the user "ftp" to exist, and have a
  valid home directory (which is NOT owned or writable by the user "ftp").
-diff -urpN a/tunables.c b/tunables.c
---- a/tunables.c	2013-09-13 10:26:29.554972817 +0800
-+++ b/tunables.c	2013-09-13 10:27:18.104972210 +0800
+diff --git a/tunables.c b/tunables.c
+index 284a10d..8c63c3f 100644
+--- a/tunables.c
++++ b/tunables.c
 @@ -254,7 +254,7 @@ tunables_load_defaults()
    /* -rw------- */
    tunable_chown_upload_mode = 0600;
@@ -41,10 +47,11 @@
    install_str_setting("ftp", &tunable_ftp_username);
    install_str_setting("root", &tunable_chown_username);
    install_str_setting("/var/log/xferlog", &tunable_xferlog_file);
-diff -urpN a/vsftpd.conf.5 b/vsftpd.conf.5
---- a/vsftpd.conf.5	2013-09-13 10:09:33.774972462 +0800
-+++ b/vsftpd.conf.5	2013-09-13 10:10:41.914971989 +0800
-@@ -969,7 +969,7 @@ This option should be the name of a dire
+diff --git a/vsftpd.conf.5 b/vsftpd.conf.5
+index fcc6022..e4ffdee 100644
+--- a/vsftpd.conf.5
++++ b/vsftpd.conf.5
+@@ -969,7 +969,7 @@ This option should be the name of a directory which is empty. Also, the
  directory should not be writable by the ftp user. This directory is used
  as a secure chroot() jail at times vsftpd does not require filesystem access.
  
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch
index c3919e1..d81c94a 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch
@@ -1,9 +1,10 @@
-From e55135c2a4ea7eae3cb1f4dccf69ca477ea095bf Mon Sep 17 00:00:00 2001
+From c5caf52b9ed79da8916ef5722efe6df61a856e2f Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 28 Mar 2017 20:09:12 -0700
 Subject: [PATCH] sysdeputil.c: Fix with musl which does not have utmpx
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  sysdeputil.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)
@@ -23,6 +24,3 @@
  
  #define __USE_GNU
  #include <utmpx.h>
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch
index 7accbbc..c6c0f80 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch
@@ -1,4 +1,4 @@
-From 37cc924363515c8c309944c455bcbba7ddcc8eda Mon Sep 17 00:00:00 2001
+From 9c4826c19f04da533886209361a2caddf582d65c Mon Sep 17 00:00:00 2001
 From: Mingli Yu <Mingli.Yu@windriver.com>
 Date: Tue, 6 Sep 2016 17:17:44 +0800
 Subject: [PATCH] vsftpd: allow sysinfo() in the seccomp sandbox
@@ -24,6 +24,7 @@
 OOPS: priv_sock_get_cmd
 
 Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+
 ---
  seccompsandbox.c | 1 +
  1 file changed, 1 insertion(+)
@@ -40,6 +41,3 @@
    /* Misc */
    allow_nr(__NR_umask);
  
--- 
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch
index 1980d09..5ad5c14 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch
@@ -1,14 +1,22 @@
-Use DESTDIR within install to allow installing under a prefix
+From bab3f62f1fd5b7c2ab197f4311ad191bf18816b9 Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Mon, 20 Feb 2012 13:51:49 +0000
+Subject: [PATCH] Use DESTDIR within install to allow installing under a prefix
 
 Upstream-Status: Pending
 
 Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
 
+---
+ Makefile | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
 diff --git a/Makefile b/Makefile
+index c63ed1b..9e4f35f 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -24,21 +24,21 @@
- 	$(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS)
+@@ -29,21 +29,21 @@ vsftpd: $(OBJS)
+ 	$(CC) -o vsftpd $(OBJS) $(LINK) $(LDFLAGS) $(LIBS)
  
  install:
 -	if [ -x /usr/local/sbin ]; then \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch
index 9a10f72..d2e58a3 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch
@@ -1,4 +1,8 @@
-Hardcode LIBS instead of using a script to determine available libs
+From 328799d0cd5c523ad7a814fefec16d8a84aa8010 Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Tue, 16 Apr 2013 10:53:55 +0000
+Subject: [PATCH] Hardcode LIBS instead of using a script to determine
+ available libs
 
 We want to avoid this dynamic detection so we have a deterministic
 build.
@@ -7,15 +11,20 @@
 
 Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
 
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
 diff --git a/Makefile b/Makefile
+index 9e4f35f..3a5535d 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -5,7 +5,7 @@
- #CFLAGS = -g
- CFLAGS	=	-O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion
+@@ -8,7 +8,7 @@ CFLAGS	=	-O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \
+ 	-D_FORTIFY_SOURCE=2 \
+ 	#-pedantic -Wconversion
  
 -LIBS	=	`./vsf_findlibs.sh`
 +LIBS	=	-lssl -lcrypto -lnsl -lresolv
  LINK	=	-Wl,-s
+ LDFLAGS	=	-fPIE -pie -Wl,-z,relro -Wl,-z,now
  
- OBJS	=	main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch
index fd31600..e596073 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch
@@ -1,10 +1,18 @@
-Disable stripping at link time
+From 261874ea47973ea156141185082252fc92081906 Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Tue, 16 Apr 2013 10:53:55 +0000
+Subject: [PATCH] Disable stripping at link time
 
 Upstream-Status: Inappropriate [config]
 
 Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
 
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
 diff --git a/Makefile b/Makefile
+index 3a5535d..e78019a 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -9,7 +9,6 @@ CFLAGS	=	-O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch
index fdcf3a0..a4387c1 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch
@@ -1,11 +1,20 @@
-Disable PAM
+From 71628ddc91b6efb9b922a3fcf8cc18522f5387be Mon Sep 17 00:00:00 2001
+From: "Roy.Li" <rongqing.li@windriver.com>
+Date: Mon, 20 Feb 2012 13:51:49 +0000
+Subject: [PATCH] Disable PAM
 
 Upstream-Status: Inappropriate [config]
 
 Signed-off-by: Roy.Li <rongqing.li@windriver.com>
-diff -ur vsftpd-2.0.1_org/builddefs.h vsftpd-2.0.1_patch/builddefs.h
---- vsftpd-2.0.1_org/builddefs.h	2004-07-02 16:36:59.000000000 +0200
-+++ vsftpd-2.0.1_patch/builddefs.h	2004-07-21 09:34:49.044900488 +0200
+
+---
+ builddefs.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/builddefs.h b/builddefs.h
+index 0106d1a..f48a568 100644
+--- a/builddefs.h
++++ b/builddefs.h
 @@ -2,7 +2,7 @@
  #define VSF_BUILDDEFS_H
  
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch
index 32f7e82..590eb58 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch
@@ -1,4 +1,7 @@
-Fix the CVE-2015-1419
+From b756444854c5ab3b1284fd7113043fe8860e99ec Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Fri, 24 Apr 2015 09:36:48 +0800
+Subject: [PATCH] Fix the CVE-2015-1419
 
 Upstream-Status: Pending
 
@@ -9,10 +12,17 @@
 
 Signed-off-by: Roy Li <rongqing.li@windriver.com>
 
-diff -up vsftpd-2.1.0/ls.c.filter vsftpd-2.1.0/ls.c
---- vsftpd-2.1.0/ls.c.filter	2008-02-02 02:30:41.000000000 +0100
-+++ vsftpd-2.1.0/ls.c	2009-01-08 19:31:15.000000000 +0100
-@@ -239,9 +239,31 @@ vsf_filename_passes_filter(const struct 
+---
+ ls.c  | 26 ++++++++++++++++++++++++--
+ str.c | 11 +++++++++++
+ str.h |  1 +
+ 3 files changed, 36 insertions(+), 2 deletions(-)
+
+diff --git a/ls.c b/ls.c
+index 7e1376d..e9302dd 100644
+--- a/ls.c
++++ b/ls.c
+@@ -246,9 +246,31 @@ vsf_filename_passes_filter(const struct mystr* p_filename_str,
    int ret = 0;
    char last_token = 0;
    int must_match_at_current_pos = 1;
@@ -46,10 +56,11 @@
    while (!str_isempty(&filter_remain_str) && *iters < VSFTP_MATCHITERS_MAX)
    {
      static struct mystr s_match_needed_str;
-diff -up vsftpd-2.1.0/str.c.filter vsftpd-2.1.0/str.c
---- vsftpd-2.1.0/str.c.filter	2008-12-17 06:54:16.000000000 +0100
-+++ vsftpd-2.1.0/str.c	2009-01-08 19:31:15.000000000 +0100
-@@ -680,3 +680,14 @@ str_replace_unprintable(struct mystr* p_
+diff --git a/str.c b/str.c
+index 6596204..ba4b92a 100644
+--- a/str.c
++++ b/str.c
+@@ -711,3 +711,14 @@ str_replace_unprintable(struct mystr* p_str, char new_char)
    }
  }
  
@@ -64,10 +75,11 @@
 +  if (str_isempty(d_str))
 +   str_copy (d_str, path);
 +}
-diff -up vsftpd-2.1.0/str.h.filter vsftpd-2.1.0/str.h
---- vsftpd-2.1.0/str.h.filter	2008-12-17 06:53:23.000000000 +0100
-+++ vsftpd-2.1.0/str.h	2009-01-08 19:32:14.000000000 +0100
-@@ -100,6 +100,7 @@ void str_replace_unprintable(struct myst
+diff --git a/str.h b/str.h
+index ab0a9a4..3a21b50 100644
+--- a/str.h
++++ b/str.h
+@@ -100,6 +100,7 @@ void str_replace_unprintable(struct mystr* p_str, char new_char);
  int str_atoi(const struct mystr* p_str);
  filesize_t str_a_to_filesize_t(const struct mystr* p_str);
  unsigned int str_octal_to_uint(const struct mystr* p_str);
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch
index 69745b3..c558aee 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch
@@ -1,11 +1,15 @@
-Enable tcp_wrapper.
+From c026b0c0de4eebb189bc77b2d4c3b9528454ac04 Mon Sep 17 00:00:00 2001
+From: "Roy.Li" <rongqing.li@windriver.com>
+Date: Fri, 19 Jul 2013 10:19:25 +0800
+Subject: [PATCH] Enable tcp_wrapper.
 
 Upstream-Status: Inappropriate [configuration]
 
 Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+
 ---
- builddefs.h |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ builddefs.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/builddefs.h b/builddefs.h
 index e908352..0106d1a 100644
@@ -20,6 +24,3 @@
  #define VSF_BUILD_PAM
  #undef VSF_BUILD_SSL
  
--- 
-1.7.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch b/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch
deleted file mode 100644
index fe4b079..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync/0001-Include-fcntl.h-for-F_-and-O_-defines.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 85ea47fedbc96ed9180e08b0d371d9966e3a88da Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 30 Aug 2017 17:28:55 -0700
-Subject: [PATCH] Include fcntl.h for F_* and O_* defines
-
-Fixes errors like
-utils.c:95:22: error: use of undeclared identifier 'O_WRONLY'
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- qdevices/utils.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/qdevices/utils.c b/qdevices/utils.c
-index 41850b8c..87090853 100644
---- a/qdevices/utils.c
-+++ b/qdevices/utils.c
-@@ -39,6 +39,7 @@
- 
- #include <err.h>
- #include <errno.h>
-+#include <fcntl.h>
- #include <inttypes.h>
- #include <libgen.h>
- #include <stdio.h>
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.2.bb
deleted file mode 100644
index 33e74e2..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.2.bb
+++ /dev/null
@@ -1,80 +0,0 @@
-SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces"
-DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \
-APIs and libraries, default configuration files, and an init script."
-HOMEPAGE = "http://corosync.github.io/corosync/"
-
-SECTION = "base"
-
-inherit autotools pkgconfig systemd useradd
-
-SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz \
-           file://0001-Include-fcntl.h-for-F_-and-O_-defines.patch \
-          "
-SRC_URI[md5sum] = "547fa78704da53aa35912be58d31035f"
-SRC_URI[sha256sum] = "f26e3011309fe4bcce94b1dc20ea8c462f19483a73f3ca62f13b925d011a4ba9"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
-
-DEPENDS = "groff-native nss libqb"
-
-SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service \
-                         ${@bb.utils.contains('PACKAGECONFIG', 'qdevice', 'corosync-qdevice.service', '', d)} \
-                         ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'corosync-qnetd.service', '', d)} \
-"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-INITSCRIPT_NAME = "corosync-daemon"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
-                   dbus qdevice qnetd snmp \
-"
-
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
-PACKAGECONFIG[qdevice] = "--enable-qdevices,--disable-qdevices"
-PACKAGECONFIG[qnetd] = "--enable-qnetd,--disable-qnetd"
-PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma"
-PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd"
-
-EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash"
-EXTRA_OEMAKE = "tmpfilesdir_DATA="
-
-do_configure_prepend() {
-    ( cd ${S}
-    ${S}/autogen.sh )
-}
-
-do_install_append() {
-    install -d ${D}${sysconfdir}/sysconfig/
-    install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
-    install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd
-
-    rm -rf "${D}${localstatedir}/run"
-
-    install -d ${D}${sysconfdir}/default/volatiles
-    echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync
-
-    if ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'true', 'false', d)}; then
-        chown -R coroqnetd:coroqnetd ${D}${sysconfdir}/${BPN}/qnetd
-        echo "d coroqnetd coroqnetd 0770 /var/run/corosync-qnetd none" >> ${D}${sysconfdir}/default/volatiles/05_corosync
-    fi
-
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        install -d ${D}${sysconfdir}/tmpfiles.d
-        echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf
-
-        if ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'true', 'false', d)}; then
-            install -m 0644 ${S}/conf/tmpfiles.d/corosync-qnetd.conf ${D}${sysconfdir}/tmpfiles.d
-        fi
-    fi
-}
-
-RDEPENDS_${PN} += "bash"
-
-FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
-FILES_${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system coroqnetd"
-USERADD_PARAM_${PN} = "--system -d / -M -s /bin/nologin -c 'User for corosync-qnetd' -g coroqnetd coroqnetd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.3.bb
new file mode 100644
index 0000000..9673fa3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.3.bb
@@ -0,0 +1,79 @@
+SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces"
+DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \
+APIs and libraries, default configuration files, and an init script."
+HOMEPAGE = "http://corosync.github.io/corosync/"
+
+SECTION = "base"
+
+inherit autotools pkgconfig systemd useradd
+
+SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "bf0ede13018aadc8a046183bc593b0e0"
+SRC_URI[sha256sum] = "b1e7e422e8d2f7af8e5315fa329b1dbd1175fff32efaa55e8054584c80a2c597"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
+
+DEPENDS = "groff-native nss libqb"
+
+SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service \
+                         ${@bb.utils.contains('PACKAGECONFIG', 'qdevice', 'corosync-qdevice.service', '', d)} \
+                         ${@bb.utils.contains('PACKAGECONFIG', 'qnetd', 'corosync-qnetd.service', '', d)} \
+"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+INITSCRIPT_NAME = "corosync-daemon"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+                   dbus qdevice qnetd snmp \
+"
+
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
+PACKAGECONFIG[qdevice] = "--enable-qdevices,--disable-qdevices"
+PACKAGECONFIG[qnetd] = "--enable-qnetd,--disable-qnetd"
+PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd"
+
+EXTRA_OECONF = "ac_cv_path_BASHPATH=${base_bindir}/bash ap_cv_cc_pie=no"
+EXTRA_OEMAKE = "tmpfilesdir_DATA="
+
+do_configure_prepend() {
+    ( cd ${S}
+    ${S}/autogen.sh )
+}
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/sysconfig/
+    install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
+    install -m 0644 ${S}/tools/corosync-notifyd.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync-notifyd
+
+    rm -rf "${D}${localstatedir}/run"
+
+    install -d ${D}${sysconfdir}/default/volatiles
+    echo "d root root 0755 ${localstatedir}/log/cluster none" > ${D}${sysconfdir}/default/volatiles/05_corosync
+
+    if [ ${@bb.utils.filter('PACKAGECONFIG', 'qnetd', d)} ]; then
+        chown -R coroqnetd:coroqnetd ${D}${sysconfdir}/${BPN}/qnetd
+        echo "d coroqnetd coroqnetd 0770 /var/run/corosync-qnetd none" >> ${D}${sysconfdir}/default/volatiles/05_corosync
+    fi
+
+    if [ ${@bb.utils.filter('DISTRO_FEATURES','systemd',d)} ]; then
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        echo "d ${localstatedir}/log/cluster - - - -" > ${D}${sysconfdir}/tmpfiles.d/corosync.conf
+
+        if [ ${@bb.utils.filter('PACKAGECONFIG', 'qnetd', d)} ]; then
+            install -m 0644 ${S}/conf/tmpfiles.d/corosync-qnetd.conf ${D}${sysconfdir}/tmpfiles.d
+        fi
+    fi
+}
+
+RDEPENDS_${PN} += "bash ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}"
+
+FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
+FILES_${PN}-doc += "${datadir}/snmp/mibs/COROSYNC-MIB.txt"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system coroqnetd"
+USERADD_PARAM_${PN} = "--system -d / -M -s /bin/nologin -c 'User for corosync-qnetd' -g coroqnetd coroqnetd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/iscsitarget_1.4.20.3+svn502.bb b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/iscsitarget_1.4.20.3+svn502.bb
index 6593661..5d13591 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/iscsitarget_1.4.20.3+svn502.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/iscsitarget_1.4.20.3+svn502.bb
@@ -60,3 +60,5 @@
 
 RDEPENDS_${PN} = "kernel-module-iscsi-trgt"
 RRECOMMENDS_${PN} = "kernel-module-crc32c kernel-module-libcrc32c"
+
+PNBLACKLIST[iscsitarget] = "error: implicit declaration of function 'init_timer'; did you mean 'init_timers'?; 4.15 kernel issues"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common
index 640025d..1ae18fe 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common
@@ -20,7 +20,7 @@
 config=/etc/default/$prog
 [ -f "$config" ] && . "$config"
 
-function get_supported_tables() {
+get_supported_tables() {
 	EBTABLES_SUPPORTED_TABLES=
 	/sbin/ebtables -t filter -L 2>&1 1>/dev/null | grep -q permission
 	if [ $? -eq 0 ]; then
@@ -35,7 +35,7 @@
 	done
 }
 
-function load() {
+load() {
 	RETVAL=0
 	get_supported_tables
 	echo -n "Restoring ebtables rulesets: "
@@ -64,7 +64,7 @@
 	fi
 }
 
-function clear() {
+clear_rules() {
 	RETVAL=0
 	get_supported_tables
 	echo -n "Clearing ebtables rulesets: "
@@ -90,7 +90,7 @@
 	fi
 }
 
-function save() {
+save() {
 	RETVAL=0
 	get_supported_tables
 	echo -n "Saving ebtables rulesets: "
@@ -127,11 +127,11 @@
 	;;
   stop)
 	[ "$EBTABLES_SAVE_ON_STOP" = "yes" ] && save
-	clear
+	clear_rules
 	;;
   restart|reload|force-reload)
 	[ "$EBTABLES_SAVE_ON_RESTART" = "yes" ] && save
-	clear
+	clear_rules
 	[ "$EBTABLES_LOAD_ON_START" = "yes" ] && load
 	;;
   load)
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
index d5e7341..b9dce69 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb
@@ -29,9 +29,10 @@
            file://0007-extensions-Use-stdint-types.patch \
            file://0008-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch \
            file://0009-ebtables-Allow-RETURN-target-rules-in-user-defined-c.patch \
-           file://0010-Adjust-header-include-sequence.patch \
            "
 
+SRC_URI_append_libc-musl = " file://0010-Adjust-header-include-sequence.patch"
+
 SRC_URI[md5sum] = "506742a3d44b9925955425a659c1a8d0"
 SRC_URI[sha256sum] = "dc6f7b484f207dc712bfca81645f45120cb6aee3380e77a1771e9c34a9a4455d"
 
@@ -42,10 +43,10 @@
 python __anonymous () {
     import re
 
-    karch = d.getVar('KARCH')
+    karch = d.getVar('TARGET_ARCH')
     multilib = d.getVar('MLPREFIX')
 
-    if multilib and karch == 'powerpc64':
+    if multilib and ( karch == 'powerpc64' or karch == 'arm' ):
         searchstr = "lib.?32"
         reg = re.compile(searchstr)
         if reg.search(multilib):
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cthelper-visibility-hidden.patch b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cthelper-visibility-hidden.patch
index 9377f57..e717d5b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cthelper-visibility-hidden.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/files/libnetfilter-cthelper-visibility-hidden.patch
@@ -20,10 +20,10 @@
  src/libnetfilter_cthelper.c | 83 ++++++++++++++++++---------------------------
  3 files changed, 36 insertions(+), 54 deletions(-)
 
-diff --git a/doxygen.cfg.in b/doxygen.cfg.in
-index cac9b05..190b7cd 100644
---- a/doxygen.cfg.in
-+++ b/doxygen.cfg.in
+Index: libnetfilter_cthelper-1.0.0/doxygen.cfg.in
+===================================================================
+--- libnetfilter_cthelper-1.0.0.orig/doxygen.cfg.in
++++ libnetfilter_cthelper-1.0.0/doxygen.cfg.in
 @@ -72,7 +72,7 @@ RECURSIVE              = YES
  EXCLUDE                = 
  EXCLUDE_SYMLINKS       = NO
@@ -33,10 +33,10 @@
  EXAMPLE_PATH           = 
  EXAMPLE_PATTERNS       = 
  EXAMPLE_RECURSIVE      = NO
-diff --git a/src/internal.h b/src/internal.h
-index 3a88d1a..5d78171 100644
---- a/src/internal.h
-+++ b/src/internal.h
+Index: libnetfilter_cthelper-1.0.0/src/internal.h
+===================================================================
+--- libnetfilter_cthelper-1.0.0.orig/src/internal.h
++++ libnetfilter_cthelper-1.0.0/src/internal.h
 @@ -3,10 +3,9 @@
  
  #include "config.h"
@@ -50,10 +50,10 @@
  #endif
  
  #endif
-diff --git a/src/libnetfilter_cthelper.c b/src/libnetfilter_cthelper.c
-index f8f58e6..af543a1 100644
---- a/src/libnetfilter_cthelper.c
-+++ b/src/libnetfilter_cthelper.c
+Index: libnetfilter_cthelper-1.0.0/src/libnetfilter_cthelper.c
+===================================================================
+--- libnetfilter_cthelper-1.0.0.orig/src/libnetfilter_cthelper.c
++++ libnetfilter_cthelper-1.0.0/src/libnetfilter_cthelper.c
 @@ -99,17 +99,16 @@ struct nfct_helper {
   * In case of success, this function returns a valid pointer, otherwise NULL
   * s returned and errno is appropriately set.
@@ -74,9 +74,9 @@
  {
  	int i;
  
-@@ -119,7 +118,6 @@ void nfct_helper_free(struct nfct_helper *h)
+@@ -119,7 +118,6 @@ void nfct_helper_free(struct nfct_helper
+ 			free(h->expect_policy[i]);
  	}
- 	free(h);
  }
 -EXPORT_SYMBOL(nfct_helper_free);
  
@@ -115,7 +115,7 @@
  nfct_helper_policy_attr_set(struct nfct_helper_policy *p,
  			    enum nfct_helper_policy_attr_type type,
  			    const void *data)
-@@ -170,7 +166,6 @@ nfct_helper_policy_attr_set(struct nfct_helper_policy *p,
+@@ -170,7 +166,6 @@ nfct_helper_policy_attr_set(struct nfct_
  		break;
  	}
  }
@@ -123,7 +123,7 @@
  
  /**
   * nfct_helper_attr_set_str - set one attribute the helper object
-@@ -178,23 +173,21 @@ EXPORT_SYMBOL(nfct_helper_policy_attr_set);
+@@ -178,23 +173,21 @@ EXPORT_SYMBOL(nfct_helper_policy_attr_se
   * \param type attribute type you want to set
   * \param name string that will be used to set this attribute
   */
@@ -149,7 +149,7 @@
  
  /**
   * nfct_helper_attr_set - set one attribute of the helper object
-@@ -202,7 +195,7 @@ EXPORT_SYMBOL(nfct_helper_policy_attr_set_u32);
+@@ -202,7 +195,7 @@ EXPORT_SYMBOL(nfct_helper_policy_attr_se
   * \param type attribute type you want to set
   * \param data pointer to data that will be used to set this attribute
   */
@@ -158,7 +158,7 @@
  nfct_helper_attr_set(struct nfct_helper *h,
  		     enum nfct_helper_attr_type type, const void *data)
  {
-@@ -250,7 +243,6 @@ nfct_helper_attr_set(struct nfct_helper *h,
+@@ -250,7 +243,6 @@ nfct_helper_attr_set(struct nfct_helper
  		break;
  	}
  }
@@ -216,7 +216,7 @@
  nfct_helper_attr_unset(struct nfct_helper *nfct_helper, enum nfct_helper_attr_type type)
  {
  	switch(type) {
-@@ -307,7 +295,6 @@ nfct_helper_attr_unset(struct nfct_helper *nfct_helper, enum nfct_helper_attr_ty
+@@ -307,7 +295,6 @@ nfct_helper_attr_unset(struct nfct_helpe
  		break;
  	}
  }
@@ -236,7 +236,7 @@
  {
  	const void *ret = NULL;
  
-@@ -358,7 +346,6 @@ const void *nfct_helper_attr_get(struct nfct_helper *helper,
+@@ -358,7 +346,6 @@ const void *nfct_helper_attr_get(struct
  	}
  	return ret;
  }
@@ -321,7 +321,7 @@
  {
  	int ret;
  
-@@ -454,7 +441,6 @@ int nfct_helper_snprintf(char *buf, size_t size,
+@@ -454,7 +441,6 @@ int nfct_helper_snprintf(char *buf, size
  
  	return ret;
  }
@@ -338,7 +338,7 @@
  nfct_helper_nlmsg_build_hdr(char *buf, uint8_t cmd,
  			    uint16_t flags, uint32_t seq)
  {
-@@ -509,7 +495,6 @@ nfct_helper_nlmsg_build_hdr(char *buf, uint8_t cmd,
+@@ -509,7 +495,6 @@ nfct_helper_nlmsg_build_hdr(char *buf, u
  
  	return nlh;
  }
@@ -346,7 +346,7 @@
  
  static void
  nfct_helper_nlmsg_build_policy(struct nlmsghdr *nlh,
-@@ -530,7 +515,7 @@ nfct_helper_nlmsg_build_policy(struct nlmsghdr *nlh,
+@@ -530,7 +515,7 @@ nfct_helper_nlmsg_build_policy(struct nl
   * \param nlh: netlink message that you want to use to add the payload.
   * \param nfct_helper: pointer to a helper object
   */
@@ -355,7 +355,7 @@
  nfct_helper_nlmsg_build_payload(struct nlmsghdr *nlh, struct nfct_helper *h)
  {
  	struct nlattr *nest;
-@@ -593,7 +578,6 @@ nfct_helper_nlmsg_build_payload(struct nlmsghdr *nlh, struct nfct_helper *h)
+@@ -593,7 +578,6 @@ nfct_helper_nlmsg_build_payload(struct n
  	if (h->bitset & (1 << NFCTH_ATTR_STATUS))
  		mnl_attr_put_u32(nlh, NFCTH_STATUS, ntohl(h->status));
  }
@@ -363,7 +363,7 @@
  
  static int
  nfct_helper_nlmsg_parse_tuple_cb(const struct nlattr *attr, void *data)
-@@ -795,7 +779,7 @@ nfct_helper_nlmsg_parse_attr_cb(const struct nlattr *attr, void *data)
+@@ -795,7 +779,7 @@ nfct_helper_nlmsg_parse_attr_cb(const st
   * This function returns -1 in case that some mandatory attributes are
   * missing. On sucess, it returns 0.
   */
@@ -372,7 +372,7 @@
  nfct_helper_nlmsg_parse_payload(const struct nlmsghdr *nlh,
  				struct nfct_helper *h)
  {
-@@ -832,7 +816,6 @@ nfct_helper_nlmsg_parse_payload(const struct nlmsghdr *nlh,
+@@ -832,7 +816,6 @@ nfct_helper_nlmsg_parse_payload(const st
  	}
  	return 0;
  }
@@ -380,6 +380,3 @@
  
  /**
   * @}
--- 
-cgit v1.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170810.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170810.bb
rename to import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170810.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170810.bb
rename to import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
index f37d52b..6bd581a 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
@@ -11,7 +11,7 @@
 LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz"
-SRC_URI[md5sum] = "8dd3e080407b8295c25565a847a4ca27"
-SRC_URI[sha256sum] = "ab96230390625aad6f4816fa23aef6e9f7fee130f083d838919129ff12089bf7"
+SRC_URI[md5sum] = "39bb99fe11356423fb1ab45ae2d938bb"
+SRC_URI[sha256sum] = "2b97697e9b271ba8836a04120a287b824648124f21d5309170ec51c1f86ac5ed"
 
 S = "${WORKDIR}/WireGuard-${PV}/src/"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch
new file mode 100644
index 0000000..71a5a1a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch
@@ -0,0 +1,223 @@
+Replace murmurhash algorithm with Robert Jenkin's hash algorithm
+
+Upstream-Status: Pending
+
+From test result, murmurhash algorithm does not work in big endian
+processor, so replace it with Robert Jenkin's hash which has worked
+in linux kernel for many years and has more adaptability.
+
+Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+---
+ libfdproto/ostr.c |  192 +++++++++++++++++++++--------------------------------
+ 1 file changed, 74 insertions(+), 118 deletions(-)
+
+diff --git a/libfdproto/ostr.c b/libfdproto/ostr.c
+index 8f29b48..ce1f4dd 100644
+--- a/libfdproto/ostr.c
++++ b/libfdproto/ostr.c
+@@ -430,128 +430,84 @@ after_proto:
+ 
+ 
+ /********************************************************************************************************/
+-/* Hash function -- credits to Austin Appleby, thank you ^^ */
+-/* See http://murmurhash.googlepages.com for more information on this function */
+-
+-/* the strings are NOT always aligned properly (ex: received in RADIUS message), so we use the aligned MurmurHash2 function as needed */
+-#define _HASH_MIX(h,k,m) { k *= m; k ^= k >> r; k *= m; h *= m; h ^= k; }
+-uint32_t fd_os_hash ( uint8_t * string, size_t len )
++/*
++ * Robert Jenkin's hash function.
++ * http://burtleburtle.net/bob/hash/evahash.html
++ * This is in the public domain.
++ */
++#define mix(a, b, c)						\
++	do {							\
++		a = a - b;  a = a - c;  a = a ^ (c >> 13);	\
++		b = b - c;  b = b - a;  b = b ^ (a << 8);	\
++		c = c - a;  c = c - b;  c = c ^ (b >> 13);	\
++		a = a - b;  a = a - c;  a = a ^ (c >> 12);	\
++		b = b - c;  b = b - a;  b = b ^ (a << 16);	\
++		c = c - a;  c = c - b;  c = c ^ (b >> 5);	\
++		a = a - b;  a = a - c;  a = a ^ (c >> 3);	\
++		b = b - c;  b = b - a;  b = b ^ (a << 10);	\
++		c = c - a;  c = c - b;  c = c ^ (b >> 15);	\
++	} while (0)
++
++unsigned hash_rjenkins(const char *str, unsigned length)
+ {
+-	uint32_t hash = len;
+-	uint8_t * data = string;
+-	
+-	const unsigned int m = 0x5bd1e995;
+-	const int r = 24;
+-	int align = (long)string & 3;
+-	
+-	if (!align || (len < 4)) {
+-		/* In case data is aligned, MurmurHash2 function */
+-		while(len >= 4)
+-		{
+-			/* Mix 4 bytes at a time into the hash */
+-			uint32_t k = *(uint32_t *)data;	/* We don't care about the byte order */
+-
+-			_HASH_MIX(hash, k, m);
+-
+-			data += 4;
+-			len -= 4;
+-		}
+-
+-		/* Handle the last few bytes of the input */
+-		switch(len) {
+-			case 3: hash ^= data[2] << 16;
+-			case 2: hash ^= data[1] << 8;
+-			case 1: hash ^= data[0];
+-	        		hash *= m;
+-		}
+-		
+-	} else {
+-		/* Unaligned data, use alignment-safe slower version */
+-		
+-		/* Pre-load the temp registers */
+-		uint32_t t = 0, d = 0;
+-		switch(align)
+-		{
+-			case 1: t |= data[2] << 16;
+-			case 2: t |= data[1] << 8;
+-			case 3: t |= data[0];
+-		}
+-		t <<= (8 * align);
+-
+-		data += 4-align;
+-		len -= 4-align;
+-		
+-		/* From this point, "data" can be read by chunks of 4 bytes */
+-		
+-		int sl = 8 * (4-align);
+-		int sr = 8 * align;
+-
+-		/* Mix */
+-		while(len >= 4)
+-		{
+-			uint32_t k;
+-			
+-			d = *(unsigned int *)data;
+-			k = (t >> sr) | (d << sl);
+-
+-			_HASH_MIX(hash, k, m);
+-
+-			t = d;
+-
+-			data += 4;
+-			len -= 4;
+-		}
+-
+-		/* Handle leftover data in temp registers */
+-		d = 0;
+-		if(len >= align)
+-		{
+-			uint32_t k;
+-			
+-			switch(align)
+-			{
+-			case 3: d |= data[2] << 16;
+-			case 2: d |= data[1] << 8;
+-			case 1: d |= data[0];
+-			}
+-
+-			k = (t >> sr) | (d << sl);
+-			_HASH_MIX(hash, k, m);
+-
+-			data += align;
+-			len -= align;
+-
+-			/* Handle tail bytes */
+-
+-			switch(len)
+-			{
+-			case 3: hash ^= data[2] << 16;
+-			case 2: hash ^= data[1] << 8;
+-			case 1: hash ^= data[0];
+-					hash *= m;
+-			};
+-		}
+-		else
+-		{
+-			switch(len)
+-			{
+-			case 3: d |= data[2] << 16;
+-			case 2: d |= data[1] << 8;
+-			case 1: d |= data[0];
+-			case 0: hash ^= (t >> sr) | (d << sl);
+-					hash *= m;
+-			}
+-		}
+-
++	const unsigned char *k = (const unsigned char *)str;
++	uint32_t a, b, c;  /* the internal state */
++	uint32_t len;      /* how many key bytes still need mixing */
++
++	/* Set up the internal state */
++	len = length;
++	a = 0x9e3779b9;      /* the golden ratio; an arbitrary value */
++	b = a;
++	c = 0;               /* variable initialization of internal state */
++
++	/* handle most of the key */
++	while (len >= 12) {
++		a = a + (k[0] + ((uint32_t)k[1] << 8) + ((uint32_t)k[2] << 16) +
++			 ((uint32_t)k[3] << 24));
++		b = b + (k[4] + ((uint32_t)k[5] << 8) + ((uint32_t)k[6] << 16) +
++			 ((uint32_t)k[7] << 24));
++		c = c + (k[8] + ((uint32_t)k[9] << 8) + ((uint32_t)k[10] << 16) +
++			 ((uint32_t)k[11] << 24));
++		mix(a, b, c);
++		k = k + 12;
++		len = len - 12;
++	}
+ 
++	/* handle the last 11 bytes */
++	c = c + length;
++	switch (len) {            /* all the case statements fall through */
++	case 11:
++		c = c + ((uint32_t)k[10] << 24);
++	case 10:
++		c = c + ((uint32_t)k[9] << 16);
++	case 9:
++		c = c + ((uint32_t)k[8] << 8);
++		/* the first byte of c is reserved for the length */
++	case 8:
++		b = b + ((uint32_t)k[7] << 24);
++	case 7:
++		b = b + ((uint32_t)k[6] << 16);
++	case 6:
++		b = b + ((uint32_t)k[5] << 8);
++	case 5:
++		b = b + k[4];
++	case 4:
++		a = a + ((uint32_t)k[3] << 24);
++	case 3:
++		a = a + ((uint32_t)k[2] << 16);
++	case 2:
++		a = a + ((uint32_t)k[1] << 8);
++	case 1:
++		a = a + k[0];
++		/* case 0: nothing left to add */
+ 	}
++	mix(a, b, c);
+ 
+-	/* Do a few final mixes of the hash to ensure the last few
+-	   bytes are well-incorporated. */
+-	hash ^= hash >> 13;
+-	hash *= m;
+-	hash ^= hash >> 15;
++	return c;
++}
+ 
+-	return hash;
++uint32_t fd_os_hash ( uint8_t * string, size_t len )
++{
++	return hash_rjenkins(string, len); 
+ } 
+ 
+-- 
+1.7.10.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/freeDiameter.conf b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/freeDiameter.conf
new file mode 100644
index 0000000..7b56d74
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/freeDiameter.conf
@@ -0,0 +1,250 @@
+# This is a sample configuration file for freeDiameter daemon.
+
+# Most of the options can be omitted, as they default to reasonable values.
+# Only TLS-related options must be configured properly in usual setups.
+
+# It is possible to use "include" keyword to import additional files
+# e.g.: include "/etc/freeDiameter.d/*.conf"
+# This is exactly equivalent as copy & paste the content of the included file(s) 
+# where the "include" keyword is found.
+
+
+##############################################################
+##  Peer identity and realm 
+
+# The Diameter Identity of this daemon.
+# This must be a valid FQDN that resolves to the local host.
+# Default: hostname's FQDN
+#Identity = "aaa.koganei.freediameter.net";
+
+# The Diameter Realm of this daemon.
+# Default: the domain part of Identity (after the first dot).
+#Realm = "koganei.freediameter.net";
+
+##############################################################
+##  Transport protocol configuration
+
+# The port this peer is listening on for incoming connections (TCP and SCTP).
+# Default: 3868. Use 0 to disable.
+#Port = 3868;
+
+# The port this peer is listening on for incoming TLS-protected connections (TCP and SCTP).
+# See TLS_old_method for more information about TLS flavours.
+# Note: we use TLS/SCTP instead of DTLS/SCTP at the moment. This will change in future version of freeDiameter.
+# Default: 5868. Use 0 to disable.
+#SecPort = 5868;
+
+# Use RFC3588 method for TLS protection, where TLS is negociated after CER/CEA exchange is completed 
+# on the unsecure connection. The alternative is RFC6733 mechanism, where TLS protects also the 
+# CER/CEA exchange on a dedicated secure port.
+# This parameter only affects outgoing connections. 
+# The setting can be also defined per-peer (see Peers configuration section).
+# Default: use RFC6733 method with separate port for TLS.
+#TLS_old_method;
+
+# Disable use of TCP protocol (only listen and connect over SCTP)
+# Default : TCP enabled
+#No_TCP;
+
+# Disable use of SCTP protocol (only listen and connect over TCP)
+# Default : SCTP enabled
+#No_SCTP;
+# This option is ignored if freeDiameter is compiled with DISABLE_SCTP option.
+
+# Prefer TCP instead of SCTP for establishing new connections.
+# This setting may be overwritten per peer in peer configuration blocs.
+# Default : SCTP is attempted first.
+#Prefer_TCP;
+
+# Default number of streams per SCTP associations.
+# This setting may be overwritten per peer basis.
+# Default : 30 streams
+#SCTP_streams = 30;
+
+##############################################################
+##  Endpoint configuration
+
+# Disable use of IP addresses (only IPv6)
+# Default : IP enabled
+#No_IP;
+
+# Disable use of IPv6 addresses (only IP)
+# Default : IPv6 enabled
+#No_IPv6;
+
+# Specify local addresses the server must bind to
+# Default : listen on all addresses available.
+#ListenOn = "202.249.37.5";
+#ListenOn = "2001:200:903:2::202:1";
+#ListenOn = "fe80::21c:5ff:fe98:7d62%eth0";
+
+
+##############################################################
+##  Server configuration
+
+# How many Diameter peers are allowed to be connecting at the same time ?
+# This parameter limits the number of incoming connections from the time
+# the connection is accepted until the first CER is received.
+# Default: 5 unidentified clients in paralel.
+#ThreadsPerServer = 5;
+
+##############################################################
+##  TLS Configuration
+
+# TLS is managed by the GNUTLS library in the freeDiameter daemon.
+# You may find more information about parameters and special behaviors
+# in the relevant documentation.
+# http://www.gnu.org/software/gnutls/manual/
+
+# Credentials of the local peer
+# The X509 certificate and private key file to use for the local peer.
+# The files must contain PKCS-1 encoded RSA key, in PEM format.
+# (These parameters are passed to gnutls_certificate_set_x509_key_file function)
+# Default : NO DEFAULT
+#TLS_Cred = "<x509 certif file.PEM>" , "<x509 private key file.PEM>";
+#TLS_Cred = "/etc/ssl/certs/freeDiameter.pem", "/etc/ssl/private/freeDiameter.key";
+
+# Certificate authority / trust anchors
+# The file containing the list of trusted Certificate Authorities (PEM list)
+# (This parameter is passed to gnutls_certificate_set_x509_trust_file function)
+# The directive can appear several times to specify several files.
+# Default : GNUTLS default behavior
+#TLS_CA = "<file.PEM>";
+
+# Certificate Revocation List file
+# The information about revoked certificates.
+# The file contains a list of trusted CRLs in PEM format. They should have been verified before. 
+# (This parameter is passed to gnutls_certificate_set_x509_crl_file function)
+# Note: openssl CRL format might have interoperability issue with GNUTLS format.
+# Default : GNUTLS default behavior
+#TLS_CRL = "<file.PEM>";
+
+# GNU TLS Priority string
+# This string allows to configure the behavior of GNUTLS key exchanges 
+# algorithms. See gnutls_priority_init function documentation for information.
+# You should also refer to the Diameter required TLS support here:
+#   http://tools.ietf.org/html/rfc6733#section-13.1
+# Default : "NORMAL"
+# Example: TLS_Prio = "NONE:+VERS-TLS1.1:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL";
+#TLS_Prio = "NORMAL";
+
+# Diffie-Hellman parameters size
+# Set the number of bits for generated DH parameters
+# Valid value should be 768, 1024, 2048, 3072 or 4096.
+# (This parameter is passed to gnutls_dh_params_generate2 function, 
+# it usually should match RSA key size)
+# Default : 1024
+#TLS_DH_Bits = 1024;
+
+# Alternatively, you can specify a file to load the PKCS#3 encoded
+# DH parameters directly from. This accelerates the daemon start 
+# but is slightly less secure. If this file is provided, the
+# TLS_DH_Bits parameters has no effect.
+# Default : no default.
+#TLS_DH_File = "<file.PEM>";
+
+
+##############################################################
+##  Timers configuration
+
+# The Tc timer of this peer.
+# It is the delay before a new attempt is made to reconnect a disconnected peer.
+# The value is expressed in seconds. The recommended value is 30 seconds.
+# Default: 30
+#TcTimer = 30;
+
+# The Tw timer of this peer.
+# It is the delay before a watchdog message is sent, as described in RFC 3539.
+# The value is expressed in seconds. The default value is 30 seconds. Value must
+# be greater or equal to 6 seconds. See details in the RFC.
+# Default: 30
+#TwTimer = 30;
+
+##############################################################
+##  Applications configuration
+
+# Disable the relaying of Diameter messages?
+# For messages not handled locally, the default behavior is to forward the
+# message to another peer if any is available, according to the routing 
+# algorithms. In addition the "0xffffff" application is advertised in CER/CEA 
+# exchanges.
+# Default: Relaying is enabled.
+#NoRelay;
+
+# Number of server threads that can handle incoming messages at the same time.
+# Default: 4
+#AppServThreads = 4;
+
+# Other applications are configured by loaded extensions.
+
+##############################################################
+##  Extensions configuration
+
+#  The freeDiameter framework merely provides support for
+# Diameter Base Protocol. The specific application behaviors,
+# as well as advanced functions, are provided
+# by loadable extensions (plug-ins).
+#  These extensions may in addition receive the name of a 
+# configuration file, the format of which is extension-specific.
+#
+# Format:
+#LoadExtension = "/path/to/extension" [ : "/optional/configuration/file" ] ;
+#
+# Examples:
+#LoadExtension = "extensions/sample.fdx";
+#LoadExtension = "extensions/sample.fdx":"conf/sample.conf";
+
+# Extensions are named as follow:
+# dict_* for extensions that add content to the dictionary definitions.
+# dbg_*  for extensions useful only to retrieve more information on the framework execution.
+# acl_*  : Access control list, to control which peers are allowed to connect.
+# rt_*   : routing extensions that impact how messages are forwarded to other peers.
+# app_*  : applications, these extensions usually register callbacks to handle specific messages.
+# test_* : dummy extensions that are useful only in testing environments.
+
+
+# The dbg_msg_dump.fdx extension allows you to tweak the way freeDiameter displays some
+# information about some events. This extension does not actually use a configuration file
+# but receives directly a parameter in the string passed to the extension. Here are some examples:
+## LoadExtension = "dbg_msg_dumps.fdx" : "0x1111"; # Removes all default hooks, very quiet even in case of errors.
+## LoadExtension = "dbg_msg_dumps.fdx" : "0x2222"; # Display all events with few details.
+## LoadExtension = "dbg_msg_dumps.fdx" : "0x0080"; # Dump complete information about sent and received messages.
+# The four digits respectively control: connections, routing decisions, sent/received messages, errors.
+# The values for each digit are:
+#  0 - default - keep the default behavior
+#  1 - quiet   - remove any specific log
+#  2 - compact - display only a summary of the information
+#  4 - full    - display the complete information on a single long line
+#  8 - tree    - display the complete information in an easier to read format spanning several lines.
+
+
+##############################################################
+##  Peers configuration
+
+#  The local server listens for incoming connections. By default,
+# all unknown connecting peers are rejected. Extensions can override this behavior (e.g., acl_wl).
+# 
+#  In addition to incoming connections, the local peer can
+# be configured to establish and maintain connections to some 
+# Diameter nodes and allow connections from these nodes.
+#  This is achieved with the ConnectPeer directive described below.
+#
+# Note that the configured Diameter Identity MUST match
+# the information received inside CEA, or the connection will be aborted.
+#
+# Format:
+#ConnectPeer = "diameterid" [ { parameter1; parameter2; ...} ] ;
+# Parameters that can be specified in the peer's parameter list:
+#  No_TCP; No_SCTP; No_IP; No_IPv6; Prefer_TCP; TLS_old_method;
+#  No_TLS;       # assume transparent security instead of TLS. DTLS is not supported yet (will change in future versions).
+#  Port = 5868;  # The port to connect to
+#  TcTimer = 30;
+#  TwTimer = 30;
+#  ConnectTo = "202.249.37.5";
+#  ConnectTo = "2001:200:903:2::202:1";
+#  TLS_Prio = "NORMAL";
+#  Realm = "realm.net"; # Reject the peer if it does not advertise this realm.
+# Examples:
+#ConnectPeer = "aaa.wide.ad.jp";
+#ConnectPeer = "old.diameter.serv" { TcTimer = 60; TLS_old_method; No_SCTP; Port=3868; } ;
+##############################################################
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/freediameter.init b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/freediameter.init
new file mode 100755
index 0000000..e63a42a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/freediameter.init
@@ -0,0 +1,72 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides:          freediameter
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Short-Description: Start freeDiameter daemon at boot time
+# Description:       Start the freeDiameter daemon at boot time.
+#       freeDiameter is an extensible implementation of the Diameter protocol,
+#       designed for Authentication, Authorization and Accounting. Diameter is
+#       an evolution of the RADIUS protocol.
+### END INIT INFO#
+DAEMON=/usr/bin/freeDiameterd
+CONF=/etc/freeDiameter/freeDiameter.conf
+NAME=freediameter
+DESC="freeDiameter daemon"
+
+. /etc/init.d/functions
+start() {
+	[ -x $DAEMON ] || exit 5
+	echo -n $"Starting $DAEMON: "
+	start-stop-daemon -S -b -x ${DAEMON} && success || failure
+	retval=$?
+	echo ""
+	return $retval
+}
+
+stop() {
+	echo -n $"Stopping $prog: "
+	start-stop-daemon -K -x $DAEMON
+	retval=$?
+	echo ""
+	return $retval
+}
+
+restart() {
+	stop
+	sleep 3
+	start
+}
+
+rh_status() {
+	status $DAEMON
+}
+
+rh_status_q() {
+	rh_status > /dev/null 2>&1
+}
+
+case "$1" in
+  start)
+	rh_status_q && exit 0
+	start
+	;;
+  stop)
+	rh_status_q || exit 0
+	stop
+	;;
+  restart)
+	restart
+	;;
+  status)
+	rh_status
+	;;
+  *)
+	echo $"Usage: $prog {start|stop|status|restart}"
+	exit 2
+esac
+
+exit $?
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/freediameter.service b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/freediameter.service
new file mode 100644
index 0000000..514481b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/freediameter.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=freediameter daemon
+After=network.target
+
+[Service]
+Type=simple
+PIDFile=/var/run/freediameter.pid
+ExecStart=@BINDIR@/freeDiameterd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/install_test.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/install_test.patch
new file mode 100644
index 0000000..151037d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/install_test.patch
@@ -0,0 +1,22 @@
+CMakeLists: add an option to install tests
+
+Upstream-Status: Inappropriate [OE ptest specific]
+
+Original author: Yao Zhao <yao.zhao@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index da8da1b..de04059 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -113,4 +113,9 @@ ENDFOREACH( TEST )
+ ####
+ ## INSTALL section ##
+ 
+-# we do not install the tests
++# install the tests
++SET(INSTALL_TEST_SUFFIX       /opt/${FD_PROJECT_NAME}-tests   CACHE PATH "Directory where the test binary is installed.")
++
++INSTALL(TARGETS ${TEST_LIST}
++        RUNTIME DESTINATION ${INSTALL_TEST_SUFFIX}
++        COMPONENT freeDiameter-common)
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/pass-ptest-env.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/pass-ptest-env.patch
new file mode 100644
index 0000000..ea857af
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/pass-ptest-env.patch
@@ -0,0 +1,72 @@
+freediameter ptest cases testmesg_stress.c and testloadext.c need load
+extensions both build time and runtime. Then they search extensions with
+build directory that causes runtime failures.
+
+Pass an environment variable to define runtime extension path.
+
+Upstream-Status: Inappropriate [OE ptest specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+diff -Nur freeDiameter-1.2.0.orig/tests/testloadext.c freeDiameter-1.2.0/tests/testloadext.c
+--- freeDiameter-1.2.0.orig/tests/testloadext.c	2014-02-19 17:33:24.785405032 +0800
++++ freeDiameter-1.2.0/tests/testloadext.c	2014-02-19 20:08:03.871403924 +0800
+@@ -49,7 +49,7 @@
+ {
+ 	DIR *dir;
+ 	struct dirent *dp;
+-	char fullname[512];
++	char fullname[1024];
+ 	int pathlen;
+ 
+ 	/* First, initialize the daemon modules */
+@@ -57,11 +57,16 @@
+ 	CHECK( 0, fd_queues_init()  );
+ 	CHECK( 0, fd_msg_init()  );
+ 	CHECK( 0, fd_rtdisp_init()  );
+-	
++
++	char *ext_dir = getenv("EXTENSIONS_DIR");
++	if (ext_dir)
++		pathlen = snprintf(fullname, sizeof(fullname), "%s", ext_dir);
++	else
++		pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
++
+ 	/* Find all extensions which have been compiled along the test */
+-	TRACE_DEBUG(INFO, "Loading from: '%s'", BUILD_DIR "/extensions");
+-	CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 );
+-	pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
++	TRACE_DEBUG(INFO, "Loading from: '%s'", fullname);
++	CHECK( 0, (dir = opendir (fullname)) == NULL ? 1 : 0 );
+ 	
+ 	while ((dp = readdir (dir)) != NULL) {
+ 		char * dot = strrchr(dp->d_name, '.');
+diff -Nur freeDiameter-1.2.0.orig/tests/testmesg_stress.c freeDiameter-1.2.0/tests/testmesg_stress.c
+--- freeDiameter-1.2.0.orig/tests/testmesg_stress.c	2014-02-19 17:33:24.785405032 +0800
++++ freeDiameter-1.2.0/tests/testmesg_stress.c	2014-02-19 20:08:03.928403924 +0800
+@@ -67,15 +67,20 @@
+ {
+ 	DIR *dir;
+ 	struct dirent *dp;
+-	char fullname[512];
++	char fullname[1024];
+ 	int pathlen;
+ 	struct fd_list all_extensions = FD_LIST_INITIALIZER(all_extensions);
+ 	struct fd_list ext_with_depends = FD_LIST_INITIALIZER(ext_with_depends);
+ 
++	char *ext_dir = getenv("EXTENSIONS_DIR");
++	if (ext_dir)
++		pathlen = snprintf(fullname, sizeof(fullname), "%s", ext_dir);
++	else
++		pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
++
+ 	/* Find all extensions which have been compiled along the test */
+-	LOG_D("Loading %s*.fdx from: '%s'", BUILD_DIR "/extensions", prefix ?: "");
+-	CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 );
+-	pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/");
++	TRACE_DEBUG(INFO, "Loading from: '%s'", fullname);
++	CHECK( 0, (dir = opendir (fullname)) == NULL ? 1 : 0 );
+ 	
+ 	while ((dp = readdir (dir)) != NULL) {
+ 		char * dot = strrchr(dp->d_name, '.');
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/run-ptest b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/run-ptest
new file mode 100644
index 0000000..d0ca8d9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/files/run-ptest
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+if ! lsmod | grep -q sctp && ! modprobe sctp 2>/dev/null; then
+        echo "Couldn't load kernel module sctp."
+        echo "Test cases testsctp and testcnx will fail."
+        echo
+fi
+
+export EXTENSIONS_DIR=$EXTENSIONS_DIR
+cmake  -E cmake_echo_color --cyan "Running tests..."
+ctest --force-new-ctest-process
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb
new file mode 100644
index 0000000..c556eb4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb
@@ -0,0 +1,138 @@
+SUMMARY = "An open source implementation of the diameter protocol"
+DESCRIPTION = "\
+freeDiameter is an open source Diameter protocol implementation \
+(RFC3588). It provides an extensible platform for deploying a \
+Diameter network for your Authentication, Authorization and \
+Accounting needs."
+
+HOMEPAGE = "http://www.freediameter.net"
+
+DEPENDS = "flex bison cmake-native libgcrypt gnutls libidn lksctp-tools virtual/kernel"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+fd_pkgname = "freeDiameter"
+
+SRC_URI = "\
+    http://www.freediameter.net/hg/${fd_pkgname}/archive/${PV}.tar.gz;downloadfilename=${fd_pkgname}-${PV}.tar.gz \
+    file://Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch \
+    file://freediameter.service \
+    file://freediameter.init \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://pass-ptest-env.patch', '', d)} \
+    file://freeDiameter.conf \
+    "
+
+SRC_URI[md5sum] = "61b1062aa144b5f12eed514611e6d697"
+SRC_URI[sha256sum] = "bd7f105542e9903e776aa006c6931c1f5d3d477cb59af33a9162422efa477097"
+
+S = "${WORKDIR}/${fd_pkgname}-${PV}"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=892b2ed6ae815488a08416ff7ee74a35"
+
+PTEST_PATH = "${libdir}/${fd_pkgname}/ptest"
+
+inherit cmake pkgconfig update-rc.d ptest systemd
+
+EXTRA_OECMAKE = " \
+    -DDEFAULT_CONF_PATH:PATH=${sysconfdir}/${fd_pkgname} \
+    -DBUILD_DBG_MONITOR:BOOL=ON  \
+    -DBUILD_TEST_APP:BOOL=ON \
+    -DBUILD_TESTING:BOOL=ON \
+    -DBUILD_APP_RADGW:BOOL=ON \
+    -DBUILD_APP_REDIRECT:BOOL=ON \
+    -DBUILD_TEST_ACCT:BOOL=ON \
+    -DBUILD_TEST_NETEMUL:BOOL=ON \
+    -DBUILD_TEST_RT_ANY:BOOL=ON \
+    -DINSTALL_LIBRARY_SUFFIX:PATH=${baselib} \
+    -DINSTALL_EXTENSIONS_SUFFIX:PATH=${baselib}/${fd_pkgname} \
+    -DINSTALL_TEST_SUFFIX:PATH=${PTEST_PATH}-tests \
+    -DCMAKE_SKIP_RPATH:BOOL=ON \
+"
+# INSTALL_LIBRARY_SUFFIX is relative to CMAKE_INSTALL_PREFIX
+# specify it on cmd line will fix the SET bug in CMakeList.txt
+
+# -DBUILD_APP_ACCT:BOOL=ON This needs POSTGRESQL support
+
+# -DBUILD_APP_DIAMEAP:BOOL=ON  -DBUILD_APP_SIP:BOOL=ON -DBUILD_TEST_SIP:BOOL=ON
+# These need MySQL support
+
+# -DBUILD_DBG_INTERACTIVE:BOOL=ON This needs SWIG support
+
+# -DALL_EXTENSIONS=ON will enable all
+
+FD_KEY ?="${BPN}.key"
+FD_PEM ?= "${BPN}.pem"
+FD_CA ?= "${BPN}.pem"
+FD_DH_PEM ?= "${BPN}-dh.pem"
+FD_HOSTNAME ?= "${MACHINE}"
+FD_REALM ?= "openembedded.org"
+
+do_install_append() {
+    # install the sample configuration files
+    install -d -m 0755 ${D}${sysconfdir}/${fd_pkgname}
+    for i in ${S}/doc/*.conf.sample; do
+        install -m 0644 $i ${D}${sysconfdir}/${fd_pkgname}/
+    done
+    mv ${D}${sysconfdir}/${fd_pkgname}/freediameter.conf.sample \
+       ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf.sample
+    install -d ${D}${sysconfdir}/freeDiameter
+	 install ${WORKDIR}/freeDiameter.conf ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf
+
+    # install daemon init related files
+    install -d -m 0755 ${D}${sysconfdir}/default
+    install -d -m 0755 ${D}${sysconfdir}/init.d
+    install -m 0644 ${S}/contrib/debian/freediameter-daemon.default \
+      ${D}${sysconfdir}/default/${BPN}
+    install -m 0755 ${WORKDIR}/freediameter.init ${D}${sysconfdir}/init.d/${BPN}
+
+    # install for systemd
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/freediameter.service ${D}${systemd_system_unitdir}
+    sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/*.service
+
+    cat >> ${D}${sysconfdir}/freeDiameter/freeDiameter.conf <<EOF
+## OE specific ##
+#Identity="${FD_HOSTNAME}";
+Identity = "${FD_HOSTNAME}.${FD_REALM}";
+Realm = "${FD_REALM}";
+Port = 30868;
+SecPort = 30869;
+TLS_Cred = "/etc/freeDiameter/${FD_PEM}" , "/etc/freeDiameter/${FD_KEY}";
+TLS_CA = "/etc/freeDiameter/${FD_CA}";
+TLS_DH_File = "/etc/freeDiameter/${FD_DH_PEM}";
+EOF
+
+    # create self cert
+    openssl req -x509 -config ${STAGING_DIR_NATIVE}/etc/ssl/openssl.cnf -newkey rsa:4096 -sha256 -nodes -out ${D}${sysconfdir}/freeDiameter/${FD_PEM} -keyout ${D}${sysconfdir}/freeDiameter/${FD_KEY} -days 3650 -subj '/CN=${FD_HOSTNAME}.${FD_REALM}'
+    openssl dhparam -out ${D}${sysconfdir}/freeDiameter/${FD_DH_PEM} 1024
+
+}
+
+do_install_ptest() {
+    sed -i "s#\(EXTENSIONS_DIR=\).*\$#\1${libdir}/${fd_pkgname}/#" ${D}${PTEST_PATH}/run-ptest
+    mv ${D}${PTEST_PATH}-tests/* ${D}${PTEST_PATH}/
+    rmdir ${D}${PTEST_PATH}-tests
+    install -m 0644 ${B}/tests/CTestTestfile.cmake ${D}${PTEST_PATH}/
+}
+
+FILES_${PN}-dbg += "${libdir}/${fd_pkgname}/.debug/*"
+
+# include the extensions in main package
+FILES_${PN} += "${libdir}/${fd_pkgname}/*"
+
+RDEPENDS_${PN}  = "glib-2.0 gnutls libidn"
+RDEPENDS_${PN} += "openssl openssl-conf openssl-engines"
+RRECOMMENDS_${PN} += "kernel-module-tipc kernel-module-sctp" 
+RRECOMMENDS_${PN} += "kernel-module-udp-tunnel kernel-module-ipip"
+RDEPENDS_${PN}-ptest = "cmake"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "${BPN}"
+INITSCRIPT_PARAMS$_${PN} = "start 30 . stop 70 0 1 2 3 4 5 6 ."
+
+SYSTEMD_SERVICE_${PN} = "freediameter.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+CONFFILES_${PN} = "${sysconfdir}/freediameter.conf"
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch
new file mode 100644
index 0000000..863866d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch
@@ -0,0 +1,42 @@
+From d3082d2c606c810aa0a39378bf1e02575af3a301 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Feb 2018 21:54:11 -0800
+Subject: [PATCH] nss_mdns: Do not include nss.h when libc != glibc
+
+Provide nss_status macro instead for non-glibc case
+where nss.h is absent
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ mDNSPosix/nss_mdns.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/mDNSPosix/nss_mdns.c b/mDNSPosix/nss_mdns.c
+index afadb3c..c469584 100755
+--- a/mDNSPosix/nss_mdns.c
++++ b/mDNSPosix/nss_mdns.c
+@@ -378,8 +378,19 @@ init_config ();
+ 
+ #define ENTNAME  hostent
+ #define DATABASE "hosts"
+-
++#ifdef __GLIBC__
+ #include <nss.h>
++#else
++enum nss_status
++{
++    NSS_STATUS_TRYAGAIN = -2,
++    NSS_STATUS_UNAVAIL,
++    NSS_STATUS_NOTFOUND,
++    NSS_STATUS_SUCCESS,
++    NSS_STATUS_RETURN
++};
++#define NETDB_INTERNAL NULL
++#endif
+ // For nss_status
+ #include <netdb.h>
+ // For hostent
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
index 1a80f7a..9a7152f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
@@ -9,6 +9,7 @@
 SRC_URI = "http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \
            file://build.patch;patchdir=.. \
            file://mdns.service \
+           file://0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch;patchdir=.. \
            "
 
 SRC_URI[md5sum] = "4a6bc1628851002634ea3833a4dca317"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-BUG-a2584-Fix-snmptrap-to-use-clientaddr-from-snmp.c.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-BUG-a2584-Fix-snmptrap-to-use-clientaddr-from-snmp.c.patch
index b05eea5..b14b761 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-BUG-a2584-Fix-snmptrap-to-use-clientaddr-from-snmp.c.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-BUG-a2584-Fix-snmptrap-to-use-clientaddr-from-snmp.c.patch
@@ -11,13 +11,13 @@
  snmplib/transports/snmpUDPIPv6Domain.c | 21 +++++++++++++++++++++
  1 file changed, 21 insertions(+)
 
-diff --git a/snmplib/transports/snmpUDPIPv6Domain.c b/snmplib/transports/snmpUDPIPv6Domain.c
-index 55e3610..aca69ae 100644
---- a/snmplib/transports/snmpUDPIPv6Domain.c
-+++ b/snmplib/transports/snmpUDPIPv6Domain.c
-@@ -256,6 +256,27 @@ netsnmp_udp6_transport(struct sockaddr_in6 *addr, int local)
-         t->data = NULL;
-         t->data_length = 0;
+Index: net-snmp-5.7.3/snmplib/transports/snmpUDPIPv6Domain.c
+===================================================================
+--- net-snmp-5.7.3.orig/snmplib/transports/snmpUDPIPv6Domain.c
++++ net-snmp-5.7.3/snmplib/transports/snmpUDPIPv6Domain.c
+@@ -286,6 +286,27 @@ netsnmp_udp6_transport(struct sockaddr_i
+         return NULL;
+ #endif /* NETSNMP_NO_LISTEN_SUPPORT */
      } else {
 +        char           *client_socket = NULL;
 +        /*
@@ -43,6 +43,3 @@
          /*
           * This is a client session.  Save the address in the
           * transport-specific data pointer for later use by netsnmp_udp6_send.
--- 
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Remove-U64-typedef.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Remove-U64-typedef.patch
new file mode 100644
index 0000000..7314ab1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Remove-U64-typedef.patch
@@ -0,0 +1,2524 @@
+net-snmp: remove U64 typedef
+
+From git://git.code.sf.net/p/net-snmp/code
+
+Upstream-Status: Backport (unmodified)
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+From 477b4307ef12ddce3b6a9205e0bdddbfb2e0e9b6 Mon Sep 17 00:00:00 2001
+From: Bart Van Assche <bvanassche@acm.org>
+Date: Sat, 20 Feb 2016 18:58:18 -0800
+Subject: [PATCH 1/1] Remove U64 typedef
+
+The U64 typedef conflicts with a typedef in a Perl header file. Hence
+remove the U64 typedef from the Net-SNMP header files. This patch does
+not modify the Net-SNMP ABI.
+---
+ agent/mibgroup/if-mib/ifXTable/ifXTable.c          |  16 +-
+ agent/mibgroup/if-mib/ifXTable/ifXTable.h          |  48 +-
+ .../mibgroup/if-mib/ifXTable/ifXTable_interface.c  |  32 +-
+ .../ip-mib/data_access/systemstats_common.c        |   2 +-
+ .../ipIfStatsTable/ipIfStatsTable_data_get.c       |  28 +-
+ .../ipIfStatsTable/ipIfStatsTable_data_get.h       |  28 +-
+ .../ipIfStatsTable/ipIfStatsTable_interface.c      |  56 +-
+ .../ip-mib/ipSystemStatsTable/ipSystemStatsTable.c |  28 +-
+ .../ip-mib/ipSystemStatsTable/ipSystemStatsTable.h | 921 ++-------------------
+ .../ipSystemStatsTable_interface.c                 |  56 +-
+ include/net-snmp/data_access/ipstats.h             |  42 +-
+ include/net-snmp/library/int64.h                   |  34 +-
+ snmplib/int64.c                                    |  38 +-
+ snmplib/read_config.c                              |   6 +-
+ testing/fulltests/unit-tests/T015int64_clib.c      |  10 +-
+ 15 files changed, 274 insertions(+), 1071 deletions(-)
+
+Index: net-snmp-5.7.3/agent/mibgroup/if-mib/ifXTable/ifXTable.c
+===================================================================
+--- net-snmp-5.7.3.orig/agent/mibgroup/if-mib/ifXTable/ifXTable.c
++++ net-snmp-5.7.3/agent/mibgroup/if-mib/ifXTable/ifXTable.c
+@@ -722,7 +722,7 @@ The total number of octets received on t
+  */
+ int
+ ifHCInOctets_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                 U64 * ifHCInOctets_val_ptr)
++                 struct counter64 *ifHCInOctets_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ifHCInOctets_val_ptr);
+@@ -779,7 +779,7 @@ The number of packets, delivered by this
+  */
+ int
+ ifHCInUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                    U64 * ifHCInUcastPkts_val_ptr)
++                    struct counter64 *ifHCInUcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ifHCInUcastPkts_val_ptr);
+@@ -838,7 +838,7 @@ The number of packets, delivered by this
+  */
+ int
+ ifHCInMulticastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                        U64 * ifHCInMulticastPkts_val_ptr)
++                        struct counter64 *ifHCInMulticastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ifHCInMulticastPkts_val_ptr);
+@@ -897,7 +897,7 @@ The number of packets, delivered by this
+  */
+ int
+ ifHCInBroadcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                        U64 * ifHCInBroadcastPkts_val_ptr)
++                        struct counter64 *ifHCInBroadcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ifHCInBroadcastPkts_val_ptr);
+@@ -955,7 +955,7 @@ The total number of octets transmitted o
+  */
+ int
+ ifHCOutOctets_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                  U64 * ifHCOutOctets_val_ptr)
++                  struct counter64 *ifHCOutOctets_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ifHCOutOctets_val_ptr);
+@@ -1013,7 +1013,7 @@ The total number of packets that higher-
+  */
+ int
+ ifHCOutUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                     U64 * ifHCOutUcastPkts_val_ptr)
++                     struct counter64 *ifHCOutUcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ifHCOutUcastPkts_val_ptr);
+@@ -1074,7 +1074,7 @@ The total number of packets that higher-
+  */
+ int
+ ifHCOutMulticastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                         U64 * ifHCOutMulticastPkts_val_ptr)
++                         struct counter64 *ifHCOutMulticastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ifHCOutMulticastPkts_val_ptr);
+@@ -1134,7 +1134,7 @@ The total number of packets that higher-
+  */
+ int
+ ifHCOutBroadcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                         U64 * ifHCOutBroadcastPkts_val_ptr)
++                         struct counter64 *ifHCOutBroadcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ifHCOutBroadcastPkts_val_ptr);
+Index: net-snmp-5.7.3/agent/mibgroup/if-mib/ifXTable/ifXTable.h
+===================================================================
+--- net-snmp-5.7.3.orig/agent/mibgroup/if-mib/ifXTable/ifXTable.h
++++ net-snmp-5.7.3/agent/mibgroup/if-mib/ifXTable/ifXTable.h
+@@ -143,28 +143,28 @@ config_require(if-mib/ifXTable/ifXTable_
+                                            u_long *
+                                            ifOutBroadcastPkts_val_ptr);
+     int             ifHCInOctets_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                                     U64 * ifHCInOctets_val_ptr);
++                                     struct counter64 *ifHCInOctets_val_ptr);
+     int             ifHCInUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                                        U64 * ifHCInUcastPkts_val_ptr);
++                                        struct counter64 *ifHCInUcastPkts_val_ptr);
+     int             ifHCInMulticastPkts_get(ifXTable_rowreq_ctx *
+                                             rowreq_ctx,
+-                                            U64 *
++                                            struct counter64 *
+                                             ifHCInMulticastPkts_val_ptr);
+     int             ifHCInBroadcastPkts_get(ifXTable_rowreq_ctx *
+                                             rowreq_ctx,
+-                                            U64 *
++                                            struct counter64 *
+                                             ifHCInBroadcastPkts_val_ptr);
+     int             ifHCOutOctets_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                                      U64 * ifHCOutOctets_val_ptr);
++                                      struct counter64 *ifHCOutOctets_val_ptr);
+     int             ifHCOutUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
+-                                         U64 * ifHCOutUcastPkts_val_ptr);
++                                         struct counter64 *ifHCOutUcastPkts_val_ptr);
+     int             ifHCOutMulticastPkts_get(ifXTable_rowreq_ctx *
+                                              rowreq_ctx,
+-                                             U64 *
++                                             struct counter64 *
+                                              ifHCOutMulticastPkts_val_ptr);
+     int             ifHCOutBroadcastPkts_get(ifXTable_rowreq_ctx *
+                                              rowreq_ctx,
+-                                             U64 *
++                                             struct counter64 *
+                                              ifHCOutBroadcastPkts_val_ptr);
+     int             ifLinkUpDownTrapEnable_get(ifXTable_rowreq_ctx *
+                                                rowreq_ctx,
+@@ -284,86 +284,86 @@ config_require(if-mib/ifXTable/ifXTable_
+ 
+     int             ifHCInOctets_check_value(ifXTable_rowreq_ctx *
+                                              rowreq_ctx,
+-                                             U64 ifHCInOctets_val);
++                                             struct counter64 ifHCInOctets_val);
+     int             ifHCInOctets_undo_setup(ifXTable_rowreq_ctx *
+                                             rowreq_ctx);
+     int             ifHCInOctets_set(ifXTable_rowreq_ctx * rowreq_ctx,
+-                                     U64 ifHCInOctets_val);
++                                     struct counter64 ifHCInOctets_val);
+     int             ifHCInOctets_undo(ifXTable_rowreq_ctx * rowreq_ctx);
+ 
+     int             ifHCInUcastPkts_check_value(ifXTable_rowreq_ctx *
+                                                 rowreq_ctx,
+-                                                U64 ifHCInUcastPkts_val);
++                                                struct counter64 ifHCInUcastPkts_val);
+     int             ifHCInUcastPkts_undo_setup(ifXTable_rowreq_ctx *
+                                                rowreq_ctx);
+     int             ifHCInUcastPkts_set(ifXTable_rowreq_ctx * rowreq_ctx,
+-                                        U64 ifHCInUcastPkts_val);
++                                        struct counter64 ifHCInUcastPkts_val);
+     int             ifHCInUcastPkts_undo(ifXTable_rowreq_ctx * rowreq_ctx);
+ 
+     int             ifHCInMulticastPkts_check_value(ifXTable_rowreq_ctx *
+                                                     rowreq_ctx,
+-                                                    U64
++                                                    struct counter64
+                                                     ifHCInMulticastPkts_val);
+     int             ifHCInMulticastPkts_undo_setup(ifXTable_rowreq_ctx *
+                                                    rowreq_ctx);
+     int             ifHCInMulticastPkts_set(ifXTable_rowreq_ctx *
+                                             rowreq_ctx,
+-                                            U64 ifHCInMulticastPkts_val);
++                                            struct counter64 ifHCInMulticastPkts_val);
+     int             ifHCInMulticastPkts_undo(ifXTable_rowreq_ctx *
+                                              rowreq_ctx);
+ 
+     int             ifHCInBroadcastPkts_check_value(ifXTable_rowreq_ctx *
+                                                     rowreq_ctx,
+-                                                    U64
++                                                    struct counter64
+                                                     ifHCInBroadcastPkts_val);
+     int             ifHCInBroadcastPkts_undo_setup(ifXTable_rowreq_ctx *
+                                                    rowreq_ctx);
+     int             ifHCInBroadcastPkts_set(ifXTable_rowreq_ctx *
+                                             rowreq_ctx,
+-                                            U64 ifHCInBroadcastPkts_val);
++                                            struct counter64 ifHCInBroadcastPkts_val);
+     int             ifHCInBroadcastPkts_undo(ifXTable_rowreq_ctx *
+                                              rowreq_ctx);
+ 
+     int             ifHCOutOctets_check_value(ifXTable_rowreq_ctx *
+                                               rowreq_ctx,
+-                                              U64 ifHCOutOctets_val);
++                                              struct counter64 ifHCOutOctets_val);
+     int             ifHCOutOctets_undo_setup(ifXTable_rowreq_ctx *
+                                              rowreq_ctx);
+     int             ifHCOutOctets_set(ifXTable_rowreq_ctx * rowreq_ctx,
+-                                      U64 ifHCOutOctets_val);
++                                      struct counter64 ifHCOutOctets_val);
+     int             ifHCOutOctets_undo(ifXTable_rowreq_ctx * rowreq_ctx);
+ 
+     int             ifHCOutUcastPkts_check_value(ifXTable_rowreq_ctx *
+                                                  rowreq_ctx,
+-                                                 U64 ifHCOutUcastPkts_val);
++                                                 struct counter64 ifHCOutUcastPkts_val);
+     int             ifHCOutUcastPkts_undo_setup(ifXTable_rowreq_ctx *
+                                                 rowreq_ctx);
+     int             ifHCOutUcastPkts_set(ifXTable_rowreq_ctx * rowreq_ctx,
+-                                         U64 ifHCOutUcastPkts_val);
++                                         struct counter64 ifHCOutUcastPkts_val);
+     int             ifHCOutUcastPkts_undo(ifXTable_rowreq_ctx *
+                                           rowreq_ctx);
+ 
+     int             ifHCOutMulticastPkts_check_value(ifXTable_rowreq_ctx *
+                                                      rowreq_ctx,
+-                                                     U64
++                                                     struct counter64
+                                                      ifHCOutMulticastPkts_val);
+     int             ifHCOutMulticastPkts_undo_setup(ifXTable_rowreq_ctx *
+                                                     rowreq_ctx);
+     int             ifHCOutMulticastPkts_set(ifXTable_rowreq_ctx *
+                                              rowreq_ctx,
+-                                             U64 ifHCOutMulticastPkts_val);
++                                             struct counter64 ifHCOutMulticastPkts_val);
+     int             ifHCOutMulticastPkts_undo(ifXTable_rowreq_ctx *
+                                               rowreq_ctx);
+ 
+     int             ifHCOutBroadcastPkts_check_value(ifXTable_rowreq_ctx *
+                                                      rowreq_ctx,
+-                                                     U64
++                                                     struct counter64
+                                                      ifHCOutBroadcastPkts_val);
+     int             ifHCOutBroadcastPkts_undo_setup(ifXTable_rowreq_ctx *
+                                                     rowreq_ctx);
+     int             ifHCOutBroadcastPkts_set(ifXTable_rowreq_ctx *
+                                              rowreq_ctx,
+-                                             U64 ifHCOutBroadcastPkts_val);
++                                             struct counter64 ifHCOutBroadcastPkts_val);
+     int             ifHCOutBroadcastPkts_undo(ifXTable_rowreq_ctx *
+                                               rowreq_ctx);
+ 
+Index: net-snmp-5.7.3/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c
+===================================================================
+--- net-snmp-5.7.3.orig/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c
++++ net-snmp-5.7.3/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c
+@@ -729,72 +729,72 @@ _ifXTable_get_column(ifXTable_rowreq_ctx
+          * ifHCInOctets(6)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IFHCINOCTETS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+-        rc = ifHCInOctets_get(rowreq_ctx, (U64 *) var->val.string);
++        rc = ifHCInOctets_get(rowreq_ctx, (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+          * ifHCInUcastPkts(7)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IFHCINUCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+-        rc = ifHCInUcastPkts_get(rowreq_ctx, (U64 *) var->val.string);
++        rc = ifHCInUcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+          * ifHCInMulticastPkts(8)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IFHCINMULTICASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+-        rc = ifHCInMulticastPkts_get(rowreq_ctx, (U64 *) var->val.string);
++        rc = ifHCInMulticastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+          * ifHCInBroadcastPkts(9)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IFHCINBROADCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+-        rc = ifHCInBroadcastPkts_get(rowreq_ctx, (U64 *) var->val.string);
++        rc = ifHCInBroadcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+          * ifHCOutOctets(10)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IFHCOUTOCTETS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+-        rc = ifHCOutOctets_get(rowreq_ctx, (U64 *) var->val.string);
++        rc = ifHCOutOctets_get(rowreq_ctx, (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+          * ifHCOutUcastPkts(11)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IFHCOUTUCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+-        rc = ifHCOutUcastPkts_get(rowreq_ctx, (U64 *) var->val.string);
++        rc = ifHCOutUcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+          * ifHCOutMulticastPkts(12)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IFHCOUTMULTICASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+-        rc = ifHCOutMulticastPkts_get(rowreq_ctx, (U64 *) var->val.string);
++        rc = ifHCOutMulticastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+          * ifHCOutBroadcastPkts(13)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IFHCOUTBROADCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+-        rc = ifHCOutBroadcastPkts_get(rowreq_ctx, (U64 *) var->val.string);
++        rc = ifHCOutBroadcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+Index: net-snmp-5.7.3/agent/mibgroup/ip-mib/data_access/systemstats_common.c
+===================================================================
+--- net-snmp-5.7.3.orig/agent/mibgroup/ip-mib/data_access/systemstats_common.c
++++ net-snmp-5.7.3/agent/mibgroup/ip-mib/data_access/systemstats_common.c
+@@ -264,7 +264,7 @@ _calculate_entries(netsnmp_systemstats_e
+            && entry->stats.columnAvail[IPSYSTEMSTATSTABLE_HCOUTFRAGCREATES]
+         && entry->stats.columnAvail[IPSYSTEMSTATSTABLE_HCOUTDISCARDS]) {
+ 
+-        U64 tmp, tmp2, tmp3;
++        struct counter64 tmp, tmp2, tmp3;
+         tmp = entry->stats.HCOutRequests;
+         u64Incr(&tmp, &entry->stats.HCOutForwDatagrams);
+         u64Incr(&tmp, &entry->stats.HCOutFragCreates);
+Index: net-snmp-5.7.3/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c
+===================================================================
+--- net-snmp-5.7.3.orig/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c
++++ net-snmp-5.7.3/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c
+@@ -270,7 +270,7 @@ The total number of input IP datagrams r
+  */
+ int
+ ipIfStatsHCInReceives_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                          U64 * ipIfStatsHCInReceives_val_ptr)
++                          struct counter64 *ipIfStatsHCInReceives_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCInReceives_val_ptr);
+@@ -395,7 +395,7 @@ The total number of octets received in i
+  */
+ int
+ ipIfStatsHCInOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                        U64 * ipIfStatsHCInOctets_val_ptr)
++                        struct counter64 *ipIfStatsHCInOctets_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCInOctets_val_ptr);
+@@ -862,7 +862,7 @@ The number of input datagrams for which
+  */
+ int
+ ipIfStatsHCInForwDatagrams_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                               U64 * ipIfStatsHCInForwDatagrams_val_ptr)
++                               struct counter64 *ipIfStatsHCInForwDatagrams_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCInForwDatagrams_val_ptr);
+@@ -1267,7 +1267,7 @@ The total number of datagrams successful
+  */
+ int
+ ipIfStatsHCInDelivers_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                          U64 * ipIfStatsHCInDelivers_val_ptr)
++                          struct counter64 *ipIfStatsHCInDelivers_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCInDelivers_val_ptr);
+@@ -1396,7 +1396,7 @@ The total number of IP datagrams that lo
+  */
+ int
+ ipIfStatsHCOutRequests_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                           U64 * ipIfStatsHCOutRequests_val_ptr)
++                           struct counter64 *ipIfStatsHCOutRequests_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCOutRequests_val_ptr);
+@@ -1532,7 +1532,7 @@ The number of datagrams for which this e
+  */
+ int
+ ipIfStatsHCOutForwDatagrams_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                                U64 * ipIfStatsHCOutForwDatagrams_val_ptr)
++                                struct counter64 *ipIfStatsHCOutForwDatagrams_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCOutForwDatagrams_val_ptr);
+@@ -1999,7 +1999,7 @@ The total number of IP datagrams that th
+  */
+ int
+ ipIfStatsHCOutTransmits_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                            U64 * ipIfStatsHCOutTransmits_val_ptr)
++                            struct counter64 *ipIfStatsHCOutTransmits_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCOutTransmits_val_ptr);
+@@ -2123,7 +2123,7 @@ The total number of octets in IP datagra
+  */
+ int
+ ipIfStatsHCOutOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                         U64 * ipIfStatsHCOutOctets_val_ptr)
++                         struct counter64 *ipIfStatsHCOutOctets_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCOutOctets_val_ptr);
+@@ -2245,7 +2245,7 @@ The number of IP multicast datagrams rec
+  */
+ int
+ ipIfStatsHCInMcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                           U64 * ipIfStatsHCInMcastPkts_val_ptr)
++                           struct counter64 *ipIfStatsHCInMcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCInMcastPkts_val_ptr);
+@@ -2372,7 +2372,7 @@ The total number of octets received in I
+  */
+ int
+ ipIfStatsHCInMcastOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                             U64 * ipIfStatsHCInMcastOctets_val_ptr)
++                             struct counter64 *ipIfStatsHCInMcastOctets_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCInMcastOctets_val_ptr);
+@@ -2497,7 +2497,7 @@ The number of IP multicast datagrams tra
+  */
+ int
+ ipIfStatsHCOutMcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                            U64 * ipIfStatsHCOutMcastPkts_val_ptr)
++                            struct counter64 *ipIfStatsHCOutMcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCOutMcastPkts_val_ptr);
+@@ -2621,7 +2621,7 @@ The total number of octets transmitted i
+  */
+ int
+ ipIfStatsHCOutMcastOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                              U64 * ipIfStatsHCOutMcastOctets_val_ptr)
++                              struct counter64 *ipIfStatsHCOutMcastOctets_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCOutMcastOctets_val_ptr);
+@@ -2743,7 +2743,7 @@ The number of IP broadcast datagrams rec
+  */
+ int
+ ipIfStatsHCInBcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                           U64 * ipIfStatsHCInBcastPkts_val_ptr)
++                           struct counter64 *ipIfStatsHCInBcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCInBcastPkts_val_ptr);
+@@ -2865,7 +2865,7 @@ The number of IP broadcast datagrams tra
+  */
+ int
+ ipIfStatsHCOutBcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx,
+-                            U64 * ipIfStatsHCOutBcastPkts_val_ptr)
++                            struct counter64 *ipIfStatsHCOutBcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipIfStatsHCOutBcastPkts_val_ptr);
+Index: net-snmp-5.7.3/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h
+===================================================================
+--- net-snmp-5.7.3.orig/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h
++++ net-snmp-5.7.3/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h
+@@ -50,7 +50,7 @@ extern          "C" {
+                                             ipIfStatsInReceives_val_ptr);
+     int             ipIfStatsHCInReceives_get(ipIfStatsTable_rowreq_ctx *
+                                               rowreq_ctx,
+-                                              U64 *
++                                              struct counter64 *
+                                               ipIfStatsHCInReceives_val_ptr);
+     int             ipIfStatsInOctets_get(ipIfStatsTable_rowreq_ctx *
+                                           rowreq_ctx,
+@@ -58,7 +58,7 @@ extern          "C" {
+                                           ipIfStatsInOctets_val_ptr);
+     int             ipIfStatsHCInOctets_get(ipIfStatsTable_rowreq_ctx *
+                                             rowreq_ctx,
+-                                            U64 *
++                                            struct counter64 *
+                                             ipIfStatsHCInOctets_val_ptr);
+     int             ipIfStatsInHdrErrors_get(ipIfStatsTable_rowreq_ctx *
+                                              rowreq_ctx,
+@@ -87,7 +87,7 @@ extern          "C" {
+     int            
+         ipIfStatsHCInForwDatagrams_get(ipIfStatsTable_rowreq_ctx *
+                                        rowreq_ctx,
+-                                       U64 *
++                                       struct counter64 *
+                                        ipIfStatsHCInForwDatagrams_val_ptr);
+     int             ipIfStatsReasmReqds_get(ipIfStatsTable_rowreq_ctx *
+                                             rowreq_ctx,
+@@ -111,7 +111,7 @@ extern          "C" {
+                                             ipIfStatsInDelivers_val_ptr);
+     int             ipIfStatsHCInDelivers_get(ipIfStatsTable_rowreq_ctx *
+                                               rowreq_ctx,
+-                                              U64 *
++                                              struct counter64 *
+                                               ipIfStatsHCInDelivers_val_ptr);
+     int             ipIfStatsOutRequests_get(ipIfStatsTable_rowreq_ctx *
+                                              rowreq_ctx,
+@@ -119,7 +119,7 @@ extern          "C" {
+                                              ipIfStatsOutRequests_val_ptr);
+     int             ipIfStatsHCOutRequests_get(ipIfStatsTable_rowreq_ctx *
+                                                rowreq_ctx,
+-                                               U64 *
++                                               struct counter64 *
+                                                ipIfStatsHCOutRequests_val_ptr);
+     int             ipIfStatsOutForwDatagrams_get(ipIfStatsTable_rowreq_ctx
+                                                   * rowreq_ctx,
+@@ -128,7 +128,7 @@ extern          "C" {
+     int            
+         ipIfStatsHCOutForwDatagrams_get(ipIfStatsTable_rowreq_ctx *
+                                         rowreq_ctx,
+-                                        U64 *
++                                        struct counter64 *
+                                         ipIfStatsHCOutForwDatagrams_val_ptr);
+     int             ipIfStatsOutDiscards_get(ipIfStatsTable_rowreq_ctx *
+                                              rowreq_ctx,
+@@ -156,7 +156,7 @@ extern          "C" {
+                                               ipIfStatsOutTransmits_val_ptr);
+     int             ipIfStatsHCOutTransmits_get(ipIfStatsTable_rowreq_ctx *
+                                                 rowreq_ctx,
+-                                                U64 *
++                                                struct counter64 *
+                                                 ipIfStatsHCOutTransmits_val_ptr);
+     int             ipIfStatsOutOctets_get(ipIfStatsTable_rowreq_ctx *
+                                            rowreq_ctx,
+@@ -164,7 +164,7 @@ extern          "C" {
+                                            ipIfStatsOutOctets_val_ptr);
+     int             ipIfStatsHCOutOctets_get(ipIfStatsTable_rowreq_ctx *
+                                              rowreq_ctx,
+-                                             U64 *
++                                             struct counter64 *
+                                              ipIfStatsHCOutOctets_val_ptr);
+     int             ipIfStatsInMcastPkts_get(ipIfStatsTable_rowreq_ctx *
+                                              rowreq_ctx,
+@@ -172,7 +172,7 @@ extern          "C" {
+                                              ipIfStatsInMcastPkts_val_ptr);
+     int             ipIfStatsHCInMcastPkts_get(ipIfStatsTable_rowreq_ctx *
+                                                rowreq_ctx,
+-                                               U64 *
++                                               struct counter64 *
+                                                ipIfStatsHCInMcastPkts_val_ptr);
+     int             ipIfStatsInMcastOctets_get(ipIfStatsTable_rowreq_ctx *
+                                                rowreq_ctx,
+@@ -180,7 +180,7 @@ extern          "C" {
+                                                ipIfStatsInMcastOctets_val_ptr);
+     int             ipIfStatsHCInMcastOctets_get(ipIfStatsTable_rowreq_ctx
+                                                  * rowreq_ctx,
+-                                                 U64 *
++                                                 struct counter64 *
+                                                  ipIfStatsHCInMcastOctets_val_ptr);
+     int             ipIfStatsOutMcastPkts_get(ipIfStatsTable_rowreq_ctx *
+                                               rowreq_ctx,
+@@ -188,7 +188,7 @@ extern          "C" {
+                                               ipIfStatsOutMcastPkts_val_ptr);
+     int             ipIfStatsHCOutMcastPkts_get(ipIfStatsTable_rowreq_ctx *
+                                                 rowreq_ctx,
+-                                                U64 *
++                                                struct counter64 *
+                                                 ipIfStatsHCOutMcastPkts_val_ptr);
+     int             ipIfStatsOutMcastOctets_get(ipIfStatsTable_rowreq_ctx *
+                                                 rowreq_ctx,
+@@ -196,7 +196,7 @@ extern          "C" {
+                                                 ipIfStatsOutMcastOctets_val_ptr);
+     int             ipIfStatsHCOutMcastOctets_get(ipIfStatsTable_rowreq_ctx
+                                                   * rowreq_ctx,
+-                                                  U64 *
++                                                  struct counter64 *
+                                                   ipIfStatsHCOutMcastOctets_val_ptr);
+     int             ipIfStatsInBcastPkts_get(ipIfStatsTable_rowreq_ctx *
+                                              rowreq_ctx,
+@@ -204,7 +204,7 @@ extern          "C" {
+                                              ipIfStatsInBcastPkts_val_ptr);
+     int             ipIfStatsHCInBcastPkts_get(ipIfStatsTable_rowreq_ctx *
+                                                rowreq_ctx,
+-                                               U64 *
++                                               struct counter64 *
+                                                ipIfStatsHCInBcastPkts_val_ptr);
+     int             ipIfStatsOutBcastPkts_get(ipIfStatsTable_rowreq_ctx *
+                                               rowreq_ctx,
+@@ -212,7 +212,7 @@ extern          "C" {
+                                               ipIfStatsOutBcastPkts_val_ptr);
+     int             ipIfStatsHCOutBcastPkts_get(ipIfStatsTable_rowreq_ctx *
+                                                 rowreq_ctx,
+-                                                U64 *
++                                                struct counter64 *
+                                                 ipIfStatsHCOutBcastPkts_val_ptr);
+     int            
+         ipIfStatsDiscontinuityTime_get(ipIfStatsTable_rowreq_ctx *
+Index: net-snmp-5.7.3/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c
+===================================================================
+--- net-snmp-5.7.3.orig/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c
++++ net-snmp-5.7.3/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c
+@@ -722,10 +722,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCInReceives(4)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCINRECEIVES:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCInReceives_get(rowreq_ctx,
+-                                       (U64 *) var->val.string);
++                                       (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -741,9 +741,9 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCInOctets(6)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCINOCTETS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+-        rc = ipIfStatsHCInOctets_get(rowreq_ctx, (U64 *) var->val.string);
++        rc = ipIfStatsHCInOctets_get(rowreq_ctx, (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -810,10 +810,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCInForwDatagrams(13)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCINFORWDATAGRAMS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCInForwDatagrams_get(rowreq_ctx,
+-                                            (U64 *) var->val.string);
++                                            (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -869,10 +869,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCInDelivers(19)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCINDELIVERS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCInDelivers_get(rowreq_ctx,
+-                                       (U64 *) var->val.string);
++                                       (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -889,10 +889,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCOutRequests(21)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCOUTREQUESTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCOutRequests_get(rowreq_ctx,
+-                                        (U64 *) var->val.string);
++                                        (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -909,10 +909,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCOutForwDatagrams(24)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCOUTFORWDATAGRAMS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCOutForwDatagrams_get(rowreq_ctx,
+-                                             (U64 *) var->val.string);
++                                             (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -979,10 +979,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCOutTransmits(31)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCOUTTRANSMITS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCOutTransmits_get(rowreq_ctx,
+-                                         (U64 *) var->val.string);
++                                         (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -999,9 +999,9 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCOutOctets(33)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCOUTOCTETS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+-        rc = ipIfStatsHCOutOctets_get(rowreq_ctx, (U64 *) var->val.string);
++        rc = ipIfStatsHCOutOctets_get(rowreq_ctx, (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1018,10 +1018,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCInMcastPkts(35)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCINMCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCInMcastPkts_get(rowreq_ctx,
+-                                        (U64 *) var->val.string);
++                                        (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1038,10 +1038,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCInMcastOctets(37)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCINMCASTOCTETS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCInMcastOctets_get(rowreq_ctx,
+-                                          (U64 *) var->val.string);
++                                          (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1058,10 +1058,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCOutMcastPkts(39)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCOUTMCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCOutMcastPkts_get(rowreq_ctx,
+-                                         (U64 *) var->val.string);
++                                         (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1078,10 +1078,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCOutMcastOctets(41)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCOUTMCASTOCTETS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCOutMcastOctets_get(rowreq_ctx,
+-                                           (U64 *) var->val.string);
++                                           (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1098,10 +1098,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCInBcastPkts(43)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCINBCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCInBcastPkts_get(rowreq_ctx,
+-                                        (U64 *) var->val.string);
++                                        (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1118,10 +1118,10 @@ _ipIfStatsTable_get_column(ipIfStatsTabl
+          * ipIfStatsHCOutBcastPkts(45)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPIFSTATSHCOUTBCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipIfStatsHCOutBcastPkts_get(rowreq_ctx,
+-                                         (U64 *) var->val.string);
++                                         (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+Index: net-snmp-5.7.3/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c
+===================================================================
+--- net-snmp-5.7.3.orig/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c
++++ net-snmp-5.7.3/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c
+@@ -452,7 +452,7 @@ The total number of input IP datagrams r
+  */
+ int
+ ipSystemStatsHCInReceives_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx,
+-                              U64 * ipSystemStatsHCInReceives_val_ptr)
++                              struct counter64 *ipSystemStatsHCInReceives_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipSystemStatsHCInReceives_val_ptr);
+@@ -579,7 +579,7 @@ The total number of octets received in i
+  */
+ int
+ ipSystemStatsHCInOctets_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx,
+-                            U64 * ipSystemStatsHCInOctets_val_ptr)
++                            struct counter64 *ipSystemStatsHCInOctets_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipSystemStatsHCInOctets_val_ptr);
+@@ -1058,7 +1058,7 @@ The number of input datagrams for which
+ int
+ ipSystemStatsHCInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx *
+                                    rowreq_ctx,
+-                                   U64 *
++                                   struct counter64 *
+                                    ipSystemStatsHCInForwDatagrams_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+@@ -1474,7 +1474,7 @@ The total number of datagrams successful
+  */
+ int
+ ipSystemStatsHCInDelivers_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx,
+-                              U64 * ipSystemStatsHCInDelivers_val_ptr)
++                              struct counter64 *ipSystemStatsHCInDelivers_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipSystemStatsHCInDelivers_val_ptr);
+@@ -1602,7 +1602,7 @@ The total number of IP datagrams which l
+  */
+ int
+ ipSystemStatsHCOutRequests_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx,
+-                               U64 * ipSystemStatsHCOutRequests_val_ptr)
++                               struct counter64 *ipSystemStatsHCOutRequests_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipSystemStatsHCOutRequests_val_ptr);
+@@ -1809,7 +1809,7 @@ The number of datagrams for which this e
+ int
+ ipSystemStatsHCOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx *
+                                     rowreq_ctx,
+-                                    U64 *
++                                    struct counter64 *
+                                     ipSystemStatsHCOutForwDatagrams_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+@@ -2288,7 +2288,7 @@ The total number of IP datagrams that th
+  */
+ int
+ ipSystemStatsHCOutTransmits_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx,
+-                                U64 * ipSystemStatsHCOutTransmits_val_ptr)
++                                struct counter64 *ipSystemStatsHCOutTransmits_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipSystemStatsHCOutTransmits_val_ptr);
+@@ -2415,7 +2415,7 @@ The total number of octets in IP datagra
+  */
+ int
+ ipSystemStatsHCOutOctets_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx,
+-                             U64 * ipSystemStatsHCOutOctets_val_ptr)
++                             struct counter64 *ipSystemStatsHCOutOctets_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipSystemStatsHCOutOctets_val_ptr);
+@@ -2539,7 +2539,7 @@ The number of IP multicast datagrams rec
+  */
+ int
+ ipSystemStatsHCInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx,
+-                               U64 * ipSystemStatsHCInMcastPkts_val_ptr)
++                               struct counter64 *ipSystemStatsHCInMcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipSystemStatsHCInMcastPkts_val_ptr);
+@@ -2665,7 +2665,7 @@ The total number of octets received in I
+ int
+ ipSystemStatsHCInMcastOctets_get(ipSystemStatsTable_rowreq_ctx *
+                                  rowreq_ctx,
+-                                 U64 *
++                                 struct counter64 *
+                                  ipSystemStatsHCInMcastOctets_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+@@ -2790,7 +2790,7 @@ The number of IP multicast datagrams tra
+  */
+ int
+ ipSystemStatsHCOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx,
+-                                U64 * ipSystemStatsHCOutMcastPkts_val_ptr)
++                                struct counter64 *ipSystemStatsHCOutMcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipSystemStatsHCOutMcastPkts_val_ptr);
+@@ -2921,7 +2921,7 @@ The total number of octets transmitted i
+ int
+ ipSystemStatsHCOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx *
+                                   rowreq_ctx,
+-                                  U64 *
++                                  struct counter64 *
+                                   ipSystemStatsHCOutMcastOctets_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+@@ -3046,7 +3046,7 @@ The number of IP broadcast datagrams rec
+  */
+ int
+ ipSystemStatsHCInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx,
+-                               U64 * ipSystemStatsHCInBcastPkts_val_ptr)
++                               struct counter64 *ipSystemStatsHCInBcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipSystemStatsHCInBcastPkts_val_ptr);
+@@ -3170,7 +3170,7 @@ The number of IP broadcast datagrams tra
+  */
+ int
+ ipSystemStatsHCOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx,
+-                                U64 * ipSystemStatsHCOutBcastPkts_val_ptr)
++                                struct counter64 *ipSystemStatsHCOutBcastPkts_val_ptr)
+ {
+    /** we should have a non-NULL pointer */
+     netsnmp_assert(NULL != ipSystemStatsHCOutBcastPkts_val_ptr);
+Index: net-snmp-5.7.3/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h
+===================================================================
+--- net-snmp-5.7.3.orig/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h
++++ net-snmp-5.7.3/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h
+@@ -144,93 +144,22 @@ config_require(ip-mib/ipSystemStatsTable
+      *********************************************************************
+      * function prototypes
+      */
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsTable_pre_request(ipSystemStatsTable_registration *
++    int ipSystemStatsTable_pre_request(ipSystemStatsTable_registration *
+                                        user_context);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsTable_post_request(ipSystemStatsTable_registration *
++    int ipSystemStatsTable_post_request(ipSystemStatsTable_registration *
+                                         user_context, int rc);
+ 
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsTable_rowreq_ctx_init(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsTable_rowreq_ctx_init(ipSystemStatsTable_rowreq_ctx *
+                                            rowreq_ctx,
+                                            void *user_init_ctx);
+     void
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+         ipSystemStatsTable_rowreq_ctx_cleanup(ipSystemStatsTable_rowreq_ctx
+                                               * rowreq_ctx);
+ 
+     ipSystemStatsTable_data *ipSystemStatsTable_allocate_data(void);
+     void            ipSystemStatsTable_release_data(ipSystemStatsTable_data
+                                                     * data);
+-
+-
+-         
+-         
+-         
+-         
+-         
+-         
+-        ipSystemStatsTable_rowreq_ctx
++    ipSystemStatsTable_rowreq_ctx
+         * ipSystemStatsTable_row_find_by_mib_index
+         (ipSystemStatsTable_mib_index * mib_idx);
+ 
+@@ -265,226 +194,50 @@ config_require(ip-mib/ipSystemStatsTable
+      * indexes
+      */
+ 
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInReceives_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInReceives_get(ipSystemStatsTable_rowreq_ctx *
+                                     rowreq_ctx,
+                                     u_long *
+                                     ipSystemStatsInReceives_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCInReceives_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCInReceives_get(ipSystemStatsTable_rowreq_ctx *
+                                       rowreq_ctx,
+-                                      U64 *
++                                      struct counter64 *
+                                       ipSystemStatsHCInReceives_val_ptr);
+     int             ipSystemStatsInOctets_get(ipSystemStatsTable_rowreq_ctx
+                                               * rowreq_ctx,
+                                               u_long *
+                                               ipSystemStatsInOctets_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCInOctets_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCInOctets_get(ipSystemStatsTable_rowreq_ctx *
+                                     rowreq_ctx,
+-                                    U64 * ipSystemStatsHCInOctets_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInHdrErrors_get(ipSystemStatsTable_rowreq_ctx *
++                                    struct counter64 *ipSystemStatsHCInOctets_val_ptr);
++    int ipSystemStatsInHdrErrors_get(ipSystemStatsTable_rowreq_ctx *
+                                      rowreq_ctx,
+                                      u_long *
+                                      ipSystemStatsInHdrErrors_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInNoRoutes_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInNoRoutes_get(ipSystemStatsTable_rowreq_ctx *
+                                     rowreq_ctx,
+                                     u_long *
+                                     ipSystemStatsInNoRoutes_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInAddrErrors_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInAddrErrors_get(ipSystemStatsTable_rowreq_ctx *
+                                       rowreq_ctx,
+                                       u_long *
+                                       ipSystemStatsInAddrErrors_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInUnknownProtos_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInUnknownProtos_get(ipSystemStatsTable_rowreq_ctx *
+                                          rowreq_ctx,
+                                          u_long *
+                                          ipSystemStatsInUnknownProtos_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInTruncatedPkts_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInTruncatedPkts_get(ipSystemStatsTable_rowreq_ctx *
+                                          rowreq_ctx,
+                                          u_long *
+                                          ipSystemStatsInTruncatedPkts_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx *
+                                          rowreq_ctx,
+                                          u_long *
+                                          ipSystemStatsInForwDatagrams_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx *
+                                            rowreq_ctx,
+-                                           U64 *
++                                           struct counter64 *
+                                            ipSystemStatsHCInForwDatagrams_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsReasmReqds_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsReasmReqds_get(ipSystemStatsTable_rowreq_ctx *
+                                     rowreq_ctx,
+                                     u_long *
+                                     ipSystemStatsReasmReqds_val_ptr);
+@@ -492,690 +245,142 @@ config_require(ip-mib/ipSystemStatsTable
+                                               * rowreq_ctx,
+                                               u_long *
+                                               ipSystemStatsReasmOKs_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsReasmFails_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsReasmFails_get(ipSystemStatsTable_rowreq_ctx *
+                                     rowreq_ctx,
+                                     u_long *
+                                     ipSystemStatsReasmFails_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInDiscards_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInDiscards_get(ipSystemStatsTable_rowreq_ctx *
+                                     rowreq_ctx,
+                                     u_long *
+                                     ipSystemStatsInDiscards_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInDelivers_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInDelivers_get(ipSystemStatsTable_rowreq_ctx *
+                                     rowreq_ctx,
+                                     u_long *
+                                     ipSystemStatsInDelivers_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCInDelivers_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCInDelivers_get(ipSystemStatsTable_rowreq_ctx *
+                                       rowreq_ctx,
+-                                      U64 *
++                                      struct counter64 *
+                                       ipSystemStatsHCInDelivers_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutRequests_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutRequests_get(ipSystemStatsTable_rowreq_ctx *
+                                      rowreq_ctx,
+                                      u_long *
+                                      ipSystemStatsOutRequests_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCOutRequests_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCOutRequests_get(ipSystemStatsTable_rowreq_ctx *
+                                        rowreq_ctx,
+-                                       U64 *
++                                       struct counter64 *
+                                        ipSystemStatsHCOutRequests_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutNoRoutes_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutNoRoutes_get(ipSystemStatsTable_rowreq_ctx *
+                                      rowreq_ctx,
+                                      u_long *
+                                      ipSystemStatsOutNoRoutes_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx *
+                                           rowreq_ctx,
+                                           u_long *
+                                           ipSystemStatsOutForwDatagrams_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx *
+                                             rowreq_ctx,
+-                                            U64 *
++                                            struct counter64 *
+                                             ipSystemStatsHCOutForwDatagrams_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutDiscards_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutDiscards_get(ipSystemStatsTable_rowreq_ctx *
+                                      rowreq_ctx,
+                                      u_long *
+                                      ipSystemStatsOutDiscards_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutFragReqds_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutFragReqds_get(ipSystemStatsTable_rowreq_ctx *
+                                       rowreq_ctx,
+                                       u_long *
+                                       ipSystemStatsOutFragReqds_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutFragOKs_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutFragOKs_get(ipSystemStatsTable_rowreq_ctx *
+                                     rowreq_ctx,
+                                     u_long *
+                                     ipSystemStatsOutFragOKs_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutFragFails_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutFragFails_get(ipSystemStatsTable_rowreq_ctx *
+                                       rowreq_ctx,
+                                       u_long *
+                                       ipSystemStatsOutFragFails_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutFragCreates_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutFragCreates_get(ipSystemStatsTable_rowreq_ctx *
+                                         rowreq_ctx,
+                                         u_long *
+                                         ipSystemStatsOutFragCreates_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutTransmits_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutTransmits_get(ipSystemStatsTable_rowreq_ctx *
+                                       rowreq_ctx,
+                                       u_long *
+                                       ipSystemStatsOutTransmits_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCOutTransmits_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCOutTransmits_get(ipSystemStatsTable_rowreq_ctx *
+                                         rowreq_ctx,
+-                                        U64 *
++                                        struct counter64 *
+                                         ipSystemStatsHCOutTransmits_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutOctets_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutOctets_get(ipSystemStatsTable_rowreq_ctx *
+                                    rowreq_ctx,
+                                    u_long *
+                                    ipSystemStatsOutOctets_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCOutOctets_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCOutOctets_get(ipSystemStatsTable_rowreq_ctx *
+                                      rowreq_ctx,
+-                                     U64 *
++                                     struct counter64 *
+                                      ipSystemStatsHCOutOctets_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInMcastPkts_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInMcastPkts_get(ipSystemStatsTable_rowreq_ctx *
+                                      rowreq_ctx,
+                                      u_long *
+                                      ipSystemStatsInMcastPkts_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCInMcastPkts_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCInMcastPkts_get(ipSystemStatsTable_rowreq_ctx *
+                                        rowreq_ctx,
+-                                       U64 *
++                                       struct counter64 *
+                                        ipSystemStatsHCInMcastPkts_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInMcastOctets_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInMcastOctets_get(ipSystemStatsTable_rowreq_ctx *
+                                        rowreq_ctx,
+                                        u_long *
+                                        ipSystemStatsInMcastOctets_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCInMcastOctets_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCInMcastOctets_get(ipSystemStatsTable_rowreq_ctx *
+                                          rowreq_ctx,
+-                                         U64 *
++                                         struct counter64 *
+                                          ipSystemStatsHCInMcastOctets_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx *
+                                       rowreq_ctx,
+                                       u_long *
+                                       ipSystemStatsOutMcastPkts_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx *
+                                         rowreq_ctx,
+-                                        U64 *
++                                        struct counter64 *
+                                         ipSystemStatsHCOutMcastPkts_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx *
+                                         rowreq_ctx,
+                                         u_long *
+                                         ipSystemStatsOutMcastOctets_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx *
+                                           rowreq_ctx,
+-                                          U64 *
++                                          struct counter64 *
+                                           ipSystemStatsHCOutMcastOctets_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsInBcastPkts_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsInBcastPkts_get(ipSystemStatsTable_rowreq_ctx *
+                                      rowreq_ctx,
+                                      u_long *
+                                      ipSystemStatsInBcastPkts_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCInBcastPkts_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCInBcastPkts_get(ipSystemStatsTable_rowreq_ctx *
+                                        rowreq_ctx,
+-                                       U64 *
++                                       struct counter64 *
+                                        ipSystemStatsHCInBcastPkts_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx *
+                                       rowreq_ctx,
+                                       u_long *
+                                       ipSystemStatsOutBcastPkts_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsHCOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsHCOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx *
+                                         rowreq_ctx,
+-                                        U64 *
++                                        struct counter64 *
+                                         ipSystemStatsHCOutBcastPkts_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsDiscontinuityTime_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsDiscontinuityTime_get(ipSystemStatsTable_rowreq_ctx *
+                                            rowreq_ctx,
+                                            u_long *
+                                            ipSystemStatsDiscontinuityTime_val_ptr);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsRefreshRate_get(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsRefreshRate_get(ipSystemStatsTable_rowreq_ctx *
+                                      rowreq_ctx,
+                                      u_long *
+                                      ipSystemStatsRefreshRate_val_ptr);
+-
+-
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsTable_indexes_set_tbl_idx(ipSystemStatsTable_mib_index
++    int ipSystemStatsTable_indexes_set_tbl_idx(ipSystemStatsTable_mib_index
+                                                * tbl_idx,
+                                                u_long
+                                                ipSystemStatsIPVersion_val);
+-    int
+-     
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        
+-        ipSystemStatsTable_indexes_set(ipSystemStatsTable_rowreq_ctx *
++    int ipSystemStatsTable_indexes_set(ipSystemStatsTable_rowreq_ctx *
+                                        rowreq_ctx,
+                                        u_long ipSystemStatsIPVersion_val);
+ 
+-
+-
+     /*
+      *********************************************************************
+      * SET function declarations
+Index: net-snmp-5.7.3/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c
+===================================================================
+--- net-snmp-5.7.3.orig/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c
++++ net-snmp-5.7.3/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c
+@@ -674,10 +674,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCInReceives(4)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCINRECEIVES:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCInReceives_get(rowreq_ctx,
+-                                           (U64 *) var->val.string);
++                                           (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -694,10 +694,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCInOctets(6)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCINOCTETS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCInOctets_get(rowreq_ctx,
+-                                         (U64 *) var->val.string);
++                                         (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -764,10 +764,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCInForwDatagrams(13)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCINFORWDATAGRAMS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCInForwDatagrams_get(rowreq_ctx,
+-                                                (U64 *) var->val.string);
++                                                (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -824,10 +824,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCInDelivers(19)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCINDELIVERS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCInDelivers_get(rowreq_ctx,
+-                                           (U64 *) var->val.string);
++                                           (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -844,10 +844,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCOutRequests(21)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCOUTREQUESTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCOutRequests_get(rowreq_ctx,
+-                                            (U64 *) var->val.string);
++                                            (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -874,10 +874,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCOutForwDatagrams(24)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCOUTFORWDATAGRAMS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCOutForwDatagrams_get(rowreq_ctx,
+-                                                 (U64 *) var->val.string);
++                                                 (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -944,10 +944,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCOutTransmits(31)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCOUTTRANSMITS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCOutTransmits_get(rowreq_ctx,
+-                                             (U64 *) var->val.string);
++                                             (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -964,10 +964,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCOutOctets(33)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCOUTOCTETS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCOutOctets_get(rowreq_ctx,
+-                                          (U64 *) var->val.string);
++                                          (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -984,10 +984,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCInMcastPkts(35)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCINMCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCInMcastPkts_get(rowreq_ctx,
+-                                            (U64 *) var->val.string);
++                                            (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1004,10 +1004,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCInMcastOctets(37)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCINMCASTOCTETS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCInMcastOctets_get(rowreq_ctx,
+-                                              (U64 *) var->val.string);
++                                              (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1024,10 +1024,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCOutMcastPkts(39)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCOUTMCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCOutMcastPkts_get(rowreq_ctx,
+-                                             (U64 *) var->val.string);
++                                             (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1044,10 +1044,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCOutMcastOctets(41)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCOUTMCASTOCTETS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCOutMcastOctets_get(rowreq_ctx,
+-                                               (U64 *) var->val.string);
++                                               (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1064,10 +1064,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCInBcastPkts(43)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCINBCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCInBcastPkts_get(rowreq_ctx,
+-                                            (U64 *) var->val.string);
++                                            (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+@@ -1084,10 +1084,10 @@ _ipSystemStatsTable_get_column(ipSystemS
+          * ipSystemStatsHCOutBcastPkts(45)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h 
+          */
+     case COLUMN_IPSYSTEMSTATSHCOUTBCASTPKTS:
+-        var->val_len = sizeof(U64);
++        var->val_len = sizeof(struct counter64);
+         var->type = ASN_COUNTER64;
+         rc = ipSystemStatsHCOutBcastPkts_get(rowreq_ctx,
+-                                             (U64 *) var->val.string);
++                                             (struct counter64 *) var->val.string);
+         break;
+ 
+         /*
+Index: net-snmp-5.7.3/include/net-snmp/data_access/ipstats.h
+===================================================================
+--- net-snmp-5.7.3.orig/include/net-snmp/data_access/ipstats.h
++++ net-snmp-5.7.3/include/net-snmp/data_access/ipstats.h
+@@ -58,45 +58,45 @@ typedef struct netsnmp_ipstats_s {
+     * other columns, when underlying OS does not provide them.
+     * Always fill at least 32 bits, the table is periodically polled -> 32 bit
+     * overflow shall be detected and 64 bit value should be computed automatically. */
+-   U64             HCInReceives;
+-   U64             HCInOctets;
++   struct counter64 HCInReceives;
++   struct counter64 HCInOctets;
+    u_long          InHdrErrors;
+-   U64             HCInNoRoutes; 
++   struct counter64 HCInNoRoutes; 
+    u_long          InAddrErrors;
+    u_long          InUnknownProtos;
+    u_long          InTruncatedPkts;
+    
+    /* optional, can be computed from HCInNoRoutes and HCOutForwDatagrams */
+-   U64             HCInForwDatagrams; 
++   struct counter64 HCInForwDatagrams; 
+    
+    u_long          ReasmReqds;
+    u_long          ReasmOKs;
+    u_long          ReasmFails;
+    u_long          InDiscards;
+-   U64             HCInDelivers;
+-   U64             HCOutRequests;
+-   U64             HCOutNoRoutes;
+-   U64             HCOutForwDatagrams;
+-   U64             HCOutDiscards;
++   struct counter64 HCInDelivers;
++   struct counter64 HCOutRequests;
++   struct counter64 HCOutNoRoutes;
++   struct counter64 HCOutForwDatagrams;
++   struct counter64 HCOutDiscards;
+    
+    /* optional, can be computed from HCOutFragOKs + HCOutFragFails*/
+-   U64             HCOutFragReqds;
+-   U64             HCOutFragOKs;
+-   U64             HCOutFragFails;
+-   U64             HCOutFragCreates;
++   struct counter64 HCOutFragReqds;
++   struct counter64 HCOutFragOKs;
++   struct counter64 HCOutFragFails;
++   struct counter64 HCOutFragCreates;
+    
+    /* optional, can be computed from 
+     * HCOutRequests +HCOutForwDatagrams + HCOutFragCreates
+     * - HCOutFragReqds - HCOutNoRoutes  - HCOutDiscards */
+-   U64             HCOutTransmits;
++   struct counter64 HCOutTransmits;
+    
+-   U64             HCOutOctets;
+-   U64             HCInMcastPkts;
+-   U64             HCInMcastOctets;
+-   U64             HCOutMcastPkts;
+-   U64             HCOutMcastOctets;
+-   U64             HCInBcastPkts;
+-   U64             HCOutBcastPkts;
++   struct counter64 HCOutOctets;
++   struct counter64 HCInMcastPkts;
++   struct counter64 HCInMcastOctets;
++   struct counter64 HCOutMcastPkts;
++   struct counter64 HCOutMcastOctets;
++   struct counter64 HCInBcastPkts;
++   struct counter64 HCOutBcastPkts;
+ 
+    /* Array of available columns.*/
+    int             columnAvail[IPSYSTEMSTATSTABLE_LAST+1];
+Index: net-snmp-5.7.3/include/net-snmp/library/int64.h
+===================================================================
+--- net-snmp-5.7.3.orig/include/net-snmp/library/int64.h
++++ net-snmp-5.7.3/include/net-snmp/library/int64.h
+@@ -5,31 +5,29 @@
+ extern          "C" {
+ #endif
+ 
+-    typedef struct counter64 U64;
+-
+ #define I64CHARSZ 21
+ 
+-    void            divBy10(U64, U64 *, unsigned int *);
+-    void            multBy10(U64, U64 *);
+-    void            incrByU16(U64 *, unsigned int);
+-    void            incrByU32(U64 *, unsigned int);
++    void            divBy10(struct counter64, struct counter64 *, unsigned int *);
++    void            multBy10(struct counter64, struct counter64 *);
++    void            incrByU16(struct counter64 *, unsigned int);
++    void            incrByU32(struct counter64 *, unsigned int);
+     NETSNMP_IMPORT
+-    void            zeroU64(U64 *);
+-    int             isZeroU64(const U64 *);
++    void            zeroU64(struct counter64 *);
++    int             isZeroU64(const struct counter64 *);
+     NETSNMP_IMPORT
+-    void            printU64(char *, const U64 *);
++    void            printU64(char *, const struct counter64 *);
+     NETSNMP_IMPORT
+-    void            printI64(char *, const U64 *);
+-    int             read64(U64 *, const char *);
++    void            printI64(char *, const struct counter64 *);
++    int             read64(struct counter64 *, const char *);
+     NETSNMP_IMPORT
+-    void            u64Subtract(const U64 * pu64one, const U64 * pu64two,
+-                                U64 * pu64out);
+-    void            u64Incr(U64 * pu64out, const U64 * pu64one);
+-    void            u64UpdateCounter(U64 * pu64out, const U64 * pu64one,
+-                                     const U64 * pu64two);
+-    void            u64Copy(U64 * pu64one, const U64 * pu64two);
++    void            u64Subtract(const struct counter64 *pu64one, const struct counter64 *pu64two,
++                                struct counter64 *pu64out);
++    void            u64Incr(struct counter64 *pu64out, const struct counter64 *pu64one);
++    void            u64UpdateCounter(struct counter64 *pu64out, const struct counter64 *pu64one,
++                                     const struct counter64 *pu64two);
++    void            u64Copy(struct counter64 *pu64one, const struct counter64 *pu64two);
+ 
+-    int             netsnmp_c64_check_for_32bit_wrap(U64 *old_val, U64 *new_val,
++    int             netsnmp_c64_check_for_32bit_wrap(struct counter64 *old_val, struct counter64 *new_val,
+                                                      int adjust);
+     NETSNMP_IMPORT
+     int             netsnmp_c64_check32_and_update(struct counter64 *prev_val,
+Index: net-snmp-5.7.3/snmplib/int64.c
+===================================================================
+--- net-snmp-5.7.3.orig/snmplib/int64.c
++++ net-snmp-5.7.3/snmplib/int64.c
+@@ -33,7 +33,7 @@
+  * @param[out] puR   Remainder.
+  */
+ void
+-divBy10(U64 u64, U64 * pu64Q, unsigned int *puR)
++divBy10(struct counter64 u64, struct counter64 *pu64Q, unsigned int *puR)
+ {
+     unsigned long   ulT;
+     unsigned long   ulQ;
+@@ -83,7 +83,7 @@ divBy10(U64 u64, U64 * pu64Q, unsigned i
+  * @param[out] pu64P Product.
+  */
+ void
+-multBy10(U64 u64, U64 * pu64P)
++multBy10(struct counter64 u64, struct counter64 *pu64P)
+ {
+     unsigned long   ulT;
+     unsigned long   ulP;
+@@ -130,7 +130,7 @@ multBy10(U64 u64, U64 * pu64P)
+  *
+  */
+ void
+-incrByU16(U64 * pu64, unsigned int u16)
++incrByU16(struct counter64 *pu64, unsigned int u16)
+ {
+     incrByU32(pu64, u16);
+ }
+@@ -143,7 +143,7 @@ incrByU16(U64 * pu64, unsigned int u16)
+  *
+  */
+ void
+-incrByU32(U64 * pu64, unsigned int u32)
++incrByU32(struct counter64 *pu64, unsigned int u32)
+ {
+     uint32_t tmp;
+ 
+@@ -161,7 +161,7 @@ incrByU32(U64 * pu64, unsigned int u32)
+  * @param[out] pu64out pu64one - pu64two.
+  */
+ void
+-u64Subtract(const U64 * pu64one, const U64 * pu64two, U64 * pu64out)
++u64Subtract(const struct counter64 *pu64one, const struct counter64 *pu64two, struct counter64 *pu64out)
+ {
+     int carry;
+ 
+@@ -177,7 +177,7 @@ u64Subtract(const U64 * pu64one, const U
+  * @param[in,out] pu64out pu64out += pu64one.
+  */
+ void
+-u64Incr(U64 * pu64out, const U64 * pu64one)
++u64Incr(struct counter64 *pu64out, const struct counter64 *pu64one)
+ {
+     pu64out->high = (uint32_t)(pu64out->high + pu64one->high);
+     incrByU32(pu64out, pu64one->low);
+@@ -191,9 +191,9 @@ u64Incr(U64 * pu64out, const U64 * pu64o
+  * @param[out] pu64out pu64out += (pu64one - pu64two)
+  */
+ void
+-u64UpdateCounter(U64 * pu64out, const U64 * pu64one, const U64 * pu64two)
++u64UpdateCounter(struct counter64 *pu64out, const struct counter64 *pu64one, const struct counter64 *pu64two)
+ {
+-    U64 tmp;
++    struct counter64 tmp;
+ 
+     u64Subtract(pu64one, pu64two, &tmp);
+     u64Incr(pu64out, &tmp);
+@@ -208,7 +208,7 @@ netsnmp_feature_child_of(u64copy, netsnm
+  * @param[out] pu64one Where to store the copy - *pu64one = *pu64two.
+  */
+ void
+-u64Copy(U64 * pu64one, const U64 * pu64two)
++u64Copy(struct counter64 *pu64one, const struct counter64 *pu64two)
+ {
+     *pu64one = *pu64two;
+ }
+@@ -220,7 +220,7 @@ u64Copy(U64 * pu64one, const U64 * pu64t
+  * @param[in] pu64 Number to be zeroed.
+  */
+ void
+-zeroU64(U64 * pu64)
++zeroU64(struct counter64 *pu64)
+ {
+     pu64->low = 0;
+     pu64->high = 0;
+@@ -232,7 +232,7 @@ zeroU64(U64 * pu64)
+  * @param[in] pu64 Number to be checked.
+  */
+ int
+-isZeroU64(const U64 * pu64)
++isZeroU64(const struct counter64 *pu64)
+ {
+     return pu64->low == 0 && pu64->high == 0;
+ }
+@@ -390,10 +390,10 @@ netsnmp_c64_check32_and_update(struct co
+ /** Convert an unsigned 64-bit number to ASCII. */
+ void
+ printU64(char *buf, /* char [I64CHARSZ+1]; */
+-         const U64 * pu64)
++         const struct counter64 *pu64)
+ {
+-    U64             u64a;
+-    U64             u64b;
++    struct counter64 u64a;
++    struct counter64 u64b;
+ 
+     char            aRes[I64CHARSZ + 1];
+     unsigned int    u;
+@@ -414,9 +414,9 @@ printU64(char *buf, /* char [I64CHARSZ+1
+ /** Convert a signed 64-bit number to ASCII. */
+ void
+ printI64(char *buf, /* char [I64CHARSZ+1]; */
+-         const U64 * pu64)
++         const struct counter64 *pu64)
+ {
+-    U64             u64a;
++    struct counter64 u64a;
+ 
+     if (pu64->high & 0x80000000) {
+         u64a.high = (uint32_t) ~pu64->high;
+@@ -429,11 +429,11 @@ printI64(char *buf, /* char [I64CHARSZ+1
+     }
+ }
+ 
+-/** Convert a signed 64-bit integer from ASCII to U64. */
++/** Convert a signed 64-bit integer from ASCII to struct counter64. */
+ int
+-read64(U64 * i64, const char *str)
++read64(struct counter64 *i64, const char *str)
+ {
+-    U64             i64p;
++    struct counter64 i64p;
+     unsigned int    u;
+     int             sign = 0;
+     int             ok = 0;
+Index: net-snmp-5.7.3/snmplib/read_config.c
+===================================================================
+--- net-snmp-5.7.3.orig/snmplib/read_config.c
++++ net-snmp-5.7.3/snmplib/read_config.c
+@@ -2270,10 +2270,10 @@ read_config_read_memory(int type, char *
+         return readfrom;
+ 
+     case ASN_COUNTER64:
+-        if (*len < sizeof(U64))
++        if (*len < sizeof(struct counter64))
+             return NULL;
+-        *len = sizeof(U64);
+-        read64((U64 *) dataptr, readfrom);
++        *len = sizeof(struct counter64);
++        read64((struct counter64 *) dataptr, readfrom);
+         readfrom = skip_token(readfrom);
+         return readfrom;
+     }
+Index: net-snmp-5.7.3/testing/fulltests/unit-tests/T015int64_clib.c
+===================================================================
+--- net-snmp-5.7.3.orig/testing/fulltests/unit-tests/T015int64_clib.c
++++ net-snmp-5.7.3/testing/fulltests/unit-tests/T015int64_clib.c
+@@ -1,4 +1,4 @@
+-/* HEADER Testing 64-bit integer operations (U64). */
++/* HEADER Testing 64-bit integer operations (struct counter64). */
+ 
+ int i, j;
+ char buf[22];
+@@ -15,7 +15,7 @@ static const int64_t intval[] = {
+ };
+ 
+ for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) {
+-    U64 a, b;
++    struct counter64 a, b;
+     a.low = (uint32_t)intval[i];
+     a.high = (uint32_t)(intval[i] >> 32);
+     printI64(buf, &a);
+@@ -27,7 +27,7 @@ for (i = 0; i < sizeof(intval)/sizeof(in
+ 
+ for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) {
+     for (j = i; j < sizeof(intval)/sizeof(intval[0]); ++j) {
+-        U64 a, b;
++        struct counter64 a, b;
+         uint64_t d;
+         a.low = (uint32_t)intval[i];
+         a.high = (uint32_t)(intval[i] >> 32);
+@@ -43,7 +43,7 @@ for (i = 0; i < sizeof(intval)/sizeof(in
+         
+ for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) {
+     for (j = i; j < sizeof(intval)/sizeof(intval[0]); ++j) {
+-        U64 a, b, c;
++        struct counter64 a, b, c;
+         uint64_t d;
+         a.low = (uint32_t)intval[i];
+         a.high = (uint32_t)(intval[i] >> 32);
+@@ -58,7 +58,7 @@ for (i = 0; i < sizeof(intval)/sizeof(in
+ }
+         
+ {
+-    U64 old_val, new_val;
++    struct counter64 old_val, new_val;
+     old_val.low = 7;
+     old_val.high = 0;
+     new_val = old_val;
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
index c6401fe..44359be 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
@@ -17,11 +17,11 @@
  configure.d/config_os_headers | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers
-index 708aa09..0df32ca 100644
---- a/configure.d/config_os_headers
-+++ b/configure.d/config_os_headers
-@@ -482,8 +482,8 @@ then
+Index: net-snmp-5.7.3/configure.d/config_os_headers
+===================================================================
+--- net-snmp-5.7.3.orig/configure.d/config_os_headers
++++ net-snmp-5.7.3/configure.d/config_os_headers
+@@ -484,8 +484,8 @@ then
      unset ac_cv_header_pkg_h
      netsnmp_save_CPPFLAGS="$CPPFLAGS"
      netsnmp_save_LDFLAGS="$LDFLAGS"
@@ -32,6 +32,3 @@
      AC_CHECK_HEADERS(pkg.h,
          NETSNMP_SEARCH_LIBS(pkg_init, pkg,
  	    AC_DEFINE(HAVE_LIBPKG, 1, [define if you have BSD pkg-ng])))
--- 
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-UDPIPv6-transport-Add-a-missing-return-state.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-UDPIPv6-transport-Add-a-missing-return-state.patch
index 6255f7c..527aa39 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-UDPIPv6-transport-Add-a-missing-return-state.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-UDPIPv6-transport-Add-a-missing-return-state.patch
@@ -12,11 +12,11 @@
  snmplib/transports/snmpUDPIPv6Domain.c | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/snmplib/transports/snmpUDPIPv6Domain.c b/snmplib/transports/snmpUDPIPv6Domain.c
-index 029b164..11c39bb 100644
---- a/snmplib/transports/snmpUDPIPv6Domain.c
-+++ b/snmplib/transports/snmpUDPIPv6Domain.c
-@@ -285,6 +285,7 @@ netsnmp_udp6_transport(struct sockaddr_in6 *addr, int local)
+Index: net-snmp-5.7.3/snmplib/transports/snmpUDPIPv6Domain.c
+===================================================================
+--- net-snmp-5.7.3.orig/snmplib/transports/snmpUDPIPv6Domain.c
++++ net-snmp-5.7.3/snmplib/transports/snmpUDPIPv6Domain.c
+@@ -305,6 +305,7 @@ netsnmp_udp6_transport(struct sockaddr_i
                                   errno, strerror(errno)));
                  netsnmp_socketbase_close(t);
                  netsnmp_transport_free(t);
@@ -24,6 +24,3 @@
              }
          }
          /*
--- 
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch
index a360c3a..d29be33 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch
@@ -10,11 +10,11 @@
 
 Signed-off-by: Roy.Li <rongqing.li@windriver.com>
 ---
-diff --git a/Makefile.top b/Makefile.top
-index 862fb94..ed7dcfc 100644
---- a/Makefile.top
-+++ b/Makefile.top
-@@ -86,7 +86,7 @@ LIBREVISION = 2
+Index: net-snmp-5.7.3/Makefile.top
+===================================================================
+--- net-snmp-5.7.3.orig/Makefile.top
++++ net-snmp-5.7.3/Makefile.top
+@@ -87,7 +87,7 @@ LIBREVISION = 3
  LIB_LD_CMD      = $(LIBTOOL) --mode=link $(LINKCC) $(CFLAGS) -rpath $(libdir) -version-info $(LIBCURRENT):$(LIBREVISION):$(LIBAGE) -o
  LIB_EXTENSION   = la
  LIB_VERSION     =
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
index efe8038..fbd274b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
@@ -12,11 +12,11 @@
  snmplib/snmpv3.c | 4 ++--
  2 files changed, 3 insertions(+), 2 deletions(-)
 
-diff --git a/agent/snmpd.c b/agent/snmpd.c
-index 056048a..12a7ea1 100644
---- a/agent/snmpd.c
-+++ b/agent/snmpd.c
-@@ -1246,6 +1246,7 @@ receive(void)
+Index: net-snmp-5.7.3/agent/snmpd.c
+===================================================================
+--- net-snmp-5.7.3.orig/agent/snmpd.c
++++ net-snmp-5.7.3/agent/snmpd.c
+@@ -1253,6 +1253,7 @@ receive(void)
  	    snmp_log(LOG_INFO, "NET-SNMP version %s restarted\n",
  		     netsnmp_get_version());
              update_config();
@@ -24,11 +24,11 @@
              send_easy_trap(SNMP_TRAP_ENTERPRISESPECIFIC, 3);
  #if HAVE_SIGHOLD
              sigrelse(SIGHUP);
-diff --git a/snmplib/snmpv3.c b/snmplib/snmpv3.c
-index 435cafd..6ad8208 100644
---- a/snmplib/snmpv3.c
-+++ b/snmplib/snmpv3.c
-@@ -984,9 +984,9 @@ init_snmpv3_post_config(int majorid, int minorid, void *serverarg,
+Index: net-snmp-5.7.3/snmplib/snmpv3.c
+===================================================================
+--- net-snmp-5.7.3.orig/snmplib/snmpv3.c
++++ net-snmp-5.7.3/snmplib/snmpv3.c
+@@ -984,9 +984,9 @@ init_snmpv3_post_config(int majorid, int
      /*
       * if our engineID has changed at all, the boots record must be set to 1 
       */
@@ -40,6 +40,3 @@
          engineBoots = 1;
      }
  
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch
index 9fb19b3..8f8336a 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch
@@ -10,11 +10,11 @@
  testing/RUNTESTS |    4 ++++
  1 files changed, 4 insertions(+), 0 deletions(-)
 
-diff --git a/testing/RUNTESTS b/testing/RUNTESTS
-index e11c969..fb90f76 100755
---- a/testing/RUNTESTS
-+++ b/testing/RUNTESTS
-@@ -25,13 +25,17 @@ failed_count=0
+Index: net-snmp-5.7.3/testing/RUNTESTS
+===================================================================
+--- net-snmp-5.7.3.orig/testing/RUNTESTS
++++ net-snmp-5.7.3/testing/RUNTESTS
+@@ -29,13 +29,17 @@ failed_count=0
  rm -f failed_tests
  for i in "${srcdir}"/testing/fulltests/default/T*$1*; do
      echo "RUNNING $i"
@@ -32,6 +32,3 @@
  done
  
  if [ -f failed_tests ]; then
--- 
-1.7.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb
index 849ae07..faf73a5 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb
@@ -32,6 +32,7 @@
            file://0004-configure-fix-incorrect-variable.patch \
            file://net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch \
            file://net-snmp-fix-for-disable-des.patch \
+           file://0001-Remove-U64-typedef.patch \
            "
 SRC_URI[md5sum] = "9f682bd70c717efdd9f15b686d07baee"
 SRC_URI[sha256sum] = "e8dfc79b6539b71a6ff335746ce63d2da2239062ad41872fff4354cafed07a3e"
@@ -60,7 +61,7 @@
                 --with-defaults \
                 --with-install-prefix=${D} \
                 --with-persistent-directory=${localstatedir}/lib/net-snmp \
-                ${@base_conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)} \
+                ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)} \
 "
 
 # net-snmp needs to have mib-modules=smux enabled to enable quagga to support snmp
@@ -118,6 +119,10 @@
     sed    -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \
         -i ${D}${bindir}/net-snmp-create-v3-user
     sed    -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \
+           -e "s@\([^ ]*-fdebug-prefix-map=[^ ]*\)\1*@@g" \
+           -e "s@\([^ ]*--sysroot=[^ ]*\)\1*@@g" \
+           -e "s@\([^ ]*--with-libtool-sysroot=[^ ]*\)\1*@@g" \
+           -e "s@\([^ ]*--with-install-prefix=[^ ]*\)\1*@@g" \
         -i ${D}${bindir}/net-snmp-config
 
     if [ "${HAS_PERL}" = "1" ]; then
@@ -146,6 +151,7 @@
 }
 
 SYSROOT_PREPROCESS_FUNCS += "net_snmp_sysroot_preprocess"
+SNMP_DBGDIR = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
 
 net_snmp_sysroot_preprocess () {
     if [ -e ${D}${bindir}/net-snmp-config ]; then
@@ -157,6 +163,12 @@
             -e "s@^includedir=.*@includedir=${STAGING_INCDIR}@g" \
             -e "s@^libdir=.*@libdir=${STAGING_LIBDIR}@g" \
             -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=${S}@g" \
+            -e "s@-fdebug-prefix-map=${SNMP_DBGDIR}@-fdebug-prefix-map=${WORKDIR}=${SNMP_DBGDIR}@g" \
+            -e "s@-fdebug-prefix-map= -fdebug-prefix-map=@-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
+                  -fdebug-prefix-map=${STAGING_DIR_HOST}=@g" \
+            -e "s@--sysroot=@--sysroot=${STAGING_DIR_HOST}@g" \
+            -e "s@--with-libtool-sysroot=@--with-libtool-sysroot=${STAGING_DIR_HOST}@g" \
+            -e "s@--with-install-prefix=@--with-install-prefix=${D}@g" \
           -i  ${SYSROOT_DESTDIR}${bindir_crossscripts}/net-snmp-config
     fi
 }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/fix_linux_4.15_compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/fix_linux_4.15_compile.patch
new file mode 100644
index 0000000..4597df8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/fix_linux_4.15_compile.patch
@@ -0,0 +1,44 @@
+This fixes a compile issue introduced with linux kernel 4.15
+
+include/linux/in.h:222:8: error: redefinition of 'struct in_pktinfo'
+|  struct in_pktinfo {
+
+
+Upstream-Status: Pending
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: openl2tp-1.8/plugins/ppp_unix.c
+===================================================================
+--- openl2tp-1.8.orig/plugins/ppp_unix.c
++++ openl2tp-1.8/plugins/ppp_unix.c
+@@ -25,9 +25,14 @@
+ #include <fcntl.h>
+ #include <sys/types.h>
+ #include <signal.h>
++#include <linux/version.h>
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ #include <net/ethernet.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
++#endif
++
+ #include <arpa/inet.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+@@ -41,12 +46,12 @@
+ #define __user
+ #endif
+ #include <sys/ioctl.h>
+-#include <linux/if_ether.h>
+-#include <linux/if_pppox.h>
+ #include <linux/ppp_defs.h>
+ #include <linux/if_ppp.h>
++#include <linux/if_pppox.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+ #include <linux/if_pppol2tp.h>
+-
++#endif
+ #include "usl.h"
+ #include "l2tp_private.h"
+ 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-enable-tests.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-enable-tests.patch
new file mode 100644
index 0000000..0bece2f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tpd-enable-tests.patch
@@ -0,0 +1,24 @@
+commit 3e96a6c41bdd26417265a45ed685138d8eed564e
+Author: Aws Ismail <aws.ismail@windriver.com>
+Date:   Fri Sep 14 02:32:53 2012 -0400
+
+    openl2tp: Enable tests
+    
+    Build the test direcctory as part
+    of the overall build
+    
+    Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+
+diff --git a/Makefile b/Makefile
+index 412cf4d..adf4f44 100644
+--- a/Makefile
++++ b/Makefile
+@@ -16,7 +16,7 @@ L2TP_FEATURE_LOCAL_CONF_FILE=	y
+ 
+ # Define to include test code. This must be defined to run the
+ # regression tests
+-# L2TP_TEST=		y
++L2TP_TEST=y
+ 
+ # Define to compile in debug code. Also makes default trace flags
+ # enable all messages
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/run-ptest b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/run-ptest
new file mode 100644
index 0000000..01c9c7b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/run-ptest
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+TMP_DIR=`mktemp -d /tmp/std.26.tmp.XXXXXX`
+
+# restore the file if exist
+restore_file()
+{
+	filelist="test_procs.tcl tunnel.test session.test"
+	for file in ${filelist}
+	do
+		if [ -f ${TMP_DIR}/${file} ]; then
+			mv ${TMP_DIR}/${file} ${OPENL2TP_DIR}
+		fi
+	done
+}
+
+exit_cus()
+{
+	restore_file
+	echo $1
+	exit $2
+}
+
+if [ -d /usr/lib64/openl2tp/ptest ]; then
+	OPENL2TP_DIR="/usr/lib64/openl2tp"
+elif [ -d /usr/lib/openl2tp/ptest ]; then
+	OPENL2TP_DIR="/usr/lib/openl2tp"
+else
+	exit_cus "The openl2tp ptest directory not installed, skip the test" 1
+fi
+
+#read -p "Please input the network interface you use to test(such as eth0, em1 etc):" ETH_TEST
+echo "Please input the network interface you use to test(such as eth0, em1 etc):"
+read ETH_TEST > /dev/null
+
+if [ x"$ETH_TEST" = x ]; then
+    exit_cus "The network interface cannot be null" 1
+fi
+ifconfig | grep $ETH_TEST > /dev/null || exit_cus "The network interface you provide is invalid" 1
+
+# check openl2tp related kernel config
+zcat /proc/config.gz | grep CONFIG_L2TP=y > /dev/null || exit_cus "Failed to check CONFIG_L2TP=y, skip the tests." 1
+zcat /proc/config.gz | grep CONFIG_PPPOL2TP=m > /dev/null || exit_cus "Failed to check CONFIG_PPPOL2TP=m, skip the tests." 1
+
+SYSV_INIT="/etc/init.d/rpcbind"
+if [ -e ${SYSV_INIT} ]; then
+	${SYSV_INIT} status > /dev/null || ${SYSV_INIT} start > /dev/null
+else
+	systemctl status rpcbind > /dev/null || systemctl start rpcbind > /dev/null
+fi
+
+which systemctl > /dev/null && systemctl status rpcbind > /dev/null || service rpcbind status > /dev/null
+[ $? -ne 0 ] && exit_cus "Failed to start rpcbind service, skip the tests." 1
+
+# backup the below files
+cp ${OPENL2TP_DIR}/ptest/test_procs.tcl $TMP_DIR
+cp ${OPENL2TP_DIR}/ptest/tunnel.test $TMP_DIR
+cp ${OPENL2TP_DIR}/ptest/session.test $TMP_DIR
+
+# customise the config
+if [ x"$ETH_TEST" = x ]; then
+	exit_cus "Please set ETH_TEST which used to test first, skip the tests." 1
+fi
+
+sed -i 's/eth2/'\"$ETH_TEST\"'/g' ${OPENL2TP_DIR}/ptest/test_procs.tcl
+test_ip="`ifconfig $ETH_TEST | grep 'inet ' | sed 's/^.*inet addr://g' | \
+    sed 's/ *Mask.*$//g'|sed 's/ *Bcast.*$//g'`"
+sed -i 's/192.168.0.1/'"$test_ip"'/g' ${OPENL2TP_DIR}/ptest/tunnel.test
+
+# load module l2tp_ppp
+modprobe  l2tp_ppp > /dev/null
+lsmod | grep l2tp_ppp > /dev/null || exit_cus "FAIL: Load module l2tp_ppp" 2
+
+# start openl2tpd
+ps aux | grep openl2tpd | grep -v grep > /dev/null && killall openl2tpd > /dev/null
+ppp_path=`rpm -ql openl2tp | grep ppp_null.so`
+echo "test it here"
+/usr/sbin/openl2tpd -d all -D -f -p ${ppp_path} &  > /dev/null
+
+# prepare the test env
+rm -rf $OPENL2TP_DIR/results
+mkdir -p $OPENL2TP_DIR/results || exit_cus "FAIL: mkdir $OPENL2TP_DIR/results" 2
+cp /usr/bin/l2tpconfig ${OPENL2TP_DIR} || exit_cus "FAIL: copy /usr/bin/l2tpconfig to ${OPENL2TP_DIR}" 2
+
+# start the test
+cd ${OPENL2TP_DIR}/ptest && tclsh all.tcl -preservecore 3 -verbose bps -tmpdir $OPENL2TP_DIR/results -outfile test-l2tpd.result -constraints "l2tpdRunning peerProfile tunnelProfile sessionProfile pppProfile system" -match "peer_profile-1.1 tunnel_profile-1.1 session_profile-1.1 ppp_profile-1.1 system-1.1"
+
+# check the result
+PASSNUM=`grep PASS $OPENL2TP_DIR/results/test-l2tpd.result | wc -l`
+FAILNUM=`grep FAIL $OPENL2TP_DIR/results/test-l2tpd.result | wc -l`
+if [ $PASSNUM -ne 0 ] && [ $FAILNUM -eq 0 ]; then
+    echo "PASS: openl2tp"
+else
+    echo "FAIL: openl2tp"
+fi
+
+restore_file
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
index bbde8a3..1f6b4de 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
@@ -31,6 +31,9 @@
            file://openl2tpd-initscript-fix-sysconfig.patch \
            file://openl2tpd-initscript-fix-warning.patch \
            file://openl2tpd.service \
+           file://openl2tpd-enable-tests.patch \
+           file://run-ptest \
+           file://fix_linux_4.15_compile.patch \
            "
 
 SRC_URI_append_libc-musl = "\
@@ -41,7 +44,7 @@
 SRC_URI[md5sum] = "e3d08dedfb9e6a9a1e24f6766f6dadd0"
 SRC_URI[sha256sum] = "1c97704d4b963a87fbc0e741668d4530933991515ae9ab0dffd11b5444f4860f"
 
-inherit autotools-brokensep pkgconfig systemd
+inherit autotools-brokensep pkgconfig systemd ptest
 
 SYSTEMD_SERVICE_${PN} = "openl2tpd.service"
 SYSTEMD_AUTO_ENABLE = "disable"
@@ -85,4 +88,12 @@
     fi
 }
 
+do_install_ptest () {
+    for i in all.tcl configfile.test peer_profile.test ppp_profile.test \
+    session_profile.test session.test system.test test_procs.tcl \
+    thirdparty_lns.test tunnel_profile.test tunnel.test; do
+        install -m 0755 ${S}/test/$i ${D}${PTEST_PATH}
+    done
+}
+
 RDEPENDS_${PN} = "ppp ppp-l2tp bash"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.1.bb
deleted file mode 100644
index 4d43d7b..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require quagga.inc
-
-SRC_URI[md5sum] = "b1546de89062f7070d56e780b30be4b1"
-SRC_URI[sha256sum] = "aaddba5d4f41ed8e4c2f155f4584c993465d122c9096b5b52ada3fc75266fbcd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb
new file mode 100644
index 0000000..a7697a1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb
@@ -0,0 +1,4 @@
+require quagga.inc
+
+SRC_URI[md5sum] = "eced21b054d71c9e1b7c6ac43286a166"
+SRC_URI[sha256sum] = "e364c082c3309910e1eb7b068bf39ee298e2f2f3f31a6431a5c115193bd653d3"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch
index 11356ce..7601f0d 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch
@@ -1,11 +1,12 @@
-From 8d4d452d733bac8c5b55a90bddec8cc323cc9fa8 Mon Sep 17 00:00:00 2001
+From fdb64d21560bfdafeefccc7d20e105e4857faa99 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 28 Mar 2017 19:20:07 -0700
-Subject: [PATCH 1/2] ppoe: Dont include linux/if_ether.h
+Subject: [PATCH] ppoe: Dont include linux/if_ether.h
 
 Fixes build with musl
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/pppoe.h | 4 ----
  1 file changed, 4 deletions(-)
@@ -25,6 +26,3 @@
  #include <netinet/in.h>
  
  #ifdef HAVE_NETINET_IF_ETHER_H
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch
index 139d1f0..2103b38 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch
@@ -1,9 +1,10 @@
-From aca8473a516a8dc013866105da141fe1cd947474 Mon Sep 17 00:00:00 2001
+From 31b6eecd7e5ebfb9a37915f28823e5af9d1062b4 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 28 Mar 2017 19:24:53 -0700
-Subject: [PATCH 2/2] Enable support for the kernel module
+Subject: [PATCH] Enable support for the kernel module
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/configure.in | 1 +
  1 file changed, 1 insertion(+)
@@ -20,6 +21,3 @@
  ])
  
  dnl Checks for typedefs, structures, and compiler characteristics.
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch
index 2661fd3..bbd516f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch
@@ -1,4 +1,4 @@
-From 71956de46feef962dc0645af4c81ae074ca3b818 Mon Sep 17 00:00:00 2001
+From bdd20b7a584a20504dfabb409a41ee2b9ae41657 Mon Sep 17 00:00:00 2001
 From: Lei Maohui <leimaohui@cn.fujitsu.com>
 Date: Wed, 19 Aug 2015 13:52:57 +0900
 Subject: [PATCH] configure.in: Error fix.
@@ -9,15 +9,16 @@
 Upstream-Status: pending
 
 Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+
 ---
  src/configure.in | 30 ------------------------------
  1 file changed, 30 deletions(-)
 
 diff --git a/src/configure.in b/src/configure.in
-index 0b23df5..31c7fbc 100644
+index 1714e69..cae0976 100644
 --- a/src/configure.in
 +++ b/src/configure.in
-@@ -193,36 +193,6 @@ if test "$GCC" = yes; then
+@@ -195,36 +195,6 @@ if test "$GCC" = yes; then
  	CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -Wstrict-prototypes"
  fi
  
@@ -54,6 +55,3 @@
  if test "$rpppoe_cv_pack_bitfields" = "rev" ; then
  	AC_MSG_RESULT(reversed)
  	AC_DEFINE([PACK_BITFIELDS_REVERSED], [], [Reversed bitfields])
--- 
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch
index 1380ba4..be89280 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch
@@ -1,7 +1,15 @@
-Index: rp-pppoe-3.8/configure.in
-===================================================================
---- rp-pppoe-3.8.orig/configure.in	2014-07-16 19:31:33.549991388 +0000
-+++ rp-pppoe-3.8/configure.in	2014-07-17 22:01:18.116590827 +0000
+From c96dda04ec024bdef2a15d374e5f8242e041cad4 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Fri, 18 Jul 2014 08:25:16 +0000
+
+---
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index ac1a7e4..11b9f31 100644
+--- a/configure.in
++++ b/configure.in
 @@ -1,4 +1,4 @@
 -AC_INIT(src/pppoe.c)
 -AM_INIT_AUTOMAKE([rp-pppoe], [3.8])
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch
index 88cf7e6..3b94593 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch
@@ -1,4 +1,4 @@
-From cab02076afb808a43c6ff3d7b1c64e71f5a1b397 Mon Sep 17 00:00:00 2001
+From 172907f31d64da4c3f289a439fd605d2ab51b24a Mon Sep 17 00:00:00 2001
 From: Lei Maohui <leimaohui@cn.fujitsu.com>
 Date: Wed, 19 Aug 2015 12:17:03 +0900
 Subject: [PATCH] configure in cross
@@ -14,7 +14,7 @@
  1 file changed, 16 insertions(+), 50 deletions(-)
 
 diff --git a/src/configure.in b/src/configure.in
-index e194295..82d64d6 100644
+index 90a07df..1d30243 100644
 --- a/src/configure.in
 +++ b/src/configure.in
 @@ -5,6 +5,13 @@ AC_INIT(pppoe.c)
@@ -40,7 +40,7 @@
  fi
  
  dnl Check for N_HDLC line discipline
-@@ -56,7 +63,7 @@ AC_TRY_COMPILE([#include <linux/termios.h>],
+@@ -58,7 +65,7 @@ AC_TRY_COMPILE([
  	ac_cv_n_hdlc=no)
  AC_MSG_RESULT($ac_cv_n_hdlc)
  if test "$ac_cv_n_hdlc" = yes ; then
@@ -49,7 +49,7 @@
  fi
  
  AC_ARG_ENABLE(plugin, [  --enable-plugin=pppd_src_path   build pppd plugin], ac_cv_pluginpath=$enableval, ac_cv_pluginpath=no)
-@@ -104,7 +111,7 @@ PPPD_INCDIR=""
+@@ -106,7 +113,7 @@ PPPD_INCDIR=""
  if test "$ac_cv_header_linux_if_pppox_h" = yes ; then
  	if test "$ac_cv_pluginpath" != no ; then
  		LINUX_KERNELMODE_PLUGIN=rp-pppoe.so
@@ -58,7 +58,7 @@
  		PPPD_INCDIR=$ac_cv_pluginpath
  	fi
  fi
-@@ -114,7 +121,7 @@ if test "$PPPD_INCDIR" = "" ; then
+@@ -116,7 +123,7 @@ if test "$PPPD_INCDIR" = "" ; then
  fi
  
  if test "$ac_cv_debugging" = "yes" ; then
@@ -67,7 +67,7 @@
  fi
  
  AC_SUBST(LINUX_KERNELMODE_PLUGIN)
-@@ -140,15 +147,8 @@ AC_CHECK_SIZEOF(unsigned short)
+@@ -142,15 +149,8 @@ AC_CHECK_SIZEOF(unsigned short)
  AC_CHECK_SIZEOF(unsigned int)
  AC_CHECK_SIZEOF(unsigned long)
  
@@ -84,7 +84,7 @@
  
  dnl Check for Linux-specific kernel support for PPPoE
  AC_MSG_CHECKING(for Linux 2.4.X kernel-mode PPPoE support)
-@@ -193,44 +193,8 @@ if test "$GCC" = yes; then
+@@ -195,44 +195,8 @@ if test "$GCC" = yes; then
  	CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -Wstrict-prototypes"
  fi
  
@@ -130,7 +130,7 @@
  if test "${rpppoe_cv_pack_bitfields+set}" != set ; then
  AC_TRY_RUN([
  union foo {
-@@ -257,10 +221,11 @@ main(void)
+@@ -259,10 +223,11 @@ main(void)
  }], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev,
  $ECHO "no defaults for cross-compiling"; exit 0)
  fi
@@ -143,7 +143,7 @@
  else
  	AC_MSG_RESULT(normal)
  fi
-@@ -324,6 +289,7 @@ AC_SUBST(PPPOE_SERVER_DEPS)
+@@ -326,6 +291,7 @@ AC_SUBST(PPPOE_SERVER_DEPS)
  AC_SUBST(RDYNAMIC)
  AC_SUBST(LIBEVENT)
  AC_SUBST(ECHO)
@@ -151,6 +151,3 @@
  AC_SUBST(LDFLAGS)
  
  datadir_evaluated=`eval echo $datadir`
--- 
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch
index 8b78864..9801f6e 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch
@@ -1,4 +1,4 @@
-From 611c9fe719c5aa264a2ad2eb920cf4522ae2ddec Mon Sep 17 00:00:00 2001
+From f658181c58347c3e2b0ee4f0a6a3d19162921471 Mon Sep 17 00:00:00 2001
 From: Ting Liu <b28495@freescale.com>
 Date: Tue, 12 Jun 2012 14:26:16 -0400
 Subject: [PATCH] discard use of dnl in Makefile.am
@@ -7,9 +7,10 @@
 not introduce a comment.
 
 Signed-off-by: Ting Liu <b28495@freescale.com>
+
 ---
- Makefile.am |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile.am b/Makefile.am
 index eff6977..3091c33 100644
@@ -22,6 +23,3 @@
 -dnl AM_CFLAGS = -Wall -DDEBUG
 +##dnl AM_CFLAGS = -Wall -DDEBUG
  SUBDIRS = src
--- 
-1.7.6.5
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch
index f61337f..8a85788 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch
@@ -1,4 +1,4 @@
-From bbdadb803b19f002e76e7bb5ce3faf770dd7c413 Mon Sep 17 00:00:00 2001
+From a9a7322273c51882af58c35ba288a0fae00ba841 Mon Sep 17 00:00:00 2001
 From: Lei Maohui <leimaohui@cn.fujitsu.com>
 Date: Wed, 19 Aug 2015 12:33:41 +0900
 Subject: [PATCH] don't swallow errors
@@ -6,15 +6,16 @@
 Further fixup to the configure scripts to not swallow errors
 
 Upstream-Status: Pending
+
 ---
  src/configure.in | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/configure.in b/src/configure.in
-index 82d64d6..0b23df5 100644
+index 1d30243..1714e69 100644
 --- a/src/configure.in
 +++ b/src/configure.in
-@@ -219,7 +219,7 @@ main(void)
+@@ -221,7 +221,7 @@ main(void)
  	return 2;
      }
  }], rpppoe_cv_pack_bitfields=normal, rpppoe_cv_pack_bitfields=rev,
@@ -23,6 +24,3 @@
  fi
  ])
  
--- 
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch
index bcf4d11..03697ff 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch
@@ -1,3 +1,8 @@
+From a6a85ec5c85cbd3c86743b6e2fa391198869bff8 Mon Sep 17 00:00:00 2001
+From: Tom Rini <tom_rini@mentor.com>
+Date: Wed, 27 Jul 2011 03:46:52 +0000
+Subject: [PATCH] rp-pppoe: Port from oe.dev
+
 Relax restrictions on the PPPoE src address, as per debian bug
 293811:
 
@@ -5,9 +10,15 @@
 
 Upstream-Status: Inappropriate [Backport from Debian]
 
---- rp-pppoe-3.8.orig/src/discovery.c
-+++ rp-pppoe-3.8/src/discovery.c
-@@ -376,8 +376,8 @@
+---
+ src/discovery.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/discovery.c b/src/discovery.c
+index 7ee259d..5213a37 100644
+--- a/src/discovery.c
++++ b/src/discovery.c
+@@ -472,8 +472,8 @@ waitForPADO(PPPoEConnection *conn, int timeout)
  	if (!packetIsForMe(conn, &packet)) continue;
  
  	if (packet.code == CODE_PADO) {
@@ -17,4 +28,4 @@
 +		printErr("Ignoring broadcast PADO packet");
  		continue;
  	    }
- 	    parsePacket(&packet, parsePADOTags, &pc);
+ #ifdef PLUGIN
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch
index 4fe73d0..f64da4f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch
@@ -1,3 +1,8 @@
+From 0b62f71eb5d44d4a57103566ba58022b6304fa4f Mon Sep 17 00:00:00 2001
+From: Tom Rini <tom_rini@mentor.com>
+Date: Wed, 27 Jul 2011 03:46:52 +0000
+Subject: [PATCH] rp-pppoe: Port from oe.dev
+
 The autoconf stuff is all in a subdirectory, which is rather annoying
 as OE expects patches to be applied and autoconf stuff to be done in
 S. This adds enough autoconf at the top level to allow it to be
@@ -6,20 +11,29 @@
 
 Upstream-Status: Inappropriate [build system specific change]
 
-Index: rp-pppoe-3.8/Makefile.am
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ rp-pppoe-3.8/Makefile.am	2007-06-08 15:58:16.000000000 +1000
+---
+ Makefile.am  | 5 +++++
+ configure.in | 4 ++++
+ 2 files changed, 9 insertions(+)
+ create mode 100644 Makefile.am
+ create mode 100644 configure.in
+
+diff --git a/Makefile.am b/Makefile.am
+new file mode 100644
+index 0000000..eff6977
+--- /dev/null
++++ b/Makefile.am
 @@ -0,0 +1,5 @@
 +PACKAGE = rp-pppoe
 +VERSION = 3.8
 +
 +dnl AM_CFLAGS = -Wall -DDEBUG
 +SUBDIRS = src
-Index: rp-pppoe-3.8/configure.in
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ rp-pppoe-3.8/configure.in	2007-06-08 15:58:16.000000000 +1000
+diff --git a/configure.in b/configure.in
+new file mode 100644
+index 0000000..ac1a7e4
+--- /dev/null
++++ b/configure.in
 @@ -0,0 +1,4 @@
 +AC_INIT(src/pppoe.c)
 +AM_INIT_AUTOMAKE([rp-pppoe], [3.8])
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch
index 42a3bc6..c759e09 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch
@@ -1,3 +1,8 @@
+From 4d34e0d7d790ec41b0afb731c7dc1b1ee90dd377 Mon Sep 17 00:00:00 2001
+From: Tom Rini <tom_rini@mentor.com>
+Date: Wed, 27 Jul 2011 03:46:52 +0000
+Subject: [PATCH] rp-pppoe: Port from oe.dev
+
 Set the timeout to 0 since we don't want pppoe to try reconnecting,
 we want whatever is calling it to reconnect. Lots of odd things
 happen when you have pppoe retrying itself.
@@ -8,11 +13,15 @@
 
 Upstream-Status: Inappropriate [configuration]
 
-Index: rp-pppoe-3.8/configs/pppoe.conf
-===================================================================
---- rp-pppoe-3.8.orig/configs/pppoe.conf	2006-04-03 00:29:41.000000000 +1000
-+++ rp-pppoe-3.8/configs/pppoe.conf	2007-06-08 16:02:47.000000000 +1000
-@@ -66,7 +66,7 @@
+---
+ configs/pppoe.conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configs/pppoe.conf b/configs/pppoe.conf
+index c222b2f..65618a5 100644
+--- a/configs/pppoe.conf
++++ b/configs/pppoe.conf
+@@ -66,7 +66,7 @@ DEFAULTROUTE=yes
  # to connect forever after pppoe-start is called.  Otherwise, it will
  # give out after CONNECT_TIMEOUT seconds and will not attempt to
  # connect again, making it impossible to reach.
@@ -21,7 +30,7 @@
  
  # How often in seconds pppoe-start polls to check if link is up
  CONNECT_POLL=2
-@@ -115,7 +115,7 @@
+@@ -115,7 +115,7 @@ PPPOE_TIMEOUT=80
  FIREWALL=NONE
  
  # Linux kernel-mode plugin for pppd.  If you want to try the kernel-mode
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils.inc b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils.inc
deleted file mode 100644
index 0fb18d5..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Tools for ethernet bridging"
-HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge"
-SECTION = "net"
-LICENSE = "GPLv2"
-
-DEPENDS = "sysfsutils"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/bridge/bridge-utils-${PV}.tar.gz \
-          file://bridge-utils-1.5-check-error-returns-from-write-to-sysfs.patch \
-          file://bridge-utils-1.5-fix-error-message-for-incorrect-command.patch \
-          file://bridge-utils-1.5-fix-incorrect-command-in-manual.patch \
-"
-
-inherit autotools-brokensep update-alternatives
-
-ALTERNATIVE_${PN} = "brctl"
-ALTERNATIVE_PRIORITY[brctl] = "100"
-ALTERNATIVE_LINK_NAME[brctl] = "${sbindir}/brctl"
-
-EXTRA_OECONF = "--with-linux-headers=${STAGING_INCDIR}"
-
-do_install_append () {
-    install -d ${D}/${datadir}/bridge-utils
-    install -d ${D}/${sysconfdir}/network/if-pre-up.d
-    install -d ${D}/${sysconfdir}/network/if-post-down.d
-}
-
-RRECOMMENDS_${PN} = "kernel-module-bridge"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0001-build-error-out-correctly-if-a-submake-fails.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0001-build-error-out-correctly-if-a-submake-fails.patch
deleted file mode 100644
index c6897b4..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0001-build-error-out-correctly-if-a-submake-fails.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 5e102b453e254d16af1f95053134f58348e0f83a Mon Sep 17 00:00:00 2001
-From: root <git@andred.net>
-Date: Wed, 20 Jul 2016 23:40:30 +0100
-Subject: [PATCH 1/5] build: error out correctly if a submake fails
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Due to use of a for loop, return status from submake was always
-ignored.
-
-In the context of build-systems like OE this causes them to not
-detect any errors and continue happily, resulting in a successful,
-but incomplete, build.
-
-Fix by having a nicer Makefile.in which now has rules for the
-individual targets (directories) so that make itself can
-figure out all the dependencies and build those targets as
-needed rather than using a for loop to iterate over the
-directories in a shell and thus loosing the return status of
-the command inside the loop.
-
-This has the added advantage that parallel builds work now.
-
-Upstream-Status: Pending
-
-Signed-off-by: André Draszik <git@andred.net>
----
- Makefile.in | 18 ++++++++++++------
- 1 file changed, 12 insertions(+), 6 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 6028513..dab88bb 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -13,11 +13,11 @@ distdir = $(PACKAGE)-$(VERSION)
- 
- SUBDIRS=libbridge brctl doc
- 
--all:
--	for x in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$x ; done
-+all: override ACTION=
-+all: $(SUBDIRS)
- 
--clean:
--	for x in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$x clean ; done
-+clean: override ACTION=clean
-+clean: $(SUBDIRS)
- 
- distclean:	clean
- 	rm -f config.log
-@@ -30,6 +30,12 @@ maintainer-clean: distclean
- 	rm -f libbridge/Makefile
- 	rm -f doc/Makefile
- 
--install:
--	for x in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$x install; done
-+install: override ACTION=install
-+install: $(SUBDIRS)
- 
-+
-+brctl: libbridge
-+$(SUBDIRS):
-+	$(MAKE) $(MFLAGS) -C $@ $(ACTION)
-+
-+.PHONY: $(SUBDIRS)
--- 
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0002-libbridge-fix-some-build-time-warnings-fcntl.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0002-libbridge-fix-some-build-time-warnings-fcntl.h.patch
deleted file mode 100644
index 25d08ab..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0002-libbridge-fix-some-build-time-warnings-fcntl.h.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 68fafc4ea10365ac2e74ab7c660d097696857677 Mon Sep 17 00:00:00 2001
-From: root <git@andred.net>
-Date: Wed, 20 Jul 2016 23:40:32 +0100
-Subject: [PATCH 2/5] libbridge: fix some build-time warnings (fcntl.h)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-There are build-time warnings at the moment when building
-against musl, as the code here #include's the wrong file,
-sys/fcntl.h instead of fcntl.h
-
-In file included from libbridge_devif.c:26:0:
-<sysroot>/usr/include/sys/fcntl.h:1:2: warning: #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h> [-Wcpp]
- #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h>
-  ^~~~~~~
-In file included from libbridge_if.c:23:0:
-<sysroot>/usr/include/sys/fcntl.h:1:2: warning: #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h> [-Wcpp]
- #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h>
-  ^~~~~~~
-
-glibc headers silently redirect sys/fcntl.h to fcntl.h so the
-issue is not seen there.
-
-Let's fix the #include's to so as to use the correct ones
-and silence the compiler.
-
-Upstream-Status: Pending
-
-Signed-off-by: André Draszik <git@andred.net>
----
- libbridge/libbridge_devif.c | 2 +-
- libbridge/libbridge_if.c    | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libbridge/libbridge_devif.c b/libbridge/libbridge_devif.c
-index 1e83925..2cf78f6 100644
---- a/libbridge/libbridge_devif.c
-+++ b/libbridge/libbridge_devif.c
-@@ -23,7 +23,7 @@
- #include <errno.h>
- #include <string.h>
- #include <dirent.h>
--#include <sys/fcntl.h>
-+#include <fcntl.h>
- 
- #include "libbridge.h"
- #include "libbridge_private.h"
-diff --git a/libbridge/libbridge_if.c b/libbridge/libbridge_if.c
-index 77d3f8a..9cf4bac 100644
---- a/libbridge/libbridge_if.c
-+++ b/libbridge/libbridge_if.c
-@@ -20,7 +20,7 @@
- #include <stdlib.h>
- #include <errno.h>
- #include <string.h>
--#include <sys/fcntl.h>
-+#include <fcntl.h>
- #include <sys/ioctl.h>
- 
- #include "libbridge.h"
--- 
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0003-bridge-fix-some-build-time-warnings-errno.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0003-bridge-fix-some-build-time-warnings-errno.h.patch
deleted file mode 100644
index 72f2a62..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0003-bridge-fix-some-build-time-warnings-errno.h.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 2b9dc245f93ab27d7da42a16ddbb9212888006e4 Mon Sep 17 00:00:00 2001
-From: root <git@andred.net>
-Date: Wed, 20 Jul 2016 23:40:33 +0100
-Subject: [PATCH 3/5] bridge: fix some build-time warnings (errno.h)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-There is a build-time warning at the moment when building
-against musl, as the code here #include's the wrong file,
-sys/errno.h instead of errno.h
-
-In file included from brctl.c:22:0:
-<sysroot>/usr/include/sys/errno.h:1:2: warning: #warning redirecting incorrect #include <sys/errno.h> to <errno.h> [-Wcpp]
- #warning redirecting incorrect #include <sys/errno.h> to <errno.h>
-  ^~~~~~~
-
-glibc headers silently redirect sys/errno.h to errno.h so the
-issue is not seen there.
-
-Let's fix the #include's to so as to use the correct ones
-and silence the compiler.
-
-Upstream-Status: Pending
-
-Signed-off-by: André Draszik <git@andred.net>
----
- brctl/brctl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/brctl/brctl.c b/brctl/brctl.c
-index 46ca352..8855234 100644
---- a/brctl/brctl.c
-+++ b/brctl/brctl.c
-@@ -19,7 +19,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#include <sys/errno.h>
-+#include <errno.h>
- #include <getopt.h>
- 
- #include "libbridge.h"
--- 
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0004-libbridge-add-missing-include-s-fix-build-against-mu.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0004-libbridge-add-missing-include-s-fix-build-against-mu.patch
deleted file mode 100644
index 565186e..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0004-libbridge-add-missing-include-s-fix-build-against-mu.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From c45b73829a8b8c7924df528baa7e16498f917288 Mon Sep 17 00:00:00 2001
-From: root <git@andred.net>
-Date: Wed, 20 Jul 2016 23:40:33 +0100
-Subject: [PATCH 4/5] libbridge: add missing #include's (fix build against
- musl)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes error like:
-
-In file included from libbridge_devif.c:28:0:
-libbridge.h:45:17: error: field 'max_age' has incomplete type
-  struct timeval max_age;
-                 ^~~~~~~
-In file included from libbridge_devif.c:28:0:
-libbridge.h:51:2: error: unknown type name 'u_int16_t'
-  u_int16_t root_port;
-  ^~~~~~~~~
-
-These types are not standard C but rather Posix,
-for struct timeval see:
-http://pubs.opengroup.org/onlinepubs/7908799/xsh/systime.h.html
-
-Upstream-Status: Pending
-
-Signed-off-by: André Draszik <git@andred.net>
----
- libbridge/libbridge.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/libbridge/libbridge.h b/libbridge/libbridge.h
-index 53ec869..b0727c1 100644
---- a/libbridge/libbridge.h
-+++ b/libbridge/libbridge.h
-@@ -20,6 +20,8 @@
- #define _LIBBRIDGE_H
- 
- #include <sys/socket.h>
-+#include <sys/time.h>
-+#include <sys/types.h>
- #include <linux/in6.h>
- #include <linux/if.h>
- #include <linux/if_bridge.h>
--- 
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0005-build-don-t-ignore-CFLAGS-from-environment.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0005-build-don-t-ignore-CFLAGS-from-environment.patch
index 9f2155e..0a72c6b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0005-build-don-t-ignore-CFLAGS-from-environment.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0005-build-don-t-ignore-CFLAGS-from-environment.patch
@@ -1,7 +1,7 @@
-From 7bc1932cabfafca8c68e18bd43e3d203c70d2dd8 Mon Sep 17 00:00:00 2001
-From: root <git@andred.net>
-Date: Wed, 20 Jul 2016 23:40:33 +0100
-Subject: [PATCH 5/5] build: don't ignore CFLAGS from environment
+From 9d63838d12c772dfe33371e2bb8b8191625539f2 Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe_macdonald@mentor.com>
+Date: Mon, 30 Oct 2017 13:37:48 -0400
+Subject: [PATCH] build: don't ignore CFLAGS from environment
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -17,10 +17,10 @@
 Upstream-Status: Pending
 
 Signed-off-by: André Draszik <git@andred.net>
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
 ---
- brctl/Makefile.in     | 2 +-
- libbridge/Makefile.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ brctl/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/brctl/Makefile.in b/brctl/Makefile.in
 index e1956d6..eff260c 100644
@@ -35,19 +35,6 @@
  
  %.o: %.c brctl.h
  	$(CC) $(CFLAGS) $(INCLUDE) -c $< 
-diff --git a/libbridge/Makefile.in b/libbridge/Makefile.in
-index 20512c4..4e1cddc 100644
---- a/libbridge/Makefile.in
-+++ b/libbridge/Makefile.in
-@@ -5,7 +5,7 @@ AR=ar
- RANLIB=@RANLIB@
- 
- CC=@CC@
--CFLAGS = -Wall -g $(KERNEL_HEADERS)
-+CFLAGS = -Wall -g $(KERNEL_HEADERS) @CFLAGS@
- 
- prefix=@prefix@
- exec_prefix=@exec_prefix@
 -- 
-2.8.1
+2.7.4
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0006-libbridge-Modifying-the-AR-to-cross-toolchain.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0006-libbridge-Modifying-the-AR-to-cross-toolchain.patch
new file mode 100644
index 0000000..3f65761
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0006-libbridge-Modifying-the-AR-to-cross-toolchain.patch
@@ -0,0 +1,51 @@
+From c924f66743c054d7ebafef90ca1bbebc96732357 Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe_macdonald@mentor.com>
+Date: Mon, 30 Oct 2017 13:48:33 -0400
+Subject: [PATCH] libbridge: Modifying the AR to cross toolchain
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The Makefile uses the host “ar” tool when it should be using the ar from
+the target toolchain.
+
+Upstream-Status: Pending
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+---
+ configure.ac          | 1 +
+ libbridge/Makefile.in | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8b2e2ea..8426b7c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -12,6 +12,10 @@ dnl Checks for programs.
+ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
++AN_MAKEVAR([AR], [AC_PROG_AR])
++AN_PROGRAM([ar], [AC_PROG_AR])
++AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
++AC_PROG_AR
+ 
+ dnl Checks for header files.
+ AC_HEADER_STDC
+diff --git a/libbridge/Makefile.in b/libbridge/Makefile.in
+index 7932bfe..bd55e9b 100644
+--- a/libbridge/Makefile.in
++++ b/libbridge/Makefile.in
+@@ -1,7 +1,7 @@
+ 
+ KERNEL_HEADERS=-I@KERNEL_HEADERS@
+ 
+-AR=ar
++AR=@AR@
+ RANLIB=@RANLIB@
+ 
+ CC=@CC@
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/bridge-utils-1.5-check-error-returns-from-write-to-sysfs.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/bridge-utils-1.5-check-error-returns-from-write-to-sysfs.patch
deleted file mode 100644
index d00af9c..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/bridge-utils-1.5-check-error-returns-from-write-to-sysfs.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-Upstream-status: BackPort [http://pkgs.fedoraproject.org/cgit/bridge-utils.git/diff/bridge-utils-1.5-check-error-returns-from-write-to-sysfs.patch?id=b0d10717fd7cebf5d85eed3f941b409fa0384f08]
-
-Signed-off-by: Roy.Li <rongqing.li@windriver.com>
-
-From bb9970a9df95837e39d680021b1f73d231e85406 Mon Sep 17 00:00:00 2001
-From: Stephen Hemminger <shemminger@vyatta.com>
-Date: Tue, 3 May 2011 09:52:43 -0700
-Subject: [PATCH 3/3] Check error returns from write to sysfs
-
-Add helper function to check write to sysfs files.
-
-Signed-off-by: Petr Sabata <contyk@redhat.com>
----
- libbridge/libbridge_devif.c |   37 +++++++++++++++++++++++--------------
- 1 files changed, 23 insertions(+), 14 deletions(-)
-
-diff --git a/libbridge/libbridge_devif.c b/libbridge/libbridge_devif.c
-index aa8bc36..1e83925 100644
---- a/libbridge/libbridge_devif.c
-+++ b/libbridge/libbridge_devif.c
-@@ -280,25 +280,38 @@ fallback:
- 	return old_get_port_info(brname, port, info);
- }
- 
-+static int set_sysfs(const char *path, unsigned long value)
-+{
-+	int fd, ret = 0, cc;
-+	char buf[32];
-+
-+	fd = open(path, O_WRONLY);
-+	if (fd < 0)
-+		return -1;
-+
-+	cc = snprintf(buf, sizeof(buf), "%lu\n", value);
-+	if (write(fd, buf, cc) < 0)
-+		ret = -1;
-+	close(fd);
-+
-+	return ret;
-+}
-+
- 
- static int br_set(const char *bridge, const char *name,
- 		  unsigned long value, unsigned long oldcode)
- {
- 	int ret;
- 	char path[SYSFS_PATH_MAX];
--	FILE *f;
- 
--	snprintf(path, SYSFS_PATH_MAX, SYSFS_CLASS_NET "%s/%s", bridge, name);
-+	snprintf(path, SYSFS_PATH_MAX, SYSFS_CLASS_NET "%s/bridge/%s",
-+		 bridge, name);
- 
--	f = fopen(path, "w");
--	if (f) {
--		ret = fprintf(f, "%ld\n", value);
--		fclose(f);
--	} else {
-+	if ((ret = set_sysfs(path, value)) < 0) {
- 		/* fallback to old ioctl */
- 		struct ifreq ifr;
- 		unsigned long args[4] = { oldcode, value, 0, 0 };
--		
-+
- 		strncpy(ifr.ifr_name, bridge, IFNAMSIZ);
- 		ifr.ifr_data = (char *) &args;
- 		ret = ioctl(br_socket_fd, SIOCDEVPRIVATE, &ifr);
-@@ -348,14 +361,10 @@ static int port_set(const char *bridge, const char *ifname,
- {
- 	int ret;
- 	char path[SYSFS_PATH_MAX];
--	FILE *f;
- 
- 	snprintf(path, SYSFS_PATH_MAX, SYSFS_CLASS_NET "%s/brport/%s", ifname, name);
--	f = fopen(path, "w");
--	if (f) {
--		ret = fprintf(f, "%ld\n", value);
--		fclose(f);
--	} else {
-+
-+	if ((ret = set_sysfs(path, value)) < 0) {
- 		int index = get_portno(bridge, ifname);
- 
- 		if (index < 0)
--- 
-1.7.5.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/bridge-utils-1.5-fix-error-message-for-incorrect-command.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/bridge-utils-1.5-fix-error-message-for-incorrect-command.patch
deleted file mode 100644
index 2d0494e..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/bridge-utils-1.5-fix-error-message-for-incorrect-command.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-status: BackPort [http://pkgs.fedoraproject.org/cgit/bridge-utils.git/diff/bridge-utils-1.5-fix-error-message-for-incorrect-command.patch?id=b0d10717fd7cebf5d85eed3f941b409fa0384f08]
-
-Signed-off-by: Roy.Li <rongqing.li@windriver.com>
-
-From c7ed0996ef58b497d3d30be802ab5ae6c37099b5 Mon Sep 17 00:00:00 2001
-From: Stephen Hemminger <shemminger@vyatta.com>
-Date: Tue, 3 May 2011 09:49:57 -0700
-Subject: [PATCH 2/3] Fix error message for incorrect command
-
-Debian bug 406907
-Error message was refering to incorrect command argument.
-
-Signed-off-by: Petr Sabata <contyk@redhat.com>
----
- brctl/brctl.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/brctl/brctl.c b/brctl/brctl.c
-index 454b8dd..46ca352 100644
---- a/brctl/brctl.c
-+++ b/brctl/brctl.c
-@@ -69,7 +69,7 @@ int main(int argc, char *const* argv)
- 	argc -= optind;
- 	argv += optind;
- 	if ((cmd = command_lookup(*argv)) == NULL) {
--		fprintf(stderr, "never heard of command [%s]\n", argv[1]);
-+		fprintf(stderr, "never heard of command [%s]\n", *argv);
- 		goto help;
- 	}
- 	
--- 
-1.7.5.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/bridge-utils-1.5-fix-incorrect-command-in-manual.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/bridge-utils-1.5-fix-incorrect-command-in-manual.patch
deleted file mode 100644
index 6f6d6d4..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/bridge-utils-1.5-fix-incorrect-command-in-manual.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-status: BackPort [http://pkgs.fedoraproject.org/cgit/bridge-utils.git/diff/bridge-utils-1.5-fix-incorrect-command-in-manual.patch?id=b0d10717fd7cebf5d85eed3f941b409fa0384f08]
-
-Signed-off-by: Roy.Li <rongqing.li@windriver.com>
-
-From 8ef7b77562b636efcbd8b759eb324d6c069200f2 Mon Sep 17 00:00:00 2001
-From: Stephen Hemminger <shemminger@vyatta.com>
-Date: Tue, 3 May 2011 09:48:40 -0700
-Subject: [PATCH 1/3] Fix incorrect command in manual
-
-Command is "setageing" not "setageingtime"; fix man page.
-Debian bug report.
-
-Signed-off-by: Petr Sabata <contyk@redhat.com>
----
- doc/brctl.8 |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/doc/brctl.8 b/doc/brctl.8
-index d904047..771f323 100644
---- a/doc/brctl.8
-+++ b/doc/brctl.8
-@@ -89,7 +89,7 @@ data. Machines can move to other ports, network cards can be replaced
- .B brctl showmacs <brname>
- shows a list of learned MAC addresses for this bridge.
- 
--.B brctl setageingtime <brname> <time>
-+.B brctl setageing <brname> <time>
- sets the ethernet (MAC) address ageing time, in seconds. After <time>
- seconds of not having seen a frame coming from a certain address, the
- bridge will time out (delete) that address from the Forwarding
--- 
-1.7.5.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/kernel-headers.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/kernel-headers.patch
index de36f05..8a23a30 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/kernel-headers.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/kernel-headers.patch
@@ -1,22 +1,33 @@
-include missing kernel header
+From 824f838cc9c7b8a44174358446993d61be7bbb3f Mon Sep 17 00:00:00 2001
+From: Joe MacDonald <joe_macdonald@mentor.com>
+Date: Mon, 30 Oct 2017 13:18:20 -0400
+Subject: [PATCH] include missing kernel header
 
 Fixes errors like
 
 | /b/kraj/jlinux-next/poky/build/tmp-eglibc/sysroots/re-64b/usr/include/linux/if_bridge.h:172:20: error: field 'ip6' has incomplete type
 | In file included from ../libbridge/libbridge.h:24:0,
 
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
 
-Index: bridge-utils-1.5/libbridge/libbridge.h
-===================================================================
---- bridge-utils-1.5.orig/libbridge/libbridge.h	2011-03-28 17:52:54.000000000 -0700
-+++ bridge-utils-1.5/libbridge/libbridge.h	2013-03-04 21:16:25.781188309 -0800
-@@ -20,6 +20,7 @@
- #define _LIBBRIDGE_H
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
+---
+ libbridge/libbridge.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libbridge/libbridge.h b/libbridge/libbridge.h
+index c038b92..fd09306 100644
+--- a/libbridge/libbridge.h
++++ b/libbridge/libbridge.h
+@@ -24,6 +24,7 @@
+ #include <sys/time.h>
+ #include <netinet/in.h>
  
- #include <sys/socket.h>
 +#include <linux/in6.h>
  #include <linux/if.h>
  #include <linux/if_bridge.h>
  
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils_1.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils_1.5.bb
deleted file mode 100644
index 6032ab0..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils_1.5.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require bridge-utils.inc
-
-SRC_URI += "\
-    file://kernel-headers.patch \
-    file://0001-build-error-out-correctly-if-a-submake-fails.patch \
-    file://0002-libbridge-fix-some-build-time-warnings-fcntl.h.patch \
-    file://0003-bridge-fix-some-build-time-warnings-errno.h.patch \
-    file://0004-libbridge-add-missing-include-s-fix-build-against-mu.patch \
-    file://0005-build-don-t-ignore-CFLAGS-from-environment.patch \
-"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=f9d20a453221a1b7e32ae84694da2c37"
-
-SRC_URI[md5sum] = "ec7b381160b340648dede58c31bb2238"
-SRC_URI[sha256sum] = "42f9e5fb8f6c52e63a98a43b81bd281c227c529f194913e1c51ec48a393b6688"
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils_1.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils_1.6.bb
new file mode 100644
index 0000000..1c87c48
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils_1.6.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Tools for ethernet bridging"
+HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge"
+SECTION = "net"
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=f9d20a453221a1b7e32ae84694da2c37"
+
+SRCREV = "42c1aefc303fdf891fbb099ea51f00dca83ab606"
+
+SRC_URI = "\
+    git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/bridge-utils.git \
+    file://kernel-headers.patch \
+    file://0005-build-don-t-ignore-CFLAGS-from-environment.patch \
+    file://0006-libbridge-Modifying-the-AR-to-cross-toolchain.patch \
+"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "sysfsutils"
+
+inherit autotools-brokensep update-alternatives
+
+ALTERNATIVE_${PN} = "brctl"
+ALTERNATIVE_PRIORITY[brctl] = "100"
+ALTERNATIVE_LINK_NAME[brctl] = "${sbindir}/brctl"
+
+EXTRA_OECONF = "--with-linux-headers=${STAGING_INCDIR}"
+
+do_install_append () {
+    install -d ${D}/${datadir}/bridge-utils
+    install -d ${D}/${sysconfdir}/network/if-pre-up.d
+    install -d ${D}/${sysconfdir}/network/if-post-down.d
+}
+
+RRECOMMENDS_${PN} = "kernel-module-bridge"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
index d1586bb..92a2dbd 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
@@ -1,48 +1,54 @@
     chrony: fix build failure for arma9
-    
+
     Eliminate references to syscalls not available
     for ARM_EABI.  Also add a dependency on libseccomp
     which is needed for scfilter to work.
-    
+
     Set PACKAGECONFIG to not enable scfilter, since
     kernel CONFIG_SECCOMP is unlikely to be set.  This
     aligns the usage of libseccomp with that of other packages.
 
     Upstream-Status: Pending
-    
+
     Signed-off-by: Joe Slater <jslater@windriver.com>
 
+    Refresh patch for new upstream version.
+
+    Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
+
 --- a/sys_linux.c
 +++ b/sys_linux.c
-@@ -453,13 +453,12 @@ SYS_Linux_EnableSystemCallFilter(int lev
+@@ -465,14 +465,14 @@ SYS_Linux_EnableSystemCallFilter(int lev
    const int syscalls[] = {
      /* Clock */
-     SCMP_SYS(adjtimex), SCMP_SYS(gettimeofday), SCMP_SYS(settimeofday),
--    SCMP_SYS(time),
+     SCMP_SYS(adjtimex), SCMP_SYS(clock_gettime), SCMP_SYS(gettimeofday),
+-    SCMP_SYS(settimeofday), SCMP_SYS(time),
++    SCMP_SYS(settimeofday),
      /* Process */
--    SCMP_SYS(clone), SCMP_SYS(exit), SCMP_SYS(exit_group), SCMP_SYS(getrlimit),
-+    SCMP_SYS(clone), SCMP_SYS(exit), SCMP_SYS(exit_group),
-     SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn), SCMP_SYS(rt_sigprocmask),
-     SCMP_SYS(set_tid_address), SCMP_SYS(sigreturn), SCMP_SYS(wait4),
+     SCMP_SYS(clone), SCMP_SYS(exit), SCMP_SYS(exit_group), SCMP_SYS(getpid),
+-    SCMP_SYS(getrlimit), SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn),
++    SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn),
+     SCMP_SYS(rt_sigprocmask), SCMP_SYS(set_tid_address), SCMP_SYS(sigreturn),
+     SCMP_SYS(wait4),
      /* Memory */
 -    SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap), SCMP_SYS(mmap2),
 +    SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap2),
      SCMP_SYS(mprotect), SCMP_SYS(mremap), SCMP_SYS(munmap), SCMP_SYS(shmdt),
      /* Filesystem */
      SCMP_SYS(access), SCMP_SYS(chmod), SCMP_SYS(chown), SCMP_SYS(chown32),
-@@ -470,14 +469,21 @@ SYS_Linux_EnableSystemCallFilter(int lev
+@@ -483,14 +483,21 @@
      SCMP_SYS(bind), SCMP_SYS(connect), SCMP_SYS(getsockname),
-     SCMP_SYS(recvfrom), SCMP_SYS(recvmsg), SCMP_SYS(sendmmsg),
-     SCMP_SYS(sendmsg), SCMP_SYS(sendto),
+     SCMP_SYS(recvfrom), SCMP_SYS(recvmmsg), SCMP_SYS(recvmsg),
+     SCMP_SYS(sendmmsg), SCMP_SYS(sendmsg), SCMP_SYS(sendto),
 -    /* TODO: check socketcall arguments */
 -    SCMP_SYS(socketcall),
      /* General I/O */
-     SCMP_SYS(_newselect), SCMP_SYS(close), SCMP_SYS(open), SCMP_SYS(pipe),
+     SCMP_SYS(_newselect), SCMP_SYS(close), SCMP_SYS(open), SCMP_SYS(openat), SCMP_SYS(pipe),
 -    SCMP_SYS(poll), SCMP_SYS(read), SCMP_SYS(futex), SCMP_SYS(select),
 +    SCMP_SYS(poll), SCMP_SYS(read), SCMP_SYS(futex),
      SCMP_SYS(set_robust_list), SCMP_SYS(write),
      /* Miscellaneous */
-     SCMP_SYS(uname),
+     SCMP_SYS(getrandom), SCMP_SYS(sysinfo), SCMP_SYS(uname),
 +    /* not always available */
 +#if ! defined(__ARM_EABI__)
 +    SCMP_SYS(time),
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_2.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_2.4.bb
deleted file mode 100644
index 71431f4..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_2.4.bb
+++ /dev/null
@@ -1,134 +0,0 @@
-SUMMARY = "Versatile implementation of the Network Time Protocol"
-DESCRIPTION = "Chrony can synchronize the system clock with NTP \
-servers, reference clocks (e.g. GPS receiver), and manual input using \
-wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) \
-server and peer to provide a time service to other computers in the \
-network. \
-\
-It is designed to perform well in a wide range of conditions, \
-including intermittent network connections, heavily congested \
-networks, changing temperatures (ordinary computer clocks are \
-sensitive to temperature), and systems that do not run continuously, or \
-run on a virtual machine. \
-\
-Typical accuracy between two machines on a LAN is in tens, or a few \
-hundreds, of microseconds; over the Internet, accuracy is typically \
-within a few milliseconds. With a good hardware reference clock \
-sub-microsecond accuracy is possible. \
-\
-Two programs are included in chrony: chronyd is a daemon that can be \
-started at boot time and chronyc is a command-line interface program \
-which can be used to monitor chronyd's performance and to change \
-various operating parameters whilst it is running. \
-\
-This recipe produces two binary packages: 'chrony' which contains chronyd, \
-the configuration file and the init script, and 'chronyc' which contains \
-the client program only."
-
-HOMEPAGE = "http://chrony.tuxfamily.org/"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \
-    file://chrony.conf \
-    file://chronyd \
-    file://arm_eabi.patch \
-"
-SRC_URI[md5sum] = "d0598aa8a9be8faccef9386f6fc0d5f2"
-SRC_URI[sha256sum] = "8d04e7cda2333289c2104b731d39c3c1db94816e43bae35d7ee4e7ae8af6391f"
-
-DEPENDS = "pps-tools"
-
-# Note: Despite being built via './configure; make; make install',
-#       chrony does not use GNU Autotools.
-inherit update-rc.d systemd
-
-# Configuration options:
-# - For command line editing support in chronyc, you may specify either
-#   'editline' or 'readline' but not both.  editline is smaller, but
-#   many systems already have readline for other purposes so you might want
-#   to choose that instead.  However, beware license incompatibility
-#   since chrony is GPLv2 and readline versions after 6.0 are GPLv3+.
-#   You can of course choose neither, but if you're that tight on space
-#   consider dropping chronyc entirely (you can use it remotely with
-#   appropriate chrony.conf options).
-# - Security-related:
-#   - 'sechash' is omitted by default because it pulls in nss which is huge.
-#   - 'privdrop' allows chronyd to run as non-root; would need changes to
-#     chrony.conf and init script.
-#   - 'scfilter' enables support for system call filtering, but requires the
-#     kernel to have CONFIG_SECCOMP enabled.
-PACKAGECONFIG ??= "editline \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline"
-PACKAGECONFIG[editline] = ",--without-editline,libedit"
-PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss"
-PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap"
-PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp"
-PACKAGECONFIG[ipv6] = ",--disable-ipv6,"
-PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-
-# --disable-static isn't supported by chrony's configure script.
-DISABLE_STATIC = ""
-
-do_configure() {
-    ./configure --sysconfdir=${sysconfdir} --bindir=${bindir} --sbindir=${sbindir} \
-                --localstatedir=${localstatedir} --datarootdir=${datadir} \
-                ${PACKAGECONFIG_CONFARGS}
-}
-
-do_install() {
-    # Binaries
-    install -d ${D}${bindir}
-    install -m 0755 ${S}/chronyc ${D}${bindir}
-    install -d ${D}${sbindir}
-    install -m 0755 ${S}/chronyd ${D}${sbindir}
-
-    # Config file
-    install -d ${D}${sysconfdir}
-    install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir}
-
-    # System V init script
-    install -d ${D}${sysconfdir}/init.d
-    install -m 755 ${WORKDIR}/chronyd ${D}${sysconfdir}/init.d
-
-    # systemd unit configuration file
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${S}/examples/chronyd.service ${D}${systemd_unitdir}/system/
-
-    # Variable data (for drift and/or rtc file)
-    install -d ${D}${localstatedir}/lib/chrony
-
-    # Log files
-    install -d ${D}${localstatedir}/log/chrony
-
-    # Fix hard-coded paths in config files and init scripts
-    sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \
-           -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \
-           ${D}${sysconfdir}/chrony.conf \
-           ${D}${sysconfdir}/init.d/chronyd \
-           ${D}${systemd_unitdir}/system/chronyd.service
-    sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd
-    sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service
-}
-
-FILES_${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}"
-CONFFILES_${PN} = "${sysconfdir}/chrony.conf"
-INITSCRIPT_NAME = "chronyd"
-INITSCRIPT_PARAMS = "defaults"
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "chronyd.service"
-
-# It's probably a bad idea to run chrony and another time daemon on
-# the same system.  systemd includes the SNTP client 'timesyncd', which
-# will be disabled by chronyd.service, however it will remain on the rootfs
-# wasting 150 kB unless you put 'PACKAGECONFIG_remove_pn-systemd = "timesyncd"'
-# in a conf file or bbappend somewhere.
-RCONFLICTS_${PN} = "ntp ntimed"
-
-# Separate the client program into its own package
-PACKAGES =+ "chronyc"
-FILES_chronyc = "${bindir}/chronyc"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.2.bb
new file mode 100644
index 0000000..8b90a35
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.2.bb
@@ -0,0 +1,134 @@
+SUMMARY = "Versatile implementation of the Network Time Protocol"
+DESCRIPTION = "Chrony can synchronize the system clock with NTP \
+servers, reference clocks (e.g. GPS receiver), and manual input using \
+wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) \
+server and peer to provide a time service to other computers in the \
+network. \
+\
+It is designed to perform well in a wide range of conditions, \
+including intermittent network connections, heavily congested \
+networks, changing temperatures (ordinary computer clocks are \
+sensitive to temperature), and systems that do not run continuously, or \
+run on a virtual machine. \
+\
+Typical accuracy between two machines on a LAN is in tens, or a few \
+hundreds, of microseconds; over the Internet, accuracy is typically \
+within a few milliseconds. With a good hardware reference clock \
+sub-microsecond accuracy is possible. \
+\
+Two programs are included in chrony: chronyd is a daemon that can be \
+started at boot time and chronyc is a command-line interface program \
+which can be used to monitor chronyd's performance and to change \
+various operating parameters whilst it is running. \
+\
+This recipe produces two binary packages: 'chrony' which contains chronyd, \
+the configuration file and the init script, and 'chronyc' which contains \
+the client program only."
+
+HOMEPAGE = "https://chrony.tuxfamily.org/"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \
+    file://chrony.conf \
+    file://chronyd \
+    file://arm_eabi.patch \
+"
+SRC_URI[md5sum] = "f4c4eb0dc92f35ee4bb7d3dcd8029ecb"
+SRC_URI[sha256sum] = "329f6718dd8c3ece3eee78be1f4821cbbeb62608e7d23f25da293cfa433c4116"
+
+DEPENDS = "pps-tools"
+
+# Note: Despite being built via './configure; make; make install',
+#       chrony does not use GNU Autotools.
+inherit update-rc.d systemd
+
+# Configuration options:
+# - For command line editing support in chronyc, you may specify either
+#   'editline' or 'readline' but not both.  editline is smaller, but
+#   many systems already have readline for other purposes so you might want
+#   to choose that instead.  However, beware license incompatibility
+#   since chrony is GPLv2 and readline versions after 6.0 are GPLv3+.
+#   You can of course choose neither, but if you're that tight on space
+#   consider dropping chronyc entirely (you can use it remotely with
+#   appropriate chrony.conf options).
+# - Security-related:
+#   - 'sechash' is omitted by default because it pulls in nss which is huge.
+#   - 'privdrop' allows chronyd to run as non-root; would need changes to
+#     chrony.conf and init script.
+#   - 'scfilter' enables support for system call filtering, but requires the
+#     kernel to have CONFIG_SECCOMP enabled.
+PACKAGECONFIG ??= "editline \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline"
+PACKAGECONFIG[editline] = ",--without-editline,libedit"
+PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss"
+PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap"
+PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp"
+PACKAGECONFIG[ipv6] = ",--disable-ipv6,"
+PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+
+# --disable-static isn't supported by chrony's configure script.
+DISABLE_STATIC = ""
+
+do_configure() {
+    ./configure --sysconfdir=${sysconfdir} --bindir=${bindir} --sbindir=${sbindir} \
+                --localstatedir=${localstatedir} --datarootdir=${datadir} \
+                ${PACKAGECONFIG_CONFARGS}
+}
+
+do_install() {
+    # Binaries
+    install -d ${D}${bindir}
+    install -m 0755 ${S}/chronyc ${D}${bindir}
+    install -d ${D}${sbindir}
+    install -m 0755 ${S}/chronyd ${D}${sbindir}
+
+    # Config file
+    install -d ${D}${sysconfdir}
+    install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir}
+
+    # System V init script
+    install -d ${D}${sysconfdir}/init.d
+    install -m 755 ${WORKDIR}/chronyd ${D}${sysconfdir}/init.d
+
+    # systemd unit configuration file
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${S}/examples/chronyd.service ${D}${systemd_unitdir}/system/
+
+    # Variable data (for drift and/or rtc file)
+    install -d ${D}${localstatedir}/lib/chrony
+
+    # Log files
+    install -d ${D}${localstatedir}/log/chrony
+
+    # Fix hard-coded paths in config files and init scripts
+    sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \
+           -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \
+           ${D}${sysconfdir}/chrony.conf \
+           ${D}${sysconfdir}/init.d/chronyd \
+           ${D}${systemd_unitdir}/system/chronyd.service
+    sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd
+    sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service
+}
+
+FILES_${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}"
+CONFFILES_${PN} = "${sysconfdir}/chrony.conf"
+INITSCRIPT_NAME = "chronyd"
+INITSCRIPT_PARAMS = "defaults"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "chronyd.service"
+
+# It's probably a bad idea to run chrony and another time daemon on
+# the same system.  systemd includes the SNTP client 'timesyncd', which
+# will be disabled by chronyd.service, however it will remain on the rootfs
+# wasting 150 kB unless you put 'PACKAGECONFIG_remove_pn-systemd = "timesyncd"'
+# in a conf file or bbappend somewhere.
+RCONFLICTS_${PN} = "ntp ntimed"
+
+# Separate the client program into its own package
+PACKAGES =+ "chronyc"
+FILES_chronyc = "${bindir}/chronyc"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_git.bb
index 3ca5b78..198e3ef 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_git.bb
@@ -7,7 +7,9 @@
 PV = "6.7"
 
 SRCREV = "8101a07871f185c7044fa2ca221b282ab4607c8b"
-SRC_URI = "git://git.samba.org/cifs-utils.git"
+SRC_URI = "git://git.samba.org/cifs-utils.git \
+           file://0001-mount.cifs-Remove-data_blob.h-include.patch \
+          "
 
 S = "${WORKDIR}/git"
 DEPENDS += "libtalloc"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch
new file mode 100644
index 0000000..07f2a57
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch
@@ -0,0 +1,32 @@
+Upstream-Status: Backport
+Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com>
+
+From 272d523a57a4e8791d625a479128613be5e401f5 Mon Sep 17 00:00:00 2001
+From: Thomas Witt <pyromaniac@exherbo.org>
+Date: Wed, 15 Mar 2017 20:20:44 +0000
+Subject: [PATCH] mount.cifs: Remove data_blob.h include
+
+data_blob.h includes talloc.h from libtalloc, but that is only marked as
+a dependency for cifs.upcall. No symbols from that header are used by
+cifs.mount, so remove it to avoid the libtalloc dependency
+
+Signed-off-by: Thomas Witt <pyromaniac@exherbo.org>
+---
+ mount.cifs.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/mount.cifs.c b/mount.cifs.c
+index 13b71ef..2612feb 100644
+--- a/mount.cifs.c
++++ b/mount.cifs.c
+@@ -61,7 +61,6 @@
+ #include "mount.h"
+ #include "util.h"
+ #include "resolve_host.h"
+-#include "data_blob.h"
+ 
+ #ifndef MS_MOVE 
+ #define MS_MOVE 8192 
+-- 
+1.9.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-exper_2.39.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-exper_2.39.0.bb
deleted file mode 100644
index 2b49096..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-exper_2.39.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-require cim-schema.inc
-
-LICENSE = "DMTF"
-
-RCONFLICTS_${PN} = "cim-schema-final"
-
-SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2390/cim_schema_${PV}Experimental-MOFs.zip;subdir=${BPN}-${PV} \
-    file://LICENSE \
-"
-SRC_URI[md5sum] = "b82b31c609c6bcc69521829409f58ccc"
-SRC_URI[sha256sum] = "ed2096ef1ea25d189a02bbc6603fed7a48297f2987f254265763a6eecb7fc870"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4"
-
-do_install() {
-    install -d -m 0755 ${D}${datadir}/mof/cimv${PV}/
-    install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV}
-    install -m 644 ${WORKDIR}/LICENSE ${D}${datadir}/doc/cim-schema-${PV}
-
-    cp -R --no-dereference --preserve=mode,links -v ${S}/* ${D}${datadir}/mof/cimv${PV}/
-    chown -R root:root ${D}${datadir}/mof/cimv${PV}
-    for i in `find ${D}${datadir}/mof/cimv${PV} -name "*.mof"`; do
-        sed -i -e 's/\r//g' $i
-    done
-    ln -s cimv${PV} ${D}${datadir}/mof/cim-current
-    ln -s cim_schema_${PV}.mof ${D}${datadir}/mof/cim-current/CIM_Schema.mof
-}
-
-FILES_${PN} = "${datadir}/mof/* ${datadir}/doc/*"
-FILES_${PN}-doc = ""
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-exper_2.50.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-exper_2.50.0.bb
new file mode 100644
index 0000000..90ea882
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-exper_2.50.0.bb
@@ -0,0 +1,29 @@
+require cim-schema.inc
+
+LICENSE = "DMTF"
+
+RCONFLICTS_${PN} = "cim-schema-final"
+
+SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2500/cim_schema_${PV}Experimental-MOFs.zip;subdir=${BPN}-${PV} \
+    file://LICENSE \
+"
+SRC_URI[md5sum] = "ee4ad6441a2b65ca60a3abc53e3ec629"
+SRC_URI[sha256sum] = "a44d67881325e267ef46b72eabe0c69f90470b1033b1ce7c26d9ba99072adb50"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4"
+
+do_install() {
+    install -d -m 0755 ${D}${datadir}/mof/cimv${PV}/
+    install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV}
+    install -m 644 ${WORKDIR}/LICENSE ${D}${datadir}/doc/cim-schema-${PV}
+
+    cp -R --no-dereference --preserve=mode,links -v ${S}/* ${D}${datadir}/mof/cimv${PV}/
+    chown -R root:root ${D}${datadir}/mof/cimv${PV}
+    for i in `find ${D}${datadir}/mof/cimv${PV} -name "*.mof"`; do
+        sed -i -e 's/\r//g' $i
+    done
+    ln -s cimv${PV} ${D}${datadir}/mof/cim-current
+    ln -s cim_schema_${PV}.mof ${D}${datadir}/mof/cim-current/CIM_Schema.mof
+}
+
+FILES_${PN} = "${datadir}/mof/* ${datadir}/doc/*"
+FILES_${PN}-doc = ""
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch
index 1dd9b93..1294fe4 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch
@@ -2,15 +2,16 @@
 
 Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
 
-diff -Nurp ctdb-2.5.1.orig/Makefile.in ctdb-2.5.1/Makefile.in
---- ctdb-2.5.1.orig/Makefile.in	2015-05-07 16:43:39.276000236 +0900
-+++ ctdb-2.5.1/Makefile.in	2015-05-07 16:44:09.627000237 +0900
-@@ -170,7 +170,7 @@ bin/ctdb: $(CTDB_CLIENT_OBJ) tools/ctdb.
+Index: ctdb-2.5.6/Makefile.in
+===================================================================
+--- ctdb-2.5.6.orig/Makefile.in
++++ ctdb-2.5.6/Makefile.in
+@@ -176,7 +176,7 @@ bin/ctdb: $(CTDB_CLIENT_OBJ) tools/ctdb.
  	@echo Linking $@
  	$(WRAPPER) $(CC) $(CFLAGS) -o $@ tools/ctdb.o tools/ctdb_vacuum.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
  
 -bin/ltdbtool: tools/ltdbtool.o $(TDB_OBJ)
 +bin/ltdbtool: tools/ltdbtool.o $(TDB_OBJ) lib/replace/snprintf.o
  	@echo Linking $@
- 	$(WRAPPER) $(CC) $(CFLAGS) -o $@ $+ $(TDB_LIBS) $(LIB_FLAGS)
+ 	$(WRAPPER) $(CC) $(CFLAGS) -o $@ $+ $(LIB_FLAGS)
  
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb
deleted file mode 100644
index 1663408..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "Dovecot is an open source IMAP and POP3 email server"
-HOMEPAGE = "https://www.dovecot.org/"
-DESCRIPTION = "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory."
-SECTION = "mail"
-LICENSE = "LGPLv2.1 & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a981379bd0f1c362f8d1d21515e5b30b"
-
-SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \
-           file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \
-           file://dovecot.service \
-           file://dovecot.socket \
-           file://0001-doveadm-Fix-parallel-build.patch \
-           "
-
-SRC_URI[md5sum] = "ff95486a5c43025a2c3f5a712e7962b9"
-SRC_URI[sha256sum] = "d939ea99126eb8a8c6955390b422b6e27ec0fa43a3b59b2b3218cb5ad67139a6"
-
-DEPENDS = "openssl xz zlib bzip2 libcap icu"
-
-DEPENDS_append_libc-musl = " libtirpc"
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
-LDFLAGS_append_libc-musl = " -ltirpc"
-
-inherit autotools pkgconfig systemd useradd
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ldap pam', d)}"
-
-PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
-PACKAGECONFIG[ldap] = "--with-ldap=plugin,--without-ldap,openldap,"
-PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
-
-# From native build in armv7a-hf/eglibc
-CACHED_CONFIGUREVARS += "i_cv_signed_size_t=no \
-                         i_cv_gmtime_max_time_t=32 \
-                         i_cv_signed_time_t=yes \
-                         i_cv_mmap_plays_with_write=yes \
-                         i_cv_fd_passing=yes \
-                         i_cv_c99_vsnprintf=yes \
-                         lib_cv___va_copy=yes \
-                         lib_cv_va_copy=yes \
-                         lib_cv_va_val_copy=yes \
-                        "
-
-# hardcode epoll() to avoid running unsafe tests
-# BSD needs kqueue and uclibc poll()
-EXTRA_OECONF = " --with-ioloop=epoll \
-                 --with-systemdsystemunitdir=${systemd_unitdir}/system"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "dovecot.service dovecot.socket"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_install_append () {
-    install -d 755 ${D}/etc/dovecot
-    touch 644 ${D}/etc/dovecot/dovecot.conf
-    install -m 0644 ${WORKDIR}/dovecot.service ${D}${systemd_unitdir}/system
-    sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/dovecot.service
-    sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/dovecot.service
-}
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "-r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovecot dovecot; \
-                      -r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovenull dovenull"
-GROUPADD_PARAM_${PN} = "-f -r dovecot;-f -r dovenull"
-
-FILES_${PN} += "${libdir}/dovecot/*plugin.so \
-                ${libdir}/dovecot/libfs_compress.so \
-                ${libdir}/dovecot/libssl_iostream_openssl.so"
-FILES_${PN}-staticdev += "${libdir}/dovecot/*/*.a"
-FILES_${PN}-dev += "${libdir}/dovecot/libdovecot*.so"
-FILES_${PN}-dbg += "${libdir}/dovecot/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb
new file mode 100644
index 0000000..5ebda19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb
@@ -0,0 +1,71 @@
+SUMMARY = "Dovecot is an open source IMAP and POP3 email server"
+HOMEPAGE = "https://www.dovecot.org/"
+DESCRIPTION = "Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory."
+SECTION = "mail"
+LICENSE = "LGPLv2.1 & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a981379bd0f1c362f8d1d21515e5b30b"
+
+SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \
+           file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \
+           file://dovecot.service \
+           file://dovecot.socket \
+           file://0001-doveadm-Fix-parallel-build.patch \
+           "
+
+SRC_URI[md5sum] = "d61d1e923a22f9062cc9f47696882666"
+SRC_URI[sha256sum] = "e9483d68a7698d701bc06124fcf6e1b1f16380c2986c7ec0cf4e1475b9d0c218"
+
+DEPENDS = "openssl xz zlib bzip2 libcap icu"
+
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
+inherit autotools pkgconfig systemd useradd
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ldap pam', d)}"
+
+PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
+PACKAGECONFIG[ldap] = "--with-ldap=plugin,--without-ldap,openldap,"
+PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
+
+# From native build in armv7a-hf/eglibc
+CACHED_CONFIGUREVARS += "i_cv_signed_size_t=no \
+                         i_cv_gmtime_max_time_t=32 \
+                         i_cv_signed_time_t=yes \
+                         i_cv_mmap_plays_with_write=yes \
+                         i_cv_fd_passing=yes \
+                         i_cv_c99_vsnprintf=yes \
+                         lib_cv___va_copy=yes \
+                         lib_cv_va_copy=yes \
+                         lib_cv_va_val_copy=yes \
+                        "
+
+# hardcode epoll() to avoid running unsafe tests
+# BSD needs kqueue and uclibc poll()
+EXTRA_OECONF = " --with-ioloop=epoll \
+                 --with-systemdsystemunitdir=${systemd_unitdir}/system"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "dovecot.service dovecot.socket"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install_append () {
+    install -d 755 ${D}/etc/dovecot
+    touch 644 ${D}/etc/dovecot/dovecot.conf
+    install -m 0644 ${WORKDIR}/dovecot.service ${D}${systemd_unitdir}/system
+    sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/dovecot.service
+    sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/dovecot.service
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "-r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovecot dovecot; \
+                      -r -d ${libexecdir} -M -s ${base_sbindir}/nologin -g dovenull dovenull"
+GROUPADD_PARAM_${PN} = "-f -r dovecot;-f -r dovenull"
+
+FILES_${PN} += "${libdir}/dovecot/*plugin.so \
+                ${libdir}/dovecot/libfs_compress.so \
+                ${libdir}/dovecot/libssl_iostream_openssl.so"
+FILES_${PN}-staticdev += "${libdir}/dovecot/*/*.a"
+FILES_${PN}-dev += "${libdir}/dovecot/libdovecot*.so"
+FILES_${PN}-dbg += "${libdir}/dovecot/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.6.bb
index 5f6c43f..81f1cfe 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.6.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.6.bb
@@ -8,7 +8,7 @@
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
 
-SRC_URI = "http://oss.linbit.com/drbd/${BP}.tar.gz \
+SRC_URI = "http://www.linbit.com/downloads/drbd/utils/archive/${BP}.tar.gz \
            file://0001-Makefile.in-fix-permission-bits-for-drbd.service.patch \
           "
 SRC_URI[md5sum] = "76ed6d3190cd77b00890f3365353124b"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb
index e943f24..fa4d10b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb
@@ -20,3 +20,5 @@
 do_install () {
     oe_runmake install DESTDIR="${D}"
 }
+
+PNBLACKLIST[drbd] = "implicit declaration of function 'setup_timer'; 4.15 head file issue?" 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb
index 49b11ad..0fd5f6f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb
@@ -17,6 +17,9 @@
                "
 
 do_configure () {
+	install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/config
+	install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/config
+
 	aclocal
 	libtoolize --automake --copy --force
 	autoconf
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.50.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.50.bb
index a8c8bcf..95147bd 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.50.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.50.bb
@@ -9,17 +9,12 @@
 LICENSE = "Artistic-1.0 | GPL-1.0+"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b7a36f55e8ba62aadd74e4f0886a405e"
 
-# Note that we do not want to use the upstream file name locally.
-#
-SRC_URI = "http://github.com/maxmind/geoip-api-perl/archive/v${PV}.tar.gz;downloadfilename=${BPN}-${PV}.tar.gz \
+S = "${WORKDIR}/git"
+SRCREV = "47f7d49bd15cfc2e5f8c0f5c4068dc8bb0e10e96"
+SRC_URI = "git://github.com/maxmind/geoip-api-perl.git;protocol=https; \
     file://run-ptest \
 "
 
-SRC_URI[md5sum] = "2d7f8b1b54e6ba6d9e3fefce52675815"
-SRC_URI[sha256sum] = "86da0dd67f417a43dc70f15a49bd3619f668970c117b9e7f737b4ab246c240a6"
-
-S = "${WORKDIR}/geoip-api-perl-${PV}"
-
 DEPENDS += "geoip"
 
 inherit cpan ptest
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.11.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.11.bb
new file mode 100644
index 0000000..3527d0c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.11.bb
@@ -0,0 +1,90 @@
+SUMMARY = "C library for country/city/organization to IP address or hostname mapping"
+DESCRIPTION = "GeoIP is a C library that enables the user to find the country that any IP \
+address or hostname originates from. It uses a file based database that is \
+accurate as of March 2003. This database simply contains IP blocks as keys, and \
+countries as values. This database should be more complete and accurate than \
+using reverse DNS lookups."
+
+HOMEPAGE = "http://dev.maxmind.com/geoip/"
+SECTION = "libdevel"
+
+SRC_URI = "git://github.com/maxmind/geoip-api-c.git \
+           http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz;apply=no;name=GeoIP-dat \
+           http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz;apply=no;name=GeoIPv6-dat \
+           http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz;apply=no;name=GeoLiteCity-dat \
+           http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz;apply=no;name=GeoLiteCityv6-dat \
+           file://run-ptest \
+"
+SRCREV = "3169a8a88808c8df862e0b0355f99c738cce9f7e"
+
+SRC_URI[GeoIP-dat.md5sum] = "37c84ead332dda0362a5ac7b049b72d4"
+SRC_URI[GeoIP-dat.sha256sum] = "79ff1099e96c2dc1c2539c9a18aaa13a9afd085cae477df60d95f1644d42bc07"
+
+SRC_URI[GeoIPv6-dat.md5sum] = "e75b84a4044e81d6d4484e33816bc762"
+SRC_URI[GeoIPv6-dat.sha256sum] = "a009b0f21968d2868e6dd19d14f3c3b8cd60ae84a4bfc2970df34d771a04811e"
+
+SRC_URI[GeoLiteCity-dat.md5sum] = "4b6588d0bfe1af22e267ac90aa97f769"
+SRC_URI[GeoLiteCity-dat.sha256sum] = "8a6467033a528f68b1a97de24d9d0ce86c8e8e83683820e16e433ddbd3f712f7"
+
+SRC_URI[GeoLiteCityv6-dat.md5sum] = "ad0cb42518af7f752499425dca0952bb"
+SRC_URI[GeoLiteCityv6-dat.sha256sum] = "eda67f4204ba9fa5204a53cdb629167cca9394c712f5378bc723a8c29c0b440f"
+
+LICENSE = "LGPL-2.1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad \
+                    file://LICENSE;md5=0388276749a542b0d611601fa7c1dcc8 "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-static               \
+                --disable-dependency-tracking  "
+
+do_install() {
+    make DESTDIR=${D} install
+    install -d ${D}/${datadir}/GeoIP
+    install ${WORKDIR}/GeoIP.dat ${D}/${datadir}/GeoIP/
+    install ${WORKDIR}/GeoIPv6.dat ${D}/${datadir}/GeoIP/
+    install ${WORKDIR}/GeoLiteCity.dat ${D}/${datadir}/GeoIP/
+    install ${WORKDIR}/GeoLiteCityv6.dat ${D}/${datadir}/GeoIP/
+    ln -s GeoLiteCity.dat ${D}${datadir}/GeoIP/GeoIPCity.dat
+}
+
+PACKAGES =+ "${PN}-database"
+FILES_${PN}-database = ""
+FILES_${PN}-database += "${datadir}/GeoIP/*"
+
+# We cannot do much looking up without databases.
+#
+RDEPENDS_${PN} += "${PN}-database"
+
+inherit ptest
+
+do_configure_ptest() {
+    sed -i -e "s/noinst_PROGRAMS = /test_PROGRAMS = /g" \
+        -e 's:SRCDIR=\\"$(top_srcdir)\\":SRCDIR=\\"$(testdir)\\":' \
+        ${S}/test/Makefile.am
+
+    if ! grep "^testdir = " ${S}/test/Makefile.am ; then
+        sed -e '/EXTRA_PROGRAMS = /itestdir = ${PTEST_PATH}/tests' \
+            -i ${S}/test/Makefile.am
+    fi
+
+    sed -i -e "s:/usr/local/share:/usr/share:g" \
+        ${S}/test/benchmark.c
+
+    sed -i -e 's:"../data/:"/usr/share/GeoIP/:g' \
+        ${S}/test/test-geoip-city.c \
+        ${S}/test/test-geoip-isp.c \
+        ${S}/test/test-geoip-asnum.c \
+        ${S}/test/test-geoip-netspeed.c \
+        ${S}/test/test-geoip-org.c \
+        ${S}/test/test-geoip-region.c
+}
+
+
+do_install_ptest() {
+    oe_runmake -C test DESTDIR=${D}  install-testPROGRAMS
+    install ${S}/test/*.txt ${D}${PTEST_PATH}/tests
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.9.bb
deleted file mode 100644
index 9e8e071..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.9.bb
+++ /dev/null
@@ -1,90 +0,0 @@
-SUMMARY = "C library for country/city/organization to IP address or hostname mapping"
-DESCRIPTION = "GeoIP is a C library that enables the user to find the country that any IP \
-address or hostname originates from. It uses a file based database that is \
-accurate as of March 2003. This database simply contains IP blocks as keys, and \
-countries as values. This database should be more complete and accurate than \
-using reverse DNS lookups."
-
-HOMEPAGE = "http://dev.maxmind.com/geoip/"
-SECTION = "libdevel"
-
-SRC_URI = "git://github.com/maxmind/geoip-api-c.git \
-           http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz;apply=no;name=GeoIP-dat \
-           http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz;apply=no;name=GeoIPv6-dat \
-           http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz;apply=no;name=GeoLiteCity-dat \
-           http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz;apply=no;name=GeoLiteCityv6-dat \
-           file://run-ptest \
-"
-SRCREV = "4f487bf95532e0bba7783d591faff178ab0aa462"
-
-SRC_URI[GeoIP-dat.md5sum] = "37c84ead332dda0362a5ac7b049b72d4"
-SRC_URI[GeoIP-dat.sha256sum] = "79ff1099e96c2dc1c2539c9a18aaa13a9afd085cae477df60d95f1644d42bc07"
-
-SRC_URI[GeoIPv6-dat.md5sum] = "e75b84a4044e81d6d4484e33816bc762"
-SRC_URI[GeoIPv6-dat.sha256sum] = "a009b0f21968d2868e6dd19d14f3c3b8cd60ae84a4bfc2970df34d771a04811e"
-
-SRC_URI[GeoLiteCity-dat.md5sum] = "4b6588d0bfe1af22e267ac90aa97f769"
-SRC_URI[GeoLiteCity-dat.sha256sum] = "8a6467033a528f68b1a97de24d9d0ce86c8e8e83683820e16e433ddbd3f712f7"
-
-SRC_URI[GeoLiteCityv6-dat.md5sum] = "ad0cb42518af7f752499425dca0952bb"
-SRC_URI[GeoLiteCityv6-dat.sha256sum] = "eda67f4204ba9fa5204a53cdb629167cca9394c712f5378bc723a8c29c0b440f"
-
-LICENSE = "LGPL-2.1"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad \
-                    file://LICENSE;md5=0388276749a542b0d611601fa7c1dcc8 "
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-EXTRA_OECONF = "--disable-static               \
-                --disable-dependency-tracking  "
-
-do_install() {
-    make DESTDIR=${D} install
-    install -d ${D}/${datadir}/GeoIP
-    install ${WORKDIR}/GeoIP.dat ${D}/${datadir}/GeoIP/
-    install ${WORKDIR}/GeoIPv6.dat ${D}/${datadir}/GeoIP/
-    install ${WORKDIR}/GeoLiteCity.dat ${D}/${datadir}/GeoIP/
-    install ${WORKDIR}/GeoLiteCityv6.dat ${D}/${datadir}/GeoIP/
-    ln -s GeoLiteCity.dat ${D}${datadir}/GeoIP/GeoIPCity.dat
-}
-
-PACKAGES =+ "${PN}-database"
-FILES_${PN}-database = ""
-FILES_${PN}-database += "${datadir}/GeoIP/*"
-
-# We cannot do much looking up without databases.
-#
-RDEPENDS_${PN} += "${PN}-database"
-
-inherit ptest
-
-do_configure_ptest() {
-    sed -i -e "s/noinst_PROGRAMS = /test_PROGRAMS = /g" \
-        -e 's:SRCDIR=\\"$(top_srcdir)\\":SRCDIR=\\"$(testdir)\\":' \
-        ${S}/test/Makefile.am
-
-    if ! grep "^testdir = " ${S}/test/Makefile.am ; then
-        sed -e '/EXTRA_PROGRAMS = /itestdir = ${PTEST_PATH}/tests' \
-            -i ${S}/test/Makefile.am
-    fi
-
-    sed -i -e "s:/usr/local/share:/usr/share:g" \
-        ${S}/test/benchmark.c
-
-    sed -i -e 's:"../data/:"/usr/share/GeoIP/:g' \
-        ${S}/test/test-geoip-city.c \
-        ${S}/test/test-geoip-isp.c \
-        ${S}/test/test-geoip-asnum.c \
-        ${S}/test/test-geoip-netspeed.c \
-        ${S}/test/test-geoip-org.c \
-        ${S}/test/test-geoip-region.c
-}
-
-
-do_install_ptest() {
-    oe_runmake -C test DESTDIR=${D}  install-testPROGRAMS
-    install ${S}/test/*.txt ${D}${PTEST_PATH}/tests
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.4.0/GeoIP.conf b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.5.0/GeoIP.conf
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.4.0/GeoIP.conf
rename to import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.5.0/GeoIP.conf
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.4.0/geoipupdate.cron b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.5.0/geoipupdate.cron
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.4.0/geoipupdate.cron
rename to import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.5.0/geoipupdate.cron
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.4.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.4.0.bb
deleted file mode 100644
index 3e045bb..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.4.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Crontab entry to provide weekly updates of the GeoIP free databases."
-DESCRIPTION = "update databases for GeoIP"
-
-HOMEPAGE = "http://dev.maxmind.com/geoip/"
-SECTION = "net"
-
-DEPENDS = "zlib curl"
-
-SRC_URI = "https://github.com/maxmind/geoipupdate/releases/download/v2.4.0/geoipupdate-2.4.0.tar.gz \
-           file://GeoIP.conf \
-           file://geoipupdate.cron \
-          "
-SRC_URI[md5sum] = "02f9712fb80e8e979d3d54cda7f7704f"
-SRC_URI[sha256sum] = "8b4e88ce8d84e9c75bc681704d19ec5c63c54f01e945f7669f97fb0df7e13952"
-
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "\
-file://ChangeLog.md;md5=334337b6ecbb65093bae66b3ae21c8c2 \
-"
-FILES_${PN} = "/usr/share/GeoIP \
-              /etc/GeoIP.conf \
-             /etc/cron.d/geoipupdate.cron \
-             /usr/bin/geoipupdate \
-"
-inherit autotools
-
-do_install_append() {
-    install -d ${D}/${sysconfdir}
-    install -d ${D}/${sysconfdir}/cron.d
-    install ${WORKDIR}/GeoIP.conf ${D}/${sysconfdir}/
-    install ${WORKDIR}/geoipupdate.cron ${D}/${sysconfdir}/cron.d/
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.5.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.5.0.bb
new file mode 100644
index 0000000..f4eb2b7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.5.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Crontab entry to provide weekly updates of the GeoIP free databases."
+DESCRIPTION = "update databases for GeoIP"
+
+HOMEPAGE = "http://dev.maxmind.com/geoip/"
+SECTION = "net"
+
+DEPENDS = "zlib curl"
+
+SRC_URI = "https://github.com/maxmind/geoipupdate/releases/download/v2.5.0/geoipupdate-2.5.0.tar.gz \
+           file://GeoIP.conf \
+           file://geoipupdate.cron \
+          "
+SRC_URI[md5sum] = "28f633c49ec87ab01ad3c0fb0228a696"
+SRC_URI[sha256sum] = "5119fd0e338cd083e886228b26679c64bcbaade8a815be092aecf865a610ab26"
+
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "\
+file://ChangeLog.md;md5=11d2e31df0de2be3ccc3e2286c4dafcb \
+"
+FILES_${PN} = "/usr/share/GeoIP \
+              /etc/GeoIP.conf \
+             /etc/cron.d/geoipupdate.cron \
+             /usr/bin/geoipupdate \
+"
+inherit autotools
+
+do_install_append() {
+    install -d ${D}/${sysconfdir}
+    install -d ${D}/${sysconfdir}/cron.d
+    install ${WORKDIR}/GeoIP.conf ${D}/${sysconfdir}/
+    install ${WORKDIR}/geoipupdate.cron ${D}/${sysconfdir}/cron.d/
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch
new file mode 100644
index 0000000..38d3064
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch
@@ -0,0 +1,31 @@
+From fd80c0599083013a1b583feba5d7473f52b35938 Mon Sep 17 00:00:00 2001
+From: Mariia Movchan <mmovchan@cisco.com>
+Date: Tue, 6 Mar 2018 16:03:39 +0200
+Subject: [PATCH] Makefile: pass extra linker flags
+
+Fixes
+ERROR: QA Issue: No GNU_HASH in the elf binary
+
+Upstream-Status: Pending
+
+Signed-off-by: Mariia Movchan <mmovchan@cisco.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 8beff8f..047f02a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -8,7 +8,7 @@ LIBS?=
+ VERSION=0.2.2
+ CC?=gcc
+ CFLAGS?=-O2 -g -Wall
+-LDFLAGS=$(LIBS)
++LDFLAGS+=$(LIBS)
+ 
+ ifeq ($(USE_GEOIP),yes)
+ ifeq ($(USE_DYN_GEOIP),yes)
+-- 
+2.15.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb
new file mode 100644
index 0000000..b456424
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Tool to assist in network address calculations for IPv4 and IPv6."
+HOMEPAGE = "https://github.com/nmav/ipcalc"
+
+SECTION = "net"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+SRCREV = "8348808a7869ca8f25a5b5deeaa418c2f6d52758"
+SRC_URI = "\
+    git://github.com/nmav/ipcalc.git;protocol=https; \
+    file://0001-Makefile-pass-extra-linker-flags.patch \
+"
+
+export USE_GEOIP = "no"
+
+do_install() {
+    install -d ${D}/${bindir}
+    install -m 0755 ${S}/ipcalc ${D}/${bindir}
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb/ldb-Add-configure-options-for-packages.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb/ldb-Add-configure-options-for-packages.patch
deleted file mode 100644
index 93bd457..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb/ldb-Add-configure-options-for-packages.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From 49dde22e798fd7f39fd59250036c0ae1fe2b9152 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 21 Sep 2016 10:06:39 +0800
-Subject: [PATCH] ldb: Add configure options for packages
-
-Add configure options for the following packages:
- - acl
- - attr
- - libaio
- - libbsd
- - libcap
- - valgrind
-
-Upstream-Status: Inappropriate [oe deterministic build specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- lib/replace/system/wscript_configure |  6 ++-
- lib/replace/wscript                  | 85 ++++++++++++++++++++++++++++--------
- wscript                              |  7 +++
- 3 files changed, 80 insertions(+), 18 deletions(-)
-
-diff --git a/lib/replace/system/wscript_configure b/lib/replace/system/wscript_configure
-index 2035474..10f9ae7 100644
---- a/lib/replace/system/wscript_configure
-+++ b/lib/replace/system/wscript_configure
-@@ -1,6 +1,10 @@
- #!/usr/bin/env python
- 
--conf.CHECK_HEADERS('sys/capability.h')
-+import Options
-+
-+if Options.options.enable_libcap:
-+    conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_FUNCS('getpwnam_r getpwuid_r getpwent_r')
- 
- # solaris varients of getXXent_r
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 145300d..8218fa5 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
-     opt.PRIVATE_EXTENSION_DEFAULT('')
-     opt.RECURSE('buildtools/wafsamba')
- 
-+    opt.add_option('--with-acl',
-+                   help=("Enable use of acl"),
-+                   action="store_true", dest='enable_acl')
-+    opt.add_option('--without-acl',
-+                   help=("Disable use of acl"),
-+                   action="store_false", dest='enable_acl', default=False)
-+
-+    opt.add_option('--with-attr',
-+                   help=("Enable use of attr"),
-+                   action="store_true", dest='enable_attr')
-+    opt.add_option('--without-attr',
-+                   help=("Disable use of attr"),
-+                   action="store_false", dest='enable_attr', default=False)
-+
-+    opt.add_option('--with-libaio',
-+                   help=("Enable use of libaio"),
-+                   action="store_true", dest='enable_libaio')
-+    opt.add_option('--without-libaio',
-+                   help=("Disable use of libaio"),
-+                   action="store_false", dest='enable_libaio', default=False)
-+
-+    opt.add_option('--with-libbsd',
-+                   help=("Enable use of libbsd"),
-+                   action="store_true", dest='enable_libbsd')
-+    opt.add_option('--without-libbsd',
-+                   help=("Disable use of libbsd"),
-+                   action="store_false", dest='enable_libbsd', default=False)
-+
-+    opt.add_option('--with-libcap',
-+                   help=("Enable use of libcap"),
-+                   action="store_true", dest='enable_libcap')
-+    opt.add_option('--without-libcap',
-+                   help=("Disable use of libcap"),
-+                   action="store_false", dest='enable_libcap', default=False)
-+
- @Utils.run_once
- def configure(conf):
-     conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
-     conf.DEFINE('HAVE_LIBREPLACE', 1)
-     conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
- 
--    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
--    conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
-+    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
-+    conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
-     conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
--    conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
--    conf.CHECK_HEADERS('shadow.h sys/acl.h')
--    conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+    conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-+    conf.CHECK_HEADERS('shadow.h')
-+    conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
-+
-+    if Options.options.enable_acl:
-+        conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
-+
-+    if Options.options.enable_attr:
-+        conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
-+
-+    if Options.options.enable_libaio:
-+        conf.CHECK_HEADERS('libaio.h')
-+
-+    if Options.options.enable_libcap:
-+        conf.CHECK_HEADERS('sys/capability.h')
-+
-     conf.CHECK_HEADERS('port.h')
-     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
-     conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -73,7 +121,9 @@ def configure(conf):
- 
-     conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H')
- 
--    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+    if Options.options.enable_valgrind:
-+        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
-     conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
-     conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
-     conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -248,17 +298,18 @@ def configure(conf):
- 
-     conf.CHECK_FUNCS('prctl dirname basename')
- 
--    # libbsd on some platforms provides strlcpy and strlcat
--    if not conf.CHECK_FUNCS('strlcpy strlcat'):
--        conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
--                checklibc=True)
--    if not conf.CHECK_FUNCS('getpeereid'):
--        conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
--    if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
--        conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
--
--    if not conf.CHECK_FUNCS('closefrom'):
--        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+    if Options.options.enable_libbsd:
-+        # libbsd on some platforms provides strlcpy and strlcat
-+        if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+            conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+                    checklibc=True)
-+        if not conf.CHECK_FUNCS('getpeereid'):
-+            conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-+        if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-+            conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-+
-+        if not conf.CHECK_FUNCS('closefrom'):
-+            conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
- 
-     conf.CHECK_CODE('''
-                 struct ucred cred;
-diff --git a/wscript b/wscript
-index 2af8571..059408b 100755
---- a/wscript
-+++ b/wscript
-@@ -29,6 +29,13 @@ def set_options(opt):
-     opt.RECURSE('lib/replace')
-     opt.tool_options('python') # options for disabling pyc or pyo compilation
- 
-+    opt.add_option('--with-valgrind',
-+                   help=("enable use of valgrind"),
-+                   action="store_true", dest='enable_valgrind')
-+    opt.add_option('--without-valgrind',
-+                   help=("disable use of valgrind"),
-+                   action="store_false", dest='enable_valgrind', default=False)
-+
- def configure(conf):
-     conf.RECURSE('lib/tdb')
-     conf.RECURSE('lib/tevent')
--- 
-2.8.3
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.3.1.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.3.1.patch
new file mode 100644
index 0000000..ffe253b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.3.1.patch
@@ -0,0 +1,193 @@
+From a4da3ab4d76013aaa731d43d52ccca1ebd37c395 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 21 Sep 2016 10:06:39 +0800
+Subject: [PATCH 1/1] ldb: Add configure options for packages
+
+Add configure options for the following packages:
+ - acl
+ - attr
+ - libaio
+ - libbsd
+ - libcap
+ - valgrind
+
+Upstream-Status: Inappropriate [oe deterministic build specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ lib/replace/system/wscript_configure |  6 ++-
+ lib/replace/wscript                  | 94 +++++++++++++++++++++++++++---------
+ wscript                              |  7 +++
+ 3 files changed, 83 insertions(+), 24 deletions(-)
+
+diff --git a/lib/replace/system/wscript_configure b/lib/replace/system/wscript_configure
+index 2035474..10f9ae7 100644
+--- a/lib/replace/system/wscript_configure
++++ b/lib/replace/system/wscript_configure
+@@ -1,6 +1,10 @@
+ #!/usr/bin/env python
+ 
+-conf.CHECK_HEADERS('sys/capability.h')
++import Options
++
++if Options.options.enable_libcap:
++    conf.CHECK_HEADERS('sys/capability.h')
++
+ conf.CHECK_FUNCS('getpwnam_r getpwuid_r getpwent_r')
+ 
+ # solaris varients of getXXent_r
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index 2f94d49..68b2d3a 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -23,6 +23,41 @@ def set_options(opt):
+     opt.PRIVATE_EXTENSION_DEFAULT('')
+     opt.RECURSE('buildtools/wafsamba')
+ 
++    opt.add_option('--with-acl',
++                   help=("Enable use of acl"),
++                   action="store_true", dest='enable_acl')
++    opt.add_option('--without-acl',
++                   help=("Disable use of acl"),
++                   action="store_false", dest='enable_acl', default=False)
++
++    opt.add_option('--with-attr',
++                   help=("Enable use of attr"),
++                   action="store_true", dest='enable_attr')
++    opt.add_option('--without-attr',
++                   help=("Disable use of attr"),
++                   action="store_false", dest='enable_attr', default=False)
++
++    opt.add_option('--with-libaio',
++                   help=("Enable use of libaio"),
++                   action="store_true", dest='enable_libaio')
++    opt.add_option('--without-libaio',
++                   help=("Disable use of libaio"),
++                   action="store_false", dest='enable_libaio', default=False)
++
++    opt.add_option('--with-libbsd',
++                   help=("Enable use of libbsd"),
++                   action="store_true", dest='enable_libbsd')
++    opt.add_option('--without-libbsd',
++                   help=("Disable use of libbsd"),
++                   action="store_false", dest='enable_libbsd', default=False)
++
++    opt.add_option('--with-libcap',
++                   help=("Enable use of libcap"),
++                   action="store_true", dest='enable_libcap')
++    opt.add_option('--without-libcap',
++                   help=("Disable use of libcap"),
++                   action="store_false", dest='enable_libcap', default=False)
++
+ @Utils.run_once
+ def configure(conf):
+     conf.RECURSE('buildtools/wafsamba')
+@@ -32,12 +67,25 @@ def configure(conf):
+     conf.DEFINE('HAVE_LIBREPLACE', 1)
+     conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
+ 
+-    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
+-    conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
++    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
++    conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
+     conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+-    conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+-    conf.CHECK_HEADERS('shadow.h sys/acl.h')
+-    conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
++    conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
++    conf.CHECK_HEADERS('shadow.h')
++    conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
++
++    if Options.options.enable_acl:
++        conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
++
++    if Options.options.enable_attr:
++        conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
++
++    if Options.options.enable_libaio:
++        conf.CHECK_HEADERS('libaio.h')
++
++    if Options.options.enable_libcap:
++        conf.CHECK_HEADERS('sys/capability.h')
++
+     conf.CHECK_HEADERS('port.h')
+     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+     conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
+@@ -73,7 +121,9 @@ def configure(conf):
+ 
+     conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H')
+ 
+-    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
++    if Options.options.enable_valgrind:
++        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
++
+     conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+     conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
+     conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
+@@ -266,22 +316,20 @@ def configure(conf):
+ 
+     conf.CHECK_FUNCS('prctl dirname basename')
+ 
+-    strlcpy_in_bsd = False
+-
+-    # libbsd on some platforms provides strlcpy and strlcat
+-    if not conf.CHECK_FUNCS('strlcpy strlcat'):
+-        if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
+-                               checklibc=True):
+-            strlcpy_in_bsd = True
+-    if not conf.CHECK_FUNCS('getpeereid'):
+-        conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+-    if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+-        conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+-    if not conf.CHECK_FUNCS('setproctitle_init'):
+-        conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+-
+-    if not conf.CHECK_FUNCS('closefrom'):
+-        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++    if Options.options.enable_libbsd:
++        # libbsd on some platforms provides strlcpy and strlcat
++        if not conf.CHECK_FUNCS('strlcpy strlcat'):
++            conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++                    checklibc=True)
++        if not conf.CHECK_FUNCS('getpeereid'):
++            conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
++        if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
++            conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
++        if not conf.CHECK_FUNCS('setproctitle_init'):
++            conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
++
++        if not conf.CHECK_FUNCS('closefrom'):
++            conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
+ 
+     conf.CHECK_CODE('''
+                 struct ucred cred;
+@@ -632,7 +680,7 @@ removeea setea
+     # look for a method of finding the list of network interfaces
+     for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
+         bsd_for_strlcpy = ''
+-        if strlcpy_in_bsd:
++        if Options.options.enable_libbsd:
+             bsd_for_strlcpy = ' bsd'
+         if conf.CHECK_CODE('''
+                            #define %s 1
+diff --git a/wscript b/wscript
+index 8ae5be3..a178cc4 100644
+--- a/wscript
++++ b/wscript
+@@ -31,6 +31,13 @@ def set_options(opt):
+     opt.RECURSE('lib/replace')
+     opt.tool_options('python') # options for disabling pyc or pyo compilation
+ 
++    opt.add_option('--with-valgrind',
++                   help=("enable use of valgrind"),
++                   action="store_true", dest='enable_valgrind')
++    opt.add_option('--without-valgrind',
++                   help=("disable use of valgrind"),
++                   action="store_false", dest='enable_valgrind', default=False)
++
+ def configure(conf):
+     conf.RECURSE('lib/tdb')
+     conf.RECURSE('lib/tevent')
+-- 
+2.16.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.29.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.29.bb
deleted file mode 100644
index a90919b..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.29.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://ldb.samba.org"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
-
-DEPENDS += "libtdb libtalloc libtevent popt"
-RDEPENDS_pyldb += "python"
-
-SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
-           file://do-not-import-target-module-while-cross-compile.patch \
-           file://ldb-Add-configure-options-for-packages.patch \
-          "
-
-PACKAGECONFIG ??= "\
-    ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[ldap] = ",,openldap"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
-
-LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \
-                    file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
-                    file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
-
-SRC_URI[md5sum] = "9c90abfb94c1e2a693399392cf4cddb9"
-SRC_URI[sha256sum] = "59d84f9a5b799f519ba7b2685bb46f5a26f1bbf05b7a144b2f5e017d01d80f97"
-
-inherit waf-samba
-
-S = "${WORKDIR}/ldb-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
-                 --disable-rpath-install \
-                 --bundled-libraries=NONE \
-                 --builtin-libraries=replace \
-                 --with-modulesdir=${libdir}/ldb/modules \
-                 --with-privatelibdir=${libdir}/ldb \
-                 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
-                "
-
-PACKAGES =+ "pyldb pyldb-dbg pyldb-dev"
-
-NOAUTOPACKAGEDEBUG = "1"
-
-FILES_${PN} += "${libdir}/ldb/*"
-FILES_${PN}-dbg += "${bindir}/.debug/* \
-                    ${libdir}/.debug/* \
-                    ${libdir}/ldb/.debug/* \
-                    ${libdir}/ldb/modules/ldb/.debug/*"
-
-FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
-               ${libdir}/libpyldb-util.so.* \
-              "
-FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
-                   ${libdir}/.debug/libpyldb-util.so.*"
-FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.3.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.3.1.bb
new file mode 100644
index 0000000..7e14cde
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.3.1.bb
@@ -0,0 +1,63 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://ldb.samba.org"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
+
+DEPENDS += "libtdb libtalloc libtevent popt"
+RDEPENDS_pyldb += "python"
+
+SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
+           file://do-not-import-target-module-while-cross-compile.patch \
+           file://options-1.3.1.patch \
+          "
+
+PACKAGECONFIG ??= "\
+    ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[ldap] = ",,openldap"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
+
+LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \
+                    file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
+                    file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
+
+SRC_URI[md5sum] = "e5233f202bca27f6ce8474fb8ae65983"
+SRC_URI[sha256sum] = "b19f2c9f55ae0f46aa5ebaea0bf1a47ec1ac135e1d78af0f6318cf50bf62cbd2"
+
+inherit waf-samba
+
+S = "${WORKDIR}/ldb-${PV}"
+
+EXTRA_OECONF += "--disable-rpath \
+                 --disable-rpath-install \
+                 --bundled-libraries=cmocka \
+                 --builtin-libraries=replace \
+                 --with-modulesdir=${libdir}/ldb/modules \
+                 --with-privatelibdir=${libdir}/ldb \
+                 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+                "
+
+PACKAGES =+ "pyldb pyldb-dbg pyldb-dev"
+
+NOAUTOPACKAGEDEBUG = "1"
+
+FILES_${PN} += "${libdir}/ldb/*"
+FILES_${PN}-dbg += "${bindir}/.debug/* \
+                    ${libdir}/.debug/* \
+                    ${libdir}/ldb/.debug/* \
+                    ${libdir}/ldb/modules/ldb/.debug/*"
+
+FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
+               ${libdir}/libpyldb-util.so.* \
+              "
+FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
+                   ${libdir}/.debug/libpyldb-util.so.*"
+FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.10.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.10.patch
new file mode 100644
index 0000000..63f21e7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.10.patch
@@ -0,0 +1,184 @@
+From efc1b02144f23fdf84dbc5ff15307815e0f2a425 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 14 Sep 2016 11:11:35 +0800
+Subject: [PATCH] talloc: Add configure options for packages
+
+Add configure options for the following packages:
+ - acl
+ - attr
+ - libaio
+ - libbsd
+ - libcap
+ - valgrind
+
+Upstream-Status: Inappropriate [oe deterministic build specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Modified to apply to version 2.1.10.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+---
+ lib/replace/system/wscript_configure |  6 ++-
+ lib/replace/wscript                  | 85 ++++++++++++++++++++++++++++--------
+ wscript                              |  7 ++-
+ 3 files changed, 79 insertions(+), 19 deletions(-)
+
+Index: talloc-2.1.11/lib/replace/system/wscript_configure
+===================================================================
+--- talloc-2.1.11.orig/lib/replace/system/wscript_configure
++++ talloc-2.1.11/lib/replace/system/wscript_configure
+@@ -1,6 +1,10 @@
+ #!/usr/bin/env python
+ 
+-conf.CHECK_HEADERS('sys/capability.h')
++import Options
++
++if Options.options.enable_libcap:
++    conf.CHECK_HEADERS('sys/capability.h')
++
+ conf.CHECK_FUNCS('getpwnam_r getpwuid_r getpwent_r')
+ 
+ # solaris varients of getXXent_r
+Index: talloc-2.1.11/lib/replace/wscript
+===================================================================
+--- talloc-2.1.11.orig/lib/replace/wscript
++++ talloc-2.1.11/lib/replace/wscript
+@@ -23,6 +23,41 @@ def set_options(opt):
+     opt.PRIVATE_EXTENSION_DEFAULT('')
+     opt.RECURSE('buildtools/wafsamba')
+ 
++    opt.add_option('--with-acl',
++                   help=("Enable use of acl"),
++                   action="store_true", dest='enable_acl')
++    opt.add_option('--without-acl',
++                   help=("Disable use of acl"),
++                   action="store_false", dest='enable_acl', default=False)
++
++    opt.add_option('--with-attr',
++                   help=("Enable use of attr"),
++                   action="store_true", dest='enable_attr')
++    opt.add_option('--without-attr',
++                   help=("Disable use of attr"),
++                   action="store_false", dest='enable_attr', default=False)
++
++    opt.add_option('--with-libaio',
++                   help=("Enable use of libaio"),
++                   action="store_true", dest='enable_libaio')
++    opt.add_option('--without-libaio',
++                   help=("Disable use of libaio"),
++                   action="store_false", dest='enable_libaio', default=False)
++
++    opt.add_option('--with-libbsd',
++                   help=("Enable use of libbsd"),
++                   action="store_true", dest='enable_libbsd')
++    opt.add_option('--without-libbsd',
++                   help=("Disable use of libbsd"),
++                   action="store_false", dest='enable_libbsd', default=False)
++
++    opt.add_option('--with-libcap',
++                   help=("Enable use of libcap"),
++                   action="store_true", dest='enable_libcap')
++    opt.add_option('--without-libcap',
++                   help=("Disable use of libcap"),
++                   action="store_false", dest='enable_libcap', default=False)
++
+ @Utils.run_once
+ def configure(conf):
+     conf.RECURSE('buildtools/wafsamba')
+@@ -32,12 +67,25 @@ def configure(conf):
+     conf.DEFINE('HAVE_LIBREPLACE', 1)
+     conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
+ 
+-    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
+-    conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
++    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
++    conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
+     conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+-    conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+-    conf.CHECK_HEADERS('shadow.h sys/acl.h')
+-    conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
++    conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
++    conf.CHECK_HEADERS('shadow.h')
++    conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
++
++    if Options.options.enable_acl:
++        conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
++
++    if Options.options.enable_attr:
++        conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
++
++    if Options.options.enable_libaio:
++        conf.CHECK_HEADERS('libaio.h')
++
++    if Options.options.enable_libcap:
++        conf.CHECK_HEADERS('sys/capability.h')
++
+     conf.CHECK_HEADERS('port.h')
+     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+     conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
+@@ -73,7 +121,9 @@ def configure(conf):
+ 
+     conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H')
+ 
+-    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
++    if Options.options.enable_valgrind:
++        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
++
+     conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+     conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
+     conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
+@@ -267,21 +317,21 @@ def configure(conf):
+     conf.CHECK_FUNCS('prctl dirname basename')
+ 
+     strlcpy_in_bsd = False
+-
+-    # libbsd on some platforms provides strlcpy and strlcat
+-    if not conf.CHECK_FUNCS('strlcpy strlcat'):
+-        if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++    if Options.options.enable_libbsd:
++        # libbsd on some platforms provides strlcpy and strlcat
++        if not conf.CHECK_FUNCS('strlcpy strlcat'):
++            if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
+                                checklibc=True):
+-            strlcpy_in_bsd = True
+-    if not conf.CHECK_FUNCS('getpeereid'):
+-        conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+-    if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+-        conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+-    if not conf.CHECK_FUNCS('setproctitle_init'):
+-        conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
++                strlcpy_in_bsd = True
++        if not conf.CHECK_FUNCS('getpeereid'):
++            conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
++        if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
++            conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
++        if not conf.CHECK_FUNCS('setproctitle_init'):
++            conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+ 
+-    if not conf.CHECK_FUNCS('closefrom'):
+-        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++        if not conf.CHECK_FUNCS('closefrom'):
++            conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
+ 
+     conf.CHECK_CODE('''
+                 struct ucred cred;
+Index: talloc-2.1.11/wscript
+===================================================================
+--- talloc-2.1.11.orig/wscript
++++ talloc-2.1.11/wscript
+@@ -32,7 +32,12 @@ def set_options(opt):
+         opt.add_option('--enable-talloc-compat1',
+                        help=("Build talloc 1.x.x compat library [False]"),
+                        action="store_true", dest='TALLOC_COMPAT1', default=False)
+-
++        opt.add_option('--with-valgrind',
++                       help=("enable use of valgrind"),
++                       action="store_true", dest='enable_valgrind')
++        opt.add_option('--without-valgrind',
++                       help=("disable use of valgrind"),
++                       action="store_false", dest='enable_valgrind', default=False)
+ 
+ def configure(conf):
+     conf.RECURSE('lib/replace')
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/talloc-Add-configure-options-for-packages.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/talloc-Add-configure-options-for-packages.patch
deleted file mode 100644
index 46b2405..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/talloc-Add-configure-options-for-packages.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From efc1b02144f23fdf84dbc5ff15307815e0f2a425 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 14 Sep 2016 11:11:35 +0800
-Subject: [PATCH] talloc: Add configure options for packages
-
-Add configure options for the following packages:
- - acl
- - attr
- - libaio
- - libbsd
- - libcap
- - valgrind
-
-Upstream-Status: Inappropriate [oe deterministic build specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- lib/replace/system/wscript_configure |  6 ++-
- lib/replace/wscript                  | 85 ++++++++++++++++++++++++++++--------
- wscript                              |  7 ++-
- 3 files changed, 79 insertions(+), 19 deletions(-)
-
-diff --git a/lib/replace/system/wscript_configure b/lib/replace/system/wscript_configure
-index 2035474..10f9ae7 100644
---- a/lib/replace/system/wscript_configure
-+++ b/lib/replace/system/wscript_configure
-@@ -1,6 +1,10 @@
- #!/usr/bin/env python
- 
--conf.CHECK_HEADERS('sys/capability.h')
-+import Options
-+
-+if Options.options.enable_libcap:
-+    conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_FUNCS('getpwnam_r getpwuid_r getpwent_r')
- 
- # solaris varients of getXXent_r
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index fc43e1a..12d2a70 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
-     opt.PRIVATE_EXTENSION_DEFAULT('')
-     opt.RECURSE('buildtools/wafsamba')
- 
-+    opt.add_option('--with-acl',
-+                   help=("Enable use of acl"),
-+                   action="store_true", dest='enable_acl')
-+    opt.add_option('--without-acl',
-+                   help=("Disable use of acl"),
-+                   action="store_false", dest='enable_acl', default=False)
-+
-+    opt.add_option('--with-attr',
-+                   help=("Enable use of attr"),
-+                   action="store_true", dest='enable_attr')
-+    opt.add_option('--without-attr',
-+                   help=("Disable use of attr"),
-+                   action="store_false", dest='enable_attr', default=False)
-+
-+    opt.add_option('--with-libaio',
-+                   help=("Enable use of libaio"),
-+                   action="store_true", dest='enable_libaio')
-+    opt.add_option('--without-libaio',
-+                   help=("Disable use of libaio"),
-+                   action="store_false", dest='enable_libaio', default=False)
-+
-+    opt.add_option('--with-libbsd',
-+                   help=("Enable use of libbsd"),
-+                   action="store_true", dest='enable_libbsd')
-+    opt.add_option('--without-libbsd',
-+                   help=("Disable use of libbsd"),
-+                   action="store_false", dest='enable_libbsd', default=False)
-+
-+    opt.add_option('--with-libcap',
-+                   help=("Enable use of libcap"),
-+                   action="store_true", dest='enable_libcap')
-+    opt.add_option('--without-libcap',
-+                   help=("Disable use of libcap"),
-+                   action="store_false", dest='enable_libcap', default=False)
-+
- @Utils.run_once
- def configure(conf):
-     conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
-     conf.DEFINE('HAVE_LIBREPLACE', 1)
-     conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
- 
--    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
--    conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
-+    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
-+    conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
-     conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
--    conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
--    conf.CHECK_HEADERS('shadow.h sys/acl.h')
--    conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+    conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-+    conf.CHECK_HEADERS('shadow.h')
-+    conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
-+
-+    if Options.options.enable_acl:
-+        conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
-+
-+    if Options.options.enable_attr:
-+        conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
-+
-+    if Options.options.enable_libaio:
-+        conf.CHECK_HEADERS('libaio.h')
-+
-+    if Options.options.enable_libcap:
-+        conf.CHECK_HEADERS('sys/capability.h')
-+
-     conf.CHECK_HEADERS('port.h')
-     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
-     conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -73,7 +121,9 @@ def configure(conf):
- 
-     conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H')
- 
--    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+    if Options.options.enable_valgrind:
-+        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
-     conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
-     conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
-     conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -248,17 +298,18 @@ def configure(conf):
- 
-     conf.CHECK_FUNCS('prctl dirname basename')
- 
--    # libbsd on some platforms provides strlcpy and strlcat
--    if not conf.CHECK_FUNCS('strlcpy strlcat'):
--        conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
--                checklibc=True)
--    if not conf.CHECK_FUNCS('getpeereid'):
--        conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
--    if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
--        conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
--
--    if not conf.CHECK_FUNCS('closefrom'):
--        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+    if Options.options.enable_libbsd:
-+        # libbsd on some platforms provides strlcpy and strlcat
-+        if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+            conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+                    checklibc=True)
-+        if not conf.CHECK_FUNCS('getpeereid'):
-+            conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-+        if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-+            conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-+
-+        if not conf.CHECK_FUNCS('closefrom'):
-+            conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
- 
-     conf.CHECK_CODE('''
-                 struct ucred cred;
-diff --git a/wscript b/wscript
-index 41f3be7..556c1c8 100644
---- a/wscript
-+++ b/wscript
-@@ -35,7 +35,12 @@ def set_options(opt):
-         opt.add_option('--disable-python',
-                        help=("disable the pytalloc module"),
-                        action="store_true", dest='disable_python', default=False)
--
-+        opt.add_option('--with-valgrind',
-+                       help=("enable use of valgrind"),
-+                       action="store_true", dest='enable_valgrind')
-+        opt.add_option('--without-valgrind',
-+                       help=("disable use of valgrind"),
-+                       action="store_false", dest='enable_valgrind', default=False)
- 
- def configure(conf):
-     conf.RECURSE('lib/replace')
--- 
-2.8.3
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.11.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.11.bb
new file mode 100644
index 0000000..848cf4d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.11.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://talloc.samba.org"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & GPL-3.0+"
+LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6d5228bfa7825249 \
+                    file://pytalloc.h;beginline=1;endline=18;md5=2c498cc6f2263672483237b20f46b43d"
+
+
+SRC_URI = "https://samba.org/ftp/talloc/talloc-${PV}.tar.gz \
+           file://options-2.1.10.patch \
+"
+SRC_URI[md5sum] = "452596f904ca2b10322bdaabf147a721"
+SRC_URI[sha256sum] = "639eb35556a0af999123c4d883e79be05ff9f00ab4f9e4ac2e5775f9c5eeeed3"
+
+inherit waf-samba
+
+PACKAGECONFIG ??= "\
+    ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
+
+S = "${WORKDIR}/talloc-${PV}"
+
+EXTRA_OECONF += "--disable-rpath \
+                 --disable-rpath-install \
+                 --bundled-libraries=NONE \
+                 --builtin-libraries=replace \
+                 --disable-silent-rules \
+                 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+                "
+
+PACKAGES += "pytalloc pytalloc-dbg pytalloc-dev"
+
+FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
+                  ${libdir}/libpytalloc-util.so.2 \
+                  ${libdir}/libpytalloc-util.so.2.1.1 \
+                 "
+FILES_pytalloc-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
+                      ${libdir}/.debug/libpytalloc-util.so.2.1.1"
+FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
+RDEPENDS_pytalloc = "python"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.9.bb
deleted file mode 100644
index d80af50..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.9.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://talloc.samba.org"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & GPL-3.0+"
-LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6d5228bfa7825249 \
-                    file://pytalloc.h;beginline=1;endline=18;md5=2c498cc6f2263672483237b20f46b43d"
-
-
-SRC_URI = "https://samba.org/ftp/talloc/talloc-${PV}.tar.gz \
-           file://talloc-Add-configure-options-for-packages.patch \
-"
-SRC_URI[md5sum] = "19ba14eba97d79a169fa92ea824d2b9e"
-SRC_URI[sha256sum] = "f0aad4cb88a3322207c82136ddc07bed48a37c2c21f82962d6c5ccb422711062"
-
-inherit waf-samba
-
-PACKAGECONFIG ??= "\
-    ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
-
-S = "${WORKDIR}/talloc-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
-                 --disable-rpath-install \
-                 --bundled-libraries=NONE \
-                 --builtin-libraries=replace \
-                 --disable-silent-rules \
-                 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
-                "
-
-PACKAGES += "pytalloc pytalloc-dbg pytalloc-dev"
-
-FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
-                  ${libdir}/libpytalloc-util.so.2 \
-                  ${libdir}/libpytalloc-util.so.2.1.1 \
-                 "
-FILES_pytalloc-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
-                      ${libdir}/.debug/libpytalloc-util.so.2.1.1"
-FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
-RDEPENDS_pytalloc = "python"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.14.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.14.bb
deleted file mode 100644
index 3122b93..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.14.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "The tdb library"
-HOMEPAGE = "http://tdb.samba.org/"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & GPL-3.0+"
-
-LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c98f48018c4 \
-                    file://include/tdb.h;endline=27;md5=f5bb544641d3081821bcc1dd58310be6"
-
-SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
-           file://do-not-check-xsltproc-manpages.patch \
-           file://tdb-Add-configure-options-for-packages.patch \
-"
-
-SRC_URI[md5sum] = "dd23f2ba8ca2bfdcb833bc79d5b5ac6f"
-SRC_URI[sha256sum] = "3a7d4bb79229460df530c7e1c7067ba9fb9d370aa61fff537fdc2bdf918acbe9"
-
-PACKAGECONFIG ??= "\
-    ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-S = "${WORKDIR}/tdb-${PV}"
-
-inherit waf-samba
-
-EXTRA_OECONF += "--disable-rpath \
-                 --bundled-libraries=NONE \
-                 --builtin-libraries=replace \
-                 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
-                "
-
-PACKAGES += "tdb-tools python-tdb python-tdb-dbg"
-
-FILES_${PN} = "${libdir}/*.so.*"
-FILES_tdb-tools = "${bindir}/*"
-FILES_python-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-FILES_python-tdb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug/*"
-RDEPENDS_python-tdb = "python"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.15.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.15.bb
new file mode 100644
index 0000000..302a306
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.15.bb
@@ -0,0 +1,44 @@
+SUMMARY = "The tdb library"
+HOMEPAGE = "http://tdb.samba.org/"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & GPL-3.0+"
+
+LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c98f48018c4 \
+                    file://include/tdb.h;endline=27;md5=f5bb544641d3081821bcc1dd58310be6"
+
+SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
+           file://do-not-check-xsltproc-manpages.patch \
+           file://tdb-Add-configure-options-for-packages.patch \
+"
+
+SRC_URI[md5sum] = "60ece3996acc8d85b6f713199da971a6"
+SRC_URI[sha256sum] = "b4a1bf3833601bd9f10aff363cb750860aef9ce5b4617989239923192f946728"
+
+PACKAGECONFIG ??= "\
+    ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+S = "${WORKDIR}/tdb-${PV}"
+
+inherit waf-samba
+
+EXTRA_OECONF += "--disable-rpath \
+                 --bundled-libraries=NONE \
+                 --builtin-libraries=replace \
+                 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+                "
+
+PACKAGES += "tdb-tools python-tdb python-tdb-dbg"
+
+FILES_${PN} = "${libdir}/*.so.*"
+FILES_tdb-tools = "${bindir}/*"
+FILES_python-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+FILES_python-tdb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug/*"
+RDEPENDS_python-tdb = "python"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/avoid-attr-unless-wanted.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/avoid-attr-unless-wanted.patch
index 2fc5523..3589033 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/avoid-attr-unless-wanted.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/avoid-attr-unless-wanted.patch
@@ -1,20 +1,22 @@
---- a/lib/replace/wscript	2015-11-18 15:40:19.000000000 +0100
-+++ b/lib/replace/wscript	2015-11-18 15:48:09.000000000 +0100
-@@ -618,8 +618,6 @@
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index 079761d..07e0104 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -793,8 +793,6 @@ def build(bld):
      if not bld.CONFIG_SET('HAVE_INET_ATON'):     REPLACE_SOURCE += ' inet_aton.c'
      if not bld.CONFIG_SET('HAVE_INET_NTOP'):     REPLACE_SOURCE += ' inet_ntop.c'
      if not bld.CONFIG_SET('HAVE_INET_PTON'):     REPLACE_SOURCE += ' inet_pton.c'
 -    if not bld.CONFIG_SET('HAVE_GETXATTR') or bld.CONFIG_SET('XATTR_ADDITIONAL_OPTIONS'):
 -                                                 REPLACE_SOURCE += ' xattr.c'
  
-     bld.SAMBA_LIBRARY('replace',
-                       source=REPLACE_SOURCE,
-@@ -630,7 +628,7 @@
+     if not bld.CONFIG_SET('HAVE_CLOSEFROM'):
+         REPLACE_SOURCE += ' closefrom.c'
+@@ -808,7 +806,7 @@ def build(bld):
                        # at the moment:
                        # hide_symbols=bld.BUILTIN_LIBRARY('replace'),
                        private_library=True,
 -                      deps='crypt dl nsl socket rt attr' + extra_libs)
 +                      deps='crypt dl nsl socket rt ' + extra_libs)
  
-     bld.SAMBA_SUBSYSTEM('replace-test',
-                       source='''test/testsuite.c test/strptime.c
+     replace_test_cflags="-Wno-format-zero-length"
+     if bld.CONFIG_SET('HAVE_WNO_FORMAT_TRUNCATION'):
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch
new file mode 100644
index 0000000..363c586
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch
@@ -0,0 +1,176 @@
+From c3e2e4f89cf37b27609fd02ad67eb02d0015cc1e Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 21 Sep 2016 09:57:49 +0800
+Subject: [PATCH 1/1] tevent: Add configure options for packages
+
+Add configure options for the following packages:
+ - acl
+ - attr
+ - libaio
+ - libbsd
+ - libcap
+ - valgrind
+
+Upstream-Status: Inappropriate [oe deterministic build specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Modified to apply to version 0.9.33.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ lib/replace/wscript | 89 ++++++++++++++++++++++++++++++++++++++++-------------
+ wscript             |  7 ++++-
+ 2 files changed, 73 insertions(+), 23 deletions(-)
+
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index 2c638b7..079761d 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -23,6 +23,41 @@ def set_options(opt):
+     opt.PRIVATE_EXTENSION_DEFAULT('')
+     opt.RECURSE('buildtools/wafsamba')
+ 
++    opt.add_option('--with-acl',
++                   help=("Enable use of acl"),
++                   action="store_true", dest='enable_acl')
++    opt.add_option('--without-acl',
++                   help=("Disable use of acl"),
++                   action="store_false", dest='enable_acl', default=False)
++
++    opt.add_option('--with-attr',
++                   help=("Enable use of attr"),
++                   action="store_true", dest='enable_attr')
++    opt.add_option('--without-attr',
++                   help=("Disable use of attr"),
++                   action="store_false", dest='enable_attr', default=False)
++
++    opt.add_option('--with-libaio',
++                   help=("Enable use of libaio"),
++                   action="store_true", dest='enable_libaio')
++    opt.add_option('--without-libaio',
++                   help=("Disable use of libaio"),
++                   action="store_false", dest='enable_libaio', default=False)
++
++    opt.add_option('--with-libbsd',
++                   help=("Enable use of libbsd"),
++                   action="store_true", dest='enable_libbsd')
++    opt.add_option('--without-libbsd',
++                   help=("Disable use of libbsd"),
++                   action="store_false", dest='enable_libbsd', default=False)
++
++    opt.add_option('--with-libcap',
++                   help=("Enable use of libcap"),
++                   action="store_true", dest='enable_libcap')
++    opt.add_option('--without-libcap',
++                   help=("Disable use of libcap"),
++                   action="store_false", dest='enable_libcap', default=False)
++
+ @Utils.run_once
+ def configure(conf):
+     conf.RECURSE('buildtools/wafsamba')
+@@ -32,12 +67,25 @@ def configure(conf):
+     conf.DEFINE('HAVE_LIBREPLACE', 1)
+     conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
+ 
+-    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
+-    conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
++    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
++    conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
+     conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+-    conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+-    conf.CHECK_HEADERS('shadow.h sys/acl.h')
+-    conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
++    conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
++    conf.CHECK_HEADERS('shadow.h')
++    conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
++
++    if Options.options.enable_acl:
++        conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
++
++    if Options.options.enable_attr:
++        conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
++
++    if Options.options.enable_libaio:
++        conf.CHECK_HEADERS('libaio.h')
++
++    if Options.options.enable_libcap:
++        conf.CHECK_HEADERS('sys/capability.h')
++
+     conf.CHECK_HEADERS('port.h')
+     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+     conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
+@@ -101,7 +149,8 @@ def configure(conf):
+     conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
+     conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
+ 
+-    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
++    if Options.options.enable_valgrind:
++        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
+     conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+     conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
+     conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
+@@ -294,22 +343,18 @@ def configure(conf):
+ 
+     conf.CHECK_FUNCS('prctl dirname basename')
+ 
+-    strlcpy_in_bsd = False
+-
+-    # libbsd on some platforms provides strlcpy and strlcat
+-    if not conf.CHECK_FUNCS('strlcpy strlcat'):
+-        if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
+-                               checklibc=True):
+-            strlcpy_in_bsd = True
+-    if not conf.CHECK_FUNCS('getpeereid'):
+-        conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+-    if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+-        conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+-    if not conf.CHECK_FUNCS('setproctitle_init'):
+-        conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
++    if Options.options.enable_libbsd:
++        # libbsd on some platforms provides strlcpy and strlcat
++        if not conf.CHECK_FUNCS('strlcpy strlcat'):
++            conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++                    checklibc=True)
++        if not conf.CHECK_FUNCS('getpeereid'):
++            conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
++        if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
++            conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+ 
+-    if not conf.CHECK_FUNCS('closefrom'):
+-        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++        if not conf.CHECK_FUNCS('closefrom'):
++            conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
+ 
+     conf.CHECK_CODE('''
+                 struct ucred cred;
+@@ -660,7 +705,7 @@ removeea setea
+     # look for a method of finding the list of network interfaces
+     for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
+         bsd_for_strlcpy = ''
+-        if strlcpy_in_bsd:
++        if Options.options.enable_libbsd:
+             bsd_for_strlcpy = ' bsd'
+         if conf.CHECK_CODE('''
+                            #define %s 1
+diff --git a/wscript b/wscript
+index 94d190f..742f779 100644
+--- a/wscript
++++ b/wscript
+@@ -22,7 +22,12 @@ def set_options(opt):
+     opt.PRIVATE_EXTENSION_DEFAULT('tevent', noextension='tevent')
+     opt.RECURSE('lib/replace')
+     opt.RECURSE('lib/talloc')
+-
++    opt.add_option('--with-valgrind',
++                   help=("enable use of valgrind"),
++                   action="store_true", dest='enable_valgrind')
++    opt.add_option('--without-valgrind',
++                   help=("disable use of valgrind"),
++                   action="store_false", dest='enable_valgrind', default=False)
+ 
+ def configure(conf):
+     conf.RECURSE('lib/replace')
+-- 
+2.16.2
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/tevent-Add-configure-options-for-packages.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/tevent-Add-configure-options-for-packages.patch
deleted file mode 100644
index ddb8e4e..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/tevent-Add-configure-options-for-packages.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From c00f6d35bdc06dffb54daa815e57b44210a5de04 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 21 Sep 2016 09:57:49 +0800
-Subject: [PATCH] tevent: Add configure options for packages
-
-Add configure options for the following packages:
- - acl
- - attr
- - libaio
- - libbsd
- - libcap
- - valgrind
-
-Upstream-Status: Inappropriate [oe deterministic build specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- lib/replace/system/wscript_configure |  6 ++-
- lib/replace/wscript                  | 85 ++++++++++++++++++++++++++++--------
- wscript                              |  7 ++-
- 3 files changed, 79 insertions(+), 19 deletions(-)
- mode change 100755 => 100644 wscript
-
-diff --git a/lib/replace/system/wscript_configure b/lib/replace/system/wscript_configure
-index 2035474..10f9ae7 100644
---- a/lib/replace/system/wscript_configure
-+++ b/lib/replace/system/wscript_configure
-@@ -1,6 +1,10 @@
- #!/usr/bin/env python
- 
--conf.CHECK_HEADERS('sys/capability.h')
-+import Options
-+
-+if Options.options.enable_libcap:
-+    conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_FUNCS('getpwnam_r getpwuid_r getpwent_r')
- 
- # solaris varients of getXXent_r
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index fc43e1a..12d2a70 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
-     opt.PRIVATE_EXTENSION_DEFAULT('')
-     opt.RECURSE('buildtools/wafsamba')
- 
-+    opt.add_option('--with-acl',
-+                   help=("Enable use of acl"),
-+                   action="store_true", dest='enable_acl')
-+    opt.add_option('--without-acl',
-+                   help=("Disable use of acl"),
-+                   action="store_false", dest='enable_acl', default=False)
-+
-+    opt.add_option('--with-attr',
-+                   help=("Enable use of attr"),
-+                   action="store_true", dest='enable_attr')
-+    opt.add_option('--without-attr',
-+                   help=("Disable use of attr"),
-+                   action="store_false", dest='enable_attr', default=False)
-+
-+    opt.add_option('--with-libaio',
-+                   help=("Enable use of libaio"),
-+                   action="store_true", dest='enable_libaio')
-+    opt.add_option('--without-libaio',
-+                   help=("Disable use of libaio"),
-+                   action="store_false", dest='enable_libaio', default=False)
-+
-+    opt.add_option('--with-libbsd',
-+                   help=("Enable use of libbsd"),
-+                   action="store_true", dest='enable_libbsd')
-+    opt.add_option('--without-libbsd',
-+                   help=("Disable use of libbsd"),
-+                   action="store_false", dest='enable_libbsd', default=False)
-+
-+    opt.add_option('--with-libcap',
-+                   help=("Enable use of libcap"),
-+                   action="store_true", dest='enable_libcap')
-+    opt.add_option('--without-libcap',
-+                   help=("Disable use of libcap"),
-+                   action="store_false", dest='enable_libcap', default=False)
-+
- @Utils.run_once
- def configure(conf):
-     conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
-     conf.DEFINE('HAVE_LIBREPLACE', 1)
-     conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
- 
--    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
--    conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
-+    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
-+    conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
-     conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
--    conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
--    conf.CHECK_HEADERS('shadow.h sys/acl.h')
--    conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+    conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-+    conf.CHECK_HEADERS('shadow.h')
-+    conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
-+
-+    if Options.options.enable_acl:
-+        conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
-+
-+    if Options.options.enable_attr:
-+        conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
-+
-+    if Options.options.enable_libaio:
-+        conf.CHECK_HEADERS('libaio.h')
-+
-+    if Options.options.enable_libcap:
-+        conf.CHECK_HEADERS('sys/capability.h')
-+
-     conf.CHECK_HEADERS('port.h')
-     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
-     conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -73,7 +121,9 @@ def configure(conf):
- 
-     conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H')
- 
--    conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+    if Options.options.enable_valgrind:
-+        conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
-     conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
-     conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
-     conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -248,17 +298,18 @@ def configure(conf):
- 
-     conf.CHECK_FUNCS('prctl dirname basename')
- 
--    # libbsd on some platforms provides strlcpy and strlcat
--    if not conf.CHECK_FUNCS('strlcpy strlcat'):
--        conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
--                checklibc=True)
--    if not conf.CHECK_FUNCS('getpeereid'):
--        conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
--    if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
--        conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
--
--    if not conf.CHECK_FUNCS('closefrom'):
--        conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+    if Options.options.enable_libbsd:
-+        # libbsd on some platforms provides strlcpy and strlcat
-+        if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+            conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+                    checklibc=True)
-+        if not conf.CHECK_FUNCS('getpeereid'):
-+            conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-+        if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-+            conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-+
-+        if not conf.CHECK_FUNCS('closefrom'):
-+            conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
- 
-     conf.CHECK_CODE('''
-                 struct ucred cred;
-diff --git a/wscript b/wscript
-old mode 100755
-new mode 100644
-index 71b9475..50793db
---- a/wscript
-+++ b/wscript
-@@ -26,7 +26,12 @@ def set_options(opt):
-         opt.add_option('--disable-python',
-                        help=("disable the pytevent module"),
-                        action="store_true", dest='disable_python', default=False)
--
-+        opt.add_option('--with-valgrind',
-+                       help=("enable use of valgrind"),
-+                       action="store_true", dest='enable_valgrind')
-+        opt.add_option('--without-valgrind',
-+                       help=("disable use of valgrind"),
-+                       action="store_false", dest='enable_valgrind', default=False)
- 
- def configure(conf):
-     conf.RECURSE('lib/replace')
--- 
-2.8.3
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.31.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.31.bb
deleted file mode 100644
index ad711e7..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.31.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://tevent.samba.org"
-SECTION = "libs"
-LICENSE = "LGPLv3+"
-
-DEPENDS += "libtalloc"
-RDEPENDS_python-tevent = "python"
-
-SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
-           file://tevent-Add-configure-options-for-packages.patch \
-"
-LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b85a"
-
-SRC_URI[md5sum] = "5453847664ae6bc4ec0153e59ac635b9"
-SRC_URI[sha256sum] = "4a13f2256ad804c860e84068258bd0f8be31cf0c79aa8f3019fa32f6928c2bfc"
-
-inherit waf-samba
-
-PACKAGECONFIG ??= "\
-    ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
-
-S = "${WORKDIR}/tevent-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
-                 --bundled-libraries=NONE \
-                 --builtin-libraries=replace \
-                 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
-                 --without-gettext \
-                "
-
-PACKAGES += "python-tevent python-tevent-dbg"
-
-FILES_python-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-FILES_python-tevent-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.36.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.36.bb
new file mode 100644
index 0000000..c91b221
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.36.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://tevent.samba.org"
+SECTION = "libs"
+LICENSE = "LGPLv3+"
+
+DEPENDS += "libtalloc libtirpc"
+RDEPENDS_python-tevent = "python"
+
+SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
+           file://options-0.9.36.patch \
+"
+LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b85a"
+
+SRC_URI[md5sum] = "87d67bca75b231814435c47bec0aff8a"
+SRC_URI[sha256sum] = "bd2b6be3fd1601ed7f176e99111e322c57d58e425cc149ee80c7dd4fed263b4c"
+
+inherit waf-samba
+
+PACKAGECONFIG ??= "\
+    ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
+
+S = "${WORKDIR}/tevent-${PV}"
+
+EXTRA_OECONF += "--disable-rpath \
+                 --bundled-libraries=NONE \
+                 --builtin-libraries=replace \
+                 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+                 --without-gettext \
+                "
+
+PACKAGES += "python-tevent python-tevent-dbg"
+
+FILES_python-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+FILES_python-tevent-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.17.bb
index 11c43ff..121cc99 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.17.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.17.bb
@@ -8,22 +8,19 @@
     file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \
 "
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/lksctp/${BP}.tar.gz \
+SRCREV = "736b91d340e3f2519714f2930ed63b164d363511"
+
+PV .= "+git${SRCPV}"
+LK_REL = "1.0.17"
+
+SRC_URI = " \
+    git://github.com/sctp/lksctp-tools.git \
     file://run-ptest \
     file://v4test.sh \
     file://v6test.sh \
 "
 
-SRC_URI[md5sum] = "68e9b8fa4d4e331029b247b72d46d7a5"
-SRC_URI[sha256sum] = "1aeb204cdb2befc94d9eb3037d1609c9d1d2cd5379d6dd2c0a8ca9b10533aa15"
-
-#| arm-oe-linux-gnueabi-libtool: link: arm-oe-linux-gnueabi-gcc  -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemuarm -shared  -fPIC -DPIC  .libs/bindx.o .libs/connectx.o .libs/peeloff.o .libs/opt_info.o .libs/addrs.o .libs/sendmsg.o .libs/recvmsg.o    -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemuarm -O2 -Wl,--version-script=/home/jenkins/oe/world/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/lksctp-tools/1.0.16-r0/lksctp-tools-1.0.16/src/lib/Versions.map -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed   -Wl,-soname -Wl,libsctp.so.1 -o .libs/libsctp.so.1.0.16
-#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.0/ld: error: symbol sctp_connectx has undefined version
-#| collect2: error: ld returned 1 exit status
-#| make[4]: *** [libsctp.la] Error 1
-PNBLACKLIST[lksctp-tools] ?= "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "BROKEN: fails to link against sctp_connectx symbol", '', d)}"
-
-S = "${WORKDIR}/${BP}"
+S = "${WORKDIR}/git"
 
 BBCLASSEXTEND = "native"
 
@@ -37,7 +34,7 @@
     done
 }
 
-SOLIBVERSION="${PV}"
+SOLIBVERSION="${LK_REL}"
 SOLIBMAJORVERSION="1"
 
 PACKAGES =+ "${PN}-withsctp ${PN}-utils"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-coordinator-Fix-strncpy-range-warning.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-coordinator-Fix-strncpy-range-warning.patch
new file mode 100644
index 0000000..493832b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-coordinator-Fix-strncpy-range-warning.patch
@@ -0,0 +1,30 @@
+From f017353b8f3170ce79e7addc127056c0142f087b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 1 Apr 2018 14:31:05 -0700
+Subject: [PATCH] coordinator: Fix strncpy range warning
+
+Fixes
+error: 'strncpy' specified bound 4096 equals destination size [-Werror=stringop-truncation]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/coordinator.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/coordinator.c b/src/coordinator.c
+index c139aae..ca49418 100644
+--- a/src/coordinator.c
++++ b/src/coordinator.c
+@@ -296,7 +296,8 @@ int main(int argc, char **argv)
+ 	if(!lease_file)
+ 		lease_file = LEASE_FILE;
+ 
+-	strncpy(pname, argv[0], PATH_MAX);
++	strncpy(pname, argv[0], PATH_MAX - 1);
++	pname[PATH_MAX - 1] = '\0';
+ 
+ 	pid_file = getenv("PID_FILE");
+ 	if (!pid_file)
+-- 
+2.16.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
index be73f8a..d0fe59c 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
@@ -8,14 +8,15 @@
 DEPENDS = "flex-native bison-native libnl python"
 
 PV = "0.3.1+git${SRCPV}"
-SRC_URI = "git://git.code.sf.net/p/linux-zigbee/linux-zigbee \
+SRC_URI = "git://github.com/linux-wpan/lowpan-tools \
            file://no-help2man.patch \
            file://0001-Fix-build-errors-with-clang.patch \
            file://0001-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch \
            file://0001-src-iz.c-Undef-dprintf-before-redefining.patch \
            file://0001-Remove-newline-from-format-line.patch \
+           file://0001-coordinator-Fix-strncpy-range-warning.patch \
            "
-SRCREV = "38f42dbfce9e13629263db3bd3b81f14c69bb733"
+SRCREV = "1c2d8674cc6f4b1166a066e8822e295c105ae7a2"
 
 S = "${WORKDIR}/git"
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
index 48a83b8..cebc1d9 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
@@ -20,8 +20,12 @@
 EXTRA_OECONF += "PERL=${USRBINPATH}/perl"
 
 LDFLAGS += "-fuse-ld=gold"
+LDFLAGS_remove_riscv64 = "-fuse-ld=gold"
+
 TOOLCHAIN = "gcc"
 
+USE_NLS = "yes"
+
 do_configure_prepend() {
     cp ${STAGING_DATADIR_NATIVE}/gettext/gettext.h ${S}/include
     ${S}/autogen.sh
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb
new file mode 100644
index 0000000..3ccd486
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "HTTP/2 C Library and tools"
+HOMEPAGE = "https://nghttp2.org/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec"
+
+SRC_URI = "https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.bz2"
+SRC_URI[md5sum] = "926f07ad3b50f38f7d8935ced04716cf"
+SRC_URI[sha256sum] = "0df4229f4123b5aa96e834ebcfdffe954e93d986f0252fd10123d50c6f010983"
+
+DEPENDS = "libxml2 openssl zlib jansson cunit c-ares"
+
+inherit cmake pythonnative python-dir
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/nis.inc b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/nis.inc
index e027a1c..200eaf7 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/nis.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/nis.inc
@@ -27,5 +27,5 @@
 python () {
     os = d.getVar("TARGET_OS", True)
     if os == "linux-uclibc":
-        raise bb.parse.SkipPackage("NIS functionality requires rpcsvc/yp.h, uClibC does not provide this")
+        raise bb.parse.SkipRecipe("NIS functionality requires rpcsvc/yp.h, uClibC does not provide this")
 }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-ypbind3_binding_dup.c-Include-string.h-for-strdup-de.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-ypbind3_binding_dup.c-Include-string.h-for-strdup-de.patch
deleted file mode 100644
index 3d4d4f2..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0001-ypbind3_binding_dup.c-Include-string.h-for-strdup-de.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 420cb6927553bbca5b49b7681cf208e6df6e4d7c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Sep 2017 08:42:45 -0700
-Subject: [PATCH 1/2] ypbind3_binding_dup.c: Include string.h for strdup
- declaration
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- lib/ypbind3_binding_dup.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/lib/ypbind3_binding_dup.c b/lib/ypbind3_binding_dup.c
-index ce4aadf..8199c0b 100644
---- a/lib/ypbind3_binding_dup.c
-+++ b/lib/ypbind3_binding_dup.c
-@@ -19,6 +19,7 @@
- 
- #if defined(HAVE_YPBIND3)
- 
-+#include <string.h>
- #include <rpcsvc/yp_prot.h>
- #include "internal.h"
- 
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0002-yp_dump_bindings.c-Include-string.h-for-memset.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0002-yp_dump_bindings.c-Include-string.h-for-memset.patch
deleted file mode 100644
index 0562e58..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/0002-yp_dump_bindings.c-Include-string.h-for-memset.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 03ccabb6264c008430c4b1739351df5a63829f8e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Sep 2017 08:52:32 -0700
-Subject: [PATCH 2/2] yp_dump_bindings.c: Include string.h for memset
-
-Fixes
-error: implicitly declaring library function 'memset'
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- src/yp_dump_binding.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/yp_dump_binding.c b/src/yp_dump_binding.c
-index a5ab920..d75e2c2 100644
---- a/src/yp_dump_binding.c
-+++ b/src/yp_dump_binding.c
-@@ -26,6 +26,7 @@
- #include <libintl.h>
- #include <locale.h>
- #include <getopt.h>
-+#include <string.h>
- #include <sys/stat.h>
- #include <arpa/inet.h>
- #include <rpcsvc/ypclnt.h>
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_4.2.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_4.2.2.bb
deleted file mode 100644
index 9ac9738..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_4.2.2.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-# This package builds tools to manage NIS
-# The source package is utils/net/NIS/yp-tools
-#
-require nis.inc
-
-SUMMARY = "NIS client programs"
-DESCRIPTION = " \
-Network Information Service tools.  \
-This package contains ypcat, ypmatch, ypset, \
-ypwhich, yppasswd, domainname, nisdomainname \
-and ypdomainname. \
-"
-
-SRC_URI = "http://www.linux-nis.org/download/yp-tools/${BP}.tar.bz2 \
-           file://domainname.service \
-           file://0001-ypbind3_binding_dup.c-Include-string.h-for-strdup-de.patch \
-           file://0002-yp_dump_bindings.c-Include-string.h-for-memset.patch \
-           "
-SRC_URI[md5sum] = "fb4a8bffb44ae5d3390351d67f320ef3"
-SRC_URI[sha256sum] = "137f19a986382b275bf4a2b1a69eb26689d6f4ac056ddaa21784d6b80eb98faa"
-
-DEPENDS = "libtirpc libnsl2"
-
-inherit autotools systemd
-SYSTEMD_SERVICE_${PN} = "domainname.service"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
-CACHED_CONFIGUREVARS += "ac_cv_prog_STRIP=/bin/true"
-
-EXTRA_OECONF = " \
-                --disable-rpath --disable-domainname \
-               "
-CFLAGS_append_libc-musl = " -Wno-error=cpp"
-
-FILES_${PN} += " ${libdir}/yp-nis/*.so.*.* ${libdir}/yp-nis/pkgconfig/"
-FILES_${PN}-dbg += " ${libdir}/yp-nis/.debug"
-FILES_${PN}-dev += " ${libdir}/yp-nis/*.so ${libdir}/yp-nis/*.so.[12] ${libdir}/yp-nis/*.la"
-FILES_${PN}-staticdev += " ${libdir}/yp-nis/*.a"
-
-do_install_append() {
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${WORKDIR}/domainname.service ${D}${systemd_unitdir}/system
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_4.2.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_4.2.3.bb
new file mode 100644
index 0000000..4e27e32
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_4.2.3.bb
@@ -0,0 +1,47 @@
+# This package builds tools to manage NIS
+# The source package is utils/net/NIS/yp-tools
+#
+require nis.inc
+
+SUMMARY = "NIS client programs"
+DESCRIPTION = " \
+Network Information Service tools.  \
+This package contains ypcat, ypmatch, ypset, \
+ypwhich, yppasswd, domainname, nisdomainname \
+and ypdomainname. \
+"
+
+# v4.2.3
+SRCREV = "1bfda29c342a81b97cb1995ffd9e8da5de63e7ab"
+
+SRC_URI = "git://github.com/thkukuk/yp-tools \
+           file://domainname.service \
+           "
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libtirpc libnsl2"
+
+inherit autotools systemd
+SYSTEMD_SERVICE_${PN} = "domainname.service"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+
+CACHED_CONFIGUREVARS += "ac_cv_prog_STRIP=/bin/true"
+
+EXTRA_OECONF = " \
+                --disable-rpath --disable-domainname \
+               "
+CFLAGS_append_libc-musl = " -Wno-error=cpp"
+
+FILES_${PN} += " ${libdir}/yp-nis/*.so.*.* ${libdir}/yp-nis/pkgconfig/"
+FILES_${PN}-dbg += " ${libdir}/yp-nis/.debug"
+FILES_${PN}-dev += " ${libdir}/yp-nis/*.so ${libdir}/yp-nis/*.so.[12] ${libdir}/yp-nis/*.la"
+FILES_${PN}-staticdev += " ${libdir}/yp-nis/*.a"
+
+do_install_append() {
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/domainname.service ${D}${systemd_unitdir}/system
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntimed/ntimed_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ntimed/ntimed_git.bb
index 527ea33..a749b16 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ntimed/ntimed_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntimed/ntimed_git.bb
@@ -6,7 +6,7 @@
 SECTION = "net"
 
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://main.c;startline=2;endline=24;md5=eda11d21005319bb76cbb6f911f0f66d"
+LIC_FILES_CHKSUM = "file://main.c;beginline=2;endline=24;md5=89db8e76f2951f3fad167e7aa9718a44"
 
 SRC_URI = "git://github.com/bsdphk/Ntimed \
            file://use-ldflags.patch"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp-4.2.4_p6-nano.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp-4.2.4_p6-nano.patch
index cb1e2f7..d45b7e3 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp-4.2.4_p6-nano.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntp-4.2.4_p6-nano.patch
@@ -1,6 +1,16 @@
---- a/include/ntp_syscall.h.orig	2009-05-19 16:44:55.048156467 -0400
-+++ b/include/ntp_syscall.h	2009-05-19 16:46:19.293323686 -0400
-@@ -14,6 +14,14 @@
+From 2310898533f059d875dcffd26ab6cf1b280292fd Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 12 Jan 2011 21:38:46 +0100
+
+---
+ include/ntp_syscall.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/include/ntp_syscall.h b/include/ntp_syscall.h
+index d1ce03e..9e18432 100644
+--- a/include/ntp_syscall.h
++++ b/include/ntp_syscall.h
+@@ -10,6 +10,14 @@
  # include <sys/timex.h>
  #endif
  
@@ -13,5 +23,5 @@
 +#endif
 +
  #ifndef NTP_SYSCALLS_LIBC
- #ifdef NTP_SYSCALLS_STD
- # define ntp_adjtime(t)		syscall(SYS_ntp_adjtime, (t))
+ # ifdef NTP_SYSCALLS_STD
+ #  define ntp_adjtime(t)	syscall(SYS_ntp_adjtime, (t))
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p10.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p10.bb
deleted file mode 100644
index 719c60b..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p10.bb
+++ /dev/null
@@ -1,170 +0,0 @@
-SUMMARY = "Network Time Protocol daemon and utilities"
-DESCRIPTION = "The Network Time Protocol (NTP) is used to \
-synchronize the time of a computer client or server to \
-another server or reference time source, such as a radio \
-or satellite receiver or modem."
-HOMEPAGE = "http://support.ntp.org"
-SECTION = "net"
-LICENSE = "NTP"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=e877a1d567a6a58996d2b66e3e387003"
-
-DEPENDS = "libevent"
-
-SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
-           file://ntp-4.2.4_p6-nano.patch \
-           file://ntpd \
-           file://ntp.conf \
-           file://ntpdate \
-           file://ntpdate.default \
-           file://ntpdate.service \
-           file://ntpd.service \
-           file://sntp.service \
-           file://sntp \
-           file://ntpd.list \
-"
-
-SRC_URI[md5sum] = "745384ed0dedb3f66b33fe84d66466f9"
-SRC_URI[sha256sum] = "ddd2366e64219b9efa0f7438e06800d0db394ac5c88e13c17b70d0dcdf99b99f"
-
-inherit autotools update-rc.d useradd systemd pkgconfig
-
-# The ac_cv_header_readline_history is to stop ntpdc depending on either
-# readline or curses
-EXTRA_OECONF += "--with-net-snmp-config=no \
-                 --without-ntpsnmpd \
-                 ac_cv_header_readline_history_h=no \
-                 --with-yielding_select=yes \
-                 --with-locfile=redhat \
-                 --without-rpath \
-                 "
-CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED"
-
-USERADD_PACKAGES = "${PN}"
-NTP_USER_HOME ?= "/var/lib/ntp"
-USERADD_PARAM_${PN} = "--system --home-dir ${NTP_USER_HOME} \
-                       --no-create-home \
-                       --shell /bin/false --user-group ntp"
-
-# NB: debug is default-enabled by NTP; keep it default-enabled here.
-PACKAGECONFIG ??= "cap debug refclocks openssl \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \
-                          --with-openssl-incdir=${STAGING_INCDIR} \
-                          --with-crypto, \
-                          --without-openssl --without-crypto, \
-                          openssl"
-PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap"
-PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline"
-PACKAGECONFIG[refclocks] = "--enable-all-clocks,--disable-all-clocks,pps-tools"
-PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging"
-PACKAGECONFIG[mdns] = "ac_cv_header_dns_sd_h=yes,ac_cv_header_dns_sd_h=no,mdns"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
-do_install_append() {
-    install -d ${D}${sysconfdir}/init.d
-    install -m 644 ${WORKDIR}/ntp.conf ${D}${sysconfdir}
-    install -m 755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d
-    install -d ${D}${bindir}
-    install -m 755 ${WORKDIR}/ntpdate ${D}${bindir}/ntpdate-sync
-
-    install -m 755 -d ${D}${NTP_USER_HOME}
-    chown ntp:ntp ${D}${NTP_USER_HOME}
-
-    # Fix hardcoded paths in scripts
-    sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
-    sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
-    sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
-    sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
-    sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${bindir}/ntpdate-sync
-    sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntptrace
-    sed -i '/use/i use warnings;' ${D}${sbindir}/ntptrace
-    sed -i '1s,#!.*perl,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait
-    sed -i '/use/i use warnings;' ${D}${sbindir}/ntp-wait
-    sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/calc_tickadj
-    sed -i '/use/i use warnings;' ${D}${sbindir}/calc_tickadj
-
-    install -d ${D}/${sysconfdir}/default
-    install -m 644 ${WORKDIR}/ntpdate.default ${D}${sysconfdir}/default/ntpdate
-    install -m 0644 ${WORKDIR}/sntp ${D}${sysconfdir}/default/
-
-    install -d ${D}/${sysconfdir}/network/if-up.d
-    ln -s ${bindir}/ntpdate-sync ${D}/${sysconfdir}/network/if-up.d
-
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${WORKDIR}/ntpdate.service ${D}${systemd_unitdir}/system/
-    install -m 0644 ${WORKDIR}/ntpd.service ${D}${systemd_unitdir}/system/
-    install -m 0644 ${WORKDIR}/sntp.service ${D}${systemd_unitdir}/system/
-
-    install -d ${D}${systemd_unitdir}/ntp-units.d
-    install -m 0644 ${WORKDIR}/ntpd.list ${D}${systemd_unitdir}/ntp-units.d/60-ntpd.list
-
-    # Remove an empty libexecdir.
-    rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
-}
-
-PACKAGES += "ntpdate sntp ${PN}-tickadj ${PN}-utils"
-# NOTE: you don't need ntpdate, use "ntpd -q -g -x"
-
-# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
-# with wonky clocks (e.g. OpenSlug)
-RDEPENDS_${PN} = "${PN}-tickadj"
-# Handle move from bin to utils package
-RPROVIDES_${PN}-utils = "${PN}-bin"
-RREPLACES_${PN}-utils = "${PN}-bin"
-RCONFLICTS_${PN}-utils = "${PN}-bin"
-
-SYSTEMD_PACKAGES = "${PN} ntpdate sntp"
-SYSTEMD_SERVICE_${PN} = "ntpd.service"
-SYSTEMD_SERVICE_ntpdate = "ntpdate.service"
-SYSTEMD_SERVICE_sntp = "sntp.service"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-
-RPROVIDES_ntpdate += "ntpdate-systemd"
-RREPLACES_ntpdate += "ntpdate-systemd"
-RCONFLICTS_ntpdate += "ntpdate-systemd"
-
-RSUGGESTS_${PN} = "iana-etc"
-
-FILES_${PN} = "${sbindir}/ntpd.ntp ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd ${libdir} \
-    ${NTP_USER_HOME} \
-    ${systemd_unitdir}/ntp-units.d/60-ntpd.list ${libexecdir}\
-"
-FILES_${PN}-tickadj = "${sbindir}/tickadj"
-FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib"
-RDEPENDS_${PN}-utils += "perl"
-FILES_ntpdate = "${sbindir}/ntpdate \
-    ${sysconfdir}/network/if-up.d/ntpdate-sync \
-    ${bindir}/ntpdate-sync \
-    ${sysconfdir}/default/ntpdate \
-    ${systemd_unitdir}/system/ntpdate.service \
-"
-FILES_sntp = "${sbindir}/sntp \
-              ${sysconfdir}/default/sntp \
-              ${systemd_unitdir}/system/sntp.service \
-             "
-
-CONFFILES_${PN} = "${sysconfdir}/ntp.conf"
-CONFFILES_ntpdate = "${sysconfdir}/default/ntpdate"
-
-INITSCRIPT_NAME = "ntpd"
-# No dependencies, so just go in at the standard level (20)
-INITSCRIPT_PARAMS = "defaults"
-
-pkg_postinst_ntpdate() {
-    if ! grep -q -s ntpdate $D/var/spool/cron/root; then
-        echo "adding crontab"
-        test -d $D/var/spool/cron || mkdir -p $D/var/spool/cron
-        echo "30 * * * *    ${bindir}/ntpdate-sync silent" >> $D/var/spool/cron/root
-    fi
-}
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "ntpd"
-ALTERNATIVE_LINK_NAME[ntpd] = "${sbindir}/ntpd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p11.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p11.bb
new file mode 100644
index 0000000..c698fa0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p11.bb
@@ -0,0 +1,172 @@
+SUMMARY = "Network Time Protocol daemon and utilities"
+DESCRIPTION = "The Network Time Protocol (NTP) is used to \
+synchronize the time of a computer client or server to \
+another server or reference time source, such as a radio \
+or satellite receiver or modem."
+HOMEPAGE = "http://support.ntp.org"
+SECTION = "net"
+LICENSE = "NTP"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=e877a1d567a6a58996d2b66e3e387003"
+
+DEPENDS = "libevent"
+
+SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
+           file://ntp-4.2.4_p6-nano.patch \
+           file://ntpd \
+           file://ntp.conf \
+           file://ntpdate \
+           file://ntpdate.default \
+           file://ntpdate.service \
+           file://ntpd.service \
+           file://sntp.service \
+           file://sntp \
+           file://ntpd.list \
+"
+
+SRC_URI[md5sum] = "00950ca2855579541896513e78295361"
+SRC_URI[sha256sum] = "f14a39f753688252d683ff907035ffff106ba8d3db21309b742e09b5c3cd278e"
+
+inherit autotools update-rc.d useradd systemd pkgconfig
+
+# The ac_cv_header_readline_history is to stop ntpdc depending on either
+# readline or curses
+EXTRA_OECONF += "--with-net-snmp-config=no \
+                 --without-ntpsnmpd \
+                 ac_cv_header_readline_history_h=no \
+                 --with-yielding_select=yes \
+                 --with-locfile=redhat \
+                 --without-rpath \
+                 "
+CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED"
+
+USERADD_PACKAGES = "${PN}"
+NTP_USER_HOME ?= "/var/lib/ntp"
+USERADD_PARAM_${PN} = "--system --home-dir ${NTP_USER_HOME} \
+                       --no-create-home \
+                       --shell /bin/false --user-group ntp"
+
+# NB: debug is default-enabled by NTP; keep it default-enabled here.
+PACKAGECONFIG ??= "cap debug refclocks openssl \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \
+                          --with-openssl-incdir=${STAGING_INCDIR} \
+                          --with-crypto, \
+                          --without-openssl --without-crypto, \
+                          openssl"
+PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap"
+PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline"
+PACKAGECONFIG[refclocks] = "--enable-all-clocks,--disable-all-clocks,pps-tools"
+PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging"
+PACKAGECONFIG[mdns] = "ac_cv_header_dns_sd_h=yes,ac_cv_header_dns_sd_h=no,mdns"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/init.d
+    install -m 644 ${WORKDIR}/ntp.conf ${D}${sysconfdir}
+    install -m 755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d
+    install -d ${D}${bindir}
+    install -m 755 ${WORKDIR}/ntpdate ${D}${bindir}/ntpdate-sync
+
+    install -m 755 -d ${D}${NTP_USER_HOME}
+    chown ntp:ntp ${D}${NTP_USER_HOME}
+
+    # Fix hardcoded paths in scripts
+    sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
+    sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
+    sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
+    sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
+    sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${bindir}/ntpdate-sync
+    sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntptrace
+    sed -i '/use/i use warnings;' ${D}${sbindir}/ntptrace
+    sed -i '1s,#!.*perl,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait
+    sed -i '/use/i use warnings;' ${D}${sbindir}/ntp-wait
+    sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/calc_tickadj
+    sed -i '/use/i use warnings;' ${D}${sbindir}/calc_tickadj
+
+    install -d ${D}/${sysconfdir}/default
+    install -m 644 ${WORKDIR}/ntpdate.default ${D}${sysconfdir}/default/ntpdate
+    install -m 0644 ${WORKDIR}/sntp ${D}${sysconfdir}/default/
+
+    install -d ${D}/${sysconfdir}/network/if-up.d
+    ln -s ${bindir}/ntpdate-sync ${D}/${sysconfdir}/network/if-up.d
+
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/ntpdate.service ${D}${systemd_unitdir}/system/
+    install -m 0644 ${WORKDIR}/ntpd.service ${D}${systemd_unitdir}/system/
+    install -m 0644 ${WORKDIR}/sntp.service ${D}${systemd_unitdir}/system/
+
+    install -d ${D}${systemd_unitdir}/ntp-units.d
+    install -m 0644 ${WORKDIR}/ntpd.list ${D}${systemd_unitdir}/ntp-units.d/60-ntpd.list
+
+    # Remove an empty libexecdir.
+    rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
+}
+
+PACKAGES += "ntpdate sntp ${PN}-tickadj ${PN}-utils"
+# NOTE: you don't need ntpdate, use "ntpd -q -g -x"
+
+# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
+# with wonky clocks (e.g. OpenSlug)
+RDEPENDS_${PN} = "${PN}-tickadj"
+# ntpd require libgcc for execution
+RDEPENDS_${PN} += "libgcc"
+# Handle move from bin to utils package
+RPROVIDES_${PN}-utils = "${PN}-bin"
+RREPLACES_${PN}-utils = "${PN}-bin"
+RCONFLICTS_${PN}-utils = "${PN}-bin"
+
+SYSTEMD_PACKAGES = "${PN} ntpdate sntp"
+SYSTEMD_SERVICE_${PN} = "ntpd.service"
+SYSTEMD_SERVICE_ntpdate = "ntpdate.service"
+SYSTEMD_SERVICE_sntp = "sntp.service"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+
+RPROVIDES_ntpdate += "ntpdate-systemd"
+RREPLACES_ntpdate += "ntpdate-systemd"
+RCONFLICTS_ntpdate += "ntpdate-systemd"
+
+RSUGGESTS_${PN} = "iana-etc"
+
+FILES_${PN} = "${sbindir}/ntpd.ntp ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd ${libdir} \
+    ${NTP_USER_HOME} \
+    ${systemd_unitdir}/ntp-units.d/60-ntpd.list ${libexecdir}\
+"
+FILES_${PN}-tickadj = "${sbindir}/tickadj"
+FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib"
+RDEPENDS_${PN}-utils += "perl"
+FILES_ntpdate = "${sbindir}/ntpdate \
+    ${sysconfdir}/network/if-up.d/ntpdate-sync \
+    ${bindir}/ntpdate-sync \
+    ${sysconfdir}/default/ntpdate \
+    ${systemd_unitdir}/system/ntpdate.service \
+"
+FILES_sntp = "${sbindir}/sntp \
+              ${sysconfdir}/default/sntp \
+              ${systemd_unitdir}/system/sntp.service \
+             "
+
+CONFFILES_${PN} = "${sysconfdir}/ntp.conf"
+CONFFILES_ntpdate = "${sysconfdir}/default/ntpdate"
+
+INITSCRIPT_NAME = "ntpd"
+# No dependencies, so just go in at the standard level (20)
+INITSCRIPT_PARAMS = "defaults"
+
+pkg_postinst_ntpdate() {
+    if ! grep -q -s ntpdate $D/var/spool/cron/root; then
+        echo "adding crontab"
+        test -d $D/var/spool/cron || mkdir -p $D/var/spool/cron
+        echo "30 * * * *    ${bindir}/ntpdate-sync silent" >> $D/var/spool/cron/root
+    fi
+}
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN} = "ntpd"
+ALTERNATIVE_LINK_NAME[ntpd] = "${sbindir}/ntpd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
index cc2959e..abfa7510 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
@@ -11,7 +11,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
 SECTION = "net"
 
-DEPENDS = "openssl systemd"
+DEPENDS = "openssl"
 
 SRC_URI = "git://github.com/open-iscsi/open-isns \
            file://0001-util.h-endian.h-is-available-on-musl-on-linux.patch \
@@ -21,9 +21,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit systemd autotools-brokensep distro_features_check
-# depends on systemd
-REQUIRED_DISTRO_FEATURES = "systemd"
+inherit systemd autotools-brokensep update-rc.d
 
 EXTRA_OECONF = " --prefix=${prefix} --enable-shared"
 EXTRA_OEMAKE += "SYSTEMDDIR=${D}${systemd_unitdir}/system"
@@ -31,6 +29,12 @@
 do_install_append () {
     oe_runmake INCDIR=${D}${includedir}/libisns/ install_hdrs
     oe_runmake LIBDIR=${D}${libdir} install_lib
+
+    install -D -m 755 ${S}/etc/openisns.init ${D}${sysconfdir}/init.d/openisns
+    sed -i 's|daemon isnsd|start-stop-daemon --start --quiet --oknodo --exec ${sbindir}/isnsd --|' \
+        ${D}${sysconfdir}/init.d/openisns
 }
 
 FILES_${PN} += "${libdir} ${systemd_unitdir}"
+
+INITSCRIPT_NAME = "openisns"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
index 9a568b2..449142f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
@@ -8,11 +8,11 @@
     
     Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
 
-diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am
-index 92d6e83..f6039f9 100644
---- a/cmdlang/Makefile.am
-+++ b/cmdlang/Makefile.am
-@@ -36,6 +36,7 @@ CLEANFILES = libOpenIPMIcmdlang.map
+Index: OpenIPMI-2.0.24/cmdlang/Makefile.am
+===================================================================
+--- OpenIPMI-2.0.24.orig/cmdlang/Makefile.am
++++ OpenIPMI-2.0.24/cmdlang/Makefile.am
+@@ -35,6 +35,7 @@ openipmish_LDADD =  libOpenIPMIcmdlang.l
  # compatability.
  install-data-local:
  	rm -f $(DESTDIR)$(bindir)/ipmish
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
index 58ec5d8..082511a 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
@@ -3,10 +3,10 @@
 ui.c:340:5: error: unknown type name 'u_int32_t'; did you mean 'uint32_t'?
      u_int32_t     addr;
      ^~~~~~~~~
-Index: OpenIPMI-2.0.22/ui/ui.c
+Index: OpenIPMI-2.0.24/ui/ui.c
 ===================================================================
---- OpenIPMI-2.0.22.orig/ui/ui.c
-+++ OpenIPMI-2.0.22/ui/ui.c
+--- OpenIPMI-2.0.24.orig/ui/ui.c
++++ OpenIPMI-2.0.24/ui/ui.c
 @@ -42,6 +42,7 @@
  #include <fcntl.h>
  #include <time.h>
@@ -14,4 +14,4 @@
 +#include <sys/types.h>
  #include <ctype.h>
  
- #include <OpenIPMI/selector.h>
+ #include <OpenIPMI/ipmi_err.h>
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.3.bb
deleted file mode 100644
index 90097f3..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.3.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "A full-featured SSL VPN solution via tun device."
-HOMEPAGE = "http://openvpn.sourceforge.net"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e9b64491ec98eb6c6493ac5e4118f107"
-DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-inherit autotools systemd
-
-SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \
-           file://openvpn \
-           file://openvpn@.service \
-           file://openvpn-volatile.conf"
-
-SRC_URI[md5sum] = "e1929f82aff40f3d105e5f72aacff9c1"
-SRC_URI[sha256sum] = "cee3d3ca462960a50a67c0ebd186e01b6d13db70275205663695152c9aca8579"
-
-SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-CFLAGS += "-fno-inline"
-
-# I want openvpn to be able to read password from file (hrw)
-EXTRA_OECONF += "--enable-iproute2"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
-
-# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
-EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip"
-
-do_install_append() {
-    install -d ${D}/${sysconfdir}/init.d
-    install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
-
-    install -d ${D}/${sysconfdir}/openvpn
-    install -d ${D}/${sysconfdir}/openvpn/sample
-    install -m 755 ${S}/sample/sample-config-files/loopback-server  ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
-    install -m 755 ${S}/sample/sample-config-files/loopback-client  ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
-    install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys
-    install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys
-
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        install -d ${D}/${systemd_unitdir}/system
-        install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system
-        install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service
-        install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service
-
-        install -d ${D}/${localstatedir}
-        install -d ${D}/${localstatedir}/lib
-        install -d -m 710 ${D}/${localstatedir}/lib/openvpn
-
-        install -d ${D}${sysconfdir}/tmpfiles.d
-        install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
-        sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
-    fi
-}
-
-PACKAGES =+ " ${PN}-sample "
-
-RRECOMMENDS_${PN} = "kernel-module-tun"
-
-FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
-FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \
-                ${sysconfdir}/tmpfiles.d \
-               "
-FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \
-                       ${systemd_unitdir}/system/openvpn@loopback-client.service \
-                       ${sysconfdir}/openvpn/sample/"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.4.bb
new file mode 100644
index 0000000..4cad998
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.4.4.bb
@@ -0,0 +1,67 @@
+SUMMARY = "A full-featured SSL VPN solution via tun device."
+HOMEPAGE = "http://openvpn.sourceforge.net"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e9b64491ec98eb6c6493ac5e4118f107"
+DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+inherit autotools systemd
+
+SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \
+           file://openvpn \
+           file://openvpn@.service \
+           file://openvpn-volatile.conf"
+
+SRC_URI[md5sum] = "705a79d005558d94fa1e2b74e4413e97"
+SRC_URI[sha256sum] = "1ae883d9522c9fa6d189e5e4aaa058a93edd3d0b897e3c2664107c4785099fc3"
+
+SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+CFLAGS += "-fno-inline"
+
+# I want openvpn to be able to read password from file (hrw)
+EXTRA_OECONF += "--enable-iproute2"
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
+
+# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
+EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip"
+
+do_install_append() {
+    install -d ${D}/${sysconfdir}/init.d
+    install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
+
+    install -d ${D}/${sysconfdir}/openvpn
+    install -d ${D}/${sysconfdir}/openvpn/sample
+    install -m 755 ${S}/sample/sample-config-files/loopback-server  ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
+    install -m 755 ${S}/sample/sample-config-files/loopback-client  ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
+    install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys
+    install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys
+
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+        install -d ${D}/${systemd_unitdir}/system
+        install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system
+        install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service
+        install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service
+
+        install -d ${D}/${localstatedir}
+        install -d ${D}/${localstatedir}/lib
+        install -d -m 710 ${D}/${localstatedir}/lib/openvpn
+
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
+        sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
+    fi
+}
+
+PACKAGES =+ " ${PN}-sample "
+
+RRECOMMENDS_${PN} = "kernel-module-tun"
+
+FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
+FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \
+                ${sysconfdir}/tmpfiles.d \
+               "
+FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \
+                       ${systemd_unitdir}/system/openvpn@loopback-client.service \
+                       ${sysconfdir}/openvpn/sample/"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/ssmtp-bug584162-fix.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/ssmtp-bug584162-fix.patch
new file mode 100644
index 0000000..e087bc7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp/ssmtp-bug584162-fix.patch
@@ -0,0 +1,126 @@
+Bug-Debian: http://bugs.debian.org/584162
+Reported-By: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
+Forwarded: not-needed
+Reviewed-By: Anibal Monsalve Salazar <anibal@debian.org>
+Last-Update: 2014-08-15
+
+From: "Daniel Richard G." <skunk@iSKUNK.ORG>
+Subject: Re: ssmtp: Partial loss of message body, sending message to wrong recipicients
+Date: Thu, 19 Jun 2014 14:44:30 -0400
+
+Attached is a patch against the original 2.64 source that should address
+this bug, and hopefully not break anything. An overview of my changes:
+
+* Added code to standarise() to drop the trailing '\r' if the line
+  originally ended with "\r\n".
+
+* Added a check to header_parse() that effectively converts an "\r\n" in
+  the input into '\n'.
+
+* Added a conditional so that header_parse() doesn't pass the empty
+  string to header_save()---a behavior I observed in testing, at the end
+  of a header block with "\r\n" line endings.
+
+* Simplified the last if(in_header) conditional in header_parse(),
+  because it erroneously assumes that if in_header == True, then c could
+  have some value other than EOF. (See the condition on the previous
+  "while" loop, and the lack of any other way to exit said loop.)
+
+  header_parse() will now properly grab a header if fed a message
+  without a body (i.e. no "\n\n" ending the header block), although this
+  code will still drop a header if there is no newline at the end.
+
+Christoph, thank you for your excellent analysis, and the test cases. I
+made use of them, and with my changes sSMTP appears to do the right
+thing.
+
+Debian patch from: https://sources.debian.net/patches/ssmtp/2.64-8/
+
+Upstream-Status: Backport [debian]
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+
+Index: ssmtp-2.64/ssmtp.c
+===================================================================
+--- ssmtp-2.64.orig/ssmtp.c
++++ ssmtp-2.64/ssmtp.c
+@@ -375,6 +375,12 @@ bool_t standardise(char *str, bool_t *li
+ 	if((p = strchr(str, '\n'))) {
+ 		*p = (char)NULL;
+ 		*linestart = True;
++
++		/* If the line ended in "\r\n", then drop the '\r' too */
++		sl = strlen(str);
++		if(sl >= 1 && str[sl - 1] == '\r') {
++			str[sl - 1] = (char)NULL;
++		}
+ 	}
+ 	return(leadingdot);
+ }
+@@ -768,6 +774,14 @@ void header_parse(FILE *stream)
+ 		}
+ 		len++;
+ 
++		if(l == '\r' && c == '\n') {
++			/* Properly handle input that already has "\r\n"
++			   line endings; see https://bugs.debian.org/584162 */
++			l = (len >= 2 ? *(q - 2) : '\n');
++			q--;
++			len--;
++		}
++
+ 		if(l == '\n') {
+ 			switch(c) {
+ 				case ' ':
+@@ -790,7 +804,9 @@ void header_parse(FILE *stream)
+ 						if((q = strrchr(p, '\n'))) {
+ 							*q = (char)NULL;
+ 						}
+-						header_save(p);
++						if(len > 0) {
++							header_save(p);
++						}
+ 
+ 						q = p;
+ 						len = 0;
+@@ -800,35 +816,12 @@ void header_parse(FILE *stream)
+ 
+ 		l = c;
+ 	}
+-	if(in_header) {
+-		if(l == '\n') {
+-			switch(c) {
+-				case ' ':
+-				case '\t':
+-						/* Must insert '\r' before '\n's embedded in header
+-						   fields otherwise qmail won't accept our mail
+-						   because a bare '\n' violates some RFC */
+-						
+-						*(q - 1) = '\r';	/* Replace previous \n with \r */
+-						*q++ = '\n';		/* Insert \n */
+-						len++;
+-						
+-						break;
+-
+-				case '\n':
+-						in_header = False;
+-
+-				default:
+-						*q = (char)NULL;
+-						if((q = strrchr(p, '\n'))) {
+-							*q = (char)NULL;
+-						}
+-						header_save(p);
+-
+-						q = p;
+-						len = 0;
+-			}
++	if(in_header && l == '\n') {
++		/* Got EOF while reading the header */
++		if((q = strrchr(p, '\n'))) {
++			*q = (char)NULL;
+ 		}
++		header_save(p);
+ 	}
+ 	(void)free(p);
+ }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
index 9d4864d..07e3ffe 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmtp/ssmtp_2.64.bb
@@ -1,25 +1,29 @@
 SUMMARY = "extremely simple MTA to get mail off the system to a mail hub"
 HOMEPAGE = "http://packages.qa.debian.org/s/ssmtp.html"
-
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e"
 
-SRC_URI = "\
-           ${DEBIAN_MIRROR}/main/s/${BPN}/${BPN}_${PV}.orig.tar.bz2 \
+SRC_URI = "${DEBIAN_MIRROR}/main/s/${BPN}/${BPN}_${PV}.orig.tar.bz2 \
+           file://ssmtp-bug584162-fix.patch \
            file://build-ouside_srcdir.patch \
            file://use-DESTDIR.patch \
-          "
+"
+
+SRC_URI[md5sum] = "65b4e0df4934a6cd08c506cabcbe584f"
+SRC_URI[sha256sum] = "22c37dc90c871e8e052b2cab0ad219d010fa938608cd66b21c8f3c759046fa36"
+
+inherit autotools
+
+PACKAGECONFIG ?= "ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+
+PACKAGECONFIG[ssl] = "--enable-ssl,--disable-ssl,openssl"
+PACKAGECONFIG[ipv6] = "--enable-inet6,--disable-inet6"
 
 EXTRA_OECONF += "--mandir=${mandir}"
 
 EXTRA_OEMAKE = "GEN_CONFIG='/bin/true'"
 
-SRC_URI[md5sum] = "65b4e0df4934a6cd08c506cabcbe584f"
-SRC_URI[sha256sum] = "22c37dc90c871e8e052b2cab0ad219d010fa938608cd66b21c8f3c759046fa36"
-
-inherit autotools pkgconfig
-
-DEPENDS += "openssl inetutils"
+LDFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'ssl', '-lssl -lcrypto', '', d)}"
 
 do_install_append () {
     install -d ${D}${mandir}/
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
index 7ebc398..00178c8 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
@@ -1,15 +1,16 @@
-From 2a3ab04bbdc4624792886aa51579eadb427ef99e Mon Sep 17 00:00:00 2001
+From 33a53dc13fd924949a582109b45fedd8d0bed59b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 27 Jun 2017 07:42:11 -0700
 Subject: [PATCH] memory.h: Include stdint.h for uintptr_t
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/libstrongswan/utils/utils/memory.h | 2 ++
  1 file changed, 2 insertions(+)
 
 diff --git a/src/libstrongswan/utils/utils/memory.h b/src/libstrongswan/utils/utils/memory.h
-index b978e7c..55aaaf5 100644
+index e840330..8a356a8 100644
 --- a/src/libstrongswan/utils/utils/memory.h
 +++ b/src/libstrongswan/utils/utils/memory.h
 @@ -22,6 +22,8 @@
@@ -21,6 +22,3 @@
  /**
   * Helper function that compares two binary blobs for equality
   */
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/fix-funtion-parameter.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/fix-funtion-parameter.patch
index da96983..be660d1 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/fix-funtion-parameter.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/files/fix-funtion-parameter.patch
@@ -1,4 +1,7 @@
-fix the function parameter
+From 9f97479373f3fceedc471074b81486d77a49618d Mon Sep 17 00:00:00 2001
+From: "Roy.Li" <rongqing.li@windriver.com>
+Date: Tue, 4 Mar 2014 14:38:42 +0800
+Subject: [PATCH] fix the function parameter
 
 Upstream-Status: pending
 
@@ -31,9 +34,10 @@
     #11 0x4836c378 in process_message (this=0x514005f0, message=0x51500778)
          at sa/ike_sa.c:1317
     #12 0x48362270 in execute (this=0x515008d0)
-         at processing/jobs/process_message_job.c:74 
+         at processing/jobs/process_message_job.c:74
 
 Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+
 ---
  src/libstrongswan/plugins/openssl/openssl_diffie_hellman.c | 8 +++++++-
  src/libstrongswan/plugins/openssl/openssl_diffie_hellman.h | 4 +++-
@@ -41,20 +45,20 @@
  3 files changed, 11 insertions(+), 2 deletions(-)
 
 diff --git a/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.c b/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.c
-index ff33824..bd21446 100644
+index 8e9c118..a73b038 100644
 --- a/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.c
 +++ b/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.c
-@@ -142,7 +142,7 @@ METHOD(diffie_hellman_t, destroy, void,
+@@ -192,7 +192,7 @@ METHOD(diffie_hellman_t, destroy, void,
  /*
   * Described in header.
   */
 -openssl_diffie_hellman_t *openssl_diffie_hellman_create(
 +openssl_diffie_hellman_t *openssl_diffie_hellman_create_custom(
- 							diffie_hellman_group_t group, chunk_t g, chunk_t p)
+ 											diffie_hellman_group_t group, ...)
  {
  	private_openssl_diffie_hellman_t *this;
-@@ -197,5 +197,11 @@ openssl_diffie_hellman_t *openssl_diffie_hellman_create(
- 
+@@ -255,5 +255,11 @@ openssl_diffie_hellman_t *openssl_diffie_hellman_create(
+ 	DBG2(DBG_LIB, "size of DH secret exponent: %d bits", BN_num_bits(privkey));
  	return &this->public;
  }
 +openssl_diffie_hellman_t *openssl_diffie_hellman_create( diffie_hellman_group_t group)
@@ -66,26 +70,26 @@
  
  #endif /* OPENSSL_NO_DH */
 diff --git a/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.h b/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.h
-index 53dc59c..eb69eaa 100644
+index 5de5520..22586e0 100644
 --- a/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.h
 +++ b/src/libstrongswan/plugins/openssl/openssl_diffie_hellman.h
-@@ -44,8 +44,10 @@ struct openssl_diffie_hellman_t {
-  * @param p				custom prime, if MODP_CUSTOM
+@@ -43,8 +43,10 @@ struct openssl_diffie_hellman_t {
+  * @param ...			expects generator and prime as chunk_t if MODP_CUSTOM
   * @return				openssl_diffie_hellman_t object, NULL if not supported
   */
 -openssl_diffie_hellman_t *openssl_diffie_hellman_create(
 +openssl_diffie_hellman_t *openssl_diffie_hellman_create_custom(
- 							diffie_hellman_group_t group, chunk_t g, chunk_t p);
+ 											diffie_hellman_group_t group, ...);
 +openssl_diffie_hellman_t *openssl_diffie_hellman_create(
 +							diffie_hellman_group_t group);
  
  #endif /** OPENSSL_DIFFIE_HELLMAN_H_ @}*/
  
 diff --git a/src/libstrongswan/plugins/openssl/openssl_plugin.c b/src/libstrongswan/plugins/openssl/openssl_plugin.c
-index ff25086..c76873d 100644
+index 8b0a7c5..114d575 100644
 --- a/src/libstrongswan/plugins/openssl/openssl_plugin.c
 +++ b/src/libstrongswan/plugins/openssl/openssl_plugin.c
-@@ -388,6 +388,7 @@ METHOD(plugin_t, get_features, int,
+@@ -609,6 +609,7 @@ METHOD(plugin_t, get_features, int,
  			PLUGIN_PROVIDE(DH, MODP_1024_BIT),
  			PLUGIN_PROVIDE(DH, MODP_1024_160),
  			PLUGIN_PROVIDE(DH, MODP_768_BIT),
@@ -93,6 +97,3 @@
  			PLUGIN_PROVIDE(DH, MODP_CUSTOM),
  #endif
  #ifndef OPENSSL_NO_RSA
--- 
-1.8.3
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb
deleted file mode 100644
index 3fb56bc..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.3.bb
+++ /dev/null
@@ -1,131 +0,0 @@
-DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \
-Linux operating system."
-SUMMARY = "strongSwan is an OpenSource IPsec implementation"
-HOMEPAGE = "http://www.strongswan.org"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gmp openssl flex-native flex bison-native"
-
-SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
-           file://fix-funtion-parameter.patch \
-           file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \
-           "
-
-SRC_URI[md5sum] = "4afffe3c219bb2e04f09510905af836b"
-SRC_URI[sha256sum] = "c5ea54b199174708de11af9b8f4ecf28b5b0743d4bc0e380e741f25b28c0f8d4"
-
-EXTRA_OECONF = " \
-        --without-lib-prefix \
-"
-
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-
-PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \
-        ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \
-"
-PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni"
-PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl"
-PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl"
-PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient,"
-PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup"
-PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite"
-PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke"
-PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc"
-
-# requires swanctl
-PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd,"
-
-inherit autotools systemd pkgconfig
-
-RRECOMMENDS_${PN} = "kernel-module-ipsec"
-
-FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}"
-FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
-FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la"
-FILES_${PN}-staticdev += "${libdir}/ipsec/*.a"
-
-CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf"
-
-PACKAGES += "${PN}-plugins"
-ALLOW_EMPTY_${PN}-plugins = "1"
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*$"
-NOAUTOPACKAGEDEBUG = "1"
-
-python split_strongswan_plugins () {
-    sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon')
-    libdir = d.expand('${libdir}/ipsec/plugins')
-    dbglibdir = os.path.join(libdir, '.debug')
-
-    def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename):
-        dvar = d.getVar('PKGD', True)
-        oldfiles = d.getVar('CONFFILES_' + pkg, True)
-        newfile = '/' + os.path.relpath(f, dvar)
-
-        if not oldfiles:
-            d.setVar('CONFFILES_' + pkg, newfile)
-        else:
-            d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile)
-
-    split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True)
-    do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf)
-
-    split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg')
-    split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev')
-    split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev')
-
-    if split_packages:
-        pn = d.getVar('PN', True)
-        d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages))
-        d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages))
-        d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages))
-        d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages))
-}
-
-PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins "
-
-# Install some default plugins based on default strongSwan ./configure options
-# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
-RDEPENDS_${PN} += "\
-    ${PN}-plugin-aes \
-    ${PN}-plugin-attr \
-    ${PN}-plugin-cmac \
-    ${PN}-plugin-constraints \
-    ${PN}-plugin-des \
-    ${PN}-plugin-dnskey \
-    ${PN}-plugin-hmac \
-    ${PN}-plugin-kernel-netlink \
-    ${PN}-plugin-md5 \
-    ${PN}-plugin-nonce \
-    ${PN}-plugin-pem \
-    ${PN}-plugin-pgp \
-    ${PN}-plugin-pkcs1 \
-    ${PN}-plugin-pkcs7 \
-    ${PN}-plugin-pkcs8 \
-    ${PN}-plugin-pkcs12 \
-    ${PN}-plugin-pubkey \
-    ${PN}-plugin-random \
-    ${PN}-plugin-rc2 \
-    ${PN}-plugin-resolve \
-    ${PN}-plugin-revocation \
-    ${PN}-plugin-sha1 \
-    ${PN}-plugin-sha2 \
-    ${PN}-plugin-socket-default \
-    ${PN}-plugin-sshkey \
-    ${PN}-plugin-updown \
-    ${PN}-plugin-vici \
-    ${PN}-plugin-x509 \
-    ${PN}-plugin-xauth-generic \
-    ${PN}-plugin-xcbc \
-    "
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}-swanctl.service', '${BPN}.service', d)}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.6.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.6.2.bb
new file mode 100644
index 0000000..f2fe1f1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.6.2.bb
@@ -0,0 +1,132 @@
+DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \
+Linux operating system."
+SUMMARY = "strongSwan is an OpenSource IPsec implementation"
+HOMEPAGE = "http://www.strongswan.org"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "gmp openssl flex-native flex bison-native"
+
+SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
+           file://fix-funtion-parameter.patch \
+           file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \
+           "
+
+SRC_URI[md5sum] = "46aa3aa18fbc4bd528f9a0345ce79913"
+SRC_URI[sha256sum] = "e0a60a30ebf3c534c223559e1686497a21ded709a5d605c5123c2f52bcc22e92"
+
+EXTRA_OECONF = " \
+        --without-lib-prefix \
+"
+
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
+
+
+PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \
+        ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \
+"
+PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni"
+PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl"
+PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp"
+PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl"
+PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient,"
+PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup"
+PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite"
+PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke"
+PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc"
+
+# requires swanctl
+PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd,"
+
+inherit autotools systemd pkgconfig
+
+RRECOMMENDS_${PN} = "kernel-module-ipsec"
+
+FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}"
+FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
+FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la"
+FILES_${PN}-staticdev += "${libdir}/ipsec/*.a"
+
+CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf"
+
+PACKAGES += "${PN}-plugins"
+ALLOW_EMPTY_${PN}-plugins = "1"
+
+PACKAGES_DYNAMIC += "^${PN}-plugin-.*$"
+NOAUTOPACKAGEDEBUG = "1"
+
+python split_strongswan_plugins () {
+    sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon')
+    libdir = d.expand('${libdir}/ipsec/plugins')
+    dbglibdir = os.path.join(libdir, '.debug')
+
+    def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename):
+        dvar = d.getVar('PKGD', True)
+        oldfiles = d.getVar('CONFFILES_' + pkg, True)
+        newfile = '/' + os.path.relpath(f, dvar)
+
+        if not oldfiles:
+            d.setVar('CONFFILES_' + pkg, newfile)
+        else:
+            d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile)
+
+    split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True)
+    do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf)
+
+    split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg')
+    split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev')
+    split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev')
+
+    if split_packages:
+        pn = d.getVar('PN', True)
+        d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages))
+        d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages))
+        d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages))
+        d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages))
+}
+
+PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins "
+
+# Install some default plugins based on default strongSwan ./configure options
+# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
+RDEPENDS_${PN} += "\
+    ${PN}-plugin-aes \
+    ${PN}-plugin-attr \
+    ${PN}-plugin-cmac \
+    ${PN}-plugin-constraints \
+    ${PN}-plugin-des \
+    ${PN}-plugin-dnskey \
+    ${PN}-plugin-hmac \
+    ${PN}-plugin-kernel-netlink \
+    ${PN}-plugin-md5 \
+    ${PN}-plugin-nonce \
+    ${PN}-plugin-pem \
+    ${PN}-plugin-pgp \
+    ${PN}-plugin-pkcs1 \
+    ${PN}-plugin-pkcs7 \
+    ${PN}-plugin-pkcs8 \
+    ${PN}-plugin-pkcs12 \
+    ${PN}-plugin-pubkey \
+    ${PN}-plugin-random \
+    ${PN}-plugin-rc2 \
+    ${PN}-plugin-resolve \
+    ${PN}-plugin-revocation \
+    ${PN}-plugin-sha1 \
+    ${PN}-plugin-sha2 \
+    ${PN}-plugin-socket-default \
+    ${PN}-plugin-sshkey \
+    ${PN}-plugin-updown \
+    ${PN}-plugin-vici \
+    ${PN}-plugin-x509 \
+    ${PN}-plugin-xauth-generic \
+    ${PN}-plugin-xcbc \
+    ${PN}-plugin-curve25519 \
+    "
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}-swanctl.service', '${BPN}.service', d)}"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch
index 196cec7..b71435a 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch
@@ -1,4 +1,4 @@
-From 7b259580800e259d232229dc89f97058b56e2fe8 Mon Sep 17 00:00:00 2001
+From 8ee1ab1ac89557d48ac1ab7ddcc3c51be9b734ad Mon Sep 17 00:00:00 2001
 From: "Hongjun.Yang" <hongjun.yang@windriver.com>
 Date: Wed, 22 Oct 2014 10:02:48 +0800
 Subject: [PATCH] Add ptest for tcpdump
@@ -6,15 +6,16 @@
 Upstream-Status: Pending
 
 Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com>
+
 ---
  Makefile.in | 10 +++++++++-
  1 file changed, 9 insertions(+), 1 deletion(-)
 
-Index: tcpdump-4.9.0/Makefile.in
-===================================================================
---- tcpdump-4.9.0.orig/Makefile.in
-+++ tcpdump-4.9.0/Makefile.in
-@@ -436,9 +436,17 @@ distclean:
+diff --git a/Makefile.in b/Makefile.in
+index 0941f0e..3ce40c6 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -437,9 +437,17 @@ distclean:
  	    tests/failure-outputs.txt
  	rm -rf autom4te.cache tests/DIFF tests/NEW
  
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
index d7a3ac2..8cefadf 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
@@ -1,4 +1,7 @@
-unnecessary to check libpcap
+From 741d77e42fc4af49804f7ee43b7237e01633cbcd Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Tue, 8 Jul 2014 13:20:47 +0800
+Subject: [PATCH] unnecessary to check libpcap
 
 Upstream-Status: Pending
 
@@ -11,23 +14,21 @@
 check if libpcap existed.
 
 Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
 ---
- configure.in |    2 +-
+ configure.in | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure.in b/configure.in
-index 06fade1..9125de7 100644
+index b2305a5..b3b5dbf 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -567,7 +567,7 @@ AC_SEARCH_LIBS(getrpcbynumber, nsl,
- dnl AC_CHECK_LIB(z, uncompress)
- dnl AC_CHECK_HEADERS(zlib.h)
+@@ -418,7 +418,7 @@ dnl Some platforms may need -lnsl for getrpcbynumber.
+ AC_SEARCH_LIBS(getrpcbynumber, nsl,
+     AC_DEFINE(HAVE_GETRPCBYNUMBER, 1, [define if you have getrpcbynumber()]))
  
 -AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS)
 +#AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS)
  
  #
  # Check for these after AC_LBL_LIBPCAP, so we link with the appropriate
--- 
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.8.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.8.4.bb
index e8025c4..98192dc 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.8.4.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.8.4.bb
@@ -23,8 +23,8 @@
 
 #User specific
 USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "nobody"
-GROUPADD_PARAM_${PN} = "--system tinyproxy"
+USERADD_PARAM_${PN} = "--system --home /dev/null \
+                       --no-user-group --gid nogroup tinypoxy"
 
 SYSTEMD_PACKAGES += "${BPN}"
 SYSTEMD_SERVICE_${PN} = "tinyproxy.service"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/files/libgcrypt.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/files/libgcrypt.patch
new file mode 100644
index 0000000..2aa58f7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/files/libgcrypt.patch
@@ -0,0 +1,53 @@
+use OR PKG_CONFIG scheme for libgcrypt
+
+Upstream-Status: Inappropriate OE specific
+
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: wireshark-2.4.4/m4/libgcrypt.m4
+===================================================================
+--- wireshark-2.4.4.orig/m4/libgcrypt.m4
++++ wireshark-2.4.4/m4/libgcrypt.m4
+@@ -27,11 +27,11 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
+      libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
+   if test x$libgcrypt_config_prefix != x ; then
+      if test x${LIBGCRYPT_CONFIG+set} != xset ; then
+-        LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config
++        LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/libgcrypt.pc
+      fi
+   fi
+ 
+-  AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
++  AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt.pc, no)
+   tmp=ifelse([$1], ,1:1.2.0,$1)
+   if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
+      req_libgcrypt_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
+@@ -50,7 +50,7 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
+                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
+     req_micro=`echo $min_libgcrypt_version | \
+                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
+-    libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`
++    libgcrypt_config_version=`$PKG_CONFIG --modversion libgcrypt`
+     major=`echo $libgcrypt_config_version | \
+                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
+     minor=`echo $libgcrypt_config_version | \
+@@ -82,7 +82,7 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
+      # If we have a recent libgcrypt, we should also check that the
+      # API is compatible
+      if test "$req_libgcrypt_api" -gt 0 ; then
+-        tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0`
++        tmp=`$PKG_CONFIG --api-version libgcrypt 2>/dev/null || echo 0`
+         if test "$tmp" -gt 0 ; then
+            AC_MSG_CHECKING([LIBGCRYPT API version])
+            if test "$req_libgcrypt_api" -eq "$tmp" ; then
+@@ -95,8 +95,8 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
+      fi
+   fi
+   if test $ok = yes; then
+-    LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
+-    LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
++    LIBGCRYPT_CFLAGS=`$PKG_CONFIG --cflags libgcrypt`
++    LIBGCRYPT_LIBS=`$PKG_CONFIG --libs libgcrypt`
+     ifelse([$2], , :, [$2])
+   else
+     LIBGCRYPT_CFLAGS=""
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.10.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.10.bb
deleted file mode 100644
index 5358ba0..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.10.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-DESCRIPTION = "wireshark - a popular network protocol analyzer"
-HOMEPAGE = "http://www.wireshark.org"
-SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77"
-
-DEPENDS = "pcre expat glib-2.0 glib-2.0-native"
-
-SRC_URI = "https://2.na.dl.wireshark.org/src/all-versions/${BP}.tar.bz2"
-
-PE = "1"
-
-SRC_URI[md5sum] = "ae3a1a43a6e3687f44a738fd15d78021"
-SRC_URI[sha256sum] = "8574a5e1fdec7affae640924bd46c1aed1bd866e02632fa5625e1450e4a50707"
-
-inherit autotools pkgconfig perlnative
-
-ARM_INSTRUCTION_SET = "arm"
-
-PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc"
-PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk2 graphics", "", d)}"
-#PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "gtk3", "", d)}"
-
-PACKAGECONFIG[libcap] = "--with-libcap=${STAGING_LIBDIR}, --with-libcap=no --enable-pcap-ng-default , libcap"
-PACKAGECONFIG[libpcap] = "--with-pcap=${STAGING_LIBDIR} --with-pcap-remote, --with-pcap=no --enable-pcap-ng-default  , libpcap"
-PACKAGECONFIG[libsmi] = "--with-libsmi=yes, --with-libsmi=no, libsmi"
-PACKAGECONFIG[libnl] = "--with-libnl=yes, --with-libnl=no, libnl"
-PACKAGECONFIG[portaudio] = "--with-portaudio=yes, --with-portaudio=no, portaudio-v19"
-PACKAGECONFIG[gtk2] = "--with-gtk=2, , gtk+"
-PACKAGECONFIG[gtk3] = "--with-gtk=3, , gtk+3"
-PACKAGECONFIG[graphics] = "--enable-wireshark, --with-gtk=no --disable-wireshark,"
-PACKAGECONFIG[gnutls] = "--with-gnutls=yes, --with-gnutls=no, gnutls"
-PACKAGECONFIG[gcrypt] = "--with-gcrypt=yes, --with-gcrypt=no, libgcrypt"
-PACKAGECONFIG[ssl] = "--with-ssl=yes, --with-ssl=no, openssl"
-PACKAGECONFIG[krb5] = "--with-krb5=yes, --with-krb5=no, krb5"
-PACKAGECONFIG[lua] = "--with-lua=yes, --with-lua=no, lua"
-PACKAGECONFIG[zlib] = "--with-zlib=yes, --with-zlib=no, zlib"
-PACKAGECONFIG[geoip] = "--with-geoip=yes, --with-geoip=no, geoip"
-PACKAGECONFIG[plugins] = "--with-plugins=yes, --with-plugins=no"
-PACKAGECONFIG[sbc] = "--with-sbc=yes, --with-sbc=no, sbc"
-
-PACKAGECONFIG[libssh] = "--with-ssh=yes, --with-ssh=no, libssh2"
-
-
-# these next two options require addional layers
-PACKAGECONFIG[c-ares] = "--with-c-ares=yes, --with-c-ares=no, c-ares"
-
-EXTRA_OECONF += "--with-qt=no --enable-tshark --enable-rawshark"
-
-# Currently wireshark does not install header files
-do_install_append () {
-
-	install -d ${D}/${includedir}/${BPN}
-	install -d ${D}/${includedir}/${BPN}/epan
-	install -d ${D}/${includedir}/${BPN}/epan/crypt
-	install -d ${D}/${includedir}/${BPN}/epan/dfilter
-	install -d ${D}/${includedir}/${BPN}/epan/dissectors
-	install -d ${D}/${includedir}/${BPN}/epan/ftypes
-	install -d ${D}/${includedir}/${BPN}/epan/wmem
-
-	install config.h ${D}/${includedir}/${BPN}
-	install ${S}/register.h ${D}/${includedir}/${BPN}
-	install -D ${S}/epan/*.h ${D}/${includedir}/${BPN}/epan
-	install -D ${S}/epan/crypt/*.h ${D}/${includedir}/${BPN}/epan/crypt
-	install -D ${S}/epan/dfilter/*.h ${D}/${includedir}/${BPN}/epan/dfilter
-	install -D ${S}/epan/dissectors/*.h ${D}/${includedir}/${BPN}/epan/dissectors
-	install -D ${S}/epan/ftypes/*.h ${D}/${includedir}/${BPN}/epan/ftypes
-	install -D ${S}/epan/wmem/*.h ${D}/${includedir}/${BPN}/epan/wmem
-}
-
-FILES_${PN} += "${datadir}*"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.4.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.4.6.bb
new file mode 100644
index 0000000..3da0a7b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.4.6.bb
@@ -0,0 +1,73 @@
+DESCRIPTION = "wireshark - a popular network protocol analyzer"
+HOMEPAGE = "http://www.wireshark.org"
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77"
+
+DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error"
+
+SRC_URI = "https://1.as.dl.wireshark.org/src/${BP}.tar.xz"
+SRC_URI += "file://libgcrypt.patch"
+
+UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
+
+SRC_URI[md5sum] = "8cfb73e286dd6427ca4405e6e802d13e"
+SRC_URI[sha256sum] = "8e965fd282bc0c09e7c4eba5f08a555d0ccf40a7d1544b939e01b90bc893d5fe"
+
+PE = "1"
+
+inherit autotools pkgconfig perlnative upstream-version-is-even
+
+ARM_INSTRUCTION_SET = "arm"
+
+PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc"
+PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk2 graphics", "", d)}"
+
+PACKAGECONFIG[libcap] = "--with-libcap=${STAGING_DIR_HOST}/usr, --with-libcap=no --enable-pcap-ng-default , libcap"
+PACKAGECONFIG[libpcap] = "--with-pcap=${STAGING_DIR_HOST}/usr --with-pcap-remote, --with-pcap=no --enable-pcap-ng-default  , libpcap"
+PACKAGECONFIG[libsmi] = "--with-libsmi=yes, --with-libsmi=no, libsmi"
+PACKAGECONFIG[libnl] = "--with-libnl=yes, --with-libnl=no, libnl"
+PACKAGECONFIG[portaudio] = "--with-portaudio=yes, --with-portaudio=no, portaudio-v19"
+PACKAGECONFIG[gtk2] = "--with-gtk=2, , gtk+"
+PACKAGECONFIG[gtk3] = "--with-gtk=3, , gtk+3"
+PACKAGECONFIG[graphics] = "--enable-wireshark, --with-gtk=no --disable-wireshark,"
+PACKAGECONFIG[gnutls] = "--with-gnutls=yes, --with-gnutls=no, gnutls"
+PACKAGECONFIG[ssl] = "--with-ssl=yes, --with-ssl=no, openssl"
+PACKAGECONFIG[krb5] = "--with-krb5=yes, --with-krb5=no, krb5"
+PACKAGECONFIG[lua] = "--with-lua=yes, --with-lua=no, lua"
+PACKAGECONFIG[zlib] = "--with-zlib=yes, --with-zlib=no, zlib"
+PACKAGECONFIG[geoip] = "--with-geoip=yes, --with-geoip=no, geoip"
+PACKAGECONFIG[plugins] = "--with-plugins=yes, --with-plugins=no"
+PACKAGECONFIG[sbc] = "--with-sbc=yes, --with-sbc=no, sbc"
+PACKAGECONFIG[libssh] = "--with-libssh=${STAGING_DIR_HOST}/usr, --with-libssh=no, libssh2"
+PACKAGECONFIG[lz4] = "--with-lz4=${STAGING_DIR_HOST}/usr, --with-lz4=no, lz4"
+
+# these next two options require addional layers
+PACKAGECONFIG[c-ares] = "--with-c-ares=yes, --with-c-ares=no, c-ares"
+
+EXTRA_OECONF += "--with-libgcrypt-prefix=${PKG_CONFIG_DIR} --with-qt=no --enable-tshark --enable-rawshark"
+
+LDFLAGS_append = " -lgpg-error"
+
+# Currently wireshark does not install header files
+do_install_append () {
+
+	install -d ${D}/${includedir}/${BPN}
+	install -d ${D}/${includedir}/${BPN}/epan
+	install -d ${D}/${includedir}/${BPN}/epan/crypt
+	install -d ${D}/${includedir}/${BPN}/epan/dfilter
+	install -d ${D}/${includedir}/${BPN}/epan/dissectors
+	install -d ${D}/${includedir}/${BPN}/epan/ftypes
+	install -d ${D}/${includedir}/${BPN}/epan/wmem
+
+	install config.h ${D}/${includedir}/${BPN}
+	install ${S}/register.h ${D}/${includedir}/${BPN}
+	install -D ${S}/epan/*.h ${D}/${includedir}/${BPN}/epan
+	install -D ${S}/epan/crypt/*.h ${D}/${includedir}/${BPN}/epan/crypt
+	install -D ${S}/epan/dfilter/*.h ${D}/${includedir}/${BPN}/epan/dfilter
+	install -D ${S}/epan/dissectors/*.h ${D}/${includedir}/${BPN}/epan/dissectors
+	install -D ${S}/epan/ftypes/*.h ${D}/${includedir}/${BPN}/epan/ftypes
+	install -D ${S}/epan/wmem/*.h ${D}/${includedir}/${BPN}/epan/wmem
+}
+
+FILES_${PN} += "${datadir}*"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_git.bb
new file mode 100644
index 0000000..b6d2f69
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/wpan-tools/wpan-tools_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Userspace tools for Linux IEEE 802.15.4 stack"
+HOMEPAGE = "http://wpan.cakelab.org/releases/"
+DESCRIPTION = "This is a set of utils to manage the Linux WPAN stack via \
+netlink interface. This requires recent kernel with nl802154 interface."
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4cfd939b1d7e6aba9fcefb7f6e2fd45d"
+
+DEPENDS = "libnl"
+
+PV = "0.8+git${SRCPV}"
+SRC_URI = "git://github.com/linux-wpan/wpan-tools \
+           "
+SRCREV = "3f473f5136f89773997cb4fff2d8ed647734e2f5"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/site/endian-big b/import-layers/meta-openembedded/meta-networking/site/endian-big
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/site/endian-big
rename to import-layers/meta-openembedded/meta-networking/site/endian-big
diff --git a/import-layers/meta-openembedded/meta-oe/site/endian-little b/import-layers/meta-openembedded/meta-networking/site/endian-little
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/site/endian-little
rename to import-layers/meta-openembedded/meta-networking/site/endian-little
diff --git a/import-layers/meta-openembedded/meta-oe/README b/import-layers/meta-openembedded/meta-oe/README
index dabed2f..7cde0a2 100644
--- a/import-layers/meta-openembedded/meta-oe/README
+++ b/import-layers/meta-openembedded/meta-oe/README
@@ -1,15 +1,14 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: rocko
+branch: master
 revision: HEAD
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][rocko]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe]' in the subject'
 
 When sending single patches, please use something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][rocko][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][PATCH'
 
 You are encouraged to fork the mirror on github https://github.com/openembedded/meta-oe/ to share your patches, this is preferred for patch sets consisting of more than one patch. Other services like gitorious, repo.or.cz or self hosted setups are of course accepted as well, 'git fetch <remote>' works the same on all of them. We recommend github because it is free, easy to use, has been proven to be reliable and has a really good web GUI.
 
-rocko Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
+Main layer maintainer: Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-oe/classes/gitver.bbclass b/import-layers/meta-openembedded/meta-oe/classes/gitver.bbclass
index 380374a..07f44c3 100644
--- a/import-layers/meta-openembedded/meta-oe/classes/gitver.bbclass
+++ b/import-layers/meta-openembedded/meta-oe/classes/gitver.bbclass
@@ -36,7 +36,7 @@
                 return "0.0"
 
         except Exception as exc:
-            raise bb.parse.SkipPackage(str(exc))
+            raise bb.parse.SkipRecipe(str(exc))
 
     if ver and tagadjust:
         ver = tagadjust(ver)
diff --git a/import-layers/meta-openembedded/meta-oe/classes/meson.bbclass b/import-layers/meta-openembedded/meta-oe/classes/meson.bbclass
deleted file mode 100644
index a09bc24..0000000
--- a/import-layers/meta-openembedded/meta-oe/classes/meson.bbclass
+++ /dev/null
@@ -1,106 +0,0 @@
-inherit python3native
-
-DEPENDS_append = " meson-native ninja-native"
-
-# As Meson enforces out-of-tree builds we can just use cleandirs
-B = "${WORKDIR}/build"
-do_configure[cleandirs] = "${B}"
-
-# Where the meson.build build configuration is
-MESON_SOURCEPATH = "${S}"
-
-# These variables in the environment override the *native* tools, not the cross.
-export CPPFLAGS = "${BUILD_CPPFLAGS}"
-export CC = "${BUILD_CC}"
-export CFLAGS = "${BUILD_CFLAGS}"
-export CXX = "${BUILD_CXX}"
-export CXXFLAGS = "${BUILD_CXXFLAGS}"
-export LD = "${BUILD_LD}"
-export LDFLAGS = "${BUILD_LDFLAGS}"
-export AR = "${BUILD_AR}"
-export PKG_CONFIG = "pkg-config-native"
-
-def noprefix(var, d):
-    return d.getVar(var, True).replace(d.getVar('prefix', True) + '/', '', 1)
-
-MESONOPTS = " --prefix ${prefix} \
-              --bindir ${@noprefix('bindir', d)} \
-              --sbindir ${@noprefix('sbindir', d)} \
-              --datadir ${@noprefix('datadir', d)} \
-              --libdir ${@noprefix('libdir', d)} \
-              --libexecdir ${@noprefix('libexecdir', d)} \
-              --includedir ${@noprefix('includedir', d)} \
-              --mandir ${@noprefix('mandir', d)} \
-              --infodir ${@noprefix('infodir', d)} \
-              --sysconfdir ${sysconfdir} \
-              --localstatedir ${localstatedir} \
-              --sharedstatedir ${sharedstatedir}"
-
-MESON_C_ARGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS}"
-MESON_LINK_ARGS = "${MESON_C_ARGS} ${LDFLAGS}"
-
-MESON_HOST_ENDIAN = "${@bb.utils.contains('SITEINFO_ENDIANNESS', 'be', 'big', 'little', d)}"
-MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'big', 'little', d)}"
-
-EXTRA_OEMESON += "${PACKAGECONFIG_CONFARGS}"
-
-MESON_CROSS_FILE = ""
-MESON_CROSS_FILE_class-target = "--cross-file ${WORKDIR}/meson.cross"
-
-def meson_array(var, d):
-    return "', '".join(d.getVar(var, True).split()).join(("'", "'"))
-
-addtask write_config before do_configure
-do_write_config[vardeps] += "MESON_C_ARGS TOOLCHAIN_OPTIONS"
-do_write_config() {
-    # This needs to be Py to split the args into single-element lists
-    cat >${WORKDIR}/meson.cross <<EOF
-[binaries]
-c = '${HOST_PREFIX}gcc'
-cpp = '${HOST_PREFIX}g++'
-ar = '${HOST_PREFIX}ar'
-ld = '${HOST_PREFIX}ld'
-strip = '${HOST_PREFIX}strip'
-readelf = '${HOST_PREFIX}readelf'
-pkgconfig = 'pkg-config'
-
-[properties]
-needs_exe_wrapper = true
-c_args = [${@meson_array('MESON_C_ARGS', d)}]
-c_link_args = [${@meson_array('MESON_LINK_ARGS', d)}]
-cpp_args = [${@meson_array('MESON_C_ARGS', d)}]
-cpp_link_args = [${@meson_array('MESON_LINK_ARGS', d)}]
-
-[host_machine]
-system = '${HOST_OS}'
-cpu_family = '${HOST_ARCH}'
-cpu = '${HOST_ARCH}'
-endian = '${MESON_HOST_ENDIAN}'
-
-[target_machine]
-system = '${TARGET_OS}'
-cpu_family = '${TARGET_ARCH}'
-cpu = '${TARGET_ARCH}'
-endian = '${MESON_TARGET_ENDIAN}'
-EOF
-}
-
-CONFIGURE_FILES = "meson.build"
-
-meson_do_configure() {
-    if ! meson ${MESONOPTS} "${MESON_SOURCEPATH}" "${B}" ${MESON_CROSS_FILE} ${EXTRA_OEMESON}; then
-        cat ${B}/meson-logs/meson-log.txt
-        bbfatal_log meson failed
-    fi
-}
-
-do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+"
-meson_do_compile() {
-    ninja ${PARALLEL_MAKE}
-}
-
-meson_do_install() {
-    DESTDIR='${D}' ninja ${PARALLEL_MAKEINST} install
-}
-
-EXPORT_FUNCTIONS do_configure do_compile do_install
diff --git a/import-layers/meta-openembedded/meta-oe/conf/layer.conf b/import-layers/meta-openembedded/meta-oe/conf/layer.conf
index d84bd09..1a43575 100644
--- a/import-layers/meta-openembedded/meta-oe/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-oe/conf/layer.conf
@@ -29,6 +29,8 @@
 
 LAYERDEPENDS_openembedded-layer = "core"
 
+LAYERSERIES_COMPAT_openembedded-layer = "sumo"
+
 LICENSE_PATH += "${LAYERDIR}/licenses"
 
 SIGGEN_EXCLUDERECIPES_ABISAFE += " \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch
index fde8238..7de05ee 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch
@@ -1,13 +1,21 @@
-Index: git/wscript
-===================================================================
---- git.orig/wscript	2016-07-29 13:15:44.954249796 -0500
-+++ git/wscript	2016-07-29 15:52:06.196768865 -0500
-@@ -90,7 +90,7 @@
-         ctx.check_cxx(lib = lib, uselib_store = uselib)
+From 9fb298c398f88a63d71432be1410d52fae089063 Mon Sep 17 00:00:00 2001
+From: Tom Hochstein <tom.hochstein@nxp.com>
+Date: Mon, 8 Aug 2016 11:39:54 -0500
+
+---
+ wscript | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/wscript b/wscript
+index ca843f4..eb4a26a 100644
+--- a/wscript
++++ b/wscript
+@@ -84,7 +84,7 @@ def configure(ctx):
+         ctx.check_cc(lib = lib, uselib_store = uselib)
  
      # Check required functions
 -    req_funcs = [('memset', 'string.h', []) ,('sqrt', 'math.h', ['m'])]
 +    req_funcs = [('memset', 'string.h', [])]
      for func, header, uselib in req_funcs:
-         ctx.check_cxx(function_name = func, header_name = header,
+         ctx.check_cc(function_name = func, header_name = header,
                        uselib = uselib, mandatory = True)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb
new file mode 100644
index 0000000..1322d07
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics"
+HOMEPAGE = "https://sourceforge.net/projects/iperf2/"
+SECTION = "console/network"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e136a7b2560d80bcbf0d9b3e1356ecff"
+
+SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf2/iperf-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "097cf0754bc1afa165975c06a91e6906"
+SRC_URI[sha256sum] = "7fe4348dcca313b74e0aa9c34a8ccd713b84a5615b8578f4aa94cedce9891ef2"
+
+S = "${WORKDIR}/iperf-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch
deleted file mode 100644
index ae36208..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0001-include-stdint.h-for-various-std-c99-int-types.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From be653711fb92d2430b3ecc546b4e3ad927d19ec5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 14 Jul 2017 12:59:42 -0700
-Subject: [PATCH 1/2] include stdint.h for various std c99 int types
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/cjson.h | 2 ++
- src/timer.h | 1 +
- 2 files changed, 3 insertions(+)
-
-diff --git a/src/cjson.h b/src/cjson.h
-index fb8cd3b..69cd272 100644
---- a/src/cjson.h
-+++ b/src/cjson.h
-@@ -23,6 +23,8 @@
- #ifndef cJSON__h
- #define cJSON__h
- 
-+#include <stdint.h>
-+
- #ifdef __cplusplus
- extern "C"
- {
-diff --git a/src/timer.h b/src/timer.h
-index 0f9c5eb..0b195be 100644
---- a/src/timer.h
-+++ b/src/timer.h
-@@ -31,6 +31,7 @@
- #define __TIMER_H
- 
- #include <sys/time.h>
-+#include <stdint.h>
- 
- /* TimerClientData is an opaque value that tags along with a timer.  The
- ** client can use it for whatever, and it gets passed to the callback when
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.2.bb
index 4d1b0c4..2ed0811 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.2.bb
@@ -15,7 +15,6 @@
 
 SRC_URI = "git://github.com/esnet/iperf.git \
            file://automake-foreign.patch \
-           file://0001-include-stdint.h-for-various-std-c99-int-types.patch \
            file://0002-Remove-pg-from-profile_CFLAGS.patch \
            "
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_20110206.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_20110206.bb
new file mode 100644
index 0000000..f534c73
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libc-bench/libc-bench_20110206.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Tests to compare standard functions of different libc implementations"
+DESCRIPTION = "libc-bench is a set of time- and memory-efficiency tests to compare \
+implementations of various C/POSIX standard library functions."
+HOMEPAGE = "http://www.etalabs.net/libc-bench.html"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://Makefile;md5=e12f113da27dfe9cfb6c2c537da8d8df"
+
+SRC_URI = "http://www.etalabs.net/releases/${BPN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "f763de90f95fe68e4e03e5b6f49698ac"
+SRC_URI[sha256sum] = "6825260aa5f15f4fbc7957ec578e9c859cbbe210e025ec74c4a0d05677523794"
+
+do_install () {
+    install -d ${D}${bindir}
+    install -m 0755 ${B}/libc-bench ${D}${bindir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/linpack/linpack_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/linpack/linpack_1.0.bb
new file mode 100644
index 0000000..aed95cd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/linpack/linpack_1.0.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "LINPACK Benchmarks are a measure of a system's floating point computing power"
+SUMMARY = "LINPACK is a software library for performing numerical linear algebra on digital computers"
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM ="file://${WORKDIR}/linpacknew.c;beginline=1;endline=23;md5=aa025e3bc44190c71e4c5e3b084fed87"
+
+SRC_URI = "http://www.netlib.org/benchmark/linpackc.new;downloadfilename=linpacknew.c"
+SRC_URI[md5sum] = "1c5d0b6a31264685d2e651c920e3cdf4"
+SRC_URI[sha256sum] = "a63f2ec86512959f1fd926bfafb85905b2d7b7402942ffae3af374d48745e97e"
+
+S = "${WORKDIR}"
+
+do_compile () {
+	${CC} ${CFLAGS} ${LDFLAGS} -o linpack linpacknew.c -lm
+}
+
+do_install () {
+	install -Dm 0755 linpack ${D}${bindir}/linpack
+}
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch
index 20791bf..d716949 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch
@@ -1,12 +1,13 @@
-From 31d58ed7e6552781f415501e96d7cc74f83b910d Mon Sep 17 00:00:00 2001
+From ac1657e11cbb0545bdf4d1124def8c013958ed7e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 12 Jul 2017 18:08:51 -0700
-Subject: [PATCH 1/2] Check for musl define guard before redefining socklen_t
+Subject: [PATCH] Check for musl define guard before redefining socklen_t
 
 musl uses __DEFINED_socklen_t so check for that as well
 along with HAVE_socklen_t
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/bench.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -24,6 +25,3 @@
  typedef int socklen_t;
  #endif
  
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch
index 18ed43d..943b3ec 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch
@@ -1,9 +1,10 @@
-From 6faa6acdf20aa6f738eed1483b7dceed94286adb Mon Sep 17 00:00:00 2001
+From 7c05fa5353ad91acae6e5e8a01f65d54935ef778 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 27 Jun 2017 14:39:10 -0700
 Subject: [PATCH] lat_http.c: Add printf format
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/lat_http.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -21,6 +22,3 @@
  	}
  	write(sock, buf, strlen(buf));
  	while ((n = read(sock, buf, XFERSIZE)) > 0) {
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch
index d5c8f5f..353d80b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch
@@ -1,13 +1,13 @@
-From 76f3a9abc2ff96155425ef97d8c5520cfbc8fe6a Mon Sep 17 00:00:00 2001
+From b27c253bfb78fa3c5f416e6caee101098a4b58cc Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 12 Jul 2017 18:09:46 -0700
-Subject: [PATCH 2/2] build: Adjust CFLAGS/LDFLAGS to append values passed from
- env
+Subject: [PATCH] build: Adjust CFLAGS/LDFLAGS to append values passed from env
 
 For musl we have to pass additional arguments via cflags and ldflags
 to link in librirpc, make room for those changes to take effect
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  scripts/build |  2 +-
  src/Makefile  | 14 +++++++-------
@@ -71,6 +71,3 @@
  
  
  tag:
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
index 549a114..cbab5c4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
@@ -1,4 +1,7 @@
-lmbench: Can't proceed on some targets
+From 65180976c9963432d166b47a0b692260a69c0d47 Mon Sep 17 00:00:00 2001
+From: Qingming Su <qingming.su@windriver.com>
+Date: Tue, 19 Aug 2014 05:16:17 -0400
+Subject: [PATCH] lmbench: Can't proceed on some targets
 
 lmbench can't proceed on some targets.  The memory check fails because the
 memory latency of each page is longer then 10us, which is a time limit set
@@ -25,13 +28,19 @@
 
 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
 
+---
+ scripts/config-run | 12 +++++++---
+ src/Makefile       |  4 ++--
+ src/memsize.c      | 66 +++++++++++++++++++++++++++++++++++-------------------
+ 3 files changed, 54 insertions(+), 28 deletions(-)
+
 diff --git a/scripts/config-run b/scripts/config-run
-index e1f7b6d..31b9256 100755
+index 918cbdf..096ed12 100755
 --- a/scripts/config-run
 +++ b/scripts/config-run
-@@ -214,6 +214,12 @@ The bigger the range, the more accurate the results, but larger sizes
+@@ -197,6 +197,12 @@ The bigger the range, the more accurate the results, but larger sizes
  take somewhat longer to run the benchmark.
-
+ 
  EOF
 +
 +# By default, use 512M memory as the upper limit for lmbench test
@@ -40,12 +49,12 @@
 +fi
 +
  echo $ECHON "MB [default $MB]: $ECHOC"
- #read TMP
- TMP=""
-@@ -718,10 +724,10 @@ case $MAIL in
-		;;
+ read TMP
+ if [ X$TMP != X ]
+@@ -687,10 +693,10 @@ case $MAIL in
+ 		;;
  esac
-
+ 
 -INFO=`../scripts/info`
 +INFO=`../scripts/hostinfo`
  if [ $MAIL = yes ]
@@ -54,8 +63,8 @@
 +	then	cp ../scripts/hostinfo-template $INFO
  		chmod +w $INFO
  		REUSE=no
- 	else
-@@ -765,7 +771,7 @@ EOF
+ 	else	
+@@ -733,7 +739,7 @@ EOF
  		then	EDITOR=$TMP
  		fi
  		if [ X$EDITOR != "none" ]
@@ -65,10 +74,10 @@
  	fi
  fi
 diff --git a/src/Makefile b/src/Makefile
-index d1f0dc6..5098998 100644
+index c7e4e3c..d9efd54 100644
 --- a/src/Makefile
 +++ b/src/Makefile
-@@ -49,7 +49,7 @@ TARGET=`../scripts/target`
+@@ -50,7 +50,7 @@ TARGET=`../scripts/target`
  BINDIR=../bin/$(OS)
  CONFIG=../bin/$(OS)/`../scripts/config`
  UTILS=../scripts/target ../scripts/os ../scripts/gnu-os ../scripts/compiler \
@@ -79,21 +88,21 @@
  INSTALL=cp
 @@ -240,7 +240,7 @@ $O/getopt.o : getopt.c $(INCS)
  	$(COMPILE) -c getopt.c -o $O/getopt.o
-
+ 
  $(UTILS) :
 -	-cd ../scripts; make get
 +	-cd ../scripts; cp info hostinfo; cp info-template hostinfo-template
-
+ 
  # Do not remove the next line, $(MAKE) depend needs it
  # MAKEDEPEND follows
 diff --git a/src/memsize.c b/src/memsize.c
-index eb25a09..cf9fe0c 100644
+index eb25a09..82d7faf 100644
 --- a/src/memsize.c
 +++ b/src/memsize.c
 @@ -14,9 +14,12 @@ char	*id = "$Id$\n";
-
+ 
  #define	CHK(x)	if ((x) == -1) { perror("x"); exit(1); }
-
+ 
 -#ifndef	TOO_LONG
 -#define	TOO_LONG	10	/* usecs */
 -#endif
@@ -103,12 +112,12 @@
 +
 +#define	MEMORY_SIZE_1MB (1024 * 1024)
 +#define	MEMORY_SIZE_8MB (8 * 1024 * 1024)
-
+ 
  int	alarm_triggered = 0;
-
+ 
 @@ -35,10 +38,10 @@ main(int ac, char **av)
  	size_t	delta;
-
+ 
  	if (ac == 2) {
 -		max = size = bytes(av[1]) * 1024 * 1024;
 +		max = size = bytes(av[1]) * MEMORY_SIZE_1MB;
@@ -170,7 +179,7 @@
 +		time_each_page = 1;
 +	//Set the uper limit of time spending on one page
 +        too_long = 10 * time_each_page;
-
+ 
 -	range = 1024 * 1024;
 -	incr = 1024 * 1024;
 -	touchRange(where, range, pagesize);
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch
index cda2f0c..30708c8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch
@@ -1,4 +1,7 @@
-lmbench: Fix "make html" graph failure
+From b21ca9f3911628fb66f308c6916485bbbcfb29a4 Mon Sep 17 00:00:00 2001
+From: Lin Yu <lin.yu@windriver.com>
+Date: Tue, 19 Aug 2014 05:16:16 -0400
+Subject: [PATCH] lmbench: Fix "make html" graph failure
 
 The html-list perl script cannot parse the first line of the result
 files about the lmbench version.
@@ -14,6 +17,11 @@
 
 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
 
+---
+ results/Makefile  | 1 +
+ scripts/html-list | 7 ++-----
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
 diff --git a/results/Makefile b/results/Makefile
 index 0935376..1ef9a15 100644
 --- a/results/Makefile
@@ -38,7 +46,7 @@
 +<h2><a href=summary.out>Summary of results</a></h2>
  <hr>
  EOF
-
+ 
 @@ -47,7 +47,7 @@ foreach $os (@os) {
  		open(F, $file);
  		$_ = <F>;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch
index 41a3b32..fa5e6db 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch
@@ -1,16 +1,22 @@
+From 182a5d3dba3f440bbf35551da6d21ab1c990eb58 Mon Sep 17 00:00:00 2001
+From: Noor Ahsan <noor_ahsan@mentor.com>
+Date: Mon, 29 Aug 2011 16:17:51 +0000
+Subject: [PATCH] lmbench: Add version 3.0-a9 (initial recipe)
+
 In some cases the host may have too old of a ranlib to work.  Since it's
 not exactly a great idea to not be using the cross ranlib anyhow, fix the
 Makefile so we can override ranlib and then override it
 
 Upstream-Status: Inappropriate [build system specific change]
+
 ---
- src/Makefile |    3 ++-
+ src/Makefile | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
-Index: lmbench-3.0-a9/src/Makefile
-===================================================================
---- lmbench-3.0-a9.orig/src/Makefile
-+++ lmbench-3.0-a9/src/Makefile
+diff --git a/src/Makefile b/src/Makefile
+index 4962815..c7a8c79 100644
+--- a/src/Makefile
++++ b/src/Makefile
 @@ -38,6 +38,7 @@ CC=`../scripts/compiler`
  MAKE=`../scripts/make`
  AR=ar
@@ -19,7 +25,7 @@
  
  # base of installation location
  BASE=/usr/local
-@@ -217,7 +218,7 @@ $O/lmbench : ../scripts/lmbench version.
+@@ -217,7 +218,7 @@ $O/lmbench : ../scripts/lmbench version.h
  $O/lmbench.a: $(LIBOBJS)
  	/bin/rm -f $O/lmbench.a
  	$(AR) $(ARCREATE) $O/lmbench.a $(LIBOBJS)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch
index b46e09a..44bc7bb 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch
@@ -1,8 +1,18 @@
+From aca1a59d888421c1fc553229b8049be47e8b3ddf Mon Sep 17 00:00:00 2001
+From: Chunrong Guo <b40290@freescale.com>
+Date: Fri, 1 Mar 2013 09:50:42 +0000
+Subject: [PATCH] lmbench: update config script
+
 Upstream-Status: Pending
-Index: lmbench-3.0-a9/scripts/config
-===================================================================
---- lmbench-3.0-a9/scripts/config	2000-01-31 18:29:31.000000000 -0600
-+++ lmbench-3.0-a9/scripts/config	2013-03-01 00:19:41.032984315 -0600
+
+---
+ scripts/config | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/config b/scripts/config
+index b58cb60..25d9d77 100755
+--- a/scripts/config
++++ b/scripts/config
 @@ -3,5 +3,5 @@
  UNAME=`uname -n 2>/dev/null`
  if [ X$UNAME = X ]
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch
index 894f146..31c4aec 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch
@@ -1,45 +1,24 @@
+From 4955021bc283be404df62b97b86af3943efd29de Mon Sep 17 00:00:00 2001
+From: Noor Ahsan <noor_ahsan@mentor.com>
+Date: Mon, 29 Aug 2011 16:17:51 +0000
+Subject: [PATCH] lmbench: Add version 3.0-a9 (initial recipe)
+
 Now that we have our binaries in /usr/bin rather than the normal
 lmbench hierarchy we need to update the scripts as well to behave well here.
 
 Upstream-Status: Inappropriate [This is related to the OE-specific behavior
-of installing into /usr/bin, etc, rather than dumping everything into 
+of installing into /usr/bin, etc, rather than dumping everything into
 /usr/share/lmbench or similar]
 
-Index: lmbench-3.0-a9/scripts/results
-===================================================================
---- lmbench-3.0-a9.orig/scripts/results
-+++ lmbench-3.0-a9/scripts/results
-@@ -8,11 +8,11 @@ RESULTS=results/$OS
- BASE=../$RESULTS/`uname -n`
- EXT=0
- 
--if [ ! -f "../bin/$OS/$CONFIG" ]
-+if [ ! -f "$CONFIG" ]
- then	echo "No config file?"
- 	exit 1
- fi
--. ../bin/$OS/$CONFIG
-+. $CONFIG
- 
- if [ ! -d ../$RESULTS ]
- then	mkdir -p ../$RESULTS
-@@ -23,11 +23,9 @@ do      EXT=`expr $EXT + 1`
- 	RESULTS=$BASE.$EXT
- done
- 
--cd ../bin/$OS 
--PATH=.:${PATH}; export PATH
- export SYNC_MAX
- export OUTPUT
--lmbench $CONFIG 2>../${RESULTS}
-+lmbench $CONFIG 2>${RESULTS}
- 
- if [ X$MAIL = Xyes ]
- then	echo Mailing results
-Index: lmbench-3.0-a9/scripts/config-run
-===================================================================
---- lmbench-3.0-a9.orig/scripts/config-run
-+++ lmbench-3.0-a9/scripts/config-run
+---
+ scripts/config-run | 40 ++++++++++++++++++++--------------------
+ scripts/results    |  8 +++-----
+ 2 files changed, 23 insertions(+), 25 deletions(-)
+
+diff --git a/scripts/config-run b/scripts/config-run
+index a2d5ba4..918cbdf 100755
+--- a/scripts/config-run
++++ b/scripts/config-run
 @@ -132,20 +132,20 @@ export LMBENCH_SCHED
  ############################################################################
  echo $L; echo "";
@@ -89,7 +68,7 @@
  if [ `expr $SYNC_MAX \* $MB` -gt `expr $TOTAL_MEM` ]
  then
  	MB=`expr $TOTAL_MEM / $SYNC_MAX`
-@@ -223,8 +223,8 @@ then	echo Warning: you have only ${MB}MB
+@@ -223,8 +223,8 @@ then	echo Warning: you have only ${MB}MB available memory.
  fi
  
  echo "Hang on, we are calculating your cache line size."
@@ -158,3 +137,34 @@
  echo DISKS=\"$DISKS\" > $C
  echo DISK_DESC=\"$DISK_DESC\" >> $C
  echo OUTPUT=$OUTPUT >> $C
+diff --git a/scripts/results b/scripts/results
+index cd07c15..d5aa558 100755
+--- a/scripts/results
++++ b/scripts/results
+@@ -8,11 +8,11 @@ RESULTS=results/$OS
+ BASE=../$RESULTS/`uname -n`
+ EXT=0
+ 
+-if [ ! -f "../bin/$OS/$CONFIG" ]
++if [ ! -f "$CONFIG" ]
+ then	echo "No config file?"
+ 	exit 1
+ fi
+-. ../bin/$OS/$CONFIG
++. $CONFIG
+ 
+ if [ ! -d ../$RESULTS ]
+ then	mkdir -p ../$RESULTS
+@@ -23,11 +23,9 @@ do      EXT=`expr $EXT + 1`
+ 	RESULTS=$BASE.$EXT
+ done
+ 
+-cd ../bin/$OS 
+-PATH=.:${PATH}; export PATH
+ export SYNC_MAX
+ export OUTPUT
+-lmbench $CONFIG 2>../${RESULTS}
++lmbench $CONFIG 2>${RESULTS}
+ 
+ if [ X$MAIL = Xyes ]
+ then	echo Mailing results
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/use-base_libdir-instead-of-hardcoded-lib.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/use-base_libdir-instead-of-hardcoded-lib.patch
index 3351ce8..c6e9465 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/use-base_libdir-instead-of-hardcoded-lib.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/use-base_libdir-instead-of-hardcoded-lib.patch
@@ -1,14 +1,15 @@
-From 0d09e31970616e09beb7f238c2b59bfc541148fb Mon Sep 17 00:00:00 2001
+From 73fdc58ca4eb9e2f24d854b3af3a4e5daac5a33e Mon Sep 17 00:00:00 2001
 From: Ting Liu <b28495@freescale.com>
 Date: Fri, 22 Nov 2013 15:20:08 +0800
 Subject: [PATCH] use base_libdir instead of hardcoded /lib
 
-Upsteam Status: Inappropriate [configuration]
+Upstream Status: Inappropriate [configuration]
 
 Signed-off-by: Ting Liu <b28495@freescale.com>
+
 ---
- src/Makefile |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
+ src/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/Makefile b/src/Makefile
 index c7a8c79..c7e4e3c 100644
@@ -27,6 +28,3 @@
  	cd ../doc; env MAKEFLAGS="$(MAKEFLAGS)" make CC="${CC}" OS="${OS}" BASE="$(BASE)" install
  
  
--- 
-1.7.5.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/0001-avoid-gcc-optimize-away-the-loops.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/0001-avoid-gcc-optimize-away-the-loops.patch
index 2d8a246..b964bef 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/0001-avoid-gcc-optimize-away-the-loops.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/0001-avoid-gcc-optimize-away-the-loops.patch
@@ -1,4 +1,7 @@
-[PATCH] avoid gcc optimize-away the loops
+From 25738bb9c75f94b451201acfd6bcab13bdeee512 Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Thu, 5 May 2016 09:52:01 +0800
+Subject: [PATCH] [PATCH] avoid gcc optimize-away the loops
 
 Upstream-Status: pending
 
@@ -15,6 +18,7 @@
 	#define TEN(a) a a a a a a a a a a
 
 Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
 ---
  src/lat_ops.c | 30 +++++++++++++++++++++++++-----
  1 file changed, 25 insertions(+), 5 deletions(-)
@@ -74,6 +78,3 @@
  	}
  	use_int((int)r);
  }
--- 
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/rename-line-binary.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/rename-line-binary.patch
index 9a40521..b42ee7d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/rename-line-binary.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/rename-line-binary.patch
@@ -1,3 +1,8 @@
+From 16823f5c3d3d5adad0b70e9055c08cb4e18d255b Mon Sep 17 00:00:00 2001
+From: Noor Ahsan <noor_ahsan@mentor.com>
+Date: Mon, 29 Aug 2011 16:17:51 +0000
+Subject: [PATCH] lmbench: Add version 3.0-a9 (initial recipe)
+
 Both lmbench and util-linux-ng packages provide own /usr/bin/line binaries.
 Even though the binaries name is the same, their functionality is different.
 This patch renames lmbench's line binary as lm_line to avoid conflicts with
@@ -6,8 +11,14 @@
 
 Upstream-Status: Inappropriate [build system specific change]
 
---- patches/scripts/config-run	2006-11-26 15:11:04.000000000 -0500
-+++ patches/scripts/config-run	2011-04-01 09:35:50.000000000 -0400
+---
+ scripts/config-run | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/config-run b/scripts/config-run
+index f620c15..a2d5ba4 100755
+--- a/scripts/config-run
++++ b/scripts/config-run
 @@ -224,7 +224,7 @@ fi
  
  echo "Hang on, we are calculating your cache line size."
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_7.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_7.4.0.bb
deleted file mode 100644
index 3ccd5db..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_7.4.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Phoronix Test Suite"
-DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \
-and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SECTION = "console/tests"
-
-SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "86fa3eede43ffff88992fe21368b11b7"
-SRC_URI[sha256sum] = "de9aec3ef4f980581756fd0bf7b30dd1ccb20e7aae637078a587606bf75a6b67"
-
-S = "${WORKDIR}/phoronix-test-suite"
-
-inherit systemd allarch
-
-do_install() {
-    DESTDIR=${D} ./install-sh ${exec_prefix}
-
-    if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then
-        install -d ${D}/${systemd_unitdir}/system/
-        mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/
-        rm -rf ${D}/usr/lib/
-    fi
-}
-
-SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service"
-RDEPENDS_${PN} += "bash python php-cli"
-
-FILES_${PN} += " \
-    ${datadir}/phoronix-test-suite \
-    ${datadir}/appdata/phoronix-test-suite.appdata.xml \
-    ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \
-    ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \
-    ${datadir}/mime/packages/openbenchmarking-mime.xml \
-    ${systemd_unitdir}/* \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_7.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_7.8.0.bb
new file mode 100644
index 0000000..1f90a71
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_7.8.0.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Phoronix Test Suite"
+DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \
+and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "console/tests"
+
+SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
+SRC_URI[md5sum] = "850843bd9252823e7e24bc0849773000"
+SRC_URI[sha256sum] = "cd6c869841f28e4ac1e8a5e4cda05fafce9a523a6b4f0f3a47805efd30494d88"
+
+S = "${WORKDIR}/phoronix-test-suite"
+
+inherit systemd allarch
+
+do_install() {
+    DESTDIR=${D} ./install-sh ${exec_prefix}
+
+    if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then
+        install -d ${D}/${systemd_unitdir}/system/
+        mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/
+        rm -rf ${D}/usr/lib/
+    fi
+}
+
+# It is not advisable to enable these services by default since they can cause
+# continual target reboots if they encounter network problems.
+#
+SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service"
+
+RDEPENDS_${PN} += "bash python php-cli"
+
+FILES_${PN} += " \
+    ${datadir}/phoronix-test-suite \
+    ${datadir}/appdata/phoronix-test-suite.appdata.xml \
+    ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \
+    ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \
+    ${datadir}/mime/packages/openbenchmarking-mime.xml \
+    ${systemd_unitdir}/* \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/whetstone/whetstone_1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/whetstone/whetstone_1.2.bb
new file mode 100644
index 0000000..8fad04e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/whetstone/whetstone_1.2.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Whetstone benchmark is a synthetic benchmark for evaluating the performance of computers"
+SUMMARY = "CPU benchmark to measure floating point performance"
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM ="file://${WORKDIR}/whetstone.c;beginline=1;endline=52;md5=c795edc15e7e1d92ca8f88ad718449f5"
+
+SRC_URI = "http://www.netlib.org/benchmark/whetstone.c"
+SRC_URI[md5sum] = "d8eb2cd7104bb5a12d614ac6d3f1f9fb"
+SRC_URI[sha256sum] = "333e4ceca042c146f63eec605573d16ae8b07166cbc44a17bec1ea97c6f1efbf"
+
+S = "${WORKDIR}"
+
+do_compile () {
+	${CC} ${CFLAGS} ${LDFLAGS} -Ofast -o whetstone whetstone.c -lm
+}
+
+do_install () {
+	install -Dm 0755 whetstone ${D}${bindir}/whetstone
+}
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/acpitool/acpitool_0.5.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-bsp/acpitool/acpitool_0.5.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/acpitool/acpitool_0.5.1.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/acpitool/acpitool_0.5.1.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb b/import-layers/meta-openembedded/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils_008.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils_008.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/edac-utils_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/edac-utils_git.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/files/add-restart-to-initscript.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/edac-utils/files/add-restart-to-initscript.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/files/add-restart-to-initscript.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/edac-utils/files/add-restart-to-initscript.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/files/edac.service b/import-layers/meta-openembedded/meta-oe/recipes-bsp/edac-utils/files/edac.service
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/files/edac.service
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/edac-utils/files/edac.service
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/files/make-init-script-be-able-to-automatically-load-EDAC-.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/edac-utils/files/make-init-script-be-able-to-automatically-load-EDAC-.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/files/make-init-script-be-able-to-automatically-load-EDAC-.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/edac-utils/files/make-init-script-be-able-to-automatically-load-EDAC-.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_0.15.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.15.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_0.15.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch
new file mode 100644
index 0000000..b4ce132
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch
@@ -0,0 +1,33 @@
+From d65c325dd8681edf2ee3332eeb0a547229c7ffb5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 24 Aug 2017 15:54:47 -0700
+Subject: [PATCH] efivar-dp.h: Add -Wunknown-attributes when using clang
+
+change !dp check to a comparision against NULL to silent clang warning
+nonnull parameter 'dp' will evaluate to 'true' on first encounter
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/include/efivar/efivar-dp.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/include/efivar/efivar-dp.h b/src/include/efivar/efivar-dp.h
+index 3a509b7..c140e8d 100644
+--- a/src/include/efivar/efivar-dp.h
++++ b/src/include/efivar/efivar-dp.h
+@@ -783,9 +783,14 @@ extern int efidp_append_instance(const_efidp dp, const_efidp dpi, efidp *out);
+  * though older or other compilers might just ignore that attribute if they
+  * don't support it.  Ugh.
+  */
++#pragma GCC diagnostic push
+ #if defined(__GNUC__) && __GNUC__ >= 6
+ #pragma GCC diagnostic ignored "-Wnonnull-compare"
+ #endif
++#if defined(__clang__)
++#pragma GCC diagnostic ignored "-Wunknown-attributes"
++#pragma GCC diagnostic ignored "-Wpointer-bool-conversion"
++#endif
+ 
+ static inline int16_t
+ __attribute__((__artificial__))
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
new file mode 100644
index 0000000..251e50c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
@@ -0,0 +1,32 @@
+From a9115d9e6f0f62d6bb735ce3698858d1f89f8d73 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Fri, 25 Sep 2015 18:14:31 +0800
+Subject: [PATCH] efivar: fix for cross compile
+
+It builds and calls elf file makeguids to generate a header file which
+doesn't work for cross compile. Fix it.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Upstream-Status: Pending
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ src/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 0c16597..dcc7fc8 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -40,8 +40,8 @@ abicheck : $(patsubst %.so,%.abicheck,$(LIBTARGETS))
+ ./guid-symbols.c : include/efivar/efivar-guids.h
+ ./guids.bin : include/efivar/efivar-guids.h
+ ./names.bin : include/efivar/efivar-guids.h
+-include/efivar/efivar-guids.h : makeguids guids.txt
+-	./makeguids guids.txt guids.bin names.bin \
++include/efivar/efivar-guids.h : guids.txt
++	makeguids guids.txt guids.bin names.bin \
+ 		guid-symbols.c include/efivar/efivar-guids.h
+ 
+ makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch
new file mode 100644
index 0000000..2a6eb06
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch
@@ -0,0 +1,35 @@
+From dd4291265b7b3d7d7ffa1d8adf32781ae25dbfeb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Jul 2017 00:29:42 -0700
+Subject: [PATCH] makeguids: Do not use __bswap_constant_{16|32} macros
+
+not available on musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/makeguids.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/makeguids.c b/src/makeguids.c
+index da2f5f7..daf821a 100644
+--- a/src/makeguids.c
++++ b/src/makeguids.c
+@@ -155,13 +155,13 @@ main(int argc, char *argv[])
+ #if BYTE_ORDER == BIG_ENDIAN\n\
+ #define cpu_to_be32(n) (n)\n\
+ #define cpu_to_be16(n) (n)\n\
+-#define cpu_to_le32(n) (__bswap_constant_32(n))\n\
+-#define cpu_to_le16(n) (__bswap_constant_16(n))\n\
++#define cpu_to_le32(n) ((uint32_t) ((n)>>24 | (n)>>8&0xff00 | (n)<<8&0xff0000 | (n)<<24))\n\
++#define cpu_to_le16(n) ((uint16_t) ((n)<<8 | (n)>>8))\n\
+ #else\n\
+ #define cpu_to_le32(n) (n)\n\
+ #define cpu_to_le16(n) (n)\n\
+-#define cpu_to_be32(n) (__bswap_constant_32(n))\n\
+-#define cpu_to_be16(n) (__bswap_constant_16(n))\n\
++#define cpu_to_be32(n) ((uint32_t) ((n)>>24 | (n)>>8&0xff00 | (n)<<8&0xff0000 | (n)<<24))\n\
++#define cpu_to_be16(n) ((uint16_t) ((n)<<8 | (n)>>8))\n\
+ #endif\n\
+ """);
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0003-efivar-fix-for-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0003-efivar-fix-for-cross-compile.patch
new file mode 100644
index 0000000..83105fe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0003-efivar-fix-for-cross-compile.patch
@@ -0,0 +1,42 @@
+From dea4a55714249b2734a36701120fd22c91c64ec2 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 7 May 2016 02:06:47 -0400
+Subject: [PATCH] Makefile: fix efivar.pc not found
+
+It fixes efivar.pc not found:
+...
+| install -d -m 755 efivar/0.23-r0/image/usr/lib/pkgconfig/
+| install -m 644 efivar.pc efivar/0.23-r0/image/usr/lib/pkgconfig/
+;  install -m 644 efiboot.pc efivar/0.23-r0/image/usr/lib/pkgconfig/
+;
+| install: cannot stat 'efivar.pc': No such file or directory
+| install: cannot stat 'efiboot.pc': No such file or directory
+| make[1]: *** [install] Error 1
+| make[1]: Leaving directory `efivar/0.23-r0/git/src'
+| make: *** [install] Error 2
+| ERROR: oe_runmake failed
+...
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ src/Makefile | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index dcc7fc8..691aa8a 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -94,7 +94,9 @@ install : all
+ 		ln -fs $(x).1.$(VERSION) $(DESTDIR)$(libdir)/$(x) ;\
+ 		)
+ 	$(INSTALL) -d -m 755 $(DESTDIR)$(PCDIR)
+-	$(foreach x, $(PCTARGETS), $(INSTALL) -m 644 $(x) $(DESTDIR)$(PCDIR) ;)
++	$(foreach x, $(PCTARGETS), $(INSTALL) -m 644 $(TOPDIR)/src/$(x).in $(DESTDIR)$(PCDIR)/$(x) ;\
++		sed -i -e "s:@@LIBDIR@@:$(libdir):g" -e "s:@@VERSION@@:$(VERSION):g" \
++			$(DESTDIR)$(PCDIR)/$(x); )
+ 	$(INSTALL) -d -m 755 $(DESTDIR)$(includedir)/efivar
+ 	$(foreach x, $(wildcard $(TOPDIR)/src/include/efivar/*.h), $(INSTALL) -m 644 $(x) $(DESTDIR)$(includedir)/efivar/$(notdir $(x));)
+ 	$(INSTALL) -d -m 755 $(DESTDIR)$(bindir)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch
new file mode 100644
index 0000000..f88af1f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch
@@ -0,0 +1,32 @@
+From c801dcb03d42eb533a9bead0b397d7ce4fc5a6fe Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Wed, 10 Aug 2016 17:49:50 +0800
+Subject: [PATCH] allow multi definitions for native
+
+Upstream-Status: Pending
+
+It fails to create .so file when build efivar-native:
+
+| lib.o:(*IND*+0x0): multiple definition of `efi_set_variable'
+| lib.o:lib.c:(.text+0xa0): first defined here
+
+Add link option '-z muldefs' to fix it.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+---
+ Make.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Make.rules b/Make.rules
+index 88b9aa7..799332f 100644
+--- a/Make.rules
++++ b/Make.rules
+@@ -20,6 +20,7 @@ include $(TOPDIR)/Make.version
+ 	$(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \
+ 	  -Wl,-soname,$@.1 \
+ 	  -Wl,--version-script=$(MAP) \
++	  -Wl,-z,muldefs \
+ 	  -o $@ $^ $(LDLIBS)
+ 
+ %.abixml : %.so
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch
new file mode 100644
index 0000000..dbc9a57
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch
@@ -0,0 +1,43 @@
+From 3edce6a0019bcb90febc1f654b5b2e2bad5c59bd Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 26 May 2016 21:50:01 -0400
+Subject: [PATCH] fix compile failure with older host gcc (<=4.6)
+
+While host gcc version is 4.6.3 in ubuntu 1204, it
+did not recognize -std=gnu11 and -Wmaybe-uninitialized.
+
+While host gcc version is 4.4.7 in centos6, it
+did not recognize -std=gnu11, -Wmaybe-uninitialized,
+and -flto.
+
+For native build, use -std=gnu99 to replace -std=gnu11,
+and directly remove -Wmaybe-uninitialized and -flto.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ gcc.specs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gcc.specs b/gcc.specs
+index 45d43d1..f1c6944 100644
+--- a/gcc.specs
++++ b/gcc.specs
+@@ -2,13 +2,13 @@
+ + -D_GNU_SOURCE
+ 
+ *efivar_cpp_options:
+- -Werror -Wall -std=gnu11 -Wextra
++ -Werror -Wall -std=gnu99 -Wextra
+ 
+ *cpp_options:
+ + %(efivar_cpp_options)
+ 
+ *cc1_options:
+-+ %(efivar_cpp_options) -Wmaybe-uninitialized -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
+++ %(efivar_cpp_options) -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
+ 
+ *self_spec:
+ + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/musl-strndupa.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/musl-strndupa.patch
new file mode 100644
index 0000000..5864ac6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/musl-strndupa.patch
@@ -0,0 +1,25 @@
+From 8000b9afc858472912aace985004b44f8eb467e0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 18 Aug 2017 09:49:49 -0700
+Subject: [PATCH] support musl
+
+Upstream-Status: Pending
+---
+ src/linux.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/linux.c b/src/linux.c
+index 34ed479..1304f2b 100644
+--- a/src/linux.c
++++ b/src/linux.c
+@@ -40,6 +40,10 @@
+ #include <efivar.h>
+ #include <efiboot.h>
+ 
++#if !defined(__GLIBC__)
++#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s)
++#endif
++
+ #include "dp.h"
+ #include "linux.h"
+ #include "util.h"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_0.31.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.31.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_0.31.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-platform-Add-riscv-to-known-platforms.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-platform-Add-riscv-to-known-platforms.patch
new file mode 100644
index 0000000..7ba69a9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-platform-Add-riscv-to-known-platforms.patch
@@ -0,0 +1,37 @@
+From d2a28dcdbd1051d2f48320e2eda3393581fe0519 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Mar 2018 23:08:29 -0700
+Subject: [PATCH] platform: Add riscv to known platforms
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted [https://review.coreboot.org/#/c/flashrom/+/25260/]
+ platform.h | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/platform.h b/platform.h
+index b2fdcd0..2cadbb3 100644
+--- a/platform.h
++++ b/platform.h
+@@ -69,6 +69,9 @@
+ #elif defined (__m68k__)
+ 	#define __FLASHROM_ARCH__ "m68k"
+ 	#define IS_M68K 1
++#elif defined (__riscv)
++	#define __FLASHROM_ARCH__ "riscv"
++	#define IS_RISCV 1
+ #elif defined (__sh__)
+ 	#define __FLASHROM_ARCH__ "sh"
+ 	#define IS_SH 1
+@@ -77,7 +80,7 @@
+ 	#define IS_S390 1
+ #endif
+ 
+-#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390)
++#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_RISCV || IS_SH || IS_S390)
+ #error Unknown architecture
+ #endif
+ 
+-- 
+2.16.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/sst26.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/sst26.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/sst26.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.0.bb
new file mode 100644
index 0000000..9eac876
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips"
+LICENSE = "GPLv2"
+HOMEPAGE = "http://flashrom.org"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS = "pciutils libusb libusb-compat"
+
+SRC_URI = "https://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \
+           file://sst26.patch \
+           file://0001-platform-Add-riscv-to-known-platforms.patch \
+           "
+SRC_URI[md5sum] = "42d999990c735d88653627cefcc13b9a"
+SRC_URI[sha256sum] = "3702fa215ba5fb5af8e54c852d239899cfa1389194c1e51cb2a170c4dc9dee64"
+
+inherit pkgconfig
+
+do_install() {
+    oe_runmake PREFIX=${prefix} DESTDIR=${D} install
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config/fancontrol b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/fancontrol
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config/fancontrol
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/fancontrol
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.cgi b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord.cgi
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.cgi
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord.cgi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.conf b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord.conf
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.conf
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord.conf
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensors.conf b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensors.conf
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensors.conf
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensors.conf
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/fancontrol.init b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/fancontrol.init
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/fancontrol.init
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/fancontrol.init
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.init b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/sensord.init
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.init
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/sensord.init
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/lssci/lsscsi_0.28.bb b/import-layers/meta-openembedded/meta-oe/recipes-bsp/lssci/lsscsi_0.28.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/lssci/lsscsi_0.28.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-bsp/lssci/lsscsi_0.28.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
new file mode 100644
index 0000000..5535a3c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
@@ -0,0 +1,177 @@
+From 044ae35c5694c39a4aca2a33502cc3897e88f79e Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Fri, 14 Jul 2017 15:15:35 +0200
+Subject: [PATCH 1/7] hostapd: Avoid key reinstallation in FT handshake
+
+Do not reinstall TK to the driver during Reassociation Response frame
+processing if the first attempt of setting the TK succeeded. This avoids
+issues related to clearing the TX/RX PN that could result in reusing
+same PN values for transmitted frames (e.g., due to CCM nonce reuse and
+also hitting replay protection on the receiver) and accepting replayed
+frames on RX side.
+
+This issue was introduced by the commit
+0e84c25434e6a1f283c7b4e62e483729085b78d2 ('FT: Fix PTK configuration in
+authenticator') which allowed wpa_ft_install_ptk() to be called multiple
+times with the same PTK. While the second configuration attempt is
+needed with some drivers, it must be done only if the first attempt
+failed.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+
+Upstream-Status: Backport
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/ap/ieee802_11.c  | 16 +++++++++++++---
+ src/ap/wpa_auth.c    | 11 +++++++++++
+ src/ap/wpa_auth.h    |  3 ++-
+ src/ap/wpa_auth_ft.c | 10 ++++++++++
+ src/ap/wpa_auth_i.h  |  1 +
+ 5 files changed, 37 insertions(+), 4 deletions(-)
+
+diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
+index 4e04169..333035f 100644
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -1841,6 +1841,7 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ {
+ 	struct ieee80211_ht_capabilities ht_cap;
+ 	struct ieee80211_vht_capabilities vht_cap;
++	int set = 1;
+ 
+ 	/*
+ 	 * Remove the STA entry to ensure the STA PS state gets cleared and
+@@ -1848,9 +1849,18 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ 	 * FT-over-the-DS, where a station re-associates back to the same AP but
+ 	 * skips the authentication flow, or if working with a driver that
+ 	 * does not support full AP client state.
++	 *
++	 * Skip this if the STA has already completed FT reassociation and the
++	 * TK has been configured since the TX/RX PN must not be reset to 0 for
++	 * the same key.
+ 	 */
+-	if (!sta->added_unassoc)
++	if (!sta->added_unassoc &&
++	    (!(sta->flags & WLAN_STA_AUTHORIZED) ||
++	     !wpa_auth_sta_ft_tk_already_set(sta->wpa_sm))) {
+ 		hostapd_drv_sta_remove(hapd, sta->addr);
++		wpa_auth_sm_event(sta->wpa_sm, WPA_DRV_STA_REMOVED);
++		set = 0;
++	}
+ 
+ #ifdef CONFIG_IEEE80211N
+ 	if (sta->flags & WLAN_STA_HT)
+@@ -1873,11 +1883,11 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ 			    sta->flags & WLAN_STA_VHT ? &vht_cap : NULL,
+ 			    sta->flags | WLAN_STA_ASSOC, sta->qosinfo,
+ 			    sta->vht_opmode, sta->p2p_ie ? 1 : 0,
+-			    sta->added_unassoc)) {
++			    set)) {
+ 		hostapd_logger(hapd, sta->addr,
+ 			       HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE,
+ 			       "Could not %s STA to kernel driver",
+-			       sta->added_unassoc ? "set" : "add");
++			       set ? "set" : "add");
+ 
+ 		if (sta->added_unassoc) {
+ 			hostapd_drv_sta_remove(hapd, sta->addr);
+diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
+index 3587086..707971d 100644
+--- a/src/ap/wpa_auth.c
++++ b/src/ap/wpa_auth.c
+@@ -1745,6 +1745,9 @@ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event)
+ #else /* CONFIG_IEEE80211R */
+ 		break;
+ #endif /* CONFIG_IEEE80211R */
++	case WPA_DRV_STA_REMOVED:
++		sm->tk_already_set = FALSE;
++		return 0;
+ 	}
+ 
+ #ifdef CONFIG_IEEE80211R
+@@ -3250,6 +3253,14 @@ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm)
+ }
+ 
+ 
++int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm)
++{
++	if (!sm || !wpa_key_mgmt_ft(sm->wpa_key_mgmt))
++		return 0;
++	return sm->tk_already_set;
++}
++
++
+ int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
+ 			     struct rsn_pmksa_cache_entry *entry)
+ {
+diff --git a/src/ap/wpa_auth.h b/src/ap/wpa_auth.h
+index 0de8d97..97461b0 100644
+--- a/src/ap/wpa_auth.h
++++ b/src/ap/wpa_auth.h
+@@ -267,7 +267,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
+ 		 u8 *data, size_t data_len);
+ enum wpa_event {
+ 	WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH,
+-	WPA_REAUTH_EAPOL, WPA_ASSOC_FT
++	WPA_REAUTH_EAPOL, WPA_ASSOC_FT, WPA_DRV_STA_REMOVED
+ };
+ void wpa_remove_ptk(struct wpa_state_machine *sm);
+ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event);
+@@ -280,6 +280,7 @@ int wpa_auth_pairwise_set(struct wpa_state_machine *sm);
+ int wpa_auth_get_pairwise(struct wpa_state_machine *sm);
+ int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm);
+ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm);
++int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm);
+ int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
+ 			     struct rsn_pmksa_cache_entry *entry);
+ struct rsn_pmksa_cache_entry *
+diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c
+index 42242a5..e63b99a 100644
+--- a/src/ap/wpa_auth_ft.c
++++ b/src/ap/wpa_auth_ft.c
+@@ -780,6 +780,14 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
+ 		return;
+ 	}
+ 
++	if (sm->tk_already_set) {
++		/* Must avoid TK reconfiguration to prevent clearing of TX/RX
++		 * PN in the driver */
++		wpa_printf(MSG_DEBUG,
++			   "FT: Do not re-install same PTK to the driver");
++		return;
++	}
++
+ 	/* FIX: add STA entry to kernel/driver here? The set_key will fail
+ 	 * most likely without this.. At the moment, STA entry is added only
+ 	 * after association has been completed. This function will be called
+@@ -792,6 +800,7 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
+ 
+ 	/* FIX: MLME-SetProtection.Request(TA, Tx_Rx) */
+ 	sm->pairwise_set = TRUE;
++	sm->tk_already_set = TRUE;
+ }
+ 
+ 
+@@ -898,6 +907,7 @@ static int wpa_ft_process_auth_req(struct wpa_state_machine *sm,
+ 
+ 	sm->pairwise = pairwise;
+ 	sm->PTK_valid = TRUE;
++	sm->tk_already_set = FALSE;
+ 	wpa_ft_install_ptk(sm);
+ 
+ 	buflen = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
+diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h
+index 72b7eb3..7fd8f05 100644
+--- a/src/ap/wpa_auth_i.h
++++ b/src/ap/wpa_auth_i.h
+@@ -65,6 +65,7 @@ struct wpa_state_machine {
+ 	struct wpa_ptk PTK;
+ 	Boolean PTK_valid;
+ 	Boolean pairwise_set;
++	Boolean tk_already_set;
+ 	int keycount;
+ 	Boolean Pair;
+ 	struct wpa_key_replay_counter {
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
new file mode 100644
index 0000000..4e57bca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
@@ -0,0 +1,253 @@
+From c623cc973de525f7411dffe438e957ba86ef4733 Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Wed, 12 Jul 2017 16:03:24 +0200
+Subject: [PATCH 2/7] Prevent reinstallation of an already in-use group key
+
+Track the current GTK and IGTK that is in use and when receiving a
+(possibly retransmitted) Group Message 1 or WNM-Sleep Mode Response, do
+not install the given key if it is already in use. This prevents an
+attacker from trying to trick the client into resetting or lowering the
+sequence counter associated to the group key.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+
+Upstream-Status: Backport
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/common/wpa_common.h |  11 +++++
+ src/rsn_supp/wpa.c      | 116 ++++++++++++++++++++++++++++++------------------
+ src/rsn_supp/wpa_i.h    |   4 ++
+ 3 files changed, 87 insertions(+), 44 deletions(-)
+
+diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
+index af1d0f0..d200285 100644
+--- a/src/common/wpa_common.h
++++ b/src/common/wpa_common.h
+@@ -217,6 +217,17 @@ struct wpa_ptk {
+ 	size_t tk_len;
+ };
+ 
++struct wpa_gtk {
++	u8 gtk[WPA_GTK_MAX_LEN];
++	size_t gtk_len;
++};
++
++#ifdef CONFIG_IEEE80211W
++struct wpa_igtk {
++	u8 igtk[WPA_IGTK_MAX_LEN];
++	size_t igtk_len;
++};
++#endif /* CONFIG_IEEE80211W */
+ 
+ /* WPA IE version 1
+  * 00-50-f2:1 (OUI:OUI type)
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 3c47879..95bd7be 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -714,6 +714,15 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ 	const u8 *_gtk = gd->gtk;
+ 	u8 gtk_buf[32];
+ 
++	/* Detect possible key reinstallation */
++	if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
++	    os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
++		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++			"WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
++			gd->keyidx, gd->tx, gd->gtk_len);
++		return 0;
++	}
++
+ 	wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len);
+ 	wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ 		"WPA: Installing GTK to the driver (keyidx=%d tx=%d len=%d)",
+@@ -748,6 +757,9 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ 	}
+ 	os_memset(gtk_buf, 0, sizeof(gtk_buf));
+ 
++	sm->gtk.gtk_len = gd->gtk_len;
++	os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++
+ 	return 0;
+ }
+ 
+@@ -854,6 +866,48 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+ }
+ 
+ 
++#ifdef CONFIG_IEEE80211W
++static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
++				       const struct wpa_igtk_kde *igtk)
++{
++	size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
++	u16 keyidx = WPA_GET_LE16(igtk->keyid);
++
++	/* Detect possible key reinstallation */
++	if (sm->igtk.igtk_len == len &&
++	    os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
++		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++			"WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
++			keyidx);
++		return  0;
++	}
++
++	wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++		"WPA: IGTK keyid %d pn %02x%02x%02x%02x%02x%02x",
++		keyidx, MAC2STR(igtk->pn));
++	wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK", igtk->igtk, len);
++	if (keyidx > 4095) {
++		wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
++			"WPA: Invalid IGTK KeyID %d", keyidx);
++		return -1;
++	}
++	if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
++			   broadcast_ether_addr,
++			   keyidx, 0, igtk->pn, sizeof(igtk->pn),
++			   igtk->igtk, len) < 0) {
++		wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
++			"WPA: Failed to configure IGTK to the driver");
++		return -1;
++	}
++
++	sm->igtk.igtk_len = len;
++	os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++
++	return 0;
++}
++#endif /* CONFIG_IEEE80211W */
++
++
+ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ 			       struct wpa_eapol_ie_parse *ie)
+ {
+@@ -864,30 +918,14 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ 	if (ie->igtk) {
+ 		size_t len;
+ 		const struct wpa_igtk_kde *igtk;
+-		u16 keyidx;
++
+ 		len = wpa_cipher_key_len(sm->mgmt_group_cipher);
+ 		if (ie->igtk_len != WPA_IGTK_KDE_PREFIX_LEN + len)
+ 			return -1;
++
+ 		igtk = (const struct wpa_igtk_kde *) ie->igtk;
+-		keyidx = WPA_GET_LE16(igtk->keyid);
+-		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, "WPA: IGTK keyid %d "
+-			"pn %02x%02x%02x%02x%02x%02x",
+-			keyidx, MAC2STR(igtk->pn));
+-		wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK",
+-				igtk->igtk, len);
+-		if (keyidx > 4095) {
+-			wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
+-				"WPA: Invalid IGTK KeyID %d", keyidx);
+-			return -1;
+-		}
+-		if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
+-				   broadcast_ether_addr,
+-				   keyidx, 0, igtk->pn, sizeof(igtk->pn),
+-				   igtk->igtk, len) < 0) {
+-			wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
+-				"WPA: Failed to configure IGTK to the driver");
++		if (wpa_supplicant_install_igtk(sm, igtk) < 0)
+ 			return -1;
+-		}
+ 	}
+ 
+ 	return 0;
+@@ -2307,7 +2345,7 @@ void wpa_sm_deinit(struct wpa_sm *sm)
+  */
+ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ {
+-	int clear_ptk = 1;
++	int clear_keys = 1;
+ 
+ 	if (sm == NULL)
+ 		return;
+@@ -2333,11 +2371,11 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ 		/* Prepare for the next transition */
+ 		wpa_ft_prepare_auth_request(sm, NULL);
+ 
+-		clear_ptk = 0;
++		clear_keys = 0;
+ 	}
+ #endif /* CONFIG_IEEE80211R */
+ 
+-	if (clear_ptk) {
++	if (clear_keys) {
+ 		/*
+ 		 * IEEE 802.11, 8.4.10: Delete PTK SA on (re)association if
+ 		 * this is not part of a Fast BSS Transition.
+@@ -2347,6 +2385,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ 		os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ 		sm->tptk_set = 0;
+ 		os_memset(&sm->tptk, 0, sizeof(sm->tptk));
++		os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++#ifdef CONFIG_IEEE80211W
++		os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++#endif /* CONFIG_IEEE80211W */
+ 	}
+ 
+ #ifdef CONFIG_TDLS
+@@ -2877,6 +2919,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
+ 	os_memset(sm->pmk, 0, sizeof(sm->pmk));
+ 	os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ 	os_memset(&sm->tptk, 0, sizeof(sm->tptk));
++	os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++#ifdef CONFIG_IEEE80211W
++	os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++#endif /* CONFIG_IEEE80211W */
+ #ifdef CONFIG_IEEE80211R
+ 	os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
+ 	os_memset(sm->pmk_r0, 0, sizeof(sm->pmk_r0));
+@@ -2949,29 +2995,11 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+ 		os_memset(&gd, 0, sizeof(gd));
+ #ifdef CONFIG_IEEE80211W
+ 	} else if (subelem_id == WNM_SLEEP_SUBELEM_IGTK) {
+-		struct wpa_igtk_kde igd;
+-		u16 keyidx;
+-
+-		os_memset(&igd, 0, sizeof(igd));
+-		keylen = wpa_cipher_key_len(sm->mgmt_group_cipher);
+-		os_memcpy(igd.keyid, buf + 2, 2);
+-		os_memcpy(igd.pn, buf + 4, 6);
+-
+-		keyidx = WPA_GET_LE16(igd.keyid);
+-		os_memcpy(igd.igtk, buf + 10, keylen);
+-
+-		wpa_hexdump_key(MSG_DEBUG, "Install IGTK (WNM SLEEP)",
+-				igd.igtk, keylen);
+-		if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
+-				   broadcast_ether_addr,
+-				   keyidx, 0, igd.pn, sizeof(igd.pn),
+-				   igd.igtk, keylen) < 0) {
+-			wpa_printf(MSG_DEBUG, "Failed to install the IGTK in "
+-				   "WNM mode");
+-			os_memset(&igd, 0, sizeof(igd));
++		const struct wpa_igtk_kde *igtk;
++
++		igtk = (const struct wpa_igtk_kde *) (buf + 2);
++		if (wpa_supplicant_install_igtk(sm, igtk) < 0)
+ 			return -1;
+-		}
+-		os_memset(&igd, 0, sizeof(igd));
+ #endif /* CONFIG_IEEE80211W */
+ 	} else {
+ 		wpa_printf(MSG_DEBUG, "Unknown element id");
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index f653ba6..afc9e37 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -31,6 +31,10 @@ struct wpa_sm {
+ 	u8 rx_replay_counter[WPA_REPLAY_COUNTER_LEN];
+ 	int rx_replay_counter_set;
+ 	u8 request_counter[WPA_REPLAY_COUNTER_LEN];
++	struct wpa_gtk gtk;
++#ifdef CONFIG_IEEE80211W
++	struct wpa_igtk igtk;
++#endif /* CONFIG_IEEE80211W */
+ 
+ 	struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
+ 
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
new file mode 100644
index 0000000..e39bbf6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
@@ -0,0 +1,187 @@
+From a6caab8060ab60876e233306f5c586451169eba1 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Oct 2017 12:12:24 +0300
+Subject: [PATCH 3/7] Extend protection of GTK/IGTK reinstallation of WNM-Sleep
+ Mode cases
+
+This extends the protection to track last configured GTK/IGTK value
+separately from EAPOL-Key frames and WNM-Sleep Mode frames to cover a
+corner case where these two different mechanisms may get used when the
+GTK/IGTK has changed and tracking a single value is not sufficient to
+detect a possible key reconfiguration.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+
+Upstream-Status: Backport
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/rsn_supp/wpa.c   | 53 +++++++++++++++++++++++++++++++++++++---------------
+ src/rsn_supp/wpa_i.h |  2 ++
+ 2 files changed, 40 insertions(+), 15 deletions(-)
+
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 95bd7be..7a2c68d 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -709,14 +709,17 @@ struct wpa_gtk_data {
+ 
+ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ 				      const struct wpa_gtk_data *gd,
+-				      const u8 *key_rsc)
++				      const u8 *key_rsc, int wnm_sleep)
+ {
+ 	const u8 *_gtk = gd->gtk;
+ 	u8 gtk_buf[32];
+ 
+ 	/* Detect possible key reinstallation */
+-	if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
+-	    os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
++	if ((sm->gtk.gtk_len == (size_t) gd->gtk_len &&
++	     os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) ||
++	    (sm->gtk_wnm_sleep.gtk_len == (size_t) gd->gtk_len &&
++	     os_memcmp(sm->gtk_wnm_sleep.gtk, gd->gtk,
++		       sm->gtk_wnm_sleep.gtk_len) == 0)) {
+ 		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ 			"WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
+ 			gd->keyidx, gd->tx, gd->gtk_len);
+@@ -757,8 +760,14 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ 	}
+ 	os_memset(gtk_buf, 0, sizeof(gtk_buf));
+ 
+-	sm->gtk.gtk_len = gd->gtk_len;
+-	os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++	if (wnm_sleep) {
++		sm->gtk_wnm_sleep.gtk_len = gd->gtk_len;
++		os_memcpy(sm->gtk_wnm_sleep.gtk, gd->gtk,
++			  sm->gtk_wnm_sleep.gtk_len);
++	} else {
++		sm->gtk.gtk_len = gd->gtk_len;
++		os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++	}
+ 
+ 	return 0;
+ }
+@@ -852,7 +861,7 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+ 	    (wpa_supplicant_check_group_cipher(sm, sm->group_cipher,
+ 					       gtk_len, gtk_len,
+ 					       &gd.key_rsc_len, &gd.alg) ||
+-	     wpa_supplicant_install_gtk(sm, &gd, key_rsc))) {
++	     wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0))) {
+ 		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ 			"RSN: Failed to install GTK");
+ 		os_memset(&gd, 0, sizeof(gd));
+@@ -868,14 +877,18 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+ 
+ #ifdef CONFIG_IEEE80211W
+ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
+-				       const struct wpa_igtk_kde *igtk)
++				       const struct wpa_igtk_kde *igtk,
++				       int wnm_sleep)
+ {
+ 	size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
+ 	u16 keyidx = WPA_GET_LE16(igtk->keyid);
+ 
+ 	/* Detect possible key reinstallation */
+-	if (sm->igtk.igtk_len == len &&
+-	    os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
++	if ((sm->igtk.igtk_len == len &&
++	     os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) ||
++	    (sm->igtk_wnm_sleep.igtk_len == len &&
++	     os_memcmp(sm->igtk_wnm_sleep.igtk, igtk->igtk,
++		       sm->igtk_wnm_sleep.igtk_len) == 0)) {
+ 		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ 			"WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
+ 			keyidx);
+@@ -900,8 +913,14 @@ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
+ 		return -1;
+ 	}
+ 
+-	sm->igtk.igtk_len = len;
+-	os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++	if (wnm_sleep) {
++		sm->igtk_wnm_sleep.igtk_len = len;
++		os_memcpy(sm->igtk_wnm_sleep.igtk, igtk->igtk,
++			  sm->igtk_wnm_sleep.igtk_len);
++	} else {
++		sm->igtk.igtk_len = len;
++		os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++	}
+ 
+ 	return 0;
+ }
+@@ -924,7 +943,7 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ 			return -1;
+ 
+ 		igtk = (const struct wpa_igtk_kde *) ie->igtk;
+-		if (wpa_supplicant_install_igtk(sm, igtk) < 0)
++		if (wpa_supplicant_install_igtk(sm, igtk, 0) < 0)
+ 			return -1;
+ 	}
+ 
+@@ -1574,7 +1593,7 @@ static void wpa_supplicant_process_1_of_2(struct wpa_sm *sm,
+ 	if (wpa_supplicant_rsc_relaxation(sm, key->key_rsc))
+ 		key_rsc = null_rsc;
+ 
+-	if (wpa_supplicant_install_gtk(sm, &gd, key_rsc) ||
++	if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) ||
+ 	    wpa_supplicant_send_2_of_2(sm, key, ver, key_info) < 0)
+ 		goto failed;
+ 	os_memset(&gd, 0, sizeof(gd));
+@@ -2386,8 +2405,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ 		sm->tptk_set = 0;
+ 		os_memset(&sm->tptk, 0, sizeof(sm->tptk));
+ 		os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++		os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
+ #ifdef CONFIG_IEEE80211W
+ 		os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++		os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
+ #endif /* CONFIG_IEEE80211W */
+ 	}
+ 
+@@ -2920,8 +2941,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
+ 	os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ 	os_memset(&sm->tptk, 0, sizeof(sm->tptk));
+ 	os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++	os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
+ #ifdef CONFIG_IEEE80211W
+ 	os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++	os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
+ #endif /* CONFIG_IEEE80211W */
+ #ifdef CONFIG_IEEE80211R
+ 	os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
+@@ -2986,7 +3009,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+ 
+ 		wpa_hexdump_key(MSG_DEBUG, "Install GTK (WNM SLEEP)",
+ 				gd.gtk, gd.gtk_len);
+-		if (wpa_supplicant_install_gtk(sm, &gd, key_rsc)) {
++		if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 1)) {
+ 			os_memset(&gd, 0, sizeof(gd));
+ 			wpa_printf(MSG_DEBUG, "Failed to install the GTK in "
+ 				   "WNM mode");
+@@ -2998,7 +3021,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+ 		const struct wpa_igtk_kde *igtk;
+ 
+ 		igtk = (const struct wpa_igtk_kde *) (buf + 2);
+-		if (wpa_supplicant_install_igtk(sm, igtk) < 0)
++		if (wpa_supplicant_install_igtk(sm, igtk, 1) < 0)
+ 			return -1;
+ #endif /* CONFIG_IEEE80211W */
+ 	} else {
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index afc9e37..9a54631 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -32,8 +32,10 @@ struct wpa_sm {
+ 	int rx_replay_counter_set;
+ 	u8 request_counter[WPA_REPLAY_COUNTER_LEN];
+ 	struct wpa_gtk gtk;
++	struct wpa_gtk gtk_wnm_sleep;
+ #ifdef CONFIG_IEEE80211W
+ 	struct wpa_igtk igtk;
++	struct wpa_igtk igtk_wnm_sleep;
+ #endif /* CONFIG_IEEE80211W */
+ 
+ 	struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0004-Prevent-installation-of-an-all-zero-TK.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0004-Prevent-installation-of-an-all-zero-TK.patch
new file mode 100644
index 0000000..5103625
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0004-Prevent-installation-of-an-all-zero-TK.patch
@@ -0,0 +1,82 @@
+From abf941647f2dc33b0b59612f525e1b292331cc9f Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Fri, 29 Sep 2017 04:22:51 +0200
+Subject: [PATCH 4/7] Prevent installation of an all-zero TK
+
+Properly track whether a PTK has already been installed to the driver
+and the TK part cleared from memory. This prevents an attacker from
+trying to trick the client into installing an all-zero TK.
+
+This fixes the earlier fix in commit
+ad00d64e7d8827b3cebd665a0ceb08adabf15e1e ('Fix TK configuration to the
+driver in EAPOL-Key 3/4 retry case') which did not take into account
+possibility of an extra message 1/4 showing up between retries of
+message 3/4.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+
+Upstream-Status: Backport
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/common/wpa_common.h | 1 +
+ src/rsn_supp/wpa.c      | 5 ++---
+ src/rsn_supp/wpa_i.h    | 1 -
+ 3 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
+index d200285..1021ccb 100644
+--- a/src/common/wpa_common.h
++++ b/src/common/wpa_common.h
+@@ -215,6 +215,7 @@ struct wpa_ptk {
+ 	size_t kck_len;
+ 	size_t kek_len;
+ 	size_t tk_len;
++	int installed; /* 1 if key has already been installed to driver */
+ };
+ 
+ struct wpa_gtk {
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 7a2c68d..0550a41 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -510,7 +510,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
+ 		os_memset(buf, 0, sizeof(buf));
+ 	}
+ 	sm->tptk_set = 1;
+-	sm->tk_to_set = 1;
+ 
+ 	kde = sm->assoc_wpa_ie;
+ 	kde_len = sm->assoc_wpa_ie_len;
+@@ -615,7 +614,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
+ 	enum wpa_alg alg;
+ 	const u8 *key_rsc;
+ 
+-	if (!sm->tk_to_set) {
++	if (sm->ptk.installed) {
+ 		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ 			"WPA: Do not re-install same PTK to the driver");
+ 		return 0;
+@@ -659,7 +658,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
+ 
+ 	/* TK is not needed anymore in supplicant */
+ 	os_memset(sm->ptk.tk, 0, WPA_TK_MAX_LEN);
+-	sm->tk_to_set = 0;
++	sm->ptk.installed = 1;
+ 
+ 	if (sm->wpa_ptk_rekey) {
+ 		eloop_cancel_timeout(wpa_sm_rekey_ptk, sm, NULL);
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index 9a54631..41f371f 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -24,7 +24,6 @@ struct wpa_sm {
+ 	struct wpa_ptk ptk, tptk;
+ 	int ptk_set, tptk_set;
+ 	unsigned int msg_3_of_4_ok:1;
+-	unsigned int tk_to_set:1;
+ 	u8 snonce[WPA_NONCE_LEN];
+ 	u8 anonce[WPA_NONCE_LEN]; /* ANonce from the last 1/4 msg */
+ 	int renew_snonce;
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
new file mode 100644
index 0000000..b0e1df3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
@@ -0,0 +1,67 @@
+From 804b9d72808cddd822e7dcec4d60f40c1aceda82 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Oct 2017 12:32:57 +0300
+Subject: [PATCH 5/7] Fix PTK rekeying to generate a new ANonce
+
+The Authenticator state machine path for PTK rekeying ended up bypassing
+the AUTHENTICATION2 state where a new ANonce is generated when going
+directly to the PTKSTART state since there is no need to try to
+determine the PMK again in such a case. This is far from ideal since the
+new PTK would depend on a new nonce only from the supplicant.
+
+Fix this by generating a new ANonce when moving to the PTKSTART state
+for the purpose of starting new 4-way handshake to rekey PTK.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+
+Upstream-Status: Backport
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/ap/wpa_auth.c | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
+index 707971d..bf10cc1 100644
+--- a/src/ap/wpa_auth.c
++++ b/src/ap/wpa_auth.c
+@@ -1901,6 +1901,21 @@ SM_STATE(WPA_PTK, AUTHENTICATION2)
+ }
+ 
+ 
++static int wpa_auth_sm_ptk_update(struct wpa_state_machine *sm)
++{
++	if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) {
++		wpa_printf(MSG_ERROR,
++			   "WPA: Failed to get random data for ANonce");
++		sm->Disconnect = TRUE;
++		return -1;
++	}
++	wpa_hexdump(MSG_DEBUG, "WPA: Assign new ANonce", sm->ANonce,
++		    WPA_NONCE_LEN);
++	sm->TimeoutCtr = 0;
++	return 0;
++}
++
++
+ SM_STATE(WPA_PTK, INITPMK)
+ {
+ 	u8 msk[2 * PMK_LEN];
+@@ -2458,9 +2473,12 @@ SM_STEP(WPA_PTK)
+ 		SM_ENTER(WPA_PTK, AUTHENTICATION);
+ 	else if (sm->ReAuthenticationRequest)
+ 		SM_ENTER(WPA_PTK, AUTHENTICATION2);
+-	else if (sm->PTKRequest)
+-		SM_ENTER(WPA_PTK, PTKSTART);
+-	else switch (sm->wpa_ptk_state) {
++	else if (sm->PTKRequest) {
++		if (wpa_auth_sm_ptk_update(sm) < 0)
++			SM_ENTER(WPA_PTK, DISCONNECTED);
++		else
++			SM_ENTER(WPA_PTK, PTKSTART);
++	} else switch (sm->wpa_ptk_state) {
+ 	case WPA_PTK_INITIALIZE:
+ 		break;
+ 	case WPA_PTK_DISCONNECT:
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0006-TDLS-Reject-TPK-TK-reconfiguration.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0006-TDLS-Reject-TPK-TK-reconfiguration.patch
new file mode 100644
index 0000000..72c7d51
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0006-TDLS-Reject-TPK-TK-reconfiguration.patch
@@ -0,0 +1,135 @@
+From 7fd26db2d8147ed662db192c41d7bc15752a601d Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 22 Sep 2017 11:03:15 +0300
+Subject: [PATCH 6/7] TDLS: Reject TPK-TK reconfiguration
+
+Do not try to reconfigure the same TPK-TK to the driver after it has
+been successfully configured. This is an explicit check to avoid issues
+related to resetting the TX/RX packet number. There was already a check
+for this for TPK M2 (retries of that message are ignored completely), so
+that behavior does not get modified.
+
+For TPK M3, the TPK-TK could have been reconfigured, but that was
+followed by immediate teardown of the link due to an issue in updating
+the STA entry. Furthermore, for TDLS with any real security (i.e.,
+ignoring open/WEP), the TPK message exchange is protected on the AP path
+and simple replay attacks are not feasible.
+
+As an additional corner case, make sure the local nonce gets updated if
+the peer uses a very unlikely "random nonce" of all zeros.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+
+Upstream-Status: Backport
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/rsn_supp/tdls.c | 38 ++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 36 insertions(+), 2 deletions(-)
+
+diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
+index e424168..9eb9738 100644
+--- a/src/rsn_supp/tdls.c
++++ b/src/rsn_supp/tdls.c
+@@ -112,6 +112,7 @@ struct wpa_tdls_peer {
+ 		u8 tk[16]; /* TPK-TK; assuming only CCMP will be used */
+ 	} tpk;
+ 	int tpk_set;
++	int tk_set; /* TPK-TK configured to the driver */
+ 	int tpk_success;
+ 	int tpk_in_progress;
+ 
+@@ -192,6 +193,20 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ 	u8 rsc[6];
+ 	enum wpa_alg alg;
+ 
++	if (peer->tk_set) {
++		/*
++		 * This same TPK-TK has already been configured to the driver
++		 * and this new configuration attempt (likely due to an
++		 * unexpected retransmitted frame) would result in clearing
++		 * the TX/RX sequence number which can break security, so must
++		 * not allow that to happen.
++		 */
++		wpa_printf(MSG_INFO, "TDLS: TPK-TK for the peer " MACSTR
++			   " has already been configured to the driver - do not reconfigure",
++			   MAC2STR(peer->addr));
++		return -1;
++	}
++
+ 	os_memset(rsc, 0, 6);
+ 
+ 	switch (peer->cipher) {
+@@ -209,12 +224,15 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ 		return -1;
+ 	}
+ 
++	wpa_printf(MSG_DEBUG, "TDLS: Configure pairwise key for peer " MACSTR,
++		   MAC2STR(peer->addr));
+ 	if (wpa_sm_set_key(sm, alg, peer->addr, -1, 1,
+ 			   rsc, sizeof(rsc), peer->tpk.tk, key_len) < 0) {
+ 		wpa_printf(MSG_WARNING, "TDLS: Failed to set TPK to the "
+ 			   "driver");
+ 		return -1;
+ 	}
++	peer->tk_set = 1;
+ 	return 0;
+ }
+ 
+@@ -696,7 +714,7 @@ static void wpa_tdls_peer_clear(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ 	peer->cipher = 0;
+ 	peer->qos_info = 0;
+ 	peer->wmm_capable = 0;
+-	peer->tpk_set = peer->tpk_success = 0;
++	peer->tk_set = peer->tpk_set = peer->tpk_success = 0;
+ 	peer->chan_switch_enabled = 0;
+ 	os_memset(&peer->tpk, 0, sizeof(peer->tpk));
+ 	os_memset(peer->inonce, 0, WPA_NONCE_LEN);
+@@ -1159,6 +1177,7 @@ skip_rsnie:
+ 		wpa_tdls_peer_free(sm, peer);
+ 		return -1;
+ 	}
++	peer->tk_set = 0; /* A new nonce results in a new TK */
+ 	wpa_hexdump(MSG_DEBUG, "TDLS: Initiator Nonce for TPK handshake",
+ 		    peer->inonce, WPA_NONCE_LEN);
+ 	os_memcpy(ftie->Snonce, peer->inonce, WPA_NONCE_LEN);
+@@ -1751,6 +1770,19 @@ static int wpa_tdls_addset_peer(struct wpa_sm *sm, struct wpa_tdls_peer *peer,
+ }
+ 
+ 
++static int tdls_nonce_set(const u8 *nonce)
++{
++	int i;
++
++	for (i = 0; i < WPA_NONCE_LEN; i++) {
++		if (nonce[i])
++			return 1;
++	}
++
++	return 0;
++}
++
++
+ static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,
+ 				   const u8 *buf, size_t len)
+ {
+@@ -2004,7 +2036,8 @@ skip_rsn:
+ 	peer->rsnie_i_len = kde.rsn_ie_len;
+ 	peer->cipher = cipher;
+ 
+-	if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0) {
++	if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0 ||
++	    !tdls_nonce_set(peer->inonce)) {
+ 		/*
+ 		 * There is no point in updating the RNonce for every obtained
+ 		 * TPK M1 frame (e.g., retransmission due to timeout) with the
+@@ -2020,6 +2053,7 @@ skip_rsn:
+ 				"TDLS: Failed to get random data for responder nonce");
+ 			goto error;
+ 		}
++		peer->tk_set = 0; /* A new nonce results in a new TK */
+ 	}
+ 
+ #if 0
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0007-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0007-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
new file mode 100644
index 0000000..d0978c7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0007-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
@@ -0,0 +1,85 @@
+From a42eb67c42f845faf266b0633d52e17f2a82f511 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 22 Sep 2017 12:06:37 +0300
+Subject: [PATCH 7/7] FT: Do not allow multiple Reassociation Response frames
+
+The driver is expected to not report a second association event without
+the station having explicitly request a new association. As such, this
+case should not be reachable. However, since reconfiguring the same
+pairwise or group keys to the driver could result in nonce reuse issues,
+be extra careful here and do an additional state check to avoid this
+even if the local driver ends up somehow accepting an unexpected
+Reassociation Response frame.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+
+Upstream-Status: Backport
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/rsn_supp/wpa.c    | 3 +++
+ src/rsn_supp/wpa_ft.c | 8 ++++++++
+ src/rsn_supp/wpa_i.h  | 1 +
+ 3 files changed, 12 insertions(+)
+
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 0550a41..2a53c6f 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -2440,6 +2440,9 @@ void wpa_sm_notify_disassoc(struct wpa_sm *sm)
+ #ifdef CONFIG_TDLS
+ 	wpa_tdls_disassoc(sm);
+ #endif /* CONFIG_TDLS */
++#ifdef CONFIG_IEEE80211R
++	sm->ft_reassoc_completed = 0;
++#endif /* CONFIG_IEEE80211R */
+ 
+ 	/* Keys are not needed in the WPA state machine anymore */
+ 	wpa_sm_drop_sa(sm);
+diff --git a/src/rsn_supp/wpa_ft.c b/src/rsn_supp/wpa_ft.c
+index 205793e..d45bb45 100644
+--- a/src/rsn_supp/wpa_ft.c
++++ b/src/rsn_supp/wpa_ft.c
+@@ -153,6 +153,7 @@ static u8 * wpa_ft_gen_req_ies(struct wpa_sm *sm, size_t *len,
+ 	u16 capab;
+ 
+ 	sm->ft_completed = 0;
++	sm->ft_reassoc_completed = 0;
+ 
+ 	buf_len = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
+ 		2 + sm->r0kh_id_len + ric_ies_len + 100;
+@@ -681,6 +682,11 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
+ 		return -1;
+ 	}
+ 
++	if (sm->ft_reassoc_completed) {
++		wpa_printf(MSG_DEBUG, "FT: Reassociation has already been completed for this FT protocol instance - ignore unexpected retransmission");
++		return 0;
++	}
++
+ 	if (wpa_ft_parse_ies(ies, ies_len, &parse) < 0) {
+ 		wpa_printf(MSG_DEBUG, "FT: Failed to parse IEs");
+ 		return -1;
+@@ -781,6 +787,8 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
+ 		return -1;
+ 	}
+ 
++	sm->ft_reassoc_completed = 1;
++
+ 	if (wpa_ft_process_gtk_subelem(sm, parse.gtk, parse.gtk_len) < 0)
+ 		return -1;
+ 
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index 41f371f..56f88dc 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -128,6 +128,7 @@ struct wpa_sm {
+ 	size_t r0kh_id_len;
+ 	u8 r1kh_id[FT_R1KH_ID_LEN];
+ 	int ft_completed;
++	int ft_reassoc_completed;
+ 	int over_the_ds_in_progress;
+ 	u8 target_ap[ETH_ALEN]; /* over-the-DS target AP */
+ 	int set_ptk_after_assoc;
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/key-replay-cve-multiple.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/key-replay-cve-multiple.patch
deleted file mode 100644
index 694da8f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/key-replay-cve-multiple.patch
+++ /dev/null
@@ -1,984 +0,0 @@
-The WPA2 four-way handshake protocol is vulnerable to replay attacks which can
-result in unauthenticated clients gaining access to the network.
-
-Backport a number of patches from upstream to fix this.
-
-CVE: CVE-2017-13077
-CVE: CVE-2017-13078
-CVE: CVE-2017-13079
-CVE: CVE-2017-13080
-CVE: CVE-2017-13081
-CVE: CVE-2017-13082
-CVE: CVE-2017-13086
-CVE: CVE-2017-13087
-CVE: CVE-2017-13088
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From cf4cab804c7afd5c45505528a8d16e46163243a2 Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Fri, 14 Jul 2017 15:15:35 +0200
-Subject: [PATCH 1/8] hostapd: Avoid key reinstallation in FT handshake
-
-Do not reinstall TK to the driver during Reassociation Response frame
-processing if the first attempt of setting the TK succeeded. This avoids
-issues related to clearing the TX/RX PN that could result in reusing
-same PN values for transmitted frames (e.g., due to CCM nonce reuse and
-also hitting replay protection on the receiver) and accepting replayed
-frames on RX side.
-
-This issue was introduced by the commit
-0e84c25434e6a1f283c7b4e62e483729085b78d2 ('FT: Fix PTK configuration in
-authenticator') which allowed wpa_ft_install_ptk() to be called multiple
-times with the same PTK. While the second configuration attempt is
-needed with some drivers, it must be done only if the first attempt
-failed.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
----
- src/ap/ieee802_11.c  | 16 +++++++++++++---
- src/ap/wpa_auth.c    | 11 +++++++++++
- src/ap/wpa_auth.h    |  3 ++-
- src/ap/wpa_auth_ft.c | 10 ++++++++++
- src/ap/wpa_auth_i.h  |  1 +
- 5 files changed, 37 insertions(+), 4 deletions(-)
-
-diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
-index 4e04169..333035f 100644
---- a/src/ap/ieee802_11.c
-+++ b/src/ap/ieee802_11.c
-@@ -1841,6 +1841,7 @@ static int add_associated_sta(struct hostapd_data *hapd,
- {
- 	struct ieee80211_ht_capabilities ht_cap;
- 	struct ieee80211_vht_capabilities vht_cap;
-+	int set = 1;
- 
- 	/*
- 	 * Remove the STA entry to ensure the STA PS state gets cleared and
-@@ -1848,9 +1849,18 @@ static int add_associated_sta(struct hostapd_data *hapd,
- 	 * FT-over-the-DS, where a station re-associates back to the same AP but
- 	 * skips the authentication flow, or if working with a driver that
- 	 * does not support full AP client state.
-+	 *
-+	 * Skip this if the STA has already completed FT reassociation and the
-+	 * TK has been configured since the TX/RX PN must not be reset to 0 for
-+	 * the same key.
- 	 */
--	if (!sta->added_unassoc)
-+	if (!sta->added_unassoc &&
-+	    (!(sta->flags & WLAN_STA_AUTHORIZED) ||
-+	     !wpa_auth_sta_ft_tk_already_set(sta->wpa_sm))) {
- 		hostapd_drv_sta_remove(hapd, sta->addr);
-+		wpa_auth_sm_event(sta->wpa_sm, WPA_DRV_STA_REMOVED);
-+		set = 0;
-+	}
- 
- #ifdef CONFIG_IEEE80211N
- 	if (sta->flags & WLAN_STA_HT)
-@@ -1873,11 +1883,11 @@ static int add_associated_sta(struct hostapd_data *hapd,
- 			    sta->flags & WLAN_STA_VHT ? &vht_cap : NULL,
- 			    sta->flags | WLAN_STA_ASSOC, sta->qosinfo,
- 			    sta->vht_opmode, sta->p2p_ie ? 1 : 0,
--			    sta->added_unassoc)) {
-+			    set)) {
- 		hostapd_logger(hapd, sta->addr,
- 			       HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE,
- 			       "Could not %s STA to kernel driver",
--			       sta->added_unassoc ? "set" : "add");
-+			       set ? "set" : "add");
- 
- 		if (sta->added_unassoc) {
- 			hostapd_drv_sta_remove(hapd, sta->addr);
-diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
-index 3587086..707971d 100644
---- a/src/ap/wpa_auth.c
-+++ b/src/ap/wpa_auth.c
-@@ -1745,6 +1745,9 @@ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event)
- #else /* CONFIG_IEEE80211R */
- 		break;
- #endif /* CONFIG_IEEE80211R */
-+	case WPA_DRV_STA_REMOVED:
-+		sm->tk_already_set = FALSE;
-+		return 0;
- 	}
- 
- #ifdef CONFIG_IEEE80211R
-@@ -3250,6 +3253,14 @@ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm)
- }
- 
- 
-+int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm)
-+{
-+	if (!sm || !wpa_key_mgmt_ft(sm->wpa_key_mgmt))
-+		return 0;
-+	return sm->tk_already_set;
-+}
-+
-+
- int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
- 			     struct rsn_pmksa_cache_entry *entry)
- {
-diff --git a/src/ap/wpa_auth.h b/src/ap/wpa_auth.h
-index 0de8d97..97461b0 100644
---- a/src/ap/wpa_auth.h
-+++ b/src/ap/wpa_auth.h
-@@ -267,7 +267,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
- 		 u8 *data, size_t data_len);
- enum wpa_event {
- 	WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH,
--	WPA_REAUTH_EAPOL, WPA_ASSOC_FT
-+	WPA_REAUTH_EAPOL, WPA_ASSOC_FT, WPA_DRV_STA_REMOVED
- };
- void wpa_remove_ptk(struct wpa_state_machine *sm);
- int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event);
-@@ -280,6 +280,7 @@ int wpa_auth_pairwise_set(struct wpa_state_machine *sm);
- int wpa_auth_get_pairwise(struct wpa_state_machine *sm);
- int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm);
- int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm);
-+int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm);
- int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
- 			     struct rsn_pmksa_cache_entry *entry);
- struct rsn_pmksa_cache_entry *
-diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c
-index 42242a5..e63b99a 100644
---- a/src/ap/wpa_auth_ft.c
-+++ b/src/ap/wpa_auth_ft.c
-@@ -780,6 +780,14 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
- 		return;
- 	}
- 
-+	if (sm->tk_already_set) {
-+		/* Must avoid TK reconfiguration to prevent clearing of TX/RX
-+		 * PN in the driver */
-+		wpa_printf(MSG_DEBUG,
-+			   "FT: Do not re-install same PTK to the driver");
-+		return;
-+	}
-+
- 	/* FIX: add STA entry to kernel/driver here? The set_key will fail
- 	 * most likely without this.. At the moment, STA entry is added only
- 	 * after association has been completed. This function will be called
-@@ -792,6 +800,7 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
- 
- 	/* FIX: MLME-SetProtection.Request(TA, Tx_Rx) */
- 	sm->pairwise_set = TRUE;
-+	sm->tk_already_set = TRUE;
- }
- 
- 
-@@ -898,6 +907,7 @@ static int wpa_ft_process_auth_req(struct wpa_state_machine *sm,
- 
- 	sm->pairwise = pairwise;
- 	sm->PTK_valid = TRUE;
-+	sm->tk_already_set = FALSE;
- 	wpa_ft_install_ptk(sm);
- 
- 	buflen = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
-diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h
-index 72b7eb3..7fd8f05 100644
---- a/src/ap/wpa_auth_i.h
-+++ b/src/ap/wpa_auth_i.h
-@@ -65,6 +65,7 @@ struct wpa_state_machine {
- 	struct wpa_ptk PTK;
- 	Boolean PTK_valid;
- 	Boolean pairwise_set;
-+	Boolean tk_already_set;
- 	int keycount;
- 	Boolean Pair;
- 	struct wpa_key_replay_counter {
--- 
-2.7.4
-
-From 927f891007c402fefd1ff384645b3f07597c3ede Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Wed, 12 Jul 2017 16:03:24 +0200
-Subject: [PATCH 2/8] Prevent reinstallation of an already in-use group key
-
-Track the current GTK and IGTK that is in use and when receiving a
-(possibly retransmitted) Group Message 1 or WNM-Sleep Mode Response, do
-not install the given key if it is already in use. This prevents an
-attacker from trying to trick the client into resetting or lowering the
-sequence counter associated to the group key.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
----
- src/common/wpa_common.h |  11 +++++
- src/rsn_supp/wpa.c      | 116 ++++++++++++++++++++++++++++++------------------
- src/rsn_supp/wpa_i.h    |   4 ++
- 3 files changed, 87 insertions(+), 44 deletions(-)
-
-diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
-index af1d0f0..d200285 100644
---- a/src/common/wpa_common.h
-+++ b/src/common/wpa_common.h
-@@ -217,6 +217,17 @@ struct wpa_ptk {
- 	size_t tk_len;
- };
- 
-+struct wpa_gtk {
-+	u8 gtk[WPA_GTK_MAX_LEN];
-+	size_t gtk_len;
-+};
-+
-+#ifdef CONFIG_IEEE80211W
-+struct wpa_igtk {
-+	u8 igtk[WPA_IGTK_MAX_LEN];
-+	size_t igtk_len;
-+};
-+#endif /* CONFIG_IEEE80211W */
- 
- /* WPA IE version 1
-  * 00-50-f2:1 (OUI:OUI type)
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 3c47879..95bd7be 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -714,6 +714,15 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- 	const u8 *_gtk = gd->gtk;
- 	u8 gtk_buf[32];
- 
-+	/* Detect possible key reinstallation */
-+	if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-+	    os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
-+		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+			"WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
-+			gd->keyidx, gd->tx, gd->gtk_len);
-+		return 0;
-+	}
-+
- 	wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len);
- 	wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- 		"WPA: Installing GTK to the driver (keyidx=%d tx=%d len=%d)",
-@@ -748,6 +757,9 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- 	}
- 	os_memset(gtk_buf, 0, sizeof(gtk_buf));
- 
-+	sm->gtk.gtk_len = gd->gtk_len;
-+	os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+
- 	return 0;
- }
- 
-@@ -854,6 +866,48 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
- }
- 
- 
-+#ifdef CONFIG_IEEE80211W
-+static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
-+				       const struct wpa_igtk_kde *igtk)
-+{
-+	size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
-+	u16 keyidx = WPA_GET_LE16(igtk->keyid);
-+
-+	/* Detect possible key reinstallation */
-+	if (sm->igtk.igtk_len == len &&
-+	    os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
-+		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+			"WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
-+			keyidx);
-+		return  0;
-+	}
-+
-+	wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
-+		"WPA: IGTK keyid %d pn %02x%02x%02x%02x%02x%02x",
-+		keyidx, MAC2STR(igtk->pn));
-+	wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK", igtk->igtk, len);
-+	if (keyidx > 4095) {
-+		wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-+			"WPA: Invalid IGTK KeyID %d", keyidx);
-+		return -1;
-+	}
-+	if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
-+			   broadcast_ether_addr,
-+			   keyidx, 0, igtk->pn, sizeof(igtk->pn),
-+			   igtk->igtk, len) < 0) {
-+		wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
-+			"WPA: Failed to configure IGTK to the driver");
-+		return -1;
-+	}
-+
-+	sm->igtk.igtk_len = len;
-+	os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+
-+	return 0;
-+}
-+#endif /* CONFIG_IEEE80211W */
-+
-+
- static int ieee80211w_set_keys(struct wpa_sm *sm,
- 			       struct wpa_eapol_ie_parse *ie)
- {
-@@ -864,30 +918,14 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
- 	if (ie->igtk) {
- 		size_t len;
- 		const struct wpa_igtk_kde *igtk;
--		u16 keyidx;
-+
- 		len = wpa_cipher_key_len(sm->mgmt_group_cipher);
- 		if (ie->igtk_len != WPA_IGTK_KDE_PREFIX_LEN + len)
- 			return -1;
-+
- 		igtk = (const struct wpa_igtk_kde *) ie->igtk;
--		keyidx = WPA_GET_LE16(igtk->keyid);
--		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, "WPA: IGTK keyid %d "
--			"pn %02x%02x%02x%02x%02x%02x",
--			keyidx, MAC2STR(igtk->pn));
--		wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK",
--				igtk->igtk, len);
--		if (keyidx > 4095) {
--			wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
--				"WPA: Invalid IGTK KeyID %d", keyidx);
--			return -1;
--		}
--		if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
--				   broadcast_ether_addr,
--				   keyidx, 0, igtk->pn, sizeof(igtk->pn),
--				   igtk->igtk, len) < 0) {
--			wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
--				"WPA: Failed to configure IGTK to the driver");
-+		if (wpa_supplicant_install_igtk(sm, igtk) < 0)
- 			return -1;
--		}
- 	}
- 
- 	return 0;
-@@ -2307,7 +2345,7 @@ void wpa_sm_deinit(struct wpa_sm *sm)
-  */
- void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- {
--	int clear_ptk = 1;
-+	int clear_keys = 1;
- 
- 	if (sm == NULL)
- 		return;
-@@ -2333,11 +2371,11 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- 		/* Prepare for the next transition */
- 		wpa_ft_prepare_auth_request(sm, NULL);
- 
--		clear_ptk = 0;
-+		clear_keys = 0;
- 	}
- #endif /* CONFIG_IEEE80211R */
- 
--	if (clear_ptk) {
-+	if (clear_keys) {
- 		/*
- 		 * IEEE 802.11, 8.4.10: Delete PTK SA on (re)association if
- 		 * this is not part of a Fast BSS Transition.
-@@ -2347,6 +2385,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- 		os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- 		sm->tptk_set = 0;
- 		os_memset(&sm->tptk, 0, sizeof(sm->tptk));
-+		os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+#ifdef CONFIG_IEEE80211W
-+		os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+#endif /* CONFIG_IEEE80211W */
- 	}
- 
- #ifdef CONFIG_TDLS
-@@ -2877,6 +2919,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
- 	os_memset(sm->pmk, 0, sizeof(sm->pmk));
- 	os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- 	os_memset(&sm->tptk, 0, sizeof(sm->tptk));
-+	os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+#ifdef CONFIG_IEEE80211W
-+	os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+#endif /* CONFIG_IEEE80211W */
- #ifdef CONFIG_IEEE80211R
- 	os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
- 	os_memset(sm->pmk_r0, 0, sizeof(sm->pmk_r0));
-@@ -2949,29 +2995,11 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
- 		os_memset(&gd, 0, sizeof(gd));
- #ifdef CONFIG_IEEE80211W
- 	} else if (subelem_id == WNM_SLEEP_SUBELEM_IGTK) {
--		struct wpa_igtk_kde igd;
--		u16 keyidx;
--
--		os_memset(&igd, 0, sizeof(igd));
--		keylen = wpa_cipher_key_len(sm->mgmt_group_cipher);
--		os_memcpy(igd.keyid, buf + 2, 2);
--		os_memcpy(igd.pn, buf + 4, 6);
--
--		keyidx = WPA_GET_LE16(igd.keyid);
--		os_memcpy(igd.igtk, buf + 10, keylen);
--
--		wpa_hexdump_key(MSG_DEBUG, "Install IGTK (WNM SLEEP)",
--				igd.igtk, keylen);
--		if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
--				   broadcast_ether_addr,
--				   keyidx, 0, igd.pn, sizeof(igd.pn),
--				   igd.igtk, keylen) < 0) {
--			wpa_printf(MSG_DEBUG, "Failed to install the IGTK in "
--				   "WNM mode");
--			os_memset(&igd, 0, sizeof(igd));
-+		const struct wpa_igtk_kde *igtk;
-+
-+		igtk = (const struct wpa_igtk_kde *) (buf + 2);
-+		if (wpa_supplicant_install_igtk(sm, igtk) < 0)
- 			return -1;
--		}
--		os_memset(&igd, 0, sizeof(igd));
- #endif /* CONFIG_IEEE80211W */
- 	} else {
- 		wpa_printf(MSG_DEBUG, "Unknown element id");
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index f653ba6..afc9e37 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -31,6 +31,10 @@ struct wpa_sm {
- 	u8 rx_replay_counter[WPA_REPLAY_COUNTER_LEN];
- 	int rx_replay_counter_set;
- 	u8 request_counter[WPA_REPLAY_COUNTER_LEN];
-+	struct wpa_gtk gtk;
-+#ifdef CONFIG_IEEE80211W
-+	struct wpa_igtk igtk;
-+#endif /* CONFIG_IEEE80211W */
- 
- 	struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
- 
--- 
-2.7.4
-
-From 8280294e74846ea342389a0cd17215050fa5afe8 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Sun, 1 Oct 2017 12:12:24 +0300
-Subject: [PATCH 3/8] Extend protection of GTK/IGTK reinstallation of WNM-Sleep
- Mode cases
-
-This extends the protection to track last configured GTK/IGTK value
-separately from EAPOL-Key frames and WNM-Sleep Mode frames to cover a
-corner case where these two different mechanisms may get used when the
-GTK/IGTK has changed and tracking a single value is not sufficient to
-detect a possible key reconfiguration.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/rsn_supp/wpa.c   | 53 +++++++++++++++++++++++++++++++++++++---------------
- src/rsn_supp/wpa_i.h |  2 ++
- 2 files changed, 40 insertions(+), 15 deletions(-)
-
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 95bd7be..7a2c68d 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -709,14 +709,17 @@ struct wpa_gtk_data {
- 
- static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- 				      const struct wpa_gtk_data *gd,
--				      const u8 *key_rsc)
-+				      const u8 *key_rsc, int wnm_sleep)
- {
- 	const u8 *_gtk = gd->gtk;
- 	u8 gtk_buf[32];
- 
- 	/* Detect possible key reinstallation */
--	if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
--	    os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
-+	if ((sm->gtk.gtk_len == (size_t) gd->gtk_len &&
-+	     os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) ||
-+	    (sm->gtk_wnm_sleep.gtk_len == (size_t) gd->gtk_len &&
-+	     os_memcmp(sm->gtk_wnm_sleep.gtk, gd->gtk,
-+		       sm->gtk_wnm_sleep.gtk_len) == 0)) {
- 		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- 			"WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
- 			gd->keyidx, gd->tx, gd->gtk_len);
-@@ -757,8 +760,14 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
- 	}
- 	os_memset(gtk_buf, 0, sizeof(gtk_buf));
- 
--	sm->gtk.gtk_len = gd->gtk_len;
--	os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+	if (wnm_sleep) {
-+		sm->gtk_wnm_sleep.gtk_len = gd->gtk_len;
-+		os_memcpy(sm->gtk_wnm_sleep.gtk, gd->gtk,
-+			  sm->gtk_wnm_sleep.gtk_len);
-+	} else {
-+		sm->gtk.gtk_len = gd->gtk_len;
-+		os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
-+	}
- 
- 	return 0;
- }
-@@ -852,7 +861,7 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
- 	    (wpa_supplicant_check_group_cipher(sm, sm->group_cipher,
- 					       gtk_len, gtk_len,
- 					       &gd.key_rsc_len, &gd.alg) ||
--	     wpa_supplicant_install_gtk(sm, &gd, key_rsc))) {
-+	     wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0))) {
- 		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- 			"RSN: Failed to install GTK");
- 		os_memset(&gd, 0, sizeof(gd));
-@@ -868,14 +877,18 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
- 
- #ifdef CONFIG_IEEE80211W
- static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
--				       const struct wpa_igtk_kde *igtk)
-+				       const struct wpa_igtk_kde *igtk,
-+				       int wnm_sleep)
- {
- 	size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
- 	u16 keyidx = WPA_GET_LE16(igtk->keyid);
- 
- 	/* Detect possible key reinstallation */
--	if (sm->igtk.igtk_len == len &&
--	    os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
-+	if ((sm->igtk.igtk_len == len &&
-+	     os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) ||
-+	    (sm->igtk_wnm_sleep.igtk_len == len &&
-+	     os_memcmp(sm->igtk_wnm_sleep.igtk, igtk->igtk,
-+		       sm->igtk_wnm_sleep.igtk_len) == 0)) {
- 		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- 			"WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
- 			keyidx);
-@@ -900,8 +913,14 @@ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
- 		return -1;
- 	}
- 
--	sm->igtk.igtk_len = len;
--	os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+	if (wnm_sleep) {
-+		sm->igtk_wnm_sleep.igtk_len = len;
-+		os_memcpy(sm->igtk_wnm_sleep.igtk, igtk->igtk,
-+			  sm->igtk_wnm_sleep.igtk_len);
-+	} else {
-+		sm->igtk.igtk_len = len;
-+		os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
-+	}
- 
- 	return 0;
- }
-@@ -924,7 +943,7 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
- 			return -1;
- 
- 		igtk = (const struct wpa_igtk_kde *) ie->igtk;
--		if (wpa_supplicant_install_igtk(sm, igtk) < 0)
-+		if (wpa_supplicant_install_igtk(sm, igtk, 0) < 0)
- 			return -1;
- 	}
- 
-@@ -1574,7 +1593,7 @@ static void wpa_supplicant_process_1_of_2(struct wpa_sm *sm,
- 	if (wpa_supplicant_rsc_relaxation(sm, key->key_rsc))
- 		key_rsc = null_rsc;
- 
--	if (wpa_supplicant_install_gtk(sm, &gd, key_rsc) ||
-+	if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) ||
- 	    wpa_supplicant_send_2_of_2(sm, key, ver, key_info) < 0)
- 		goto failed;
- 	os_memset(&gd, 0, sizeof(gd));
-@@ -2386,8 +2405,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
- 		sm->tptk_set = 0;
- 		os_memset(&sm->tptk, 0, sizeof(sm->tptk));
- 		os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+		os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
- #ifdef CONFIG_IEEE80211W
- 		os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+		os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
- #endif /* CONFIG_IEEE80211W */
- 	}
- 
-@@ -2920,8 +2941,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
- 	os_memset(&sm->ptk, 0, sizeof(sm->ptk));
- 	os_memset(&sm->tptk, 0, sizeof(sm->tptk));
- 	os_memset(&sm->gtk, 0, sizeof(sm->gtk));
-+	os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
- #ifdef CONFIG_IEEE80211W
- 	os_memset(&sm->igtk, 0, sizeof(sm->igtk));
-+	os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
- #endif /* CONFIG_IEEE80211W */
- #ifdef CONFIG_IEEE80211R
- 	os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
-@@ -2986,7 +3009,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
- 
- 		wpa_hexdump_key(MSG_DEBUG, "Install GTK (WNM SLEEP)",
- 				gd.gtk, gd.gtk_len);
--		if (wpa_supplicant_install_gtk(sm, &gd, key_rsc)) {
-+		if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 1)) {
- 			os_memset(&gd, 0, sizeof(gd));
- 			wpa_printf(MSG_DEBUG, "Failed to install the GTK in "
- 				   "WNM mode");
-@@ -2998,7 +3021,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
- 		const struct wpa_igtk_kde *igtk;
- 
- 		igtk = (const struct wpa_igtk_kde *) (buf + 2);
--		if (wpa_supplicant_install_igtk(sm, igtk) < 0)
-+		if (wpa_supplicant_install_igtk(sm, igtk, 1) < 0)
- 			return -1;
- #endif /* CONFIG_IEEE80211W */
- 	} else {
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index afc9e37..9a54631 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -32,8 +32,10 @@ struct wpa_sm {
- 	int rx_replay_counter_set;
- 	u8 request_counter[WPA_REPLAY_COUNTER_LEN];
- 	struct wpa_gtk gtk;
-+	struct wpa_gtk gtk_wnm_sleep;
- #ifdef CONFIG_IEEE80211W
- 	struct wpa_igtk igtk;
-+	struct wpa_igtk igtk_wnm_sleep;
- #endif /* CONFIG_IEEE80211W */
- 
- 	struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
--- 
-2.7.4
-
-From 8f82bc94e8697a9d47fa8774dfdaaede1084912c Mon Sep 17 00:00:00 2001
-From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
-Date: Fri, 29 Sep 2017 04:22:51 +0200
-Subject: [PATCH 4/8] Prevent installation of an all-zero TK
-
-Properly track whether a PTK has already been installed to the driver
-and the TK part cleared from memory. This prevents an attacker from
-trying to trick the client into installing an all-zero TK.
-
-This fixes the earlier fix in commit
-ad00d64e7d8827b3cebd665a0ceb08adabf15e1e ('Fix TK configuration to the
-driver in EAPOL-Key 3/4 retry case') which did not take into account
-possibility of an extra message 1/4 showing up between retries of
-message 3/4.
-
-Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
----
- src/common/wpa_common.h | 1 +
- src/rsn_supp/wpa.c      | 5 ++---
- src/rsn_supp/wpa_i.h    | 1 -
- 3 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
-index d200285..1021ccb 100644
---- a/src/common/wpa_common.h
-+++ b/src/common/wpa_common.h
-@@ -215,6 +215,7 @@ struct wpa_ptk {
- 	size_t kck_len;
- 	size_t kek_len;
- 	size_t tk_len;
-+	int installed; /* 1 if key has already been installed to driver */
- };
- 
- struct wpa_gtk {
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 7a2c68d..0550a41 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -510,7 +510,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
- 		os_memset(buf, 0, sizeof(buf));
- 	}
- 	sm->tptk_set = 1;
--	sm->tk_to_set = 1;
- 
- 	kde = sm->assoc_wpa_ie;
- 	kde_len = sm->assoc_wpa_ie_len;
-@@ -615,7 +614,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
- 	enum wpa_alg alg;
- 	const u8 *key_rsc;
- 
--	if (!sm->tk_to_set) {
-+	if (sm->ptk.installed) {
- 		wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
- 			"WPA: Do not re-install same PTK to the driver");
- 		return 0;
-@@ -659,7 +658,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
- 
- 	/* TK is not needed anymore in supplicant */
- 	os_memset(sm->ptk.tk, 0, WPA_TK_MAX_LEN);
--	sm->tk_to_set = 0;
-+	sm->ptk.installed = 1;
- 
- 	if (sm->wpa_ptk_rekey) {
- 		eloop_cancel_timeout(wpa_sm_rekey_ptk, sm, NULL);
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index 9a54631..41f371f 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -24,7 +24,6 @@ struct wpa_sm {
- 	struct wpa_ptk ptk, tptk;
- 	int ptk_set, tptk_set;
- 	unsigned int msg_3_of_4_ok:1;
--	unsigned int tk_to_set:1;
- 	u8 snonce[WPA_NONCE_LEN];
- 	u8 anonce[WPA_NONCE_LEN]; /* ANonce from the last 1/4 msg */
- 	int renew_snonce;
--- 
-2.7.4
-
-From 12fac09b437a1dc8a0f253e265934a8aaf4d2f8b Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Sun, 1 Oct 2017 12:32:57 +0300
-Subject: [PATCH 5/8] Fix PTK rekeying to generate a new ANonce
-
-The Authenticator state machine path for PTK rekeying ended up bypassing
-the AUTHENTICATION2 state where a new ANonce is generated when going
-directly to the PTKSTART state since there is no need to try to
-determine the PMK again in such a case. This is far from ideal since the
-new PTK would depend on a new nonce only from the supplicant.
-
-Fix this by generating a new ANonce when moving to the PTKSTART state
-for the purpose of starting new 4-way handshake to rekey PTK.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/ap/wpa_auth.c | 24 +++++++++++++++++++++---
- 1 file changed, 21 insertions(+), 3 deletions(-)
-
-diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
-index 707971d..bf10cc1 100644
---- a/src/ap/wpa_auth.c
-+++ b/src/ap/wpa_auth.c
-@@ -1901,6 +1901,21 @@ SM_STATE(WPA_PTK, AUTHENTICATION2)
- }
- 
- 
-+static int wpa_auth_sm_ptk_update(struct wpa_state_machine *sm)
-+{
-+	if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) {
-+		wpa_printf(MSG_ERROR,
-+			   "WPA: Failed to get random data for ANonce");
-+		sm->Disconnect = TRUE;
-+		return -1;
-+	}
-+	wpa_hexdump(MSG_DEBUG, "WPA: Assign new ANonce", sm->ANonce,
-+		    WPA_NONCE_LEN);
-+	sm->TimeoutCtr = 0;
-+	return 0;
-+}
-+
-+
- SM_STATE(WPA_PTK, INITPMK)
- {
- 	u8 msk[2 * PMK_LEN];
-@@ -2458,9 +2473,12 @@ SM_STEP(WPA_PTK)
- 		SM_ENTER(WPA_PTK, AUTHENTICATION);
- 	else if (sm->ReAuthenticationRequest)
- 		SM_ENTER(WPA_PTK, AUTHENTICATION2);
--	else if (sm->PTKRequest)
--		SM_ENTER(WPA_PTK, PTKSTART);
--	else switch (sm->wpa_ptk_state) {
-+	else if (sm->PTKRequest) {
-+		if (wpa_auth_sm_ptk_update(sm) < 0)
-+			SM_ENTER(WPA_PTK, DISCONNECTED);
-+		else
-+			SM_ENTER(WPA_PTK, PTKSTART);
-+	} else switch (sm->wpa_ptk_state) {
- 	case WPA_PTK_INITIALIZE:
- 		break;
- 	case WPA_PTK_DISCONNECT:
--- 
-2.7.4
-
-From 6c4bed4f47d1960ec04981a9d50e5076aea5223d Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Fri, 22 Sep 2017 11:03:15 +0300
-Subject: [PATCH 6/8] TDLS: Reject TPK-TK reconfiguration
-
-Do not try to reconfigure the same TPK-TK to the driver after it has
-been successfully configured. This is an explicit check to avoid issues
-related to resetting the TX/RX packet number. There was already a check
-for this for TPK M2 (retries of that message are ignored completely), so
-that behavior does not get modified.
-
-For TPK M3, the TPK-TK could have been reconfigured, but that was
-followed by immediate teardown of the link due to an issue in updating
-the STA entry. Furthermore, for TDLS with any real security (i.e.,
-ignoring open/WEP), the TPK message exchange is protected on the AP path
-and simple replay attacks are not feasible.
-
-As an additional corner case, make sure the local nonce gets updated if
-the peer uses a very unlikely "random nonce" of all zeros.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/rsn_supp/tdls.c | 38 ++++++++++++++++++++++++++++++++++++--
- 1 file changed, 36 insertions(+), 2 deletions(-)
-
-diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
-index e424168..9eb9738 100644
---- a/src/rsn_supp/tdls.c
-+++ b/src/rsn_supp/tdls.c
-@@ -112,6 +112,7 @@ struct wpa_tdls_peer {
- 		u8 tk[16]; /* TPK-TK; assuming only CCMP will be used */
- 	} tpk;
- 	int tpk_set;
-+	int tk_set; /* TPK-TK configured to the driver */
- 	int tpk_success;
- 	int tpk_in_progress;
- 
-@@ -192,6 +193,20 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- 	u8 rsc[6];
- 	enum wpa_alg alg;
- 
-+	if (peer->tk_set) {
-+		/*
-+		 * This same TPK-TK has already been configured to the driver
-+		 * and this new configuration attempt (likely due to an
-+		 * unexpected retransmitted frame) would result in clearing
-+		 * the TX/RX sequence number which can break security, so must
-+		 * not allow that to happen.
-+		 */
-+		wpa_printf(MSG_INFO, "TDLS: TPK-TK for the peer " MACSTR
-+			   " has already been configured to the driver - do not reconfigure",
-+			   MAC2STR(peer->addr));
-+		return -1;
-+	}
-+
- 	os_memset(rsc, 0, 6);
- 
- 	switch (peer->cipher) {
-@@ -209,12 +224,15 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- 		return -1;
- 	}
- 
-+	wpa_printf(MSG_DEBUG, "TDLS: Configure pairwise key for peer " MACSTR,
-+		   MAC2STR(peer->addr));
- 	if (wpa_sm_set_key(sm, alg, peer->addr, -1, 1,
- 			   rsc, sizeof(rsc), peer->tpk.tk, key_len) < 0) {
- 		wpa_printf(MSG_WARNING, "TDLS: Failed to set TPK to the "
- 			   "driver");
- 		return -1;
- 	}
-+	peer->tk_set = 1;
- 	return 0;
- }
- 
-@@ -696,7 +714,7 @@ static void wpa_tdls_peer_clear(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
- 	peer->cipher = 0;
- 	peer->qos_info = 0;
- 	peer->wmm_capable = 0;
--	peer->tpk_set = peer->tpk_success = 0;
-+	peer->tk_set = peer->tpk_set = peer->tpk_success = 0;
- 	peer->chan_switch_enabled = 0;
- 	os_memset(&peer->tpk, 0, sizeof(peer->tpk));
- 	os_memset(peer->inonce, 0, WPA_NONCE_LEN);
-@@ -1159,6 +1177,7 @@ skip_rsnie:
- 		wpa_tdls_peer_free(sm, peer);
- 		return -1;
- 	}
-+	peer->tk_set = 0; /* A new nonce results in a new TK */
- 	wpa_hexdump(MSG_DEBUG, "TDLS: Initiator Nonce for TPK handshake",
- 		    peer->inonce, WPA_NONCE_LEN);
- 	os_memcpy(ftie->Snonce, peer->inonce, WPA_NONCE_LEN);
-@@ -1751,6 +1770,19 @@ static int wpa_tdls_addset_peer(struct wpa_sm *sm, struct wpa_tdls_peer *peer,
- }
- 
- 
-+static int tdls_nonce_set(const u8 *nonce)
-+{
-+	int i;
-+
-+	for (i = 0; i < WPA_NONCE_LEN; i++) {
-+		if (nonce[i])
-+			return 1;
-+	}
-+
-+	return 0;
-+}
-+
-+
- static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,
- 				   const u8 *buf, size_t len)
- {
-@@ -2004,7 +2036,8 @@ skip_rsn:
- 	peer->rsnie_i_len = kde.rsn_ie_len;
- 	peer->cipher = cipher;
- 
--	if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0) {
-+	if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0 ||
-+	    !tdls_nonce_set(peer->inonce)) {
- 		/*
- 		 * There is no point in updating the RNonce for every obtained
- 		 * TPK M1 frame (e.g., retransmission due to timeout) with the
-@@ -2020,6 +2053,7 @@ skip_rsn:
- 				"TDLS: Failed to get random data for responder nonce");
- 			goto error;
- 		}
-+		peer->tk_set = 0; /* A new nonce results in a new TK */
- 	}
- 
- #if 0
--- 
-2.7.4
-
-Note: [PATCH 7/8] only applies to wpa_supplicant
-
-From b372ab0b7daea719749194dc554b26e6367603f2 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Fri, 22 Sep 2017 12:06:37 +0300
-Subject: [PATCH 8/8] FT: Do not allow multiple Reassociation Response frames
-
-The driver is expected to not report a second association event without
-the station having explicitly request a new association. As such, this
-case should not be reachable. However, since reconfiguring the same
-pairwise or group keys to the driver could result in nonce reuse issues,
-be extra careful here and do an additional state check to avoid this
-even if the local driver ends up somehow accepting an unexpected
-Reassociation Response frame.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/rsn_supp/wpa.c    | 3 +++
- src/rsn_supp/wpa_ft.c | 8 ++++++++
- src/rsn_supp/wpa_i.h  | 1 +
- 3 files changed, 12 insertions(+)
-
-diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
-index 0550a41..2a53c6f 100644
---- a/src/rsn_supp/wpa.c
-+++ b/src/rsn_supp/wpa.c
-@@ -2440,6 +2440,9 @@ void wpa_sm_notify_disassoc(struct wpa_sm *sm)
- #ifdef CONFIG_TDLS
- 	wpa_tdls_disassoc(sm);
- #endif /* CONFIG_TDLS */
-+#ifdef CONFIG_IEEE80211R
-+	sm->ft_reassoc_completed = 0;
-+#endif /* CONFIG_IEEE80211R */
- 
- 	/* Keys are not needed in the WPA state machine anymore */
- 	wpa_sm_drop_sa(sm);
-diff --git a/src/rsn_supp/wpa_ft.c b/src/rsn_supp/wpa_ft.c
-index 205793e..d45bb45 100644
---- a/src/rsn_supp/wpa_ft.c
-+++ b/src/rsn_supp/wpa_ft.c
-@@ -153,6 +153,7 @@ static u8 * wpa_ft_gen_req_ies(struct wpa_sm *sm, size_t *len,
- 	u16 capab;
- 
- 	sm->ft_completed = 0;
-+	sm->ft_reassoc_completed = 0;
- 
- 	buf_len = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
- 		2 + sm->r0kh_id_len + ric_ies_len + 100;
-@@ -681,6 +682,11 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
- 		return -1;
- 	}
- 
-+	if (sm->ft_reassoc_completed) {
-+		wpa_printf(MSG_DEBUG, "FT: Reassociation has already been completed for this FT protocol instance - ignore unexpected retransmission");
-+		return 0;
-+	}
-+
- 	if (wpa_ft_parse_ies(ies, ies_len, &parse) < 0) {
- 		wpa_printf(MSG_DEBUG, "FT: Failed to parse IEs");
- 		return -1;
-@@ -781,6 +787,8 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
- 		return -1;
- 	}
- 
-+	sm->ft_reassoc_completed = 1;
-+
- 	if (wpa_ft_process_gtk_subelem(sm, parse.gtk, parse.gtk_len) < 0)
- 		return -1;
- 
-diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
-index 41f371f..56f88dc 100644
---- a/src/rsn_supp/wpa_i.h
-+++ b/src/rsn_supp/wpa_i.h
-@@ -128,6 +128,7 @@ struct wpa_sm {
- 	size_t r0kh_id_len;
- 	u8 r1kh_id[FT_R1KH_ID_LEN];
- 	int ft_completed;
-+	int ft_reassoc_completed;
- 	int over_the_ds_in_progress;
- 	u8 target_ap[ETH_ALEN]; /* over-the-DS target AP */
- 	int set_ptk_after_assoc;
--- 
-2.7.4
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb
index c3a1ead..250add8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.6.bb
@@ -1,34 +1,48 @@
+SUMMARY = "User space daemon for extended IEEE 802.11 management"
 HOMEPAGE = "http://w1.fi/hostapd/"
 SECTION = "kernel/userland"
-LICENSE = "GPLv2 | BSD"
-LIC_FILES_CHKSUM = "file://${B}/README;md5=8aa4e8c78b59b12016c4cb2d0a8db350"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://hostapd/README;md5=8aa4e8c78b59b12016c4cb2d0a8db350"
+
 DEPENDS = "libnl openssl"
-SUMMARY = "User space daemon for extended IEEE 802.11 management"
-
-inherit update-rc.d systemd
-INITSCRIPT_NAME = "hostapd"
-
-SYSTEMD_SERVICE_${PN} = "hostapd.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
 
 SRC_URI = " \
     http://w1.fi/releases/hostapd-${PV}.tar.gz \
     file://defconfig \
     file://init \
     file://hostapd.service \
-    file://key-replay-cve-multiple.patch \
+    file://0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch \
+    file://0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch \
+    file://0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch \
+    file://0004-Prevent-installation-of-an-all-zero-TK.patch \
+    file://0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch \
+    file://0006-TDLS-Reject-TPK-TK-reconfiguration.patch \
+    file://0007-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch \
 "
 
+SRC_URI[md5sum] = "eaa56dce9bd8f1d195eb62596eab34c7"
+SRC_URI[sha256sum] = "01526b90c1d23bec4b0f052039cc4456c2fd19347b4d830d1d58a0a6aea7117d"
+
 S = "${WORKDIR}/hostapd-${PV}"
 B = "${WORKDIR}/hostapd-${PV}/hostapd"
 
-do_configure() {
+inherit update-rc.d systemd pkgconfig distro_features_check
+
+CONFLICT_DISTRO_FEATURES = "openssl-no-weak-ciphers"
+
+INITSCRIPT_NAME = "hostapd"
+
+SYSTEMD_SERVICE_${PN} = "hostapd.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+do_configure_append() {
     install -m 0644 ${WORKDIR}/defconfig ${B}/.config
 }
 
 do_compile() {
-    export CFLAGS="-MMD -O2 -Wall -g -I${STAGING_INCDIR}/libnl3"
-    make
+    export CFLAGS="-MMD -O2 -Wall -g"
+    export EXTRA_CFLAGS="${CFLAGS}"
+    make V=1
 }
 
 do_install() {
@@ -42,7 +56,3 @@
 }
 
 CONFFILES_${PN} += "${sysconfdir}/hostapd.conf"
-
-SRC_URI[md5sum] = "eaa56dce9bd8f1d195eb62596eab34c7"
-SRC_URI[sha256sum] = "01526b90c1d23bec4b0f052039cc4456c2fd19347b4d830d1d58a0a6aea7117d"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch
index f0c310c..cbd5d71 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch
@@ -1,18 +1,19 @@
-From ecb62f3467f493cc0d679323f05367eebbf0fb67 Mon Sep 17 00:00:00 2001
+From a9e4057bfda190ad365b503af058b460ab8c7616 Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Tue, 1 Oct 2013 22:22:57 +0200
 Subject: [PATCH] aclocal: Add parameter to disable keyutils detection
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
  aclocal.m4 | 4 ++++
  1 file changed, 4 insertions(+)
 
 diff --git a/aclocal.m4 b/aclocal.m4
-index 210c473..83b1f02 100644
+index d6d1279..80ce604 100644
 --- a/aclocal.m4
 +++ b/aclocal.m4
-@@ -1650,11 +1650,15 @@ fi
+@@ -1679,12 +1679,16 @@ fi
  dnl
  dnl If libkeyutils exists (on Linux) include it and use keyring ccache
  AC_DEFUN(KRB5_AC_KEYRING_CCACHE,[
@@ -28,6 +29,4 @@
 +fi
  ])dnl
  dnl
--- 
-1.8.3.2
-
+ dnl If libkeyutils supports persistent keyrings, use them
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/CVE-2017-11462.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/CVE-2017-11462.patch
deleted file mode 100644
index 4b82f02..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/CVE-2017-11462.patch
+++ /dev/null
@@ -1,419 +0,0 @@
-From 56f7b1bc95a2a3eeb420e069e7655fb181ade5cf Mon Sep 17 00:00:00 2001
-From: Greg Hudson <ghudson@mit.edu>
-Date: Fri, 14 Jul 2017 13:02:46 -0400
-Subject: [PATCH] Preserve GSS context on init/accept failure
-
-After gss_init_sec_context() or gss_accept_sec_context() has created a
-context, don't delete the mechglue context on failures from subsequent
-calls, even if the mechanism deletes the mech-specific context (which
-is allowed by RFC 2744 but not preferred).  Check for union contexts
-with no mechanism context in each GSS function which accepts a
-gss_ctx_id_t.
-
-CVE-2017-11462:
-
-RFC 2744 permits a GSS-API implementation to delete an existing
-security context on a second or subsequent call to
-gss_init_sec_context() or gss_accept_sec_context() if the call results
-in an error.  This API behavior has been found to be dangerous,
-leading to the possibility of memory errors in some callers.  For
-safety, GSS-API implementations should instead preserve existing
-security contexts on error until the caller deletes them.
-
-All versions of MIT krb5 prior to this change may delete acceptor
-contexts on error.  Versions 1.13.4 through 1.13.7, 1.14.1 through
-1.14.5, and 1.15 through 1.15.1 may also delete initiator contexts on
-error.
-
-ticket: 8598 (new)
-target_version: 1.15-next
-target_version: 1.14-next
-tags: pullup
-
-Upstream-Status: Backport
-CVE: CVE-2017-11462
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- src/lib/gssapi/mechglue/g_accept_sec_context.c  | 22 +++++++++++++++-------
- src/lib/gssapi/mechglue/g_complete_auth_token.c |  2 ++
- src/lib/gssapi/mechglue/g_context_time.c        |  2 ++
- src/lib/gssapi/mechglue/g_delete_sec_context.c  | 14 ++++++++------
- src/lib/gssapi/mechglue/g_exp_sec_context.c     |  2 ++
- src/lib/gssapi/mechglue/g_init_sec_context.c    | 19 +++++++++++--------
- src/lib/gssapi/mechglue/g_inq_context.c         |  2 ++
- src/lib/gssapi/mechglue/g_prf.c                 |  2 ++
- src/lib/gssapi/mechglue/g_process_context.c     |  2 ++
- src/lib/gssapi/mechglue/g_seal.c                |  4 ++++
- src/lib/gssapi/mechglue/g_sign.c                |  2 ++
- src/lib/gssapi/mechglue/g_unseal.c              |  2 ++
- src/lib/gssapi/mechglue/g_unwrap_aead.c         |  2 ++
- src/lib/gssapi/mechglue/g_unwrap_iov.c          |  4 ++++
- src/lib/gssapi/mechglue/g_verify.c              |  2 ++
- src/lib/gssapi/mechglue/g_wrap_aead.c           |  2 ++
- src/lib/gssapi/mechglue/g_wrap_iov.c            |  8 ++++++++
- 17 files changed, 72 insertions(+), 21 deletions(-)
-
-diff --git a/src/lib/gssapi/mechglue/g_accept_sec_context.c b/src/lib/gssapi/mechglue/g_accept_sec_context.c
-index ddaf874..f28e2b1 100644
---- a/src/lib/gssapi/mechglue/g_accept_sec_context.c
-+++ b/src/lib/gssapi/mechglue/g_accept_sec_context.c
-@@ -216,6 +216,8 @@ gss_cred_id_t *		d_cred;
-     } else {
- 	union_ctx_id = (gss_union_ctx_id_t)*context_handle;
- 	selected_mech = union_ctx_id->mech_type;
-+	if (union_ctx_id->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	    return (GSS_S_NO_CONTEXT);
-     }
- 
-     /* Now create a new context if we didn't get one. */
-@@ -234,9 +236,6 @@ gss_cred_id_t *		d_cred;
- 	    free(union_ctx_id);
- 	    return (status);
- 	}
--
--	/* set the new context handle to caller's data */
--	*context_handle = (gss_ctx_id_t)union_ctx_id;
-     }
- 
-     /*
-@@ -277,8 +276,10 @@ gss_cred_id_t *		d_cred;
- 					d_cred ? &tmp_d_cred : NULL);
- 
- 	    /* If there's more work to do, keep going... */
--	    if (status == GSS_S_CONTINUE_NEEDED)
-+	    if (status == GSS_S_CONTINUE_NEEDED) {
-+		*context_handle = (gss_ctx_id_t)union_ctx_id;
- 		return GSS_S_CONTINUE_NEEDED;
-+	    }
- 
- 	    /* if the call failed, return with failure */
- 	    if (status != GSS_S_COMPLETE) {
-@@ -364,14 +365,22 @@ gss_cred_id_t *		d_cred;
- 		*mech_type = gssint_get_public_oid(actual_mech);
- 	    if (ret_flags != NULL)
- 		*ret_flags = temp_ret_flags;
--	    return	(status);
-+	    *context_handle = (gss_ctx_id_t)union_ctx_id;
-+	    return GSS_S_COMPLETE;
-     } else {
- 
- 	status = GSS_S_BAD_MECH;
-     }
- 
- error_out:
--    if (union_ctx_id) {
-+	/*
-+	 * RFC 2744 5.1 requires that we not create a context on a failed first
-+	 * call to accept, and recommends that on a failed subsequent call we
-+	 * make the caller responsible for calling gss_delete_sec_context.
-+	 * Even if the mech deleted its context, keep the union context around
-+	 * for the caller to delete.
-+	 */
-+    if (union_ctx_id && *context_handle == GSS_C_NO_CONTEXT) {
- 	if (union_ctx_id->mech_type) {
- 	    if (union_ctx_id->mech_type->elements)
- 		free(union_ctx_id->mech_type->elements);
-@@ -384,7 +393,6 @@ error_out:
- 					 GSS_C_NO_BUFFER);
- 	}
- 	free(union_ctx_id);
--	*context_handle = GSS_C_NO_CONTEXT;
-     }
- 
-     if (src_name)
-diff --git a/src/lib/gssapi/mechglue/g_complete_auth_token.c b/src/lib/gssapi/mechglue/g_complete_auth_token.c
-index 9181551..4bcb47e 100644
---- a/src/lib/gssapi/mechglue/g_complete_auth_token.c
-+++ b/src/lib/gssapi/mechglue/g_complete_auth_token.c
-@@ -52,6 +52,8 @@ gss_complete_auth_token (OM_uint32 *minor_status,
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return GSS_S_NO_CONTEXT;
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech != NULL) {
-diff --git a/src/lib/gssapi/mechglue/g_context_time.c b/src/lib/gssapi/mechglue/g_context_time.c
-index 2ff8d09..c947e76 100644
---- a/src/lib/gssapi/mechglue/g_context_time.c
-+++ b/src/lib/gssapi/mechglue/g_context_time.c
-@@ -58,6 +58,8 @@ OM_uint32 *		time_rec;
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech) {
-diff --git a/src/lib/gssapi/mechglue/g_delete_sec_context.c b/src/lib/gssapi/mechglue/g_delete_sec_context.c
-index 4bf0dec..574ff02 100644
---- a/src/lib/gssapi/mechglue/g_delete_sec_context.c
-+++ b/src/lib/gssapi/mechglue/g_delete_sec_context.c
-@@ -87,12 +87,14 @@ gss_buffer_t		output_token;
-     if (GSSINT_CHK_LOOP(ctx))
- 	return (GSS_S_CALL_INACCESSIBLE_READ | GSS_S_NO_CONTEXT);
- 
--    status = gssint_delete_internal_sec_context(minor_status,
--						ctx->mech_type,
--						&ctx->internal_ctx_id,
--						output_token);
--    if (status)
--	return status;
-+    if (ctx->internal_ctx_id != GSS_C_NO_CONTEXT) {
-+	status = gssint_delete_internal_sec_context(minor_status,
-+						    ctx->mech_type,
-+						    &ctx->internal_ctx_id,
-+						    output_token);
-+	if (status)
-+	    return status;
-+    }
- 
-     /* now free up the space for the union context structure */
-     free(ctx->mech_type->elements);
-diff --git a/src/lib/gssapi/mechglue/g_exp_sec_context.c b/src/lib/gssapi/mechglue/g_exp_sec_context.c
-index b637452..1d7990b 100644
---- a/src/lib/gssapi/mechglue/g_exp_sec_context.c
-+++ b/src/lib/gssapi/mechglue/g_exp_sec_context.c
-@@ -95,6 +95,8 @@ gss_buffer_t		interprocess_token;
-      */
- 
-     ctx = (gss_union_ctx_id_t) *context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
-     if (!mech)
- 	return GSS_S_BAD_MECH;
-diff --git a/src/lib/gssapi/mechglue/g_init_sec_context.c b/src/lib/gssapi/mechglue/g_init_sec_context.c
-index 9f154b8..e2df1ce 100644
---- a/src/lib/gssapi/mechglue/g_init_sec_context.c
-+++ b/src/lib/gssapi/mechglue/g_init_sec_context.c
-@@ -192,8 +192,13 @@ OM_uint32 *		time_rec;
- 
- 	/* copy the supplied context handle */
- 	union_ctx_id->internal_ctx_id = GSS_C_NO_CONTEXT;
--    } else
-+    } else {
- 	union_ctx_id = (gss_union_ctx_id_t)*context_handle;
-+	if (union_ctx_id->internal_ctx_id == GSS_C_NO_CONTEXT) {
-+	    status = GSS_S_NO_CONTEXT;
-+	    goto end;
-+	}
-+    }
- 
-     /*
-      * get the appropriate cred handle from the union cred struct.
-@@ -224,15 +229,13 @@ OM_uint32 *		time_rec;
- 
-     if (status != GSS_S_COMPLETE && status != GSS_S_CONTINUE_NEEDED) {
- 	/*
--	 * The spec says the preferred method is to delete all context info on
--	 * the first call to init, and on all subsequent calls make the caller
--	 * responsible for calling gss_delete_sec_context.  However, if the
--	 * mechanism decided to delete the internal context, we should also
--	 * delete the union context.
-+	 * RFC 2744 5.19 requires that we not create a context on a failed
-+	 * first call to init, and recommends that on a failed subsequent call
-+	 * we make the caller responsible for calling gss_delete_sec_context.
-+	 * Even if the mech deleted its context, keep the union context around
-+	 * for the caller to delete.
- 	 */
- 	map_error(minor_status, mech);
--	if (union_ctx_id->internal_ctx_id == GSS_C_NO_CONTEXT)
--	    *context_handle = GSS_C_NO_CONTEXT;
- 	if (*context_handle == GSS_C_NO_CONTEXT) {
- 	    free(union_ctx_id->mech_type->elements);
- 	    free(union_ctx_id->mech_type);
-diff --git a/src/lib/gssapi/mechglue/g_inq_context.c b/src/lib/gssapi/mechglue/g_inq_context.c
-index 6f1c71e..6c0d98d 100644
---- a/src/lib/gssapi/mechglue/g_inq_context.c
-+++ b/src/lib/gssapi/mechglue/g_inq_context.c
-@@ -104,6 +104,8 @@ gss_inquire_context(
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (!mech || !mech->gss_inquire_context || !mech->gss_display_name ||
-diff --git a/src/lib/gssapi/mechglue/g_prf.c b/src/lib/gssapi/mechglue/g_prf.c
-index fcca3e4..9e168ad 100644
---- a/src/lib/gssapi/mechglue/g_prf.c
-+++ b/src/lib/gssapi/mechglue/g_prf.c
-@@ -59,6 +59,8 @@ gss_pseudo_random (OM_uint32 *minor_status,
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return GSS_S_NO_CONTEXT;
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech != NULL) {
-diff --git a/src/lib/gssapi/mechglue/g_process_context.c b/src/lib/gssapi/mechglue/g_process_context.c
-index bc260ae..3968b5d 100644
---- a/src/lib/gssapi/mechglue/g_process_context.c
-+++ b/src/lib/gssapi/mechglue/g_process_context.c
-@@ -61,6 +61,8 @@ gss_buffer_t		token_buffer;
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech) {
-diff --git a/src/lib/gssapi/mechglue/g_seal.c b/src/lib/gssapi/mechglue/g_seal.c
-index f17241c..3db1ee0 100644
---- a/src/lib/gssapi/mechglue/g_seal.c
-+++ b/src/lib/gssapi/mechglue/g_seal.c
-@@ -92,6 +92,8 @@ gss_wrap( OM_uint32 *minor_status,
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+        return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech) {
-@@ -226,6 +228,8 @@ gss_wrap_size_limit(OM_uint32  *minor_status,
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+        return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (!mech)
-diff --git a/src/lib/gssapi/mechglue/g_sign.c b/src/lib/gssapi/mechglue/g_sign.c
-index 86d641a..03fbd8c 100644
---- a/src/lib/gssapi/mechglue/g_sign.c
-+++ b/src/lib/gssapi/mechglue/g_sign.c
-@@ -94,6 +94,8 @@ gss_buffer_t		msg_token;
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech) {
-diff --git a/src/lib/gssapi/mechglue/g_unseal.c b/src/lib/gssapi/mechglue/g_unseal.c
-index 3e8053c..c208635 100644
---- a/src/lib/gssapi/mechglue/g_unseal.c
-+++ b/src/lib/gssapi/mechglue/g_unseal.c
-@@ -76,6 +76,8 @@ gss_qop_t *		qop_state;
-      * call it.
-      */
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech) {
-diff --git a/src/lib/gssapi/mechglue/g_unwrap_aead.c b/src/lib/gssapi/mechglue/g_unwrap_aead.c
-index e78bff2..0682bd8 100644
---- a/src/lib/gssapi/mechglue/g_unwrap_aead.c
-+++ b/src/lib/gssapi/mechglue/g_unwrap_aead.c
-@@ -186,6 +186,8 @@ gss_qop_t		*qop_state;
-      * call it.
-      */
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (!mech)
-diff --git a/src/lib/gssapi/mechglue/g_unwrap_iov.c b/src/lib/gssapi/mechglue/g_unwrap_iov.c
-index c0dd314..599be2c 100644
---- a/src/lib/gssapi/mechglue/g_unwrap_iov.c
-+++ b/src/lib/gssapi/mechglue/g_unwrap_iov.c
-@@ -89,6 +89,8 @@ int			iov_count;
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech) {
-@@ -128,6 +130,8 @@ gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
- 
-     /* Select the approprate underlying mechanism routine and call it. */
-     ctx = (gss_union_ctx_id_t)context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return GSS_S_NO_CONTEXT;
-     mech = gssint_get_mechanism(ctx->mech_type);
-     if (mech == NULL)
- 	return GSS_S_BAD_MECH;
-diff --git a/src/lib/gssapi/mechglue/g_verify.c b/src/lib/gssapi/mechglue/g_verify.c
-index 1578ae1..8996fce 100644
---- a/src/lib/gssapi/mechglue/g_verify.c
-+++ b/src/lib/gssapi/mechglue/g_verify.c
-@@ -65,6 +65,8 @@ gss_qop_t *		qop_state;
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech) {
-diff --git a/src/lib/gssapi/mechglue/g_wrap_aead.c b/src/lib/gssapi/mechglue/g_wrap_aead.c
-index 96cdf3c..7fe3b7b 100644
---- a/src/lib/gssapi/mechglue/g_wrap_aead.c
-+++ b/src/lib/gssapi/mechglue/g_wrap_aead.c
-@@ -256,6 +256,8 @@ gss_buffer_t		output_message_buffer;
-      * call it.
-      */
-     ctx = (gss_union_ctx_id_t)context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
-     if (!mech)
- 	return (GSS_S_BAD_MECH);
-diff --git a/src/lib/gssapi/mechglue/g_wrap_iov.c b/src/lib/gssapi/mechglue/g_wrap_iov.c
-index 40cd98f..14447c4 100644
---- a/src/lib/gssapi/mechglue/g_wrap_iov.c
-+++ b/src/lib/gssapi/mechglue/g_wrap_iov.c
-@@ -93,6 +93,8 @@ int			iov_count;
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech) {
-@@ -151,6 +153,8 @@ int			iov_count;
-      */
- 
-     ctx = (gss_union_ctx_id_t) context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return (GSS_S_NO_CONTEXT);
-     mech = gssint_get_mechanism (ctx->mech_type);
- 
-     if (mech) {
-@@ -190,6 +194,8 @@ gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
- 
-     /* Select the approprate underlying mechanism routine and call it. */
-     ctx = (gss_union_ctx_id_t)context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return GSS_S_NO_CONTEXT;
-     mech = gssint_get_mechanism(ctx->mech_type);
-     if (mech == NULL)
- 	return GSS_S_BAD_MECH;
-@@ -218,6 +224,8 @@ gss_get_mic_iov_length(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
- 
-     /* Select the approprate underlying mechanism routine and call it. */
-     ctx = (gss_union_ctx_id_t)context_handle;
-+    if (ctx->internal_ctx_id == GSS_C_NO_CONTEXT)
-+	return GSS_S_NO_CONTEXT;
-     mech = gssint_get_mechanism(ctx->mech_type);
-     if (mech == NULL)
- 	return GSS_S_BAD_MECH;
--- 
-2.10.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server
index 2835929..e097353 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server
@@ -1,6 +1,4 @@
 # Automatically generated.  If you change anything in this file other than the
-# values of RUN_KADMIND or DAEMON_ARGS, first run dpkg-reconfigure
+# values of DAEMON_ARGS, first run dpkg-reconfigure
 # krb5-admin-server and disable managing the kadmin configuration with
 # debconf.  Otherwise, changes will be overwritten.
-
-RUN_KADMIND=true
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/fix-CVE-2017-11368.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/fix-CVE-2017-11368.patch
deleted file mode 100644
index a2eb7bc..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/fix-CVE-2017-11368.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Upstream-Status: Backport [https://github.com/krb5/krb5/commit/ffb35baac6981f9e8914f8f3bffd37f284b85970]
-
-Backport patch to fix CVE-2017-11368.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-From ffb35baac6981f9e8914f8f3bffd37f284b85970 Mon Sep 17 00:00:00 2001
-From: Greg Hudson <ghudson@mit.edu>
-Date: Thu, 13 Jul 2017 12:14:20 -0400
-Subject: [PATCH] Prevent KDC unset status assertion failures
-
-Assign status values if S4U2Self padata fails to decode, if an
-S4U2Proxy request uses invalid KDC options, or if an S4U2Proxy request
-uses an evidence ticket which does not match the canonicalized request
-server principal name.  Reported by Samuel Cabrero.
-
-If a status value is not assigned during KDC processing, default to
-"UNKNOWN_REASON" rather than failing an assertion.  This change will
-prevent future denial of service bugs due to similar mistakes, and
-will allow us to omit assigning status values for unlikely errors such
-as small memory allocation failures.
-
-CVE-2017-11368:
-
-In MIT krb5 1.7 and later, an authenticated attacker can cause an
-assertion failure in krb5kdc by sending an invalid S4U2Self or
-S4U2Proxy request.
-
-  CVSSv3 Vector: AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/E:H/RL:O/RC:C
-
-ticket: 8599 (new)
-target_version: 1.15-next
-target_version: 1.14-next
-tags: pullup
----
- src/kdc/do_as_req.c  |  4 ++--
- src/kdc/do_tgs_req.c |  3 ++-
- src/kdc/kdc_util.c   | 10 ++++++++--
- 3 files changed, 12 insertions(+), 5 deletions(-)
-
-diff --git a/src/kdc/do_as_req.c b/src/kdc/do_as_req.c
-index 2d3ad13..9b256c8 100644
---- a/src/kdc/do_as_req.c
-+++ b/src/kdc/do_as_req.c
-@@ -366,8 +366,8 @@ finish_process_as_req(struct as_req_state *state, krb5_error_code errcode)
-     did_log = 1;
- 
- egress:
--    if (errcode != 0)
--        assert (state->status != 0);
-+    if (errcode != 0 && state->status == NULL)
-+        state->status = "UNKNOWN_REASON";
- 
-     au_state->status = state->status;
-     au_state->reply = &state->reply;
-diff --git a/src/kdc/do_tgs_req.c b/src/kdc/do_tgs_req.c
-index cdc79ad..d8d6719 100644
---- a/src/kdc/do_tgs_req.c
-+++ b/src/kdc/do_tgs_req.c
-@@ -823,7 +823,8 @@ process_tgs_req(struct server_handle *handle, krb5_data *pkt,
-     free(reply.enc_part.ciphertext.data);
- 
- cleanup:
--    assert(status != NULL);
-+    if (status == NULL)
-+        status = "UNKNOWN_REASON";
-     if (reply_key)
-         krb5_free_keyblock(kdc_context, reply_key);
-     if (errcode)
-diff --git a/src/kdc/kdc_util.c b/src/kdc/kdc_util.c
-index 778a629..b710aef 100644
---- a/src/kdc/kdc_util.c
-+++ b/src/kdc/kdc_util.c
-@@ -1220,8 +1220,10 @@ kdc_process_for_user(kdc_realm_t *kdc_active_realm,
-     req_data.data = (char *)pa_data->contents;
- 
-     code = decode_krb5_pa_for_user(&req_data, &for_user);
--    if (code)
-+    if (code) {
-+        *status = "DECODE_PA_FOR_USER";
-         return code;
-+    }
- 
-     code = verify_for_user_checksum(kdc_context, tgs_session, for_user);
-     if (code) {
-@@ -1320,8 +1322,10 @@ kdc_process_s4u_x509_user(krb5_context context,
-     req_data.data = (char *)pa_data->contents;
- 
-     code = decode_krb5_pa_s4u_x509_user(&req_data, s4u_x509_user);
--    if (code)
-+    if (code) {
-+        *status = "DECODE_PA_S4U_X509_USER";
-         return code;
-+    }
- 
-     code = verify_s4u_x509_user_checksum(context,
-                                          tgs_subkey ? tgs_subkey :
-@@ -1624,6 +1628,7 @@ kdc_process_s4u2proxy_req(kdc_realm_t *kdc_active_realm,
-      * that is validated previously in validate_tgs_request().
-      */
-     if (request->kdc_options & (NON_TGT_OPTION | KDC_OPT_ENC_TKT_IN_SKEY)) {
-+        *status = "INVALID_S4U2PROXY_OPTIONS";
-         return KRB5KDC_ERR_BADOPTION;
-     }
- 
-@@ -1631,6 +1636,7 @@ kdc_process_s4u2proxy_req(kdc_realm_t *kdc_active_realm,
-     if (!krb5_principal_compare(kdc_context,
-                                 server->princ, /* after canon */
-                                 server_princ)) {
-+        *status = "EVIDENCE_TICKET_MISMATCH";
-         return KRB5KDC_ERR_SERVER_NOMATCH;
-     }
- 
--- 
-2.10.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-admin-server.service b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-admin-server.service
index 1b42716..21939a1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-admin-server.service
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-admin-server.service
@@ -7,6 +7,7 @@
 Type=forking
 ExecStartPre=/bin/sh -c "test ! -f /var/log/kadmind.log || test ! -x /sbin/restorecon || /sbin/restorecon -F /var/log/kadmind.log"
 ExecStart=/usr/sbin/kadmind
+EnvironmentFile=-/etc/default/krb5-admin-server
 SuccessExitStatus=1 2 SIGKILL
 TimeoutStopSec=30
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-kdc.service b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-kdc.service
index d5e5a95..bf37c45 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-kdc.service
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-kdc.service
@@ -6,6 +6,7 @@
 [Service]
 Type=forking
 ExecStart=/usr/sbin/krb5kdc
+EnvironmentFile=-/etc/default/krb5-kdc
 SuccessExitStatus=1 2 SIGKILL
 TimeoutStopSec=30
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb
deleted file mode 100644
index e75e861..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.15.1.bb
+++ /dev/null
@@ -1,184 +0,0 @@
-SUMMARY = "A network authentication protocol"
-DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \
- Kerberos is a trusted third-party service.  That means that there is a \
- third party (the Kerberos server) that is trusted by all the entities on \
- the network (users and services, usually called "principals"). \
- . \
- This is the MIT reference implementation of Kerberos V5. \
- . \
- This package contains the Kerberos key server (KDC).  The KDC manages all \
- authentication credentials for a Kerberos realm, holds the master keys \
- for the realm, and responds to authentication requests.  This package \
- should be installed on both master and slave KDCs."
-
-HOMEPAGE = "http://web.mit.edu/Kerberos/"
-SECTION = "console/network"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=3e12b8a065cca25dfdcac734fb3ec0b9"
-DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native"
-
-inherit autotools-brokensep binconfig perlnative systemd update-rc.d
-
-SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
-           file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
-           file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
-           file://crosscompile_nm.patch \
-           file://etc/init.d/krb5-kdc \
-           file://etc/init.d/krb5-admin-server \
-           file://etc/default/krb5-kdc \
-           file://etc/default/krb5-admin-server \
-           file://krb5-kdc.service \
-           file://krb5-admin-server.service \
-           file://fix-CVE-2017-11368.patch;striplevel=2 \
-           file://CVE-2017-11462.patch;striplevel=2 \
-"
-SRC_URI[md5sum] = "8022f3a1cde8463e44fd35ef42731f85"
-SRC_URI[sha256sum] = "437c8831ddd5fde2a993fef425dedb48468109bb3d3261ef838295045a89eb45"
-
-CVE_PRODUCT = "kerberos"
-
-S = "${WORKDIR}/${BP}/src"
-
-PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
-PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl"
-PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-
-EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
-CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
-                  ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
-                  ac_cv_file__etc_TIMEZONE=no"
-
-CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
-LDFLAGS_append = " -pthread"
-
-do_configure() {
-    gnu-configize --force
-    autoreconf
-    oe_runconf
-}
-
-do_install_append() {
-    rm -rf ${D}/${localstatedir}/run
-    rm -f ${D}${bindir}/sclient
-    rm -f ${D}${bindir}/sim_client
-    rm -f ${D}${bindir}/uuclient
-    rm -f ${D}${sbindir}/krb5-send-pr
-    rm -f ${D}${sbindir}/sim_server
-    rm -f ${D}${sbindir}/sserver
-    rm -f ${D}${sbindir}/uuserver
-
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
-        mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default
-        install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d
-        install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
-
-        mkdir -p ${D}/${sysconfdir}/default/volatiles
-        echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
-              > ${D}${sysconfdir}/default/volatiles/87_krb5
-    fi
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -d ${D}${sysconfdir}/tmpfiles.d
-        echo "d /run/krb5kdc - - - -" \
-              > ${D}${sysconfdir}/tmpfiles.d/krb5.conf
-
-        install -d ${D}${systemd_system_unitdir}
-        install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
-        install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
-    fi
-}
-
-PACKAGES =+ "${PN}-admin-server \
-             ${PN}-gss-samples \
-             ${PN}-k5tls \
-             ${PN}-kdc \
-             ${PN}-kdc-ldap \
-             ${PN}-kpropd \
-             ${PN}-otp \
-             ${PN}-pkinit \
-             ${PN}-user \
-             libgssapi-krb5 \
-             libgssrpc \
-             libk5crypto \
-             libkadm5clnt-mit \
-             libkadm5srv-mit \
-             libkdb5 \
-             libkrad \
-             libkrb5 \
-             libkrb5support \
-             libverto"
-
-FILES_${PN} = "${libdir}/krb5/plugins/preauth/test.so"
-FILES_${PN}-doc += "${datadir}/examples"
-FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
-
-FILES_${PN}-admin-server = "${sbindir}/kadmin.local \
-                            ${sbindir}/kadmind \
-                            ${sbindir}/kprop \
-                            ${sysconfdir}/default/krb5-admin-server \
-                            ${sysconfdir}/init.d/krb5-admin-server \
-                            ${systemd_system_unitdir}/krb5-admin-server.service"
-
-FILES_${PN}-gss-samples = "${bindir}/gss-client \
-                           ${sbindir}/gss-server"
-
-FILES_${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so"
-
-FILES_${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \
-                   ${localstatedir}/krb5kdc \
-                   ${sbindir}/kdb5_util \
-                   ${sbindir}/kproplog \
-                   ${sbindir}/krb5kdc \
-                   ${sysconfdir}/default/krb5-kdc \
-                   ${sysconfdir}/default/volatiles/87_krb5 \
-                   ${sysconfdir}/init.d/krb5-kdc \
-                   ${sysconfdir}/tmpfiles.d/krb5.conf \
-                   ${systemd_system_unitdir}/krb5-kdc.service"
-
-FILES_${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \
-                        ${libdir}/krb5/plugins/kdb/kldap.so \
-                        ${sbindir}/kdb5_ldap_util"
-
-FILES_${PN}-kpropd = "${sbindir}/kpropd"
-FILES_${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so"
-FILES_${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so"
-FILES_${PN}-user = "${bindir}/k*"
-
-FILES_libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}"
-FILES_libgssrpc = "${libdir}/libgssrpc${SOLIBS}"
-FILES_libk5crypto = "${libdir}/libk5crypto${SOLIBS}"
-FILES_libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}"
-FILES_libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}"
-FILES_libkdb5 = "${libdir}/libkdb5${SOLIBS}"
-FILES_libkrad = "${libdir}/libkrad${SOLIBS}"
-FILES_libkrb5 = "${libdir}/libkrb5${SOLIBS} \
-                 ${libdir}/krb5/plugins/authdata \
-                 ${libdir}/krb5/plugins/libkrb5"
-FILES_libkrb5support = "${libdir}/libkrb5support${SOLIBS}"
-FILES_libverto = "${libdir}/libverto${SOLIBS}"
-
-RDEPENDS_${PN}-kadmin-server = "${PN}-kdc"
-RDEPENDS_${PN}-kpropd = "${PN}-kdc"
-
-INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc"
-INITSCRIPT_NAME_${PN}-admin-server = "krb5-admin-server"
-INITSCRIPT_NAME_${PN}-kdc = "krb5-kdc"
-
-SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc"
-SYSTEMD_SERVICE_${PN}-admin-server = "krb5-admin-server.service"
-SYSTEMD_SERVICE_${PN}-kdc = "krb5-kdc.service"
-
-pkg_postinst_${PN}-kdc () {
-    if [ -z "$D" ]; then
-        if command -v systemd-tmpfiles >/dev/null; then
-            systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf
-        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
-            ${sysconfdir}/init.d/populate-volatile.sh update
-        fi
-    fi
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.16.bb
new file mode 100644
index 0000000..f95240f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.16.bb
@@ -0,0 +1,188 @@
+SUMMARY = "A network authentication protocol"
+DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \
+ Kerberos is a trusted third-party service.  That means that there is a \
+ third party (the Kerberos server) that is trusted by all the entities on \
+ the network (users and services, usually called "principals"). \
+ . \
+ This is the MIT reference implementation of Kerberos V5. \
+ . \
+ This package contains the Kerberos key server (KDC).  The KDC manages all \
+ authentication credentials for a Kerberos realm, holds the master keys \
+ for the realm, and responds to authentication requests.  This package \
+ should be installed on both master and slave KDCs."
+
+HOMEPAGE = "http://web.mit.edu/Kerberos/"
+SECTION = "console/network"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=59b8da652f07186b44782a8454574f30"
+DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native openssl"
+
+inherit autotools-brokensep binconfig perlnative systemd update-rc.d
+
+SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
+           file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
+           file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
+           file://crosscompile_nm.patch \
+           file://etc/init.d/krb5-kdc \
+           file://etc/init.d/krb5-admin-server \
+           file://etc/default/krb5-kdc \
+           file://etc/default/krb5-admin-server \
+           file://krb5-kdc.service \
+           file://krb5-admin-server.service \
+"
+SRC_URI[md5sum] = "23c5e9f07642db4a67f7a5b6168b1319"
+SRC_URI[sha256sum] = "faeb125f83b0fb4cdb2f99f088140631bb47d975982de0956d18c85842969e08"
+
+CVE_PRODUCT = "kerberos"
+
+S = "${WORKDIR}/${BP}/src"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
+PACKAGECONFIG[openssl] = "--with-crypto-impl=openssl,,openssl"
+PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+
+EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
+CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
+                  ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
+                  ac_cv_file__etc_TIMEZONE=no"
+
+CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
+CFLAGS_append_riscv64 = " -D_REENTRANT -pthread"
+LDFLAGS_append = " -pthread"
+
+do_configure() {
+    gnu-configize --force
+    autoreconf
+    oe_runconf
+}
+
+do_install_append() {
+    rm -rf ${D}/${localstatedir}/run
+    rm -f ${D}${bindir}/sclient
+    rm -f ${D}${bindir}/sim_client
+    rm -f ${D}${bindir}/uuclient
+    rm -f ${D}${sbindir}/krb5-send-pr
+    rm -f ${D}${sbindir}/sim_server
+    rm -f ${D}${sbindir}/sserver
+    rm -f ${D}${sbindir}/uuserver
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+        mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default
+        install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d
+        install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
+
+        mkdir -p ${D}/${sysconfdir}/default/volatiles
+        echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
+              > ${D}${sysconfdir}/default/volatiles/87_krb5
+
+        echo "RUN_KADMIND=true" >> ${D}/${sysconfdir}/default/krb5-admin-server
+    fi
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        echo "d /run/krb5kdc - - - -" \
+              > ${D}${sysconfdir}/tmpfiles.d/krb5.conf
+
+        mkdir -p ${D}/${sysconfdir}/default
+        install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
+
+        install -d ${D}${systemd_system_unitdir}
+        install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
+        install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
+    fi
+}
+
+PACKAGES =+ "${PN}-admin-server \
+             ${PN}-gss-samples \
+             ${PN}-k5tls \
+             ${PN}-kdc \
+             ${PN}-kdc-ldap \
+             ${PN}-kpropd \
+             ${PN}-otp \
+             ${PN}-pkinit \
+             ${PN}-user \
+             libgssapi-krb5 \
+             libgssrpc \
+             libk5crypto \
+             libkadm5clnt-mit \
+             libkadm5srv-mit \
+             libkdb5 \
+             libkrad \
+             libkrb5 \
+             libkrb5support \
+             libverto"
+
+FILES_${PN} = "${libdir}/krb5/plugins/preauth/test.so"
+FILES_${PN}-doc += "${datadir}/examples"
+FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
+
+FILES_${PN}-admin-server = "${sbindir}/kadmin.local \
+                            ${sbindir}/kadmind \
+                            ${sbindir}/kprop \
+                            ${sysconfdir}/default/krb5-admin-server \
+                            ${sysconfdir}/init.d/krb5-admin-server \
+                            ${systemd_system_unitdir}/krb5-admin-server.service"
+
+FILES_${PN}-gss-samples = "${bindir}/gss-client \
+                           ${sbindir}/gss-server"
+
+FILES_${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so"
+
+FILES_${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \
+                   ${localstatedir}/krb5kdc \
+                   ${sbindir}/kdb5_util \
+                   ${sbindir}/kproplog \
+                   ${sbindir}/krb5kdc \
+                   ${sysconfdir}/default/krb5-kdc \
+                   ${sysconfdir}/default/volatiles/87_krb5 \
+                   ${sysconfdir}/init.d/krb5-kdc \
+                   ${sysconfdir}/tmpfiles.d/krb5.conf \
+                   ${systemd_system_unitdir}/krb5-kdc.service"
+
+FILES_${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \
+                        ${libdir}/krb5/plugins/kdb/kldap.so \
+                        ${sbindir}/kdb5_ldap_util"
+
+FILES_${PN}-kpropd = "${sbindir}/kpropd"
+FILES_${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so"
+FILES_${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so"
+FILES_${PN}-user = "${bindir}/k*"
+
+FILES_libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}"
+FILES_libgssrpc = "${libdir}/libgssrpc${SOLIBS}"
+FILES_libk5crypto = "${libdir}/libk5crypto${SOLIBS}"
+FILES_libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}"
+FILES_libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}"
+FILES_libkdb5 = "${libdir}/libkdb5${SOLIBS}"
+FILES_libkrad = "${libdir}/libkrad${SOLIBS}"
+FILES_libkrb5 = "${libdir}/libkrb5${SOLIBS} \
+                 ${libdir}/krb5/plugins/authdata \
+                 ${libdir}/krb5/plugins/libkrb5"
+FILES_libkrb5support = "${libdir}/libkrb5support${SOLIBS}"
+FILES_libverto = "${libdir}/libverto${SOLIBS}"
+
+RDEPENDS_${PN}-kadmin-server = "${PN}-kdc"
+RDEPENDS_${PN}-kpropd = "${PN}-kdc"
+
+INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc"
+INITSCRIPT_NAME_${PN}-admin-server = "krb5-admin-server"
+INITSCRIPT_NAME_${PN}-kdc = "krb5-kdc"
+
+SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc"
+SYSTEMD_SERVICE_${PN}-admin-server = "krb5-admin-server.service"
+SYSTEMD_SERVICE_${PN}-kdc = "krb5-kdc.service"
+
+pkg_postinst_${PN}-kdc () {
+    if [ -z "$D" ]; then
+        if command -v systemd-tmpfiles >/dev/null; then
+            systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf
+        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+            ${sysconfdir}/init.d/populate-volatile.sh update
+        fi
+    fi
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
index 4047ffb..7a3429b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
@@ -12,6 +12,7 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
+
 ---
  m4/compiler-warnings.m4 | 29 +++++++++++++++++++++++++----
  1 file changed, 25 insertions(+), 4 deletions(-)
@@ -53,7 +54,7 @@
  		      -Wdeclaration-after-statement -Wstrict-prototypes \
 @@ -17,22 +37,23 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
  		      -Wmissing-include-dirs -Waggregate-return \
- 		      -Wformat-security; do
+ 		      -Wformat-security -Wtype-limits; do
  		SAVE_CFLAGS="$CFLAGS"
 -		CFLAGS="$CFLAGS $option"
 +		CFLAGS="$CFLAGS $option $WERROR"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb
deleted file mode 100644
index 80c26c0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
-DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = " \
-    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = "glib-2.0 libgudev libmbim glib-2.0-native"
-
-inherit autotools pkgconfig bash-completion
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
-           file://0001-Detect-clang.patch \
-           "
-SRC_URI[md5sum] = "4970c110f160b33637a3515004c637b2"
-SRC_URI[sha256sum] = "7ab6bb47fd23bf4d3fa17424e40ea5552d08b19e5ee4f125f21f316c8086ba2a"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.20.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.20.0.bb
new file mode 100644
index 0000000..9301cbd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.20.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
+DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 libgudev libmbim glib-2.0-native"
+
+inherit autotools pkgconfig bash-completion
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
+           file://0001-Detect-clang.patch \
+           "
+SRC_URI[md5sum] = "797e365521df76b77b067e6317618b41"
+SRC_URI[sha256sum] = "21428cd3749c56246565123f707fee51238651a22c60bdc85ebce97388626eb4"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.11.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.11.0.bb
index 0a5846b..ca4685a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.11.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.11.0.bb
@@ -4,10 +4,10 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bb5ea0d651f4c3519327171906045775"
 
-SRC_URI = "https://github.com/libuv/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
-
-SRC_URI[md5sum] = "15550a9f5f45f7f32ae2d9bb0a21a2a7"
-SRC_URI[sha256sum] = "6ec7eec6ecc24b1a8ffedebedb2fe9313fffb5410de89aaf784dd01080411c7a"
+S = "${WORKDIR}/git"
+SRCREV = "7452ef4e06a4f99ee26b694c65476401534f2725"
+BRANCH = "v1.x"
+SRC_URI = "git://github.com/libuv/libuv.git;protocol=https;branch=${BRANCH};"
 
 inherit autotools
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_2.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_2.1.0.bb
index 9354799..100f3a3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_2.1.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_2.1.0.bb
@@ -5,10 +5,9 @@
 
 DEPENDS = "zlib"
 
-SRC_URI = "https://github.com/warmcat/libwebsockets/archive/v${PV}.tar.gz"
-
-SRC_URI[md5sum] = "4df3be57dee43aeebd54a3ed56568f50"
-SRC_URI[sha256sum] = "bcc96aaa609daae4d3f7ab1ee480126709ef4f6a8bf9c85de40aae48e38cce66"
+S = "${WORKDIR}/git"
+SRCREV = "73557509bd15f95a1ad081a6f4fab48ff7743215"
+SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;"
 
 inherit cmake pkgconfig
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/0001-config.mk-allow-prefix-mandir-localedir-from-environ.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/0001-config.mk-allow-prefix-mandir-localedir-from-environ.patch
new file mode 100644
index 0000000..a5aa277
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/0001-config.mk-allow-prefix-mandir-localedir-from-environ.patch
@@ -0,0 +1,35 @@
+From 0be38301249d797ec1f59071cc868ceda6d4720a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
+Date: Tue, 12 Apr 2016 12:50:32 +0100
+Subject: [PATCH 1/2] config.mk: allow prefix / mandir / localedir from
+ environment
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We want to control them using OE environment variables.
+
+Upstream-Status: Inappropriate [embedded-specific]
+Signed-off-by: André Draszik <andre.draszik@jci.com>
+---
+ config.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/config.mk b/config.mk
+index 71f17e5..81d9702 100644
+--- a/config.mk
++++ b/config.mk
+@@ -249,7 +249,7 @@ ifeq ($(WITH_DOCS),yes)
+ endif
+ 
+ INSTALL?=install
+-prefix=/usr/local
+-mandir=${prefix}/share/man
+-localedir=${prefix}/share/locale
++prefix?=/usr/local
++mandir?=${prefix}/share/man
++localedir?=${prefix}/share/locale
+ STRIP?=strip
+-- 
+2.15.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch
new file mode 100644
index 0000000..c89dfe6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch
@@ -0,0 +1,975 @@
+From d9aeef8d95a325942cc92f4d72415771d75d904c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
+Date: Tue, 12 Apr 2016 13:05:10 +0100
+Subject: [PATCH 2/2] uthash: remove in-tree version
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We don't need it as we want to use the version provided by
+meta-oe instead.
+
+Upstream-Status: Inappropriate [embedded-specific]
+Signed-off-by: André Draszik <andre.draszik@jci.com>
+---
+ src/uthash.h | 948 -----------------------------------------------------------
+ 1 file changed, 948 deletions(-)
+ delete mode 100644 src/uthash.h
+
+diff --git a/src/uthash.h b/src/uthash.h
+deleted file mode 100644
+index 915a825..0000000
+--- a/src/uthash.h
++++ /dev/null
+@@ -1,948 +0,0 @@
+-/*
+-Copyright (c) 2003-2013, Troy D. Hanson     http://troydhanson.github.com/uthash/
+-All rights reserved.
+-
+-Redistribution and use in source and binary forms, with or without
+-modification, are permitted provided that the following conditions are met:
+-
+-    * Redistributions of source code must retain the above copyright
+-      notice, this list of conditions and the following disclaimer.
+-
+-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-*/
+-
+-#ifndef UTHASH_H
+-#define UTHASH_H 
+-
+-#include <string.h>   /* memcmp,strlen */
+-#include <stddef.h>   /* ptrdiff_t */
+-#include <stdlib.h>   /* exit() */
+-
+-/* These macros use decltype or the earlier __typeof GNU extension.
+-   As decltype is only available in newer compilers (VS2010 or gcc 4.3+
+-   when compiling c++ source) this code uses whatever method is needed
+-   or, for VS2008 where neither is available, uses casting workarounds. */
+-#ifdef _MSC_VER         /* MS compiler */
+-#if _MSC_VER >= 1600 && defined(__cplusplus)  /* VS2010 or newer in C++ mode */
+-#define DECLTYPE(x) (decltype(x))
+-#else                   /* VS2008 or older (or VS2010 in C mode) */
+-#define NO_DECLTYPE
+-#define DECLTYPE(x)
+-#endif
+-#else                   /* GNU, Sun and other compilers */
+-#define DECLTYPE(x) (__typeof(x))
+-#endif
+-
+-#ifdef NO_DECLTYPE
+-#define DECLTYPE_ASSIGN(dst,src)                                                 \
+-do {                                                                             \
+-  char **_da_dst = (char**)(&(dst));                                             \
+-  *_da_dst = (char*)(src);                                                       \
+-} while(0)
+-#else 
+-#define DECLTYPE_ASSIGN(dst,src)                                                 \
+-do {                                                                             \
+-  (dst) = DECLTYPE(dst)(src);                                                    \
+-} while(0)
+-#endif
+-
+-/* a number of the hash function use uint32_t which isn't defined on win32 */
+-#ifdef _MSC_VER
+-typedef unsigned int uint32_t;
+-typedef unsigned char uint8_t;
+-#else
+-#include <inttypes.h>   /* uint32_t */
+-#endif
+-
+-#define UTHASH_VERSION 1.9.8
+-
+-#ifndef uthash_fatal
+-#define uthash_fatal(msg) exit(-1)        /* fatal error (out of memory,etc) */
+-#endif
+-#ifndef uthash_malloc
+-#define uthash_malloc(sz) malloc(sz)      /* malloc fcn                      */
+-#endif
+-#ifndef uthash_free
+-#define uthash_free(ptr,sz) free(ptr)     /* free fcn                        */
+-#endif
+-
+-#ifndef uthash_noexpand_fyi
+-#define uthash_noexpand_fyi(tbl)          /* can be defined to log noexpand  */
+-#endif
+-#ifndef uthash_expand_fyi
+-#define uthash_expand_fyi(tbl)            /* can be defined to log expands   */
+-#endif
+-
+-/* initial number of buckets */
+-#define HASH_INITIAL_NUM_BUCKETS 32      /* initial number of buckets        */
+-#define HASH_INITIAL_NUM_BUCKETS_LOG2 5  /* lg2 of initial number of buckets */
+-#define HASH_BKT_CAPACITY_THRESH 10      /* expand when bucket count reaches */
+-
+-/* calculate the element whose hash handle address is hhe */
+-#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho)))
+-
+-#define HASH_FIND(hh,head,keyptr,keylen,out)                                     \
+-do {                                                                             \
+-  unsigned _hf_bkt,_hf_hashv;                                                    \
+-  out=NULL;                                                                      \
+-  if (head) {                                                                    \
+-     HASH_FCN(keyptr,keylen, (head)->hh.tbl->num_buckets, _hf_hashv, _hf_bkt);   \
+-     if (HASH_BLOOM_TEST((head)->hh.tbl, _hf_hashv)) {                           \
+-       HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ],  \
+-                        keyptr,keylen,out);                                      \
+-     }                                                                           \
+-  }                                                                              \
+-} while (0)
+-
+-#ifdef HASH_BLOOM
+-#define HASH_BLOOM_BITLEN (1ULL << HASH_BLOOM)
+-#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8) + ((HASH_BLOOM_BITLEN%8) ? 1:0)
+-#define HASH_BLOOM_MAKE(tbl)                                                     \
+-do {                                                                             \
+-  (tbl)->bloom_nbits = HASH_BLOOM;                                               \
+-  (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN);                 \
+-  if (!((tbl)->bloom_bv))  { uthash_fatal( "out of memory"); }                   \
+-  memset((tbl)->bloom_bv, 0, HASH_BLOOM_BYTELEN);                                \
+-  (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE;                                       \
+-} while (0) 
+-
+-#define HASH_BLOOM_FREE(tbl)                                                     \
+-do {                                                                             \
+-  uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN);                              \
+-} while (0) 
+-
+-#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8] |= (1U << ((idx)%8)))
+-#define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8] & (1U << ((idx)%8)))
+-
+-#define HASH_BLOOM_ADD(tbl,hashv)                                                \
+-  HASH_BLOOM_BITSET((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1)))
+-
+-#define HASH_BLOOM_TEST(tbl,hashv)                                               \
+-  HASH_BLOOM_BITTEST((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1)))
+-
+-#else
+-#define HASH_BLOOM_MAKE(tbl) 
+-#define HASH_BLOOM_FREE(tbl) 
+-#define HASH_BLOOM_ADD(tbl,hashv) 
+-#define HASH_BLOOM_TEST(tbl,hashv) (1)
+-#define HASH_BLOOM_BYTELEN 0
+-#endif
+-
+-#define HASH_MAKE_TABLE(hh,head)                                                 \
+-do {                                                                             \
+-  (head)->hh.tbl = (UT_hash_table*)uthash_malloc(                                \
+-                  sizeof(UT_hash_table));                                        \
+-  if (!((head)->hh.tbl))  { uthash_fatal( "out of memory"); }                    \
+-  memset((head)->hh.tbl, 0, sizeof(UT_hash_table));                              \
+-  (head)->hh.tbl->tail = &((head)->hh);                                          \
+-  (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS;                        \
+-  (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2;              \
+-  (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head);                    \
+-  (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc(                      \
+-          HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket));               \
+-  if (! (head)->hh.tbl->buckets) { uthash_fatal( "out of memory"); }             \
+-  memset((head)->hh.tbl->buckets, 0,                                             \
+-          HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket));               \
+-  HASH_BLOOM_MAKE((head)->hh.tbl);                                               \
+-  (head)->hh.tbl->signature = HASH_SIGNATURE;                                    \
+-} while(0)
+-
+-#define HASH_ADD(hh,head,fieldname,keylen_in,add)                                \
+-        HASH_ADD_KEYPTR(hh,head,&((add)->fieldname),keylen_in,add)
+-
+-#define HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced)                   \
+-do {                                                                             \
+-  replaced=NULL;                                                                 \
+-  HASH_FIND(hh,head,&((add)->fieldname),keylen_in,replaced);                     \
+-  if (replaced!=NULL) {                                                          \
+-     HASH_DELETE(hh,head,replaced);                                              \
+-  };                                                                             \
+-  HASH_ADD(hh,head,fieldname,keylen_in,add);                                     \
+-} while(0)
+- 
+-#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add)                            \
+-do {                                                                             \
+- unsigned _ha_bkt;                                                               \
+- (add)->hh.next = NULL;                                                          \
+- (add)->hh.key = (char*)keyptr;                                                  \
+- (add)->hh.keylen = (unsigned)keylen_in;                                                   \
+- if (!(head)) {                                                                  \
+-    head = (add);                                                                \
+-    (head)->hh.prev = NULL;                                                      \
+-    HASH_MAKE_TABLE(hh,head);                                                    \
+- } else {                                                                        \
+-    (head)->hh.tbl->tail->next = (add);                                          \
+-    (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail);         \
+-    (head)->hh.tbl->tail = &((add)->hh);                                         \
+- }                                                                               \
+- (head)->hh.tbl->num_items++;                                                    \
+- (add)->hh.tbl = (head)->hh.tbl;                                                 \
+- HASH_FCN(keyptr,keylen_in, (head)->hh.tbl->num_buckets,                         \
+-         (add)->hh.hashv, _ha_bkt);                                              \
+- HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt],&(add)->hh);                   \
+- HASH_BLOOM_ADD((head)->hh.tbl,(add)->hh.hashv);                                 \
+- HASH_EMIT_KEY(hh,head,keyptr,keylen_in);                                        \
+- HASH_FSCK(hh,head);                                                             \
+-} while(0)
+-
+-#define HASH_TO_BKT( hashv, num_bkts, bkt )                                      \
+-do {                                                                             \
+-  bkt = ((hashv) & ((num_bkts) - 1));                                            \
+-} while(0)
+-
+-/* delete "delptr" from the hash table.
+- * "the usual" patch-up process for the app-order doubly-linked-list.
+- * The use of _hd_hh_del below deserves special explanation.
+- * These used to be expressed using (delptr) but that led to a bug
+- * if someone used the same symbol for the head and deletee, like
+- *  HASH_DELETE(hh,users,users);
+- * We want that to work, but by changing the head (users) below
+- * we were forfeiting our ability to further refer to the deletee (users)
+- * in the patch-up process. Solution: use scratch space to
+- * copy the deletee pointer, then the latter references are via that
+- * scratch pointer rather than through the repointed (users) symbol.
+- */
+-#define HASH_DELETE(hh,head,delptr)                                              \
+-do {                                                                             \
+-    unsigned _hd_bkt;                                                            \
+-    struct UT_hash_handle *_hd_hh_del;                                           \
+-    if ( ((delptr)->hh.prev == NULL) && ((delptr)->hh.next == NULL) )  {         \
+-        uthash_free((head)->hh.tbl->buckets,                                     \
+-                    (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \
+-        HASH_BLOOM_FREE((head)->hh.tbl);                                         \
+-        uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                      \
+-        head = NULL;                                                             \
+-    } else {                                                                     \
+-        _hd_hh_del = &((delptr)->hh);                                            \
+-        if ((delptr) == ELMT_FROM_HH((head)->hh.tbl,(head)->hh.tbl->tail)) {     \
+-            (head)->hh.tbl->tail =                                               \
+-                (UT_hash_handle*)((ptrdiff_t)((delptr)->hh.prev) +               \
+-                (head)->hh.tbl->hho);                                            \
+-        }                                                                        \
+-        if ((delptr)->hh.prev) {                                                 \
+-            ((UT_hash_handle*)((ptrdiff_t)((delptr)->hh.prev) +                  \
+-                    (head)->hh.tbl->hho))->next = (delptr)->hh.next;             \
+-        } else {                                                                 \
+-            DECLTYPE_ASSIGN(head,(delptr)->hh.next);                             \
+-        }                                                                        \
+-        if (_hd_hh_del->next) {                                                  \
+-            ((UT_hash_handle*)((ptrdiff_t)_hd_hh_del->next +                     \
+-                    (head)->hh.tbl->hho))->prev =                                \
+-                    _hd_hh_del->prev;                                            \
+-        }                                                                        \
+-        HASH_TO_BKT( _hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt);   \
+-        HASH_DEL_IN_BKT(hh,(head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del);        \
+-        (head)->hh.tbl->num_items--;                                             \
+-    }                                                                            \
+-    HASH_FSCK(hh,head);                                                          \
+-} while (0)
+-
+-
+-/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */
+-#define HASH_FIND_STR(head,findstr,out)                                          \
+-    HASH_FIND(hh,head,findstr,strlen(findstr),out)
+-#define HASH_ADD_STR(head,strfield,add)                                          \
+-    HASH_ADD(hh,head,strfield,strlen(add->strfield),add)
+-#define HASH_REPLACE_STR(head,strfield,add,replaced)                             \
+-  HASH_REPLACE(hh,head,strfield,strlen(add->strfield),add,replaced)
+-#define HASH_FIND_INT(head,findint,out)                                          \
+-    HASH_FIND(hh,head,findint,sizeof(int),out)
+-#define HASH_ADD_INT(head,intfield,add)                                          \
+-    HASH_ADD(hh,head,intfield,sizeof(int),add)
+-#define HASH_REPLACE_INT(head,intfield,add,replaced)                             \
+-    HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced)
+-#define HASH_FIND_PTR(head,findptr,out)                                          \
+-    HASH_FIND(hh,head,findptr,sizeof(void *),out)
+-#define HASH_ADD_PTR(head,ptrfield,add)                                          \
+-    HASH_ADD(hh,head,ptrfield,sizeof(void *),add)
+-#define HASH_REPLACE_PTR(head,ptrfield,add)                                      \
+-    HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced)
+-#define HASH_DEL(head,delptr)                                                    \
+-    HASH_DELETE(hh,head,delptr)
+-
+-/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined.
+- * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined.
+- */
+-#ifdef HASH_DEBUG
+-#define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0)
+-#define HASH_FSCK(hh,head)                                                       \
+-do {                                                                             \
+-    unsigned _bkt_i;                                                             \
+-    unsigned _count, _bkt_count;                                                 \
+-    char *_prev;                                                                 \
+-    struct UT_hash_handle *_thh;                                                 \
+-    if (head) {                                                                  \
+-        _count = 0;                                                              \
+-        for( _bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; _bkt_i++) {       \
+-            _bkt_count = 0;                                                      \
+-            _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head;                      \
+-            _prev = NULL;                                                        \
+-            while (_thh) {                                                       \
+-               if (_prev != (char*)(_thh->hh_prev)) {                            \
+-                   HASH_OOPS("invalid hh_prev %p, actual %p\n",                  \
+-                    _thh->hh_prev, _prev );                                      \
+-               }                                                                 \
+-               _bkt_count++;                                                     \
+-               _prev = (char*)(_thh);                                            \
+-               _thh = _thh->hh_next;                                             \
+-            }                                                                    \
+-            _count += _bkt_count;                                                \
+-            if ((head)->hh.tbl->buckets[_bkt_i].count !=  _bkt_count) {          \
+-               HASH_OOPS("invalid bucket count %d, actual %d\n",                 \
+-                (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count);              \
+-            }                                                                    \
+-        }                                                                        \
+-        if (_count != (head)->hh.tbl->num_items) {                               \
+-            HASH_OOPS("invalid hh item count %d, actual %d\n",                   \
+-                (head)->hh.tbl->num_items, _count );                             \
+-        }                                                                        \
+-        /* traverse hh in app order; check next/prev integrity, count */         \
+-        _count = 0;                                                              \
+-        _prev = NULL;                                                            \
+-        _thh =  &(head)->hh;                                                     \
+-        while (_thh) {                                                           \
+-           _count++;                                                             \
+-           if (_prev !=(char*)(_thh->prev)) {                                    \
+-              HASH_OOPS("invalid prev %p, actual %p\n",                          \
+-                    _thh->prev, _prev );                                         \
+-           }                                                                     \
+-           _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh);                    \
+-           _thh = ( _thh->next ?  (UT_hash_handle*)((char*)(_thh->next) +        \
+-                                  (head)->hh.tbl->hho) : NULL );                 \
+-        }                                                                        \
+-        if (_count != (head)->hh.tbl->num_items) {                               \
+-            HASH_OOPS("invalid app item count %d, actual %d\n",                  \
+-                (head)->hh.tbl->num_items, _count );                             \
+-        }                                                                        \
+-    }                                                                            \
+-} while (0)
+-#else
+-#define HASH_FSCK(hh,head) 
+-#endif
+-
+-/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to 
+- * the descriptor to which this macro is defined for tuning the hash function.
+- * The app can #include <unistd.h> to get the prototype for write(2). */
+-#ifdef HASH_EMIT_KEYS
+-#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen)                                   \
+-do {                                                                             \
+-    unsigned _klen = fieldlen;                                                   \
+-    write(HASH_EMIT_KEYS, &_klen, sizeof(_klen));                                \
+-    write(HASH_EMIT_KEYS, keyptr, fieldlen);                                     \
+-} while (0)
+-#else 
+-#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen)                    
+-#endif
+-
+-/* default to Jenkin's hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */
+-#ifdef HASH_FUNCTION 
+-#define HASH_FCN HASH_FUNCTION
+-#else
+-#define HASH_FCN HASH_JEN
+-#endif
+-
+-/* The Bernstein hash function, used in Perl prior to v5.6 */
+-#define HASH_BER(key,keylen,num_bkts,hashv,bkt)                                  \
+-do {                                                                             \
+-  unsigned _hb_keylen=keylen;                                                    \
+-  char *_hb_key=(char*)(key);                                                    \
+-  (hashv) = 0;                                                                   \
+-  while (_hb_keylen--)  { (hashv) = ((hashv) * 33) + *_hb_key++; }               \
+-  bkt = (hashv) & (num_bkts-1);                                                  \
+-} while (0)
+-
+-
+-/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at 
+- * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */
+-#define HASH_SAX(key,keylen,num_bkts,hashv,bkt)                                  \
+-do {                                                                             \
+-  unsigned _sx_i;                                                                \
+-  char *_hs_key=(char*)(key);                                                    \
+-  hashv = 0;                                                                     \
+-  for(_sx_i=0; _sx_i < keylen; _sx_i++)                                          \
+-      hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i];                     \
+-  bkt = hashv & (num_bkts-1);                                                    \
+-} while (0)
+-
+-#define HASH_FNV(key,keylen,num_bkts,hashv,bkt)                                  \
+-do {                                                                             \
+-  unsigned _fn_i;                                                                \
+-  char *_hf_key=(char*)(key);                                                    \
+-  hashv = 2166136261UL;                                                          \
+-  for(_fn_i=0; _fn_i < keylen; _fn_i++)                                          \
+-      hashv = (hashv * 16777619) ^ _hf_key[_fn_i];                               \
+-  bkt = hashv & (num_bkts-1);                                                    \
+-} while(0) 
+- 
+-#define HASH_OAT(key,keylen,num_bkts,hashv,bkt)                                  \
+-do {                                                                             \
+-  unsigned _ho_i;                                                                \
+-  char *_ho_key=(char*)(key);                                                    \
+-  hashv = 0;                                                                     \
+-  for(_ho_i=0; _ho_i < keylen; _ho_i++) {                                        \
+-      hashv += _ho_key[_ho_i];                                                   \
+-      hashv += (hashv << 10);                                                    \
+-      hashv ^= (hashv >> 6);                                                     \
+-  }                                                                              \
+-  hashv += (hashv << 3);                                                         \
+-  hashv ^= (hashv >> 11);                                                        \
+-  hashv += (hashv << 15);                                                        \
+-  bkt = hashv & (num_bkts-1);                                                    \
+-} while(0)
+-
+-#define HASH_JEN_MIX(a,b,c)                                                      \
+-do {                                                                             \
+-  a -= b; a -= c; a ^= ( c >> 13 );                                              \
+-  b -= c; b -= a; b ^= ( a << 8 );                                               \
+-  c -= a; c -= b; c ^= ( b >> 13 );                                              \
+-  a -= b; a -= c; a ^= ( c >> 12 );                                              \
+-  b -= c; b -= a; b ^= ( a << 16 );                                              \
+-  c -= a; c -= b; c ^= ( b >> 5 );                                               \
+-  a -= b; a -= c; a ^= ( c >> 3 );                                               \
+-  b -= c; b -= a; b ^= ( a << 10 );                                              \
+-  c -= a; c -= b; c ^= ( b >> 15 );                                              \
+-} while (0)
+-
+-#define HASH_JEN(key,keylen,num_bkts,hashv,bkt)                                  \
+-do {                                                                             \
+-  unsigned _hj_i,_hj_j,_hj_k;                                                    \
+-  unsigned char *_hj_key=(unsigned char*)(key);                                  \
+-  hashv = 0xfeedbeef;                                                            \
+-  _hj_i = _hj_j = 0x9e3779b9;                                                    \
+-  _hj_k = (unsigned)keylen;                                                      \
+-  while (_hj_k >= 12) {                                                          \
+-    _hj_i +=    (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 )                      \
+-        + ( (unsigned)_hj_key[2] << 16 )                                         \
+-        + ( (unsigned)_hj_key[3] << 24 ) );                                      \
+-    _hj_j +=    (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 )                      \
+-        + ( (unsigned)_hj_key[6] << 16 )                                         \
+-        + ( (unsigned)_hj_key[7] << 24 ) );                                      \
+-    hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 )                         \
+-        + ( (unsigned)_hj_key[10] << 16 )                                        \
+-        + ( (unsigned)_hj_key[11] << 24 ) );                                     \
+-                                                                                 \
+-     HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                          \
+-                                                                                 \
+-     _hj_key += 12;                                                              \
+-     _hj_k -= 12;                                                                \
+-  }                                                                              \
+-  hashv += keylen;                                                               \
+-  switch ( _hj_k ) {                                                             \
+-     case 11: hashv += ( (unsigned)_hj_key[10] << 24 );                          \
+-     case 10: hashv += ( (unsigned)_hj_key[9] << 16 );                           \
+-     case 9:  hashv += ( (unsigned)_hj_key[8] << 8 );                            \
+-     case 8:  _hj_j += ( (unsigned)_hj_key[7] << 24 );                           \
+-     case 7:  _hj_j += ( (unsigned)_hj_key[6] << 16 );                           \
+-     case 6:  _hj_j += ( (unsigned)_hj_key[5] << 8 );                            \
+-     case 5:  _hj_j += _hj_key[4];                                               \
+-     case 4:  _hj_i += ( (unsigned)_hj_key[3] << 24 );                           \
+-     case 3:  _hj_i += ( (unsigned)_hj_key[2] << 16 );                           \
+-     case 2:  _hj_i += ( (unsigned)_hj_key[1] << 8 );                            \
+-     case 1:  _hj_i += _hj_key[0];                                               \
+-  }                                                                              \
+-  HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                             \
+-  bkt = hashv & (num_bkts-1);                                                    \
+-} while(0)
+-
+-/* The Paul Hsieh hash function */
+-#undef get16bits
+-#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__)             \
+-  || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__)
+-#define get16bits(d) (*((const uint16_t *) (d)))
+-#endif
+-
+-#if !defined (get16bits)
+-#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)             \
+-                       +(uint32_t)(((const uint8_t *)(d))[0]) )
+-#endif
+-#define HASH_SFH(key,keylen,num_bkts,hashv,bkt)                                  \
+-do {                                                                             \
+-  unsigned char *_sfh_key=(unsigned char*)(key);                                 \
+-  uint32_t _sfh_tmp, _sfh_len = keylen;                                          \
+-                                                                                 \
+-  int _sfh_rem = _sfh_len & 3;                                                   \
+-  _sfh_len >>= 2;                                                                \
+-  hashv = 0xcafebabe;                                                            \
+-                                                                                 \
+-  /* Main loop */                                                                \
+-  for (;_sfh_len > 0; _sfh_len--) {                                              \
+-    hashv    += get16bits (_sfh_key);                                            \
+-    _sfh_tmp       = (uint32_t)(get16bits (_sfh_key+2)) << 11  ^ hashv;          \
+-    hashv     = (hashv << 16) ^ _sfh_tmp;                                        \
+-    _sfh_key += 2*sizeof (uint16_t);                                             \
+-    hashv    += hashv >> 11;                                                     \
+-  }                                                                              \
+-                                                                                 \
+-  /* Handle end cases */                                                         \
+-  switch (_sfh_rem) {                                                            \
+-    case 3: hashv += get16bits (_sfh_key);                                       \
+-            hashv ^= hashv << 16;                                                \
+-            hashv ^= (uint32_t)(_sfh_key[sizeof (uint16_t)] << 18);              \
+-            hashv += hashv >> 11;                                                \
+-            break;                                                               \
+-    case 2: hashv += get16bits (_sfh_key);                                       \
+-            hashv ^= hashv << 11;                                                \
+-            hashv += hashv >> 17;                                                \
+-            break;                                                               \
+-    case 1: hashv += *_sfh_key;                                                  \
+-            hashv ^= hashv << 10;                                                \
+-            hashv += hashv >> 1;                                                 \
+-  }                                                                              \
+-                                                                                 \
+-    /* Force "avalanching" of final 127 bits */                                  \
+-    hashv ^= hashv << 3;                                                         \
+-    hashv += hashv >> 5;                                                         \
+-    hashv ^= hashv << 4;                                                         \
+-    hashv += hashv >> 17;                                                        \
+-    hashv ^= hashv << 25;                                                        \
+-    hashv += hashv >> 6;                                                         \
+-    bkt = hashv & (num_bkts-1);                                                  \
+-} while(0) 
+-
+-#ifdef HASH_USING_NO_STRICT_ALIASING
+-/* The MurmurHash exploits some CPU's (x86,x86_64) tolerance for unaligned reads.
+- * For other types of CPU's (e.g. Sparc) an unaligned read causes a bus error.
+- * MurmurHash uses the faster approach only on CPU's where we know it's safe. 
+- *
+- * Note the preprocessor built-in defines can be emitted using:
+- *
+- *   gcc -m64 -dM -E - < /dev/null                  (on gcc)
+- *   cc -## a.c (where a.c is a simple test file)   (Sun Studio)
+- */
+-#if (defined(__i386__) || defined(__x86_64__)  || defined(_M_IX86))
+-#define MUR_GETBLOCK(p,i) p[i]
+-#else /* non intel */
+-#define MUR_PLUS0_ALIGNED(p) (((unsigned long)p & 0x3) == 0)
+-#define MUR_PLUS1_ALIGNED(p) (((unsigned long)p & 0x3) == 1)
+-#define MUR_PLUS2_ALIGNED(p) (((unsigned long)p & 0x3) == 2)
+-#define MUR_PLUS3_ALIGNED(p) (((unsigned long)p & 0x3) == 3)
+-#define WP(p) ((uint32_t*)((unsigned long)(p) & ~3UL))
+-#if (defined(__BIG_ENDIAN__) || defined(SPARC) || defined(__ppc__) || defined(__ppc64__))
+-#define MUR_THREE_ONE(p) ((((*WP(p))&0x00ffffff) << 8) | (((*(WP(p)+1))&0xff000000) >> 24))
+-#define MUR_TWO_TWO(p)   ((((*WP(p))&0x0000ffff) <<16) | (((*(WP(p)+1))&0xffff0000) >> 16))
+-#define MUR_ONE_THREE(p) ((((*WP(p))&0x000000ff) <<24) | (((*(WP(p)+1))&0xffffff00) >>  8))
+-#else /* assume little endian non-intel */
+-#define MUR_THREE_ONE(p) ((((*WP(p))&0xffffff00) >> 8) | (((*(WP(p)+1))&0x000000ff) << 24))
+-#define MUR_TWO_TWO(p)   ((((*WP(p))&0xffff0000) >>16) | (((*(WP(p)+1))&0x0000ffff) << 16))
+-#define MUR_ONE_THREE(p) ((((*WP(p))&0xff000000) >>24) | (((*(WP(p)+1))&0x00ffffff) <<  8))
+-#endif
+-#define MUR_GETBLOCK(p,i) (MUR_PLUS0_ALIGNED(p) ? ((p)[i]) :           \
+-                            (MUR_PLUS1_ALIGNED(p) ? MUR_THREE_ONE(p) : \
+-                             (MUR_PLUS2_ALIGNED(p) ? MUR_TWO_TWO(p) :  \
+-                                                      MUR_ONE_THREE(p))))
+-#endif
+-#define MUR_ROTL32(x,r) (((x) << (r)) | ((x) >> (32 - (r))))
+-#define MUR_FMIX(_h) \
+-do {                 \
+-  _h ^= _h >> 16;    \
+-  _h *= 0x85ebca6b;  \
+-  _h ^= _h >> 13;    \
+-  _h *= 0xc2b2ae35l; \
+-  _h ^= _h >> 16;    \
+-} while(0)
+-
+-#define HASH_MUR(key,keylen,num_bkts,hashv,bkt)                        \
+-do {                                                                   \
+-  const uint8_t *_mur_data = (const uint8_t*)(key);                    \
+-  const int _mur_nblocks = (keylen) / 4;                               \
+-  uint32_t _mur_h1 = 0xf88D5353;                                       \
+-  uint32_t _mur_c1 = 0xcc9e2d51;                                       \
+-  uint32_t _mur_c2 = 0x1b873593;                                       \
+-  uint32_t _mur_k1 = 0;                                                \
+-  const uint8_t *_mur_tail;                                            \
+-  const uint32_t *_mur_blocks = (const uint32_t*)(_mur_data+_mur_nblocks*4); \
+-  int _mur_i;                                                          \
+-  for(_mur_i = -_mur_nblocks; _mur_i; _mur_i++) {                      \
+-    _mur_k1 = MUR_GETBLOCK(_mur_blocks,_mur_i);                        \
+-    _mur_k1 *= _mur_c1;                                                \
+-    _mur_k1 = MUR_ROTL32(_mur_k1,15);                                  \
+-    _mur_k1 *= _mur_c2;                                                \
+-                                                                       \
+-    _mur_h1 ^= _mur_k1;                                                \
+-    _mur_h1 = MUR_ROTL32(_mur_h1,13);                                  \
+-    _mur_h1 = _mur_h1*5+0xe6546b64;                                    \
+-  }                                                                    \
+-  _mur_tail = (const uint8_t*)(_mur_data + _mur_nblocks*4);            \
+-  _mur_k1=0;                                                           \
+-  switch((keylen) & 3) {                                               \
+-    case 3: _mur_k1 ^= _mur_tail[2] << 16;                             \
+-    case 2: _mur_k1 ^= _mur_tail[1] << 8;                              \
+-    case 1: _mur_k1 ^= _mur_tail[0];                                   \
+-    _mur_k1 *= _mur_c1;                                                \
+-    _mur_k1 = MUR_ROTL32(_mur_k1,15);                                  \
+-    _mur_k1 *= _mur_c2;                                                \
+-    _mur_h1 ^= _mur_k1;                                                \
+-  }                                                                    \
+-  _mur_h1 ^= (keylen);                                                 \
+-  MUR_FMIX(_mur_h1);                                                   \
+-  hashv = _mur_h1;                                                     \
+-  bkt = hashv & (num_bkts-1);                                          \
+-} while(0)
+-#endif  /* HASH_USING_NO_STRICT_ALIASING */
+-
+-/* key comparison function; return 0 if keys equal */
+-#define HASH_KEYCMP(a,b,len) memcmp(a,b,len) 
+-
+-/* iterate over items in a known bucket to find desired item */
+-#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out)                       \
+-do {                                                                             \
+- if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head));          \
+- else out=NULL;                                                                  \
+- while (out) {                                                                   \
+-    if ((out)->hh.keylen == keylen_in) {                                           \
+-        if ((HASH_KEYCMP((out)->hh.key,keyptr,keylen_in)) == 0) break;             \
+-    }                                                                            \
+-    if ((out)->hh.hh_next) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,(out)->hh.hh_next)); \
+-    else out = NULL;                                                             \
+- }                                                                               \
+-} while(0)
+-
+-/* add an item to a bucket  */
+-#define HASH_ADD_TO_BKT(head,addhh)                                              \
+-do {                                                                             \
+- head.count++;                                                                   \
+- (addhh)->hh_next = head.hh_head;                                                \
+- (addhh)->hh_prev = NULL;                                                        \
+- if (head.hh_head) { (head).hh_head->hh_prev = (addhh); }                        \
+- (head).hh_head=addhh;                                                           \
+- if (head.count >= ((head.expand_mult+1) * HASH_BKT_CAPACITY_THRESH)             \
+-     && (addhh)->tbl->noexpand != 1) {                                           \
+-       HASH_EXPAND_BUCKETS((addhh)->tbl);                                        \
+- }                                                                               \
+-} while(0)
+-
+-/* remove an item from a given bucket */
+-#define HASH_DEL_IN_BKT(hh,head,hh_del)                                          \
+-    (head).count--;                                                              \
+-    if ((head).hh_head == hh_del) {                                              \
+-      (head).hh_head = hh_del->hh_next;                                          \
+-    }                                                                            \
+-    if (hh_del->hh_prev) {                                                       \
+-        hh_del->hh_prev->hh_next = hh_del->hh_next;                              \
+-    }                                                                            \
+-    if (hh_del->hh_next) {                                                       \
+-        hh_del->hh_next->hh_prev = hh_del->hh_prev;                              \
+-    }                                                                
+-
+-/* Bucket expansion has the effect of doubling the number of buckets
+- * and redistributing the items into the new buckets. Ideally the
+- * items will distribute more or less evenly into the new buckets
+- * (the extent to which this is true is a measure of the quality of
+- * the hash function as it applies to the key domain). 
+- * 
+- * With the items distributed into more buckets, the chain length
+- * (item count) in each bucket is reduced. Thus by expanding buckets
+- * the hash keeps a bound on the chain length. This bounded chain 
+- * length is the essence of how a hash provides constant time lookup.
+- * 
+- * The calculation of tbl->ideal_chain_maxlen below deserves some
+- * explanation. First, keep in mind that we're calculating the ideal
+- * maximum chain length based on the *new* (doubled) bucket count.
+- * In fractions this is just n/b (n=number of items,b=new num buckets).
+- * Since the ideal chain length is an integer, we want to calculate 
+- * ceil(n/b). We don't depend on floating point arithmetic in this
+- * hash, so to calculate ceil(n/b) with integers we could write
+- * 
+- *      ceil(n/b) = (n/b) + ((n%b)?1:0)
+- * 
+- * and in fact a previous version of this hash did just that.
+- * But now we have improved things a bit by recognizing that b is
+- * always a power of two. We keep its base 2 log handy (call it lb),
+- * so now we can write this with a bit shift and logical AND:
+- * 
+- *      ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0)
+- * 
+- */
+-#define HASH_EXPAND_BUCKETS(tbl)                                                 \
+-do {                                                                             \
+-    unsigned _he_bkt;                                                            \
+-    unsigned _he_bkt_i;                                                          \
+-    struct UT_hash_handle *_he_thh, *_he_hh_nxt;                                 \
+-    UT_hash_bucket *_he_new_buckets, *_he_newbkt;                                \
+-    _he_new_buckets = (UT_hash_bucket*)uthash_malloc(                            \
+-             2 * tbl->num_buckets * sizeof(struct UT_hash_bucket));              \
+-    if (!_he_new_buckets) { uthash_fatal( "out of memory"); }                    \
+-    memset(_he_new_buckets, 0,                                                   \
+-            2 * tbl->num_buckets * sizeof(struct UT_hash_bucket));               \
+-    tbl->ideal_chain_maxlen =                                                    \
+-       (tbl->num_items >> (tbl->log2_num_buckets+1)) +                           \
+-       ((tbl->num_items & ((tbl->num_buckets*2)-1)) ? 1 : 0);                    \
+-    tbl->nonideal_items = 0;                                                     \
+-    for(_he_bkt_i = 0; _he_bkt_i < tbl->num_buckets; _he_bkt_i++)                \
+-    {                                                                            \
+-        _he_thh = tbl->buckets[ _he_bkt_i ].hh_head;                             \
+-        while (_he_thh) {                                                        \
+-           _he_hh_nxt = _he_thh->hh_next;                                        \
+-           HASH_TO_BKT( _he_thh->hashv, tbl->num_buckets*2, _he_bkt);            \
+-           _he_newbkt = &(_he_new_buckets[ _he_bkt ]);                           \
+-           if (++(_he_newbkt->count) > tbl->ideal_chain_maxlen) {                \
+-             tbl->nonideal_items++;                                              \
+-             _he_newbkt->expand_mult = _he_newbkt->count /                       \
+-                                        tbl->ideal_chain_maxlen;                 \
+-           }                                                                     \
+-           _he_thh->hh_prev = NULL;                                              \
+-           _he_thh->hh_next = _he_newbkt->hh_head;                               \
+-           if (_he_newbkt->hh_head) _he_newbkt->hh_head->hh_prev =               \
+-                _he_thh;                                                         \
+-           _he_newbkt->hh_head = _he_thh;                                        \
+-           _he_thh = _he_hh_nxt;                                                 \
+-        }                                                                        \
+-    }                                                                            \
+-    uthash_free( tbl->buckets, tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \
+-    tbl->num_buckets *= 2;                                                       \
+-    tbl->log2_num_buckets++;                                                     \
+-    tbl->buckets = _he_new_buckets;                                              \
+-    tbl->ineff_expands = (tbl->nonideal_items > (tbl->num_items >> 1)) ?         \
+-        (tbl->ineff_expands+1) : 0;                                              \
+-    if (tbl->ineff_expands > 1) {                                                \
+-        tbl->noexpand=1;                                                         \
+-        uthash_noexpand_fyi(tbl);                                                \
+-    }                                                                            \
+-    uthash_expand_fyi(tbl);                                                      \
+-} while(0)
+-
+-
+-/* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */
+-/* Note that HASH_SORT assumes the hash handle name to be hh. 
+- * HASH_SRT was added to allow the hash handle name to be passed in. */
+-#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn)
+-#define HASH_SRT(hh,head,cmpfcn)                                                 \
+-do {                                                                             \
+-  unsigned _hs_i;                                                                \
+-  unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize;               \
+-  struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail;            \
+-  if (head) {                                                                    \
+-      _hs_insize = 1;                                                            \
+-      _hs_looping = 1;                                                           \
+-      _hs_list = &((head)->hh);                                                  \
+-      while (_hs_looping) {                                                      \
+-          _hs_p = _hs_list;                                                      \
+-          _hs_list = NULL;                                                       \
+-          _hs_tail = NULL;                                                       \
+-          _hs_nmerges = 0;                                                       \
+-          while (_hs_p) {                                                        \
+-              _hs_nmerges++;                                                     \
+-              _hs_q = _hs_p;                                                     \
+-              _hs_psize = 0;                                                     \
+-              for ( _hs_i = 0; _hs_i  < _hs_insize; _hs_i++ ) {                  \
+-                  _hs_psize++;                                                   \
+-                  _hs_q = (UT_hash_handle*)((_hs_q->next) ?                      \
+-                          ((void*)((char*)(_hs_q->next) +                        \
+-                          (head)->hh.tbl->hho)) : NULL);                         \
+-                  if (! (_hs_q) ) break;                                         \
+-              }                                                                  \
+-              _hs_qsize = _hs_insize;                                            \
+-              while ((_hs_psize > 0) || ((_hs_qsize > 0) && _hs_q )) {           \
+-                  if (_hs_psize == 0) {                                          \
+-                      _hs_e = _hs_q;                                             \
+-                      _hs_q = (UT_hash_handle*)((_hs_q->next) ?                  \
+-                              ((void*)((char*)(_hs_q->next) +                    \
+-                              (head)->hh.tbl->hho)) : NULL);                     \
+-                      _hs_qsize--;                                               \
+-                  } else if ( (_hs_qsize == 0) || !(_hs_q) ) {                   \
+-                      _hs_e = _hs_p;                                             \
+-                      if (_hs_p){                                                \
+-                        _hs_p = (UT_hash_handle*)((_hs_p->next) ?                \
+-                                ((void*)((char*)(_hs_p->next) +                  \
+-                                (head)->hh.tbl->hho)) : NULL);                   \
+-                       }                                                         \
+-                      _hs_psize--;                                               \
+-                  } else if ((                                                   \
+-                      cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_p)), \
+-                             DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_q))) \
+-                             ) <= 0) {                                           \
+-                      _hs_e = _hs_p;                                             \
+-                      if (_hs_p){                                                \
+-                        _hs_p = (UT_hash_handle*)((_hs_p->next) ?                \
+-                               ((void*)((char*)(_hs_p->next) +                   \
+-                               (head)->hh.tbl->hho)) : NULL);                    \
+-                       }                                                         \
+-                      _hs_psize--;                                               \
+-                  } else {                                                       \
+-                      _hs_e = _hs_q;                                             \
+-                      _hs_q = (UT_hash_handle*)((_hs_q->next) ?                  \
+-                              ((void*)((char*)(_hs_q->next) +                    \
+-                              (head)->hh.tbl->hho)) : NULL);                     \
+-                      _hs_qsize--;                                               \
+-                  }                                                              \
+-                  if ( _hs_tail ) {                                              \
+-                      _hs_tail->next = ((_hs_e) ?                                \
+-                            ELMT_FROM_HH((head)->hh.tbl,_hs_e) : NULL);          \
+-                  } else {                                                       \
+-                      _hs_list = _hs_e;                                          \
+-                  }                                                              \
+-                  if (_hs_e) {                                                   \
+-                  _hs_e->prev = ((_hs_tail) ?                                    \
+-                     ELMT_FROM_HH((head)->hh.tbl,_hs_tail) : NULL);              \
+-                  }                                                              \
+-                  _hs_tail = _hs_e;                                              \
+-              }                                                                  \
+-              _hs_p = _hs_q;                                                     \
+-          }                                                                      \
+-          if (_hs_tail){                                                         \
+-            _hs_tail->next = NULL;                                               \
+-          }                                                                      \
+-          if ( _hs_nmerges <= 1 ) {                                              \
+-              _hs_looping=0;                                                     \
+-              (head)->hh.tbl->tail = _hs_tail;                                   \
+-              DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)->hh.tbl, _hs_list));      \
+-          }                                                                      \
+-          _hs_insize *= 2;                                                       \
+-      }                                                                          \
+-      HASH_FSCK(hh,head);                                                        \
+- }                                                                               \
+-} while (0)
+-
+-/* This function selects items from one hash into another hash. 
+- * The end result is that the selected items have dual presence 
+- * in both hashes. There is no copy of the items made; rather 
+- * they are added into the new hash through a secondary hash 
+- * hash handle that must be present in the structure. */
+-#define HASH_SELECT(hh_dst, dst, hh_src, src, cond)                              \
+-do {                                                                             \
+-  unsigned _src_bkt, _dst_bkt;                                                   \
+-  void *_last_elt=NULL, *_elt;                                                   \
+-  UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL;                         \
+-  ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst));                 \
+-  if (src) {                                                                     \
+-    for(_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) {     \
+-      for(_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head;                \
+-          _src_hh;                                                               \
+-          _src_hh = _src_hh->hh_next) {                                          \
+-          _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh);                       \
+-          if (cond(_elt)) {                                                      \
+-            _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho);               \
+-            _dst_hh->key = _src_hh->key;                                         \
+-            _dst_hh->keylen = _src_hh->keylen;                                   \
+-            _dst_hh->hashv = _src_hh->hashv;                                     \
+-            _dst_hh->prev = _last_elt;                                           \
+-            _dst_hh->next = NULL;                                                \
+-            if (_last_elt_hh) { _last_elt_hh->next = _elt; }                     \
+-            if (!dst) {                                                          \
+-              DECLTYPE_ASSIGN(dst,_elt);                                         \
+-              HASH_MAKE_TABLE(hh_dst,dst);                                       \
+-            } else {                                                             \
+-              _dst_hh->tbl = (dst)->hh_dst.tbl;                                  \
+-            }                                                                    \
+-            HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt);    \
+-            HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt],_dst_hh);            \
+-            (dst)->hh_dst.tbl->num_items++;                                      \
+-            _last_elt = _elt;                                                    \
+-            _last_elt_hh = _dst_hh;                                              \
+-          }                                                                      \
+-      }                                                                          \
+-    }                                                                            \
+-  }                                                                              \
+-  HASH_FSCK(hh_dst,dst);                                                         \
+-} while (0)
+-
+-#define HASH_CLEAR(hh,head)                                                      \
+-do {                                                                             \
+-  if (head) {                                                                    \
+-    uthash_free((head)->hh.tbl->buckets,                                         \
+-                (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket));      \
+-    HASH_BLOOM_FREE((head)->hh.tbl);                                             \
+-    uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                          \
+-    (head)=NULL;                                                                 \
+-  }                                                                              \
+-} while(0)
+-
+-#define HASH_OVERHEAD(hh,head)                                                   \
+- (size_t)((((head)->hh.tbl->num_items   * sizeof(UT_hash_handle))   +            \
+-           ((head)->hh.tbl->num_buckets * sizeof(UT_hash_bucket))   +            \
+-            (sizeof(UT_hash_table))                                 +            \
+-            (HASH_BLOOM_BYTELEN)))
+-
+-#ifdef NO_DECLTYPE
+-#define HASH_ITER(hh,head,el,tmp)                                                \
+-for((el)=(head), (*(char**)(&(tmp)))=(char*)((head)?(head)->hh.next:NULL);       \
+-  el; (el)=(tmp),(*(char**)(&(tmp)))=(char*)((tmp)?(tmp)->hh.next:NULL)) 
+-#else
+-#define HASH_ITER(hh,head,el,tmp)                                                \
+-for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL);                 \
+-  el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL))
+-#endif
+-
+-/* obtain a count of items in the hash */
+-#define HASH_COUNT(head) HASH_CNT(hh,head) 
+-#define HASH_CNT(hh,head) ((head)?((head)->hh.tbl->num_items):0)
+-
+-typedef struct UT_hash_bucket {
+-   struct UT_hash_handle *hh_head;
+-   unsigned count;
+-
+-   /* expand_mult is normally set to 0. In this situation, the max chain length
+-    * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If
+-    * the bucket's chain exceeds this length, bucket expansion is triggered). 
+-    * However, setting expand_mult to a non-zero value delays bucket expansion
+-    * (that would be triggered by additions to this particular bucket)
+-    * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH.
+-    * (The multiplier is simply expand_mult+1). The whole idea of this
+-    * multiplier is to reduce bucket expansions, since they are expensive, in
+-    * situations where we know that a particular bucket tends to be overused.
+-    * It is better to let its chain length grow to a longer yet-still-bounded
+-    * value, than to do an O(n) bucket expansion too often. 
+-    */
+-   unsigned expand_mult;
+-
+-} UT_hash_bucket;
+-
+-/* random signature used only to find hash tables in external analysis */
+-#define HASH_SIGNATURE 0xa0111fe1
+-#define HASH_BLOOM_SIGNATURE 0xb12220f2
+-
+-typedef struct UT_hash_table {
+-   UT_hash_bucket *buckets;
+-   unsigned num_buckets, log2_num_buckets;
+-   unsigned num_items;
+-   struct UT_hash_handle *tail; /* tail hh in app order, for fast append    */
+-   ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */
+-
+-   /* in an ideal situation (all buckets used equally), no bucket would have
+-    * more than ceil(#items/#buckets) items. that's the ideal chain length. */
+-   unsigned ideal_chain_maxlen;
+-
+-   /* nonideal_items is the number of items in the hash whose chain position
+-    * exceeds the ideal chain maxlen. these items pay the penalty for an uneven
+-    * hash distribution; reaching them in a chain traversal takes >ideal steps */
+-   unsigned nonideal_items;
+-
+-   /* ineffective expands occur when a bucket doubling was performed, but 
+-    * afterward, more than half the items in the hash had nonideal chain
+-    * positions. If this happens on two consecutive expansions we inhibit any
+-    * further expansion, as it's not helping; this happens when the hash
+-    * function isn't a good fit for the key domain. When expansion is inhibited
+-    * the hash will still work, albeit no longer in constant time. */
+-   unsigned ineff_expands, noexpand;
+-
+-   uint32_t signature; /* used only to find hash tables in external analysis */
+-#ifdef HASH_BLOOM
+-   uint32_t bloom_sig; /* used only to test bloom exists in external analysis */
+-   uint8_t *bloom_bv;
+-   char bloom_nbits;
+-#endif
+-
+-} UT_hash_table;
+-
+-typedef struct UT_hash_handle {
+-   struct UT_hash_table *tbl;
+-   void *prev;                       /* prev element in app order      */
+-   void *next;                       /* next element in app order      */
+-   struct UT_hash_handle *hh_prev;   /* previous hh in bucket order    */
+-   struct UT_hash_handle *hh_next;   /* next hh in bucket order        */
+-   void *key;                        /* ptr to enclosing struct's key  */
+-   unsigned keylen;                  /* enclosing struct's key len     */
+-   unsigned hashv;                   /* result of hash-fcn(key)        */
+-} UT_hash_handle;
+-
+-#endif /* UTHASH_H */
+-- 
+2.15.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/build.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/build.patch
deleted file mode 100644
index 0d0912b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/files/build.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From ebd7c8e548e9b8e096ee4c390173db9a701f2604 Mon Sep 17 00:00:00 2001
-From: Bruno Bottazzini <bruno.bottazzini@intel.com>
-Date: Wed, 23 Mar 2016 11:18:26 -0300
-Subject: [PATCH] build
-
-Disable stripping and allow easily overriding prefix
-
-Upstream-Status: Pending
-
-Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
----
- client/Makefile  | 4 ++--
- config.mk        | 2 +-
- lib/Makefile     | 2 +-
- lib/cpp/Makefile | 2 +-
- src/Makefile     | 4 ++--
- 5 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/client/Makefile b/client/Makefile
-index bd65355..4e5a640 100644
---- a/client/Makefile
-+++ b/client/Makefile
-@@ -24,8 +24,8 @@ client_shared.o : client_shared.c client
- 
- install : all
- 	$(INSTALL) -d ${DESTDIR}$(prefix)/bin
--	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto_pub ${DESTDIR}${prefix}/bin/mosquitto_pub
--	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto_sub ${DESTDIR}${prefix}/bin/mosquitto_sub
-+	$(INSTALL) mosquitto_pub ${DESTDIR}${prefix}/bin/mosquitto_pub
-+	$(INSTALL) mosquitto_sub ${DESTDIR}${prefix}/bin/mosquitto_sub
- 
- uninstall :
- 	-rm -f ${DESTDIR}${prefix}/bin/mosquitto_pub
-diff --git a/config.mk b/config.mk
-index c0f175f..3427b83 100644
---- a/config.mk
-+++ b/config.mk
-@@ -241,7 +241,7 @@ ifeq ($(WITH_DOCS),yes)
- endif
- 
- INSTALL?=install
--prefix=/usr/local
-+prefix?=/usr
- mandir=${prefix}/share/man
- localedir=${prefix}/share/locale
- STRIP?=strip
-diff --git a/lib/Makefile b/lib/Makefile
-index 825fcea..9b7c05c 100644
---- a/lib/Makefile
-+++ b/lib/Makefile
-@@ -25,7 +25,7 @@ all : libmosquitto.so.${SOVERSION} libmo
- 
- install : all
- 	$(INSTALL) -d ${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/
--	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} libmosquitto.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so.${SOVERSION}
-+	$(INSTALL) libmosquitto.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so.${SOVERSION}
- 	ln -sf libmosquitto.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquitto.so
- 	$(INSTALL) -d ${DESTDIR}${prefix}/include/
- 	$(INSTALL) mosquitto.h ${DESTDIR}${prefix}/include/mosquitto.h
-diff --git a/lib/cpp/Makefile b/lib/cpp/Makefile
-index 8b627d3..cdb2923 100644
---- a/lib/cpp/Makefile
-+++ b/lib/cpp/Makefile
-@@ -10,7 +10,7 @@ all : libmosquittopp.so.${SOVERSION}
- 
- install : all
- 	$(INSTALL) -d ${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/
--	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so.${SOVERSION}
-+	$(INSTALL) libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so.${SOVERSION}
- 	ln -sf libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so
- 	$(INSTALL) -d ${DESTDIR}${prefix}/include/
- 	$(INSTALL) mosquittopp.h ${DESTDIR}${prefix}/include/mosquittopp.h
-diff --git a/src/Makefile b/src/Makefile
-index 2cfb7d4..9a97644 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -103,12 +103,12 @@ mosquitto_passwd.o : mosquitto_passwd.c
- 
- install : all
- 	$(INSTALL) -d ${DESTDIR}$(prefix)/sbin
--	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto ${DESTDIR}${prefix}/sbin/mosquitto
-+	$(INSTALL) mosquitto ${DESTDIR}${prefix}/sbin/mosquitto
-	$(INSTALL) -d ${DESTDIR}$(prefix)/include
- 	$(INSTALL) mosquitto_plugin.h ${DESTDIR}${prefix}/include/mosquitto_plugin.h
- ifeq ($(WITH_TLS),yes)
-	$(INSTALL) -d ${DESTDIR}$(prefix)/bin
--	$(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} mosquitto_passwd ${DESTDIR}${prefix}/bin/mosquitto_passwd
-+	$(INSTALL) mosquitto_passwd ${DESTDIR}${prefix}/bin/mosquitto_passwd
- endif
- 
- uninstall :
--- 
-2.7.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb
index 7554248..13ce381 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosquitto/mosquitto_1.4.14.bb
@@ -8,9 +8,11 @@
                     file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
                     file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
 "
+DEPENDS = "uthash"
 
 SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
-           file://build.patch \
+           file://0001-config.mk-allow-prefix-mandir-localedir-from-environ.patch \
+           file://0002-uthash-remove-in-tree-version.patch \
            file://mosquitto.service \
            file://mosquitto.init \
 "
@@ -26,6 +28,7 @@
 PACKAGECONFIG[ssl] = ",,openssl"
 PACKAGECONFIG[uuid] = ",,util-linux"
 EXTRA_OEMAKE = "${@bb.utils.contains('PACKAGECONFIG', 'dns-srv', 'WITH_SRV=yes', 'WITH_SRV=no', d)} \
+                STRIP=/bin/true \
                 WITH_DOCS=no \
                 ${@bb.utils.contains('PACKAGECONFIG', 'ssl', 'WITH_TLS=yes WITH_TLS_PSK=yes', 'WITH_TLS=no WITH_TLS_PSK=no', d)} \
                 ${@bb.utils.contains('PACKAGECONFIG', 'uuid', 'WITH_UUID=yes', 'WITH_UUID=no', d)}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
index e10b89c..715b023 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
@@ -11,6 +11,8 @@
 SRC_URI[md5sum] = "961ca5db6fe9c97024e133cc6203cc4d"
 SRC_URI[sha256sum] = "b399465ddbd6d0217abedd9411d9d74a820effa0a6a142adc448268d3920094f"
 
-inherit autotools-brokensep pkgconfig
+inherit distro_features_check autotools-brokensep pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 FILES_${PN} += "${datadir}/dbus-1/"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
index 2db48f3..1b56685 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
@@ -25,6 +25,8 @@
 
 #--enable-apps --enable-syslog
 
+ASNEEDED = ""
+
 do_install_append () {
     rmdir ${D}${bindir}
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
index 489861c..b4a914d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
@@ -16,6 +16,8 @@
 
 inherit cmake pkgconfig
 
+OECMAKE_GENERATOR = "Unix Makefiles"
+
 PACKAGECONFIG ?= ""
 # fuse support will need meta-filesystems layer
 PACKAGECONFIG[fuse] = "-DENABLE_FUSE=ON,-DENABLE_FUSE=OFF,fuse"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/fix-makefile-override.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/fix-makefile-override.patch
deleted file mode 100644
index f0a1d33..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/fix-makefile-override.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream-Status: Backport [debian]
-
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -37,16 +37,15 @@
- # Use the following only on GNU/Linux and only if you need ps listing like "smsd: MAINPROCESS" and "smsd: GSM1"
- # CFLAGS += -D USE_LINUX_PS_TRICK
- 
--all: smsd 
--
--smsd: smsd.c extras.o locking.o cfgfile.o logging.o alarm.o smsd_cfg.o charset.o stats.o blacklist.o whitelist.o modeminit.o pdu.o
--
- ifneq (,$(findstring SOLARIS,$(CFLAGS)))
- ifeq (,$(findstring DISABLE_INET_SOCKET,$(CFLAGS)))
- override LFLAGS += -lsocket -lnsl
- endif
- endif
- 
-+all: smsd 
-+
-+smsd: smsd.c extras.o locking.o cfgfile.o logging.o alarm.o smsd_cfg.o charset.o stats.o blacklist.o whitelist.o modeminit.o pdu.o
- ifneq (,$(findstring NOSTATS,$(CFLAGS)))
- 	$(CC) $(CFLAGS) -o $@ $^ $(LFLAGS)
- else 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/scripts_no_bash.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/scripts_no_bash.patch
new file mode 100644
index 0000000..49b4d1d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/scripts_no_bash.patch
@@ -0,0 +1,51 @@
+From 85602c3e531d39e89dc8cee0c4a592f85006a064 Mon Sep 17 00:00:00 2001
+From: Bill Randle <bill.randle@gmail.com>
+Date: Sun, 31 Dec 2017 09:08:23 -0800
+
+---
+ scripts/sendsms     | 2 +-
+ scripts/sms2html    | 2 +-
+ scripts/sms2unicode | 2 +-
+ scripts/unicode2sms | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/scripts/sendsms b/scripts/sendsms
+index 512026d..bb56856 100755
+--- a/scripts/sendsms
++++ b/scripts/sendsms
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # This script send a text sms at the command line by creating
+ # a sms file in the outgoing queue.
+ 
+diff --git a/scripts/sms2html b/scripts/sms2html
+index ff253e3..946185e 100755
+--- a/scripts/sms2html
++++ b/scripts/sms2html
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ 
+ # This script converts a received sms file into a html file. 
+ 
+diff --git a/scripts/sms2unicode b/scripts/sms2unicode
+index 46e2756..2826dc1 100755
+--- a/scripts/sms2unicode
++++ b/scripts/sms2unicode
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ 
+ # This script converts a received sms file into a pure unicode text file.
+ 
+diff --git a/scripts/unicode2sms b/scripts/unicode2sms
+index 2ae86dc..3fccf0d 100755
+--- a/scripts/unicode2sms
++++ b/scripts/unicode2sms
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ 
+ # This script converts a pure unicode text file into an sms file for sending.
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath.patch
new file mode 100644
index 0000000..e1d79d3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath.patch
@@ -0,0 +1,24 @@
+From 9a4a872dca78ca9cb6bdc228be61f5a4c2d68b1f Mon Sep 17 00:00:00 2001
+From: Kai Ulrich <kaiu@gmx.de>
+Date: Wed, 18 Mar 2015 11:20:53 +0100
+
+---
+ scripts/sms3 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/sms3 b/scripts/sms3
+index 6b990bf..09c063b 100755
+--- a/scripts/sms3
++++ b/scripts/sms3
+@@ -24,9 +24,9 @@ INFOFILE="/var/run/smsd.working"
+ # Logfile can also be defined in here:
+ LOGFILE="/var/log/smsd.log"
+ 
+-DAEMON=/usr/local/bin/smsd
++DAEMON=/usr/bin/smsd
+ # A program which turns power off for couple of seconds:
+-RESETMODEMS=/usr/local/bin/smsd_resetmodems
++RESETMODEMS=/usr/bin/smsd_resetmodems
+ NAME=smsd
+ PSOPT="-e"
+ ECHO=echo
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath_and_psops.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath_and_psops.patch
deleted file mode 100644
index ffcaa09..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath_and_psops.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: smstools3/scripts/sms3
-===================================================================
---- smstools3.orig/scripts/sms3	2010-05-04 11:21:44.000000000 +0200
-+++ smstools3/scripts/sms3	2015-02-22 20:05:51.615074469 +0100
-@@ -24,11 +24,11 @@
- # Logfile can also be defined in here:
- LOGFILE="/var/log/smsd.log"
- 
--DAEMON=/usr/local/bin/smsd
-+DAEMON=/usr/bin/smsd
- # A program which turns power off for couple of seconds:
--RESETMODEMS=/usr/local/bin/smsd_resetmodems
-+RESETMODEMS=/usr/bin/smsd_resetmodems
- NAME=smsd
--PSOPT="-e"
-+PSOPT=""
- ECHO=echo
- case `uname` in
-   *BSD|Darwin)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.15.bb
deleted file mode 100644
index 310a13c..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.15.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "SMS Gateway software"
-DESCRIPTION = "The SMS Server Tools 3 is a SMS Gateway software which can send and receive short messages through GSM modems and mobile phones."
-SECTION = "console/network"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4d21efa1bb2a186360dde4035f860682"
-HOMEPAGE = "http://smstools3.kekekasvi.com"
-
-SRC_URI = "http://smstools3.kekekasvi.com/packages/${BP}.tar.gz \
-           file://sms_binpath_and_psops.patch \
-           file://fix-makefile-override.patch"
-
-SRC_URI[md5sum] = "0241ef60e646fac1a06254a848e61ed7"
-SRC_URI[sha256sum] = "ed00ffaeaa312a5b4f969f4e97a64603a866bbe16e393ea02f5bf05234814d59"
-
-
-S = "${WORKDIR}/${BPN}"
-
-EXTRA_OEMAKE += "LFLAGS='${LDFLAGS}'"
-
-RDEPENDS_${PN} = "bash"
-INITSCRIPT_NAME = "sms3"
-INITSCRIPT_PARAMS = "defaults"
-
-inherit update-rc.d
-
-do_install () {
-
-    install -d ${D}${bindir}
-    install -m 755 ${S}/src/smsd "${D}${bindir}/smsd"
-
-    install -m 755 ${S}/scripts/sendsms "${D}${bindir}/sendsms"
-    install -m 755 ${S}/scripts/sms2html "${D}${bindir}/sms2html"
-    install -m 755 ${S}/scripts/sms2unicode "${D}${bindir}/sms2unicode"
-    install -m 755 ${S}/scripts/unicode2sms "${D}${bindir}/unicode2sms"
-
-    install -d ${D}${sysconfdir}
-    install -m 644 ${S}/examples/smsd.conf.easy "${D}${sysconfdir}/smsd.conf"
-
-    install -d "${D}${localstatedir}/spool"
-    install -d "${D}${localstatedir}/spool/sms"
-    install -d "${D}${localstatedir}/spool/sms/incoming"
-    install -d "${D}${localstatedir}/spool/sms/outgoing"
-    install -d "${D}${localstatedir}/spool/sms/checked"
-
-    install -d ${D}${sysconfdir}/init.d
-    install -m 755 ${S}/scripts/sms3 "${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}"
-
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb
new file mode 100644
index 0000000..6e6413b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb
@@ -0,0 +1,47 @@
+SUMMARY = "SMS Gateway software"
+DESCRIPTION = "The SMS Server Tools 3 is a SMS Gateway software which can send and receive short messages through GSM modems and mobile phones."
+SECTION = "console/network"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4d21efa1bb2a186360dde4035f860682"
+HOMEPAGE = "http://smstools3.kekekasvi.com"
+
+SRC_URI = "http://smstools3.kekekasvi.com/packages/${BP}.tar.gz \
+           file://sms_binpath.patch \
+           file://scripts_no_bash.patch"
+
+SRC_URI[md5sum] = "6a9f038fb38a49cc3a4f8f14a88fb8af"
+SRC_URI[sha256sum] = "a26ba4c02b16f6cf13177bffca6c9230dc5fefaeba8e3030cd4e4905f6a92084"
+
+
+S = "${WORKDIR}/${BPN}"
+
+EXTRA_OEMAKE += "LFLAGS='${LDFLAGS}'"
+
+INITSCRIPT_NAME = "sms3"
+INITSCRIPT_PARAMS = "defaults"
+
+inherit update-rc.d
+
+do_install () {
+
+    install -d ${D}${bindir}
+    install -m 755 ${S}/src/smsd "${D}${bindir}/smsd"
+
+    install -m 755 ${S}/scripts/sendsms "${D}${bindir}/sendsms"
+    install -m 755 ${S}/scripts/sms2html "${D}${bindir}/sms2html"
+    install -m 755 ${S}/scripts/sms2unicode "${D}${bindir}/sms2unicode"
+    install -m 755 ${S}/scripts/unicode2sms "${D}${bindir}/unicode2sms"
+
+    install -d ${D}${sysconfdir}
+    install -m 644 ${S}/examples/smsd.conf.easy "${D}${sysconfdir}/smsd.conf"
+
+    install -d "${D}${localstatedir}/spool"
+    install -d "${D}${localstatedir}/spool/sms"
+    install -d "${D}${localstatedir}/spool/sms/incoming"
+    install -d "${D}${localstatedir}/spool/sms/outgoing"
+    install -d "${D}${localstatedir}/spool/sms/checked"
+
+    install -d ${D}${sysconfdir}/init.d
+    install -m 755 ${S}/scripts/sms3 "${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}"
+
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch
new file mode 100644
index 0000000..8192056
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch
@@ -0,0 +1,49 @@
+From f567740cf64978ac9db014c786b6d0267b244f33 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 4 Mar 2018 22:30:30 -0800
+Subject: [PATCH 1/2] replace SIGCLD with SIGCHLD and include sys/types.h
+
+Fixes
+main.c:129:10: error: 'SIGCLD' undeclared (first use in this function); did you mean 'SIGCHLD'?
+   signal(SIGCLD, sig_child);
+          ^~~~~~
+          SIGCHLD
+
+main.c:125:2: warning: implicit declaration of function 'umask' [-Wimplicit-function-declaration]
+  umask(0);
+  ^~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/main.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/main.c b/src/main.c
+index 3cf4072..cd34196 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -31,6 +31,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/wait.h>
+ #include <sys/param.h>
++#include <sys/types.h>
+ #include <pthread.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+@@ -126,9 +127,9 @@ static void daemon_start(int ignsigcld)
+ 
+ 	if (ignsigcld) {
+ #ifdef SIGTSTP
+-		signal(SIGCLD, sig_child);
++		signal(SIGCHLD, sig_child);
+ #else
+-		signal(SIGCLD, SIG_IGN);
++		signal(SIGCHLD, SIG_IGN);
+ #endif
+ 	}
+ }
+-- 
+2.16.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch
new file mode 100644
index 0000000..90d12da
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/files/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch
@@ -0,0 +1,143 @@
+From 19b6cf8099e1974b5fc39086fc54103b0cbc2658 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 4 Mar 2018 23:01:25 -0800
+Subject: [PATCH 2/2] replace PTHREAD_MUTEX_FAST_NP with PTHREAD_MUTEX_NORMAL
+
+PTHREAD_MUTEX_FAST_NP is not available on non-posix systems
+e.g. musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/ha.c        | 2 +-
+ src/icmp6.c     | 2 +-
+ src/mh.c        | 2 +-
+ src/mn.c        | 2 +-
+ src/movement.c  | 2 +-
+ src/mpdisc_ha.c | 2 +-
+ src/mpdisc_mn.c | 2 +-
+ src/tqueue.c    | 2 +-
+ src/tunnelctl.c | 2 +-
+ 9 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/src/ha.c b/src/ha.c
+index fbdcff0..b2f811e 100644
+--- a/src/ha.c
++++ b/src/ha.c
+@@ -1246,7 +1246,7 @@ int ha_init(void)
+ {
+ 	pthread_mutexattr_t mattrs;
+ 	pthread_mutexattr_init(&mattrs);
+-	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
++	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
+ 	if (pthread_mutex_init(&bu_worker_mutex, &mattrs) ||
+ 	    pthread_cond_init(&cond, NULL))
+ 		return -1;
+diff --git a/src/icmp6.c b/src/icmp6.c
+index 3695135..6460634 100644
+--- a/src/icmp6.c
++++ b/src/icmp6.c
+@@ -243,7 +243,7 @@ int icmp6_init(void)
+ 		return -1;
+ 	/* create ICMP listener thread */
+ 	pthread_mutexattr_init(&mattrs);
+-	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
++	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
+ 	if (pthread_mutex_init(&icmp6_sock.send_mutex, &mattrs) ||
+ 	    pthread_rwlock_init(&handler_lock, NULL) ||
+ 	    pthread_create(&icmp6_listener, NULL, icmp6_listen, NULL))
+diff --git a/src/mh.c b/src/mh.c
+index 60e345e..7928f4c 100644
+--- a/src/mh.c
++++ b/src/mh.c
+@@ -204,7 +204,7 @@ int mh_init(void)
+ 		return -1;
+ 
+ 	pthread_mutexattr_init(&mattrs);
+-	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
++	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
+ 	if (pthread_mutex_init(&mh_sock.send_mutex, &mattrs) ||
+ 	    pthread_rwlock_init(&handler_lock, NULL) ||
+ 	    pthread_create(&mh_listener, NULL, mh_listen, NULL))
+diff --git a/src/mn.c b/src/mn.c
+index 092cfcb..8f7f448 100644
+--- a/src/mn.c
++++ b/src/mn.c
+@@ -1478,7 +1478,7 @@ static struct home_addr_info *hai_copy(struct home_addr_info *conf_hai)
+ 	if (hai != NULL) {
+ 		pthread_mutexattr_t mattrs;
+ 		pthread_mutexattr_init(&mattrs);
+-		pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
++		pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
+ 
+ 		memcpy(hai, conf_hai, sizeof(struct home_addr_info));
+ 
+diff --git a/src/movement.c b/src/movement.c
+index d985937..6400448 100644
+--- a/src/movement.c
++++ b/src/movement.c
+@@ -2013,7 +2013,7 @@ int md_init(void)
+ 	int val;
+ 
+ 	pthread_mutexattr_init(&mattrs);
+-	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
++	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
+ 	if (pthread_mutex_init(&iface_lock, &mattrs))
+ 		return -1;
+ 
+diff --git a/src/mpdisc_ha.c b/src/mpdisc_ha.c
+index 40ba05f..fd7a90d 100644
+--- a/src/mpdisc_ha.c
++++ b/src/mpdisc_ha.c
+@@ -559,7 +559,7 @@ int mpd_ha_init(void)
+ {
+ 	pthread_mutexattr_t mattrs;
+ 	pthread_mutexattr_init(&mattrs);
+-	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
++	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
+ 	if (pthread_mutex_init(&mpa_lock, &mattrs) ||
+ 	    pthread_rwlock_init(&prefix_lock, NULL) ||
+ 	    hash_init(&mpa_hash, DOUBLE_ADDR, MPA_BUCKETS) < 0)
+diff --git a/src/mpdisc_mn.c b/src/mpdisc_mn.c
+index 4873bd6..ada02bd 100644
+--- a/src/mpdisc_mn.c
++++ b/src/mpdisc_mn.c
+@@ -267,7 +267,7 @@ int mpd_mn_init(void)
+ {
+ 	pthread_mutexattr_t mattrs;
+ 	pthread_mutexattr_init(&mattrs);
+-	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
++	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
+ 	if (pthread_mutex_init(&mps_lock, &mattrs))
+ 		return -1;
+ 	if (hash_init(&mps_hash, DOUBLE_ADDR, MPS_BUCKETS) < 0)
+diff --git a/src/tqueue.c b/src/tqueue.c
+index 2f7aa0b..9c185b8 100644
+--- a/src/tqueue.c
++++ b/src/tqueue.c
+@@ -65,7 +65,7 @@ int taskqueue_init(void)
+ {
+ 	pthread_mutexattr_t mattrs;
+ 	pthread_mutexattr_init(&mattrs);
+-	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
++	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
+ 	if (pthread_mutex_init(&mutex, &mattrs) ||
+ 	    pthread_cond_init(&cond, NULL) ||
+ 	    pthread_create(&tq_runner, NULL, runner, NULL))
+diff --git a/src/tunnelctl.c b/src/tunnelctl.c
+index 23fc20b..813b8ec 100644
+--- a/src/tunnelctl.c
++++ b/src/tunnelctl.c
+@@ -433,7 +433,7 @@ int tunnelctl_init(void)
+ 		return -1;
+ 
+ 	pthread_mutexattr_init(&mattrs);
+-	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
++	pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
+ 	if (pthread_mutex_init(&tnl_lock, &mattrs))
+ 		return -1;
+ 
+-- 
+2.16.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb
index 2129e37..0c120bf 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/umip/umip_1.0.bb
@@ -14,6 +14,8 @@
            file://mip6d \
            file://mip6d.service \
            file://0001-Add-format-string-to-fprintf-call.patch \
+           file://0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch \
+           file://0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch \
            "
 SRCREV = "7d67209cd1bba2dd0e183a0fa07eeef07964dd14"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
index a64745c..4920bce 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
@@ -4,8 +4,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94"
 DEPENDS = "zeromq"
 
-SRCREV = "68a7b09cfce01c4c279fba2cf91686fcfc566848"
-PV = "4.1.5+git${SRCPV}"
+SRCREV = "6aa3ab686e916cb0e62df7fa7d12e0b13ae9fae6"
+PV = "4.2.3+git${SRCPV}"
 
 SRC_URI = "git://github.com/zeromq/cppzmq.git"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.6.bb
deleted file mode 100644
index e126f32..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.6.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
-HOMEPAGE = "http://www.zeromq.org"
-LICENSE = "LGPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
-
-PACKAGECONFIG ??= "libsodium"
-PACKAGECONFIG[libsodium] = "--with-libsodium, --without-libsodium, libsodium"
-
-SRC_URI = "http://github.com/zeromq/zeromq4-1/releases/download/v${PV}/zeromq-${PV}.tar.gz \
-    file://run-ptest \
-"
-SRC_URI[md5sum] = "c89db4dbc0b90c34c9f4983cbff6d321"
-SRC_URI[sha256sum] = "02ebf60a43011e770799336365bcbce2eb85569e9b5f52aa0d8cc04672438a0a"
-
-S = "${WORKDIR}/zeromq-${PV}"
-
-#Uncomment to choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select
-#EXTRA_OECONF += "--with-poller=kqueue"
-#CFLAGS_append = " -O0"
-#CXXFLAGS_append = " -O0"
-
-inherit autotools ptest pkgconfig
-
-do_compile_ptest () {
-    echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${B}/Makefile
-    oe_runmake buildtest-TESTS
-}
-
-do_install_ptest () {
-    install -d ${D}${PTEST_PATH}/tests
-    install -m 0755 ${B}/.libs/test_* ${D}${PTEST_PATH}/tests
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.2.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.2.5.bb
new file mode 100644
index 0000000..356348b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.2.5.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
+HOMEPAGE = "http://www.zeromq.org"
+LICENSE = "LGPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
+
+PACKAGECONFIG ??= "libsodium"
+PACKAGECONFIG[libsodium] = "--with-libsodium, --without-libsodium, libsodium"
+
+SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
+    file://run-ptest \
+"
+SRC_URI[md5sum] = "a1c95b34384257e986842f4d006957b8"
+SRC_URI[sha256sum] = "cc9090ba35713d59bb2f7d7965f877036c49c5558ea0c290b0dcc6f2a17e489f"
+
+S = "${WORKDIR}/zeromq-${PV}"
+
+#Uncomment to choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select
+#EXTRA_OECONF += "--with-poller=kqueue"
+#CFLAGS_append = " -O0"
+#CXXFLAGS_append = " -O0"
+
+inherit autotools ptest pkgconfig
+
+do_compile_ptest () {
+    echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${B}/Makefile
+    oe_runmake buildtest-TESTS
+}
+
+do_install_ptest () {
+    install -d ${D}${PTEST_PATH}/tests
+    install -m 0755 ${B}/tests/.libs/test_* ${D}${PTEST_PATH}/tests
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker/0001-Comment-rst2man-related-stuff.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker/0001-Comment-rst2man-related-stuff.patch
new file mode 100644
index 0000000..f10c49e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker/0001-Comment-rst2man-related-stuff.patch
@@ -0,0 +1,34 @@
+From a92fd7da3a262e21c0970a3908eb0b4502819a01 Mon Sep 17 00:00:00 2001
+From: Yang Lyu <yangl@axis.com>
+Date: Fri, 23 Feb 2018 16:31:49 +0100
+Subject: [PATCH] Comment rst2man related stuff
+
+---
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 56d38e4..3c3b109 100644
+--- a/meson.build
++++ b/meson.build
+@@ -15,7 +15,7 @@ add_project_arguments('-DBINDIR="' + join_paths(get_option('prefix'), get_option
+ cc = meson.get_compiler('c')
+ conf = configuration_data()
+ mod_pkgconfig = import('pkgconfig')
+-prog_rst2man = find_program('rst2man', 'rst2man.py')
++#prog_rst2man = find_program('rst2man', 'rst2man.py')
+ 
+ sub_cdvar = subproject('c-dvar', version: '>=1')
+ sub_clist = subproject('c-list', version: '>=3')
+@@ -56,7 +56,7 @@ endif
+ 
+ conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir')))
+ 
+-subdir('docs')
++#subdir('docs')
+ subdir('src')
+ 
+ if use_launcher
+-- 
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker/0002-Correct-including-directory-for-conf.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker/0002-Correct-including-directory-for-conf.patch
new file mode 100644
index 0000000..4909dea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker/0002-Correct-including-directory-for-conf.patch
@@ -0,0 +1,25 @@
+From 4b79f603b948709906c108796087de7b5643f61a Mon Sep 17 00:00:00 2001
+From: Yang Lyu <yangl@axis.com>
+Date: Mon, 26 Feb 2018 12:48:34 +0100
+Subject: [PATCH] Correct including directory for conf
+
+---
+ src/launch/config.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/launch/config.c b/src/launch/config.c
+index 6a68699..579471b 100644
+--- a/src/launch/config.c
++++ b/src/launch/config.c
+@@ -1022,7 +1022,7 @@ static void config_parser_end_fn(void *userdata, const XML_Char *name) {
+                                     state->file,
+                                     state->current->include.selinux_root_relative ?
+                                         bus_selinux_policy_root() :
+-                                        state->file->path,
++                                        NULL,
+                                     state->current->cdata);
+                 if (r) {
+                         state->error = error_trace(r);
+-- 
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_git.bb
new file mode 100644
index 0000000..b62bccf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_git.bb
@@ -0,0 +1,32 @@
+SUMMARY = "dbus broker"
+DESCRIPTION = "Drop-in replacement for dbus-daemon."
+
+SECTION = "base"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8"
+
+DEPENDS = "dbus glib-2.0 expat"
+
+PV = "9+git${SRCPV}"
+SRCREV = "ccd06b284892182af569e69046262331150e3536"
+
+SRC_URI = "git://github.com/bus1/dbus-broker;protocol=git"
+SRC_URI += "file://0001-Comment-rst2man-related-stuff.patch"
+SRC_URI += "file://0002-Correct-including-directory-for-conf.patch"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+FILES_${PN} += "${systemd_system_unitdir}"
+FILES_${PN} += "${systemd_user_unitdir}"
+
+RDEPENDS_${PN} = "dbus"
+
+BBCLASSEXTEND = "native"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch
index 0c2c487..b108a4c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch
@@ -33,10 +33,10 @@
  src/pipe.cpp                  | 2 +-
  3 files changed, 3 insertions(+), 3 deletions(-)
 
-diff --git a/src/eventloop-integration.cpp b/src/eventloop-integration.cpp
-index 5776971..271b503 100644
---- a/src/eventloop-integration.cpp
-+++ b/src/eventloop-integration.cpp
+Index: libdbus-c++-0.9.0/src/eventloop-integration.cpp
+===================================================================
+--- libdbus-c++-0.9.0.orig/src/eventloop-integration.cpp
++++ libdbus-c++-0.9.0/src/eventloop-integration.cpp
 @@ -36,7 +36,7 @@
  /* STD */
  #include <string.h>
@@ -44,12 +44,12 @@
 -#include <sys/poll.h>
 +#include <poll.h>
  #include <fcntl.h>
- #include <unistd.h>
  
-diff --git a/src/eventloop.cpp b/src/eventloop.cpp
-index f622812..7790e1e 100644
---- a/src/eventloop.cpp
-+++ b/src/eventloop.cpp
+ using namespace DBus;
+Index: libdbus-c++-0.9.0/src/eventloop.cpp
+===================================================================
+--- libdbus-c++-0.9.0.orig/src/eventloop.cpp
++++ libdbus-c++-0.9.0/src/eventloop.cpp
 @@ -28,7 +28,7 @@
  #include <dbus-c++/eventloop.h>
  #include <dbus-c++/debug.h>
@@ -59,10 +59,10 @@
  #include <sys/time.h>
  
  #include <dbus/dbus.h>
-diff --git a/src/pipe.cpp b/src/pipe.cpp
-index 01211b3..45c2ba6 100644
---- a/src/pipe.cpp
-+++ b/src/pipe.cpp
+Index: libdbus-c++-0.9.0/src/pipe.cpp
+===================================================================
+--- libdbus-c++-0.9.0.orig/src/pipe.cpp
++++ libdbus-c++-0.9.0/src/pipe.cpp
 @@ -32,7 +32,7 @@
  
  /* STD */
@@ -72,6 +72,3 @@
  #include <fcntl.h>
  #include <errno.h>
  #include <cassert>
--- 
-2.10.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch
index 903a720..bf6870e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch
@@ -24,17 +24,15 @@
  include/dbus-c++/eventloop-integration.h |    1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/include/dbus-c++/eventloop-integration.h b/include/dbus-c++/eventloop-integration.h
-index 5108340..1b56ab5 100644
---- a/include/dbus-c++/eventloop-integration.h
-+++ b/include/dbus-c++/eventloop-integration.h
-@@ -27,6 +27,7 @@
+Index: libdbus-c++-0.9.0/include/dbus-c++/eventloop-integration.h
+===================================================================
+--- libdbus-c++-0.9.0.orig/include/dbus-c++/eventloop-integration.h
++++ libdbus-c++-0.9.0/include/dbus-c++/eventloop-integration.h
+@@ -26,6 +26,7 @@
+ #define __DBUSXX_EVENTLOOP_INTEGRATION_H
  
- #include <cstring>
  #include <errno.h>
 +#include <unistd.h>
  #include "api.h"
  #include "dispatcher.h"
  #include "util.h"
--- 
-1.7.9.7
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell/0001-ell-fix-build-with-musl-libc.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell/0001-ell-fix-build-with-musl-libc.patch
new file mode 100644
index 0000000..a172a93
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell/0001-ell-fix-build-with-musl-libc.patch
@@ -0,0 +1,39 @@
+From 4f8c68757b05d12392cd1a8aed174cb8e56f80e3 Mon Sep 17 00:00:00 2001
+From: "Maxin B. John" <maxin.john@intel.com>
+Date: Thu, 5 Apr 2018 17:19:44 +0300
+Subject: [PATCH] ell: fix build with musl libc
+
+musl libc doesn't implement TEMP_FAILURE_RETRY. Use the
+TEMP_FAILURE_RETRY from glibc to fix build.
+
+Upstream-Status: Submitted [https://lists.01.org/pipermail/ell/2018-April/001209.html]
+
+Signed-off-by: Maxin B. John <maxin.john@intel.com>
+---
+ ell/dbus.h | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/ell/dbus.h b/ell/dbus.h
+index a7c08d2..3ff5e0f 100644
+--- a/ell/dbus.h
++++ b/ell/dbus.h
+@@ -28,6 +28,16 @@
+ #include <stddef.h>
+ #include <stdarg.h>
+ 
++/* taken from glibc unistd.h for musl support */
++#ifndef TEMP_FAILURE_RETRY
++#define TEMP_FAILURE_RETRY(expression)             \
++  (__extension__                                   \
++    ({ long int __result;                          \
++       do __result = (long int) (expression);      \
++       while (__result == -1L && errno == EINTR);  \
++       __result; }))
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+-- 
+2.4.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell_0.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell_0.4.bb
new file mode 100644
index 0000000..1524bd6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell_0.4.bb
@@ -0,0 +1,19 @@
+SUMMARY  = "Embedded Linux Library"
+DESCRIPTION = "ELL is a DBUS library which provides DBUS bindings."
+LICENSE  = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
+SECTION = "libs"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+SRCREV = "b4aea06fabb2af1af01f861f8f394c75950b6d47"
+SRC_URI = "git://git.kernel.org/pub/scm/libs/ell/ell.git \
+           file://0001-ell-fix-build-with-musl-libc.patch \
+          "
+
+do_configure_prepend () {
+    mkdir ${S}/build-aux
+}
+
+DEPENDS = "dbus"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell_git.bb
deleted file mode 100644
index 10df6e1..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/ell/ell_git.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY  = "Embedded Linux Library"
-DESCRIPTION = "ELL is a DBUS library which provides DBUS bindings."
-LICENSE  = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
-SECTION = "libs"
-
-inherit autotools pkgconfig
-
-S = "${WORKDIR}/git"
-SRCREV = "7b7c15c2e5caff88fc45e7a8b874a47196a0eddd"
-SRC_URI = "git://git.kernel.org/pub/scm/libs/ell/ell.git"
-
-do_configure_prepend () {
-    mkdir ${S}/build-aux
-}
-
-DEPENDS = "dbus"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/0001-Glib-Threads-Private-Fix-gobj.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/0001-Glib-Threads-Private-Fix-gobj.patch
new file mode 100644
index 0000000..7899022
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/0001-Glib-Threads-Private-Fix-gobj.patch
@@ -0,0 +1,40 @@
+From 838fe84c2ddcc9af51c34f751defbf3dd0ba8a06 Mon Sep 17 00:00:00 2001
+From: Kjell Ahlstedt <kjellahlstedt@gmail.com>
+Date: Wed, 20 Dec 2017 20:00:32 +0100
+Subject: [PATCH] Glib::Threads::Private: Fix gobj()
+
+Bug 791711
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Backport [https://github.com/GNOME/glibmm/commit/37d57ae9572b7d74aa385a30313eceae7f2d3fce]
+ glib/glibmm/threads.h | 2 +-
+ glib/src/threads.hg   | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/glib/glibmm/threads.h b/glib/glibmm/threads.h
+index f7e2b82a..2c0cbe8c 100644
+--- a/glib/glibmm/threads.h
++++ b/glib/glibmm/threads.h
+@@ -657,7 +657,7 @@ public:
+    */
+   inline void replace(T* data);
+ 
+-  GPrivate* gobj() { return gobject_; }
++  GPrivate* gobj() { return &gobject_; }
+ 
+ private:
+   GPrivate gobject_;
+diff --git a/glib/src/threads.hg b/glib/src/threads.hg
+index 86d7a17b..c82a6130 100644
+--- a/glib/src/threads.hg
++++ b/glib/src/threads.hg
+@@ -628,7 +628,7 @@ public:
+    */
+   inline void replace(T* data);
+ 
+-  GPrivate* gobj() { return gobject_; }
++  GPrivate* gobj() { return &gobject_; }
+ 
+ private:
+   GPrivate gobject_;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
index a5944c2..d32fe78 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
@@ -1,7 +1,16 @@
-Index: glibmm-2.22.1/Makefile.am
-===================================================================
---- glibmm-2.22.1.orig/Makefile.am
-+++ glibmm-2.22.1/Makefile.am
+From f48a69fd11b2eda6c43ff046c202cbc4dcd4e92d Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Tue, 12 Jul 2011 11:46:37 +0200
+
+---
+ Makefile.am  | 7 +------
+ configure.ac | 1 -
+ 2 files changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index a0df8af..c3d5e06 100644
+--- a/Makefile.am
++++ b/Makefile.am
 @@ -23,12 +23,7 @@ src_subdirs = glib/src gio/src
  else
  src_subdirs =
@@ -16,15 +25,15 @@
  
  glibmm_includedir = $(includedir)/$(GLIBMM_MODULE_NAME)
  glibmm_include_HEADERS = glib/glibmm.h
-Index: glibmm-2.22.1/configure.ac
-===================================================================
---- glibmm-2.22.1.orig/configure.ac
-+++ glibmm-2.22.1/configure.ac
-@@ -136,7 +136,6 @@ AC_CONFIG_FILES([Makefile
+diff --git a/configure.ac b/configure.ac
+index c20e778..74203be 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -166,7 +166,6 @@ AC_CONFIG_FILES([Makefile
                   gio/src/Makefile
                   gio/giomm/Makefile
                   tests/Makefile
 -                 examples/Makefile
                   docs/Makefile
                   docs/reference/Doxyfile
-                  MSVC_Net2005/glibmm/glibmm.rc
+                  MSVC_Net2013/glibmm/glibmm.rc
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb
deleted file mode 100644
index 9cc558f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "C++ bindings for the glib library"
-HOMEPAGE = "http://www.gtkmm.org/"
-SECTION = "libs"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
-                    file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
-inherit autotools pkgconfig
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI = " \
-    ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/${SHRT_VER}/glibmm-${PV}.tar.xz \
-    file://remove-examples.patch \
-"
-SRC_URI[md5sum] = "a5b915dc42fc62983fa78ca8486f4391"
-SRC_URI[sha256sum] = "1fd85051da9cb402cc8348cec72dfe4d79f9345df4a1dbf68703a4ded45846a4"
-
-do_install_append() {
-    install -d ${D}${datadir}/glibmm-2.4
-    install -d ${D}${datadir}/aclocal
-
-    install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
-    install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
-
-    for i in generate_wrap_init.pl gmmproc; do
-        sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.4/proc/$i
-    done
-}
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
-
-RDEPENDS_${PN}-dev = "perl"
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.54.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.54.1.bb
new file mode 100644
index 0000000..4706432
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.54.1.bb
@@ -0,0 +1,37 @@
+SUMMARY = "C++ bindings for the glib library"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
+                    file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
+inherit autotools pkgconfig
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI = " \
+    ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/${SHRT_VER}/glibmm-${PV}.tar.xz \
+    file://remove-examples.patch \
+    file://0001-Glib-Threads-Private-Fix-gobj.patch \
+"
+SRC_URI[md5sum] = "dee5ebe309f5976c3dacfcf5c43a062b"
+SRC_URI[sha256sum] = "7cc28c732b04d70ed34f0c923543129083cfb90580ea4a2b4be5b38802bf6a4a"
+
+do_install_append() {
+    install -d ${D}${datadir}/glibmm-2.4
+    install -d ${D}${datadir}/aclocal
+
+    install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
+    install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
+
+    for i in generate_wrap_init.pl gmmproc; do
+        sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.4/proc/$i
+    done
+}
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
+
+RDEPENDS_${PN}-dev = "perl"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.10.bb
deleted file mode 100644
index 899eb8a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.10.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-inherit gnomebase
-
-GNOME_COMPRESS_TYPE="xz"
-
-SRC_URI[archive.md5sum] = "49dc47af8c89ce5b3c768306b9a0f922"
-SRC_URI[archive.sha256sum] = "16c0e2bc196b67fbc145edaecb5dbe5818386504fe5703de27002d77140fa217"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-BBCLASSEXTEND = "native"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.11.bb
new file mode 100644
index 0000000..591caa7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_0.9.11.bb
@@ -0,0 +1,9 @@
+inherit gnomebase
+
+SRC_URI[archive.md5sum] = "d6f2a43589480d2315672da0b5839b56"
+SRC_URI[archive.sha256sum] = "20d1e7466ca4c83c92e29f9e8dfcc8e5721fdf1337f53157bed97be3b73b32a8"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch
new file mode 100644
index 0000000..6a86c76
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch
@@ -0,0 +1,34 @@
+From 746c690f57b52e6fe21cc2a11b5bb71d25af3128 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Wed, 13 Dec 2017 16:15:57 +0100
+Subject: [PATCH] Make full path to systemd-tty-ask-password-agent configurable
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.ac | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index aad673e..6b37179 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -48,7 +48,10 @@ PLYMOUTH_LIBS="-lm -lrt -ldl"
+ AC_SUBST(PLYMOUTH_CFLAGS)
+ AC_SUBST(PLYMOUTH_LIBS)
+ 
+-AC_PATH_PROG([SYSTEMD_ASK_PASSWORD_AGENT], [systemd-tty-ask-password-agent])
++AC_ARG_WITH(systemd-tty-ask-password-agent, AS_HELP_STRING([--with-systemd-tty-ask-password-agent],[path of systemd-tty-ask-password-agent]),SYSTEMD_ASK_PASSWORD_AGENT=${withval},SYSTEMD_ASK_PASSWORD_AGENT=/bin/systemd-tty-ask-password-agent)
++AC_SUBST(SYSTEMD_ASK_PASSWORD_AGENT)
++
++# checked: UDEVADM is not used
+ AC_PATH_PROG([UDEVADM], [udevadm])
+ 
+ AC_ARG_ENABLE(pango, AS_HELP_STRING([--enable-pango],[enable building with pango, disabled there is no encryption prompts]),enable_pango=$enableval,enable_pango=yes)
+-- 
+2.9.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb
index 6163cff..7e8d6e3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb
@@ -16,13 +16,16 @@
 PROVIDES = "virtual/psplash"
 RPROVIDES_${PN} = "virtual-psplash virtual-psplash-support"
 
-SRC_URI = "http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.bz2"
+SRC_URI = " \
+    http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.bz2 \
+    file://0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch \
+"
 SRC_URI[md5sum] = "ff420994deb7ea203df678df92e7ab7d"
 SRC_URI[sha256sum] = "2f0ce82042cf9c7eadd2517a1f74c8a85fa8699781d9f294a06eade29fbed57f"
 
 EXTRA_OECONF += " --enable-shared --disable-static --disable-gtk --disable-documentation \
     --with-logo=${LOGO} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd-integration --with-system-root-install', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd-integration --with-system-root-install --with-systemd-tty-ask-password-agent=${base_bindir}/systemd-tty-ask-password-agent', '', d)} \
 "
 
 PACKAGECONFIG ??= "pango initrd"
@@ -31,7 +34,7 @@
 
 PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
 PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
-PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+"
+PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
 PACKAGECONFIG[initrd] = ",,,"
 
 LOGO ??= "${datadir}/plymouth/bizcom.png"
@@ -39,9 +42,6 @@
 inherit autotools pkgconfig systemd
 
 do_install_append() {
-    install -d ${D}${systemd_unitdir}/system
-    install -m 644 ${B}/systemd-units/*.service ${D}${systemd_unitdir}/system
-    install -m 644 ${B}/systemd-units/systemd-ask-password-plymouth.path ${D}${systemd_unitdir}/system
     # Remove /var/run from package as plymouth will populate it on startup
     rm -fr "${D}${localstatedir}/run"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
new file mode 100644
index 0000000..347c285
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
@@ -0,0 +1,71 @@
+SUMMARY = "Toybox combines common utilities together into a single executable."
+HOMEPAGE = "http://www.landley.net/toybox/"
+DEPENDS = "attr"
+
+LICENSE = "BSD-0-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
+
+SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "a8bb502a1be941f06dd2644fff25f547"
+SRC_URI[sha256sum] = "3ada450ac1eab1dfc352fee915ea6129b9a4349c1885f1394b61bd2d89a46c04"
+
+SECTION = "base"
+
+TOYBOX_BIN = "generated/unstripped/toybox"
+
+EXTRA_OEMAKE = 'HOSTCC="${BUILD_CC}" CPUS=${@oe.utils.cpu_count()}'
+
+do_configure() {
+    oe_runmake defconfig
+
+    # Disable killall5 as it isn't managed by update-alternatives
+    sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
+
+    # Disable swapon as it doesn't handle the '-a' argument used during boot
+    sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config
+}
+
+do_compile() {
+    oe_runmake ${TOYBOX_BIN}
+
+    # Create a list of links needed
+    ${BUILD_CC} -I . scripts/install.c -o generated/instlist
+    ./generated/instlist long | sed -e 's#^#/#' > toybox.links
+}
+
+do_install() {
+    # Install manually instead of using 'make install'
+    install -d ${D}${base_bindir}
+    if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
+        install -m 4755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
+    else
+        install -m 0755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
+    fi
+
+    install -d ${D}${sysconfdir}
+    install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
+}
+
+inherit update-alternatives
+
+# If you've chosen to install toybox you probably want it to take precedence
+# over busybox where possible but not over other packages
+ALTERNATIVE_PRIORITY = "60"
+
+python do_package_prepend () {
+    # Read links from /etc/toybox.links and create appropriate
+    # update-alternatives variables
+
+    dvar = d.getVar('D')
+    pn = d.getVar('PN')
+    target = "/bin/toybox"
+
+    f = open('%s/etc/toybox.links' % (dvar), 'r')
+    for alt_link_name in f:
+        alt_link_name = alt_link_name.strip()
+        alt_name = os.path.basename(alt_link_name)
+        d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
+        d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
+        d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
+    f.close()
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_git.bb
deleted file mode 100644
index 08f9715..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_git.bb
+++ /dev/null
@@ -1,75 +0,0 @@
-SUMMARY = "Toybox combines common utilities together into a single executable."
-HOMEPAGE = "http://www.landley.net/toybox/"
-DEPENDS = "attr"
-
-LICENSE = "BSD-0-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
-
-PV = "0.7.4+git${SRCPV}"
-
-SRCREV = "78289203031afc23585035c362beec10db54958d"
-SRC_URI = "git://github.com/landley/toybox;protocol=https \
-"
-
-S = "${WORKDIR}/git"
-
-SECTION = "base"
-
-TOYBOX_BIN = "generated/unstripped/toybox"
-
-EXTRA_OEMAKE = 'HOSTCC="${BUILD_CC}" CPUS=${@oe.utils.cpu_count()}'
-
-do_configure() {
-    oe_runmake defconfig
-
-    # Disable killall5 as it isn't managed by update-alternatives
-    sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
-
-    # Disable swapon as it doesn't handle the '-a' argument used during boot
-    sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config
-}
-
-do_compile() {
-    oe_runmake ${TOYBOX_BIN}
-
-    # Create a list of links needed
-    ${BUILD_CC} -I . scripts/install.c -o generated/instlist
-    ./generated/instlist long | sed -e 's#^#/#' > toybox.links
-}
-
-do_install() {
-    # Install manually instead of using 'make install'
-    install -d ${D}${base_bindir}
-    if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
-        install -m 4755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
-    else
-        install -m 0755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
-    fi
-
-    install -d ${D}${sysconfdir}
-    install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
-}
-
-inherit update-alternatives
-
-# If you've chosen to install toybox you probably want it to take precedence
-# over busybox where possible but not over other packages
-ALTERNATIVE_PRIORITY = "60"
-
-python do_package_prepend () {
-    # Read links from /etc/toybox.links and create appropriate
-    # update-alternatives variables
-
-    dvar = d.getVar('D')
-    pn = d.getVar('PN')
-    target = "/bin/toybox"
-
-    f = open('%s/etc/toybox.links' % (dvar), 'r')
-    for alt_link_name in f:
-        alt_link_name = alt_link_name.strip()
-        alt_name = os.path.basename(alt_link_name)
-        d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
-        d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
-        d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
-    f.close()
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_1.7.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.4.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_1.7.4.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-crypto/engine-pkcs11/engine-pkcs11_0.2.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-crypto/engine-pkcs11/engine-pkcs11_0.2.2.bb
new file mode 100644
index 0000000..bc79f35
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-crypto/engine-pkcs11/engine-pkcs11_0.2.2.bb
@@ -0,0 +1,31 @@
+SUMMARY = "A PKCS"
+DESCRIPTION = "\
+Engine_pkcs11 is an implementation of an engine for OpenSSL. It can be \
+loaded using code, config file or command line and will pass any function \
+call by openssl to a PKCS cards and software for using smart cards in PKCS"
+HOMEPAGE = "https://github.com/OpenSC/engine_pkcs11"
+SECTION = "Development/Libraries"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://src/engine_pkcs11.h;beginline=1;endline=26;md5=973a19f8a6105de047f2adfbbfc04c33"
+DEPENDS = "openssl libp11"
+
+SRC_URI = "git://github.com/OpenSC/engine_pkcs11.git"
+SRCREV = "132fcf2c8b319f9f4b2ebdc8dcb54ff496dc0519"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "\
+    --disable-static \
+    --libdir ${libdir}/engines \
+"
+
+do_install_append () {
+    rm -f ${D}${libdir}/engines/libpkcs11.la
+}
+
+FILES_${PN} += "${libdir}/engines/libpkcs11${SOLIBSDEV}"
+FILES_${PN}-dbg += "${libdir}/engines/.debug/"
+
+RDEPENDS_${PN} += "openssl libp11 opensc"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libmcrypt/libmcrypt_2.5.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/libmcrypt/libmcrypt_2.5.8.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.11.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.11.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.11.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.11.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.11.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-Makefile-Fix-parallel-build.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0002-makefile-build-SHARED_MEMENVLIB.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/leveldb/leveldb_git.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_git.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi.inc b/import-layers/meta-openembedded/meta-oe/recipes-dbs/libdbi/libdbi.inc
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi.inc
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/libdbi/libdbi.inc
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi_0.9.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/libdbi/libdbi_0.9.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/libdbi/libdbi_0.9.0.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/libdbi/libdbi_0.9.0.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
new file mode 100644
index 0000000..aa01e95
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
@@ -0,0 +1,64 @@
+From 53368d3f4adc09dd84234a9af31771bcd8ca2757 Mon Sep 17 00:00:00 2001
+From: Sven Ebenfeld <sven.ebenfeld@gmail.com>
+Date: Fri, 15 Jan 2016 22:41:28 +0100
+Subject: [PATCH] Tell scons to use build settings from environment variables
+
+Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com>
+---
+ SConstruct                | 8 ++++++--
+ src/mongo/util/SConscript | 2 ++
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+Index: git/SConstruct
+===================================================================
+--- git.orig/SConstruct
++++ git/SConstruct
+@@ -548,6 +548,7 @@ def variable_arch_converter(val):
+         'amd64':  'x86_64',
+         'emt64':   'x86_64',
+         'x86':    'i386',
++        'aarch64': 'arm64',
+     }
+     val = val.lower()
+ 
+@@ -627,7 +628,8 @@ env_vars.Add(
+ )
+ 
+ env_vars.Add('CC',
+-    help='Select the C compiler to use')
++    help='Select the C compiler to use',
++    default=os.getenv('CC'))
+ 
+ env_vars.Add('CCFLAGS',
+     help='Sets flags for the C and C++ compiler',
+@@ -647,7 +649,8 @@ env_vars.Add('CPPPATH',
+     converter=variable_shlex_converter)
+ 
+ env_vars.Add('CXX',
+-    help='Select the C++ compiler to use')
++    help='Select the C++ compiler to use',
++    default=os.getenv('CXX'))
+ 
+ env_vars.Add('CXXFLAGS',
+     help='Sets flags for the C++ compiler',
+@@ -895,6 +898,7 @@ envDict = dict(BUILD_ROOT=buildDir,
+                )
+ 
+ env = Environment(variables=env_vars, **envDict)
++env.PrependENVPath('PATH', os.getenv('PATH'))
+ del envDict
+ 
+ env.AddMethod(env_os_is_wrapper, 'TargetOSIs')
+Index: git/src/mongo/util/SConscript
+===================================================================
+--- git.orig/src/mongo/util/SConscript
++++ git/src/mongo/util/SConscript
+@@ -274,6 +274,8 @@ if env['MONGO_ALLOCATOR'] == 'tcmalloc':
+                 'MONGO_HAVE_GPERFTOOLS_SIZE_CLASS_STATS'
+             ]
+         )
++    if not use_system_version_of_library('valgrind'):
++        tcmspEnv.InjectThirdPartyIncludePaths('valgrind')
+ 
+     if not use_system_version_of_library('valgrind'):
+         # Include valgrind since tcmalloc disables itself while running under valgrind
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
new file mode 100644
index 0000000..389b302
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
@@ -0,0 +1,64 @@
+From a4951489d649c2b609cbb80f6cfb49fdcad8bd43 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 10:03:37 -0700
+Subject: [PATCH] Use long long instead of int64_t
+
+Fixes
+error: call to member function 'appendNumber' is ambiguous
+since this function expects long long as parameter and not int64_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+ src/mongo/util/procparser.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+Index: git/src/mongo/util/procparser.cpp
+===================================================================
+--- git.orig/src/mongo/util/procparser.cpp
++++ git/src/mongo/util/procparser.cpp
+@@ -260,7 +260,7 @@ Status parseProcStat(const std::vector<S
+ 
+                     StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
+ 
+-                    uint64_t value;
++                    long long  value;
+ 
+                     if (!parseNumberFromString(stringValue, &value).isOK()) {
+                         value = 0;
+@@ -272,7 +272,7 @@ Status parseProcStat(const std::vector<S
+             } else {
+                 StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
+ 
+-                uint64_t value;
++                long long value;
+ 
+                 if (!parseNumberFromString(stringValue, &value).isOK()) {
+                     value = 0;
+@@ -365,7 +365,7 @@ Status parseProcMemInfo(const std::vecto
+ 
+             StringData stringValue((*partIt).begin(), (*partIt).end());
+ 
+-            uint64_t value;
++            long long value;
+ 
+             if (!parseNumberFromString(stringValue, &value).isOK()) {
+                 value = 0;
+@@ -426,7 +426,7 @@ Status parseProcDiskStats(const std::vec
+                           StringData data,
+                           BSONObjBuilder* builder) {
+     bool foundKeys = false;
+-    std::vector<uint64_t> stats;
++    std::vector<long long> stats;
+     stats.reserve(kDiskFieldCount);
+ 
+     using string_split_iterator = boost::split_iterator<StringData::const_iterator>;
+@@ -501,7 +501,7 @@ Status parseProcDiskStats(const std::vec
+ 
+                 StringData stringValue((*partIt).begin(), (*partIt).end());
+ 
+-                uint64_t value;
++                long long value;
+ 
+                 if (!parseNumberFromString(stringValue, &value).isOK()) {
+                     value = 0;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-strerror_r-only-on-glibc-systems.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-strerror_r-only-on-glibc-systems.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-strerror_r-only-on-glibc-systems.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-strerror_r-only-on-glibc-systems.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch
new file mode 100644
index 0000000..dc488ad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch
@@ -0,0 +1,25 @@
+From 5759878e5d278f11a1063e8fccd1e6b7b54caadf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2017 16:25:37 -0700
+Subject: [PATCH 2/2] d_state.cpp: Add missing dependenncy on
+ local_sharding_info
+
+Fixes
+| src/mongo/s/d_state.cpp:81: error: undefined reference to 'mongo::enableLocalShardingInfo(mongo::ServiceContext*, std::function<bool (mongo::OperationContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/s/SConscript | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: git/src/mongo/s/SConscript
+===================================================================
+--- git.orig/src/mongo/s/SConscript
++++ git/src/mongo/s/SConscript
+@@ -317,5 +317,6 @@ env.Library(
+         "$BUILD_DIR/mongo/db/s/sharding",
+         "$BUILD_DIR/mongo/executor/network_interface_factory",
+         "$BUILD_DIR/mongo/s/client/shard_local",
++        "$BUILD_DIR/mongo/s/local_sharding_info",
+     ],
+ )
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0003-Conditionalize-glibc-specific-strerror_r.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0003-Conditionalize-glibc-specific-strerror_r.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0003-Conditionalize-glibc-specific-strerror_r.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0003-Conditionalize-glibc-specific-strerror_r.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/arm64-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/arm64-support.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/disable-hw-crc32-on-arm64-s390x.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
new file mode 100644
index 0000000..bb3ff3b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
@@ -0,0 +1,76 @@
+SUMMARY = "mongodb"
+LICENSE = "AGPL-3.0 & Apache-2.0 & Zlib"
+LIC_FILES_CHKSUM = "file://GNU-AGPL-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788 \
+                    file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "openssl libpcre libpcap zlib python boost"
+
+inherit scons dos2unix siteinfo
+
+PV = "3.4.13+git${SRCPV}"
+SRCREV = "fbdef2ccc53e0fcc9afb570063633d992b2aae42"
+SRC_URI = "git://github.com/mongodb/mongo.git;branch=v3.4 \
+           file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \
+           file://0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch \
+           file://0001-Use-long-long-instead-of-int64_t.patch \
+           file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \
+           file://0001-Use-strerror_r-only-on-glibc-systems.patch \
+           file://0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch \
+           file://0003-Conditionalize-glibc-specific-strerror_r.patch \
+           file://arm64-support.patch \
+           file://0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch \
+           file://disable-hw-crc32-on-arm64-s390x.patch \
+           "
+SRC_URI_append_libc-musl ="\
+           file://0004-wiredtiger-Disable-strtouq-on-musl.patch \
+           "
+S = "${WORKDIR}/git"
+
+# Wiredtiger supports only 64-bit platforms
+PACKAGECONFIG_x86-64 ??= "tcmalloc wiredtiger"
+PACKAGECONFIG_aarch64 ??= "tcmalloc wiredtiger"
+PACKAGECONFIG ??= "tcmalloc"
+# gperftools compilation fails for arm below v7 because of missing support of
+# dmb operation. So we use system-allocator instead of tcmalloc
+PACKAGECONFIG_remove_armv6 = "tcmalloc"
+PACKAGECONFIG_remove_libc-musl = "tcmalloc"
+
+#std::current_exception is undefined for arm < v6
+COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
+COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE_armv7a = "(!.*armv7a).*"
+COMPATIBLE_MACHINE_armv7ve = "(!.*armv7ve).*"
+COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
+COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
+
+PACKAGECONFIG[tcmalloc] = "--use-system-tcmalloc,--allocator=system,gperftools,"
+PACKAGECONFIG[wiredtiger] = "--wiredtiger=on,--wiredtiger=off,,"
+
+EXTRA_OESCONS = "--prefix=${D}${prefix} \
+                 LIBPATH=${STAGING_LIBDIR} \
+                 LINKFLAGS='${LDFLAGS}' \
+                 CXXFLAGS='${CXXFLAGS}' \
+                 TARGET_ARCH=${TARGET_ARCH} \
+                 --ssl \
+                 --disable-warnings-as-errors \
+                 --use-system-pcre \
+                 --use-system-zlib \
+                 --js-engine=none \
+                 --nostrip \
+                 --endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
+                 ${PACKAGECONFIG_CONFARGS} \
+                 mongod mongos"
+
+do_configure_prepend() {
+        # tests use hex floats, not supported in plain C++
+        sed -e 's|-std=c++11|-std=gnu++11|g' -i ${S}/SConstruct
+}
+scons_do_compile() {
+        ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} || \
+        die "scons build execution failed."
+}
+
+scons_do_install() {
+        ${STAGING_BINDIR_NATIVE}/scons install ${EXTRA_OESCONS}|| \
+        die "scons install execution failed."
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.57.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.59.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.57.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.59.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
new file mode 100644
index 0000000..99e7050
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -0,0 +1,297 @@
+SUMMARY = "A robust, scalable, and reliable SQL server"
+HOMEPAGE = "http://mariadb.org"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "https://downloads.mariadb.org/f/${BP}/source/${BP}.tar.gz \
+           file://fix-cmake-module-path.patch \
+           file://remove-bad-path.patch \
+           file://fix-mysqlclient-r-version.patch \
+           file://my.cnf \
+           file://mysqld.service \
+           file://install_db.service \
+           file://install_db \
+           file://mysql-systemd-start \
+           file://configure.cmake-fix-valgrind.patch \
+           file://fix-a-building-failure.patch \
+           file://change-cc-to-cc-version.patch \
+           file://0001-disable-ucontext-on-musl.patch \
+          "
+
+SRC_URI[md5sum] = "3cec4afc06b468687ef576c90148d10d"
+SRC_URI[sha256sum] = "c3269ce20b45b177239fd1e3d6d9428a94131711f12758ebf5f65222278bb110"
+
+S = "${WORKDIR}/mariadb-${PV}"
+
+BINCONFIG_GLOB = "mysql_config"
+
+inherit cmake gettext binconfig update-rc.d useradd systemd
+
+INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb"
+INITSCRIPT_NAME_${PN}-server = "mysqld"
+INITSCRIPT_PARAMS_${PN}-server ?= "start 45 5 . stop 45 0 6 1 ."
+
+USERADD_PACKAGES = "${PN}-server"
+USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql"
+GROUPADD_PARAM_${PN}-server = "--system mysql"
+
+INITSCRIPT_NAME_${PN}-setupdb = "install_db"
+INITSCRIPT_PARAMS_${PN}-setupdb ?= "defaults 44 44"
+
+SYSTEMD_PACKAGES = "${PN}-server ${PN}-setupdb"
+SYSTEMD_SERVICE_${PN}-server = "mysqld.service"
+SYSTEMD_AUTO_ENABLE_${PN}-server ?= "disable"
+
+SYSTEMD_SERVICE_${PN}-setupdb = "install_db.service"
+SYSTEMD_AUTO_ENABLE_${PN}-setupdb ?= "enable"
+ALLOW_EMPTY_${PN}-setupdb ?= "1"
+FILES_${PN}-setupdb = "${sysconfdir}/init.d/install_db"
+
+EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} setupdb"
+PACKAGECONFIG_class-native = ""
+PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
+PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
+PACKAGECONFIG[libedit] = "-DLIBEDIT_INTERFACE=TRUE,-DLIBEDIT_INTERFACE=FALSE,libedit"
+PACKAGECONFIG[krb5] = ", ,krb5"
+PACKAGECONFIG[setupdb] = ", ,,${PN}-setupdb"
+
+# MariaDB doesn't link properly with gold
+# https://mariadb.atlassian.net/browse/MDEV-5982
+TARGET_CFLAGS += "-fuse-ld=bfd"
+
+BUILD_CFLAGS += "-fuse-ld=bfd"
+BUILD_CXXFLAGS += "-fuse-ld=bfd"
+
+EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
+                 -DWITH_JEMALLOC=no \
+                 -DWITHOUT_TOKUDB=TRUE \
+                 -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \
+                 -DGROFF=FALSE \
+                 -DNROFF=FALSE \
+                 -DENABLE_DTRACE=FALSE \
+                 -DWITH_PIC=ON \
+                 -DINSTALL_LAYOUT=RPM \
+                 -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \
+                 -DINSTALL_LIBDIR:PATH=${baselib} \
+                 -DINSTALL_PLUGINDIR:PATH=${baselib}/plugin \
+                 -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \
+                 -DMYSQL_DATADIR:PATH=/var/mysql \
+                 -DCAT_EXECUTABLE=`which cat` \
+                 -DCMAKE_AR:FILEPATH=${AR}"
+
+# With Ninja it fails with:
+# make: *** No rule to make target `install'.  Stop.
+OECMAKE_GENERATOR = "Unix Makefiles"
+
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+do_configure_append() {
+    # handle distros with different values of ${libexecdir}
+    libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'`
+    sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysql_install_db.sh
+    sed -i -e "s:mysqld libexec:mysqld $libexecdir2:g" ${S}/scripts/mysql_install_db.sh
+    sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysqld_safe.sh
+}
+
+do_generate_toolchain_file_append_class-native () {
+    # If these are set cmake will assume we're cross-compiling, which will
+    # result in certain things we want being disabled
+    sed -i "/set( CMAKE_SYSTEM_NAME/d" ${WORKDIR}/toolchain.cmake
+    sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake
+}
+
+do_compile_prepend_class-target () {
+    # These need to be in-tree or make will think they need to be built,
+    # and since we're cross-compiling that is disabled
+    cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra
+    cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts
+
+    if [ "${@bb.utils.contains('PACKAGECONFIG', 'krb5', 'yes', 'no', d)}" = "no" ]; then
+        if ! [ -e ${B}/include/openssl/kssl.h ] ; then
+            mkdir -p ${B}/include/openssl
+            echo "#ifndef KSSL_H" >${B}/include/openssl/kssl.h
+            echo "#define KSSL_H" >>${B}/include/openssl/kssl.h
+            echo "#include <openssl/opensslconf.h>">>${B}/include/openssl/kssl.h
+            echo "#endif" >>${B}/include/openssl/kssl.h
+        fi
+    fi
+}
+
+SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess"
+
+# We need to append this so it runs *after* binconfig's preprocess function
+#
+# We really don't care exactly what the directories were set to originally.
+# plugindir is not fixed, but we don't create any plugins.
+#
+mariadb_sysroot_preprocess () {
+    sed -i -es,^pkgincludedir=.*,pkgincludedir=\'${STAGING_INCDIR}/mysql\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config
+    sed -i -es,^pkglibdir=.*,pkglibdir=\'${STAGING_LIBDIR}\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config
+}
+
+do_install() {
+    oe_runmake 'DESTDIR=${D}' install
+
+    install -d ${D}/${sysconfdir}/init.d
+    install -m 0644 ${WORKDIR}/my.cnf ${D}/${sysconfdir}/
+    install -m 0755 ${WORKDIR}/install_db ${D}/${sysconfdir}/init.d/
+    mv ${D}/${sysconfdir}/init.d/mysql ${D}/${sysconfdir}/init.d/mysqld
+
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/mysqld.service ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/install_db.service ${D}${systemd_unitdir}/system
+    sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service \
+                                                                   ${D}${systemd_unitdir}/system/install_db.service
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        echo "f /var/log/mysqld.err 0640 mysql mysql -" \
+            > ${D}${sysconfdir}/tmpfiles.d/99-mysqld.conf
+    fi
+    install -d ${D}${bindir}
+    install -m 755 ${WORKDIR}/mysql-systemd-start ${D}${bindir}
+    install -d ${D}${datadir}/doc/${PN}
+    if [ -f ${D}${datadir}/doc/README ]; then
+        mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
+    fi
+}
+
+PACKAGES = "${PN}-dbg ${PN} \
+    libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev libmysqlclient-r-dbg \
+    libmysqlclient libmysqlclient-dev libmysqlclient-staticdev libmysqlclient-dbg \
+    libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-setupdb ${PN}-leftovers"
+CONFFILES_${PN}-server += "${sysconfdir}/my.cnf ${sysconfdir}/my.cnf.d/server.cnf"
+CONFFILES_${PN}-client += "${sysconfdir}/my.cnf.d/mysql-clients.cnf"
+CONFFILES_libmysqlclient += "${sysconfdir}/my.cnf.d/client.cnf"
+
+FILES_${PN} = " "
+RDEPENDS_${PN} = "${PN}-client ${PN}-server"
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \
+    perl-module-fcntl perl-module-sys-hostname perl-module-ipc-open3 \
+    perl-module-exporter"
+RDEPENDS_${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \
+    perl-module-file-basename perl-module-file-path perl-module-sys-hostname \
+    perl-module-file-copy perl-module-file-temp perl-module-posix \
+    ${PN}-client libdbi-perl libdbd-mysql-perl"
+RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \
+    perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \
+    perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \
+    perl-module-file-spec perl-module-file-find perl-module-file-basename perl-module-file-path \
+    perl-module-constant perl-module-lib perl-module-file-temp perl-module-file-spec-functions \
+    perl-module-io-socket-inet perl-module-io-select"
+RDEPENDS_${PN}-setupdb = "coreutils"
+
+# Allow old code to link to the backward compatible library
+RDEPENDS_libmysqlclient-dev = "libmysqlclient-r-dev"
+
+FILES_libmysqlclient = "\
+    ${libdir}/libmysqlclient.so.* \
+    ${sysconfdir}/my.cnf.d/client.cnf"
+FILES_libmysqlclient-dev = " \
+    ${includedir}/mysql/ \
+    ${libdir}/libmysqlclient.so \
+    ${sysconfdir}/aclocal \
+    ${bindir}/mysql_config"
+FILES_libmysqlclient-staticdev = "\
+    ${libdir}/*.a"
+FILES_libmysqlclient-dbg = "${libdir}/plugin/.debug/ \
+    ${datadir}/mysql-test/lib/My/SafeProcess/.debug/my_safe_process"
+
+# Avoid warnings about ha_xtradb.so.0.0.0 and ha_innodb_plugin.so.0.0.0
+# which are intentionally non-PIC on 32-bit x86 (see e.g.
+# storage/xtradb/plug.in in the source)
+INSANE_SKIP_libmysqlclient_append_x86 = " textrel"
+
+FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*"
+FILES_libmysqlclient-r-dev = "\
+    ${libdir}/libmysqlclient_r.so"
+FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a"
+FILES_libmysqlclient-r-dbg = "${libdir}/plugin/.debuglibmysqlclient_r.so.*"
+
+FILES_libmysqld = "\
+    ${libdir}/libmysqld.so.*"
+FILES_libmysqld-dev = "\
+    ${libdir}/libmysqld.so"
+
+FILES_${PN}-client = "\
+    ${bindir}/myisam_ftdump \
+    ${bindir}/mysql \
+    ${bindir}/mysql_client_test \
+    ${bindir}/mysql_client_test_embedded \
+    ${bindir}/mysql_find_rows \
+    ${bindir}/mysql_fix_extensions \
+    ${bindir}/mysql_waitpid \
+    ${bindir}/mysqlaccess \
+    ${bindir}/mysqladmin \
+    ${bindir}/mysqlbug \
+    ${bindir}/mysqlcheck \
+    ${bindir}/mysqldump \
+    ${bindir}/mysqldumpslow \
+    ${bindir}/mysqlimport \
+    ${bindir}/mysqlshow \
+    ${bindir}/mysqlslap \
+    ${bindir}/mysqltest_embedded \
+    ${libexecdir}/mysqlmanager \
+    ${sysconfdir}/my.cnf.d/mysql-clients.cnf"
+
+FILES_${PN}-server = "\
+    ${bindir}/comp_err \
+    ${bindir}/isamchk \
+    ${bindir}/isamlog \
+    ${bindir}/msql2mysql \
+    ${bindir}/my_print_defaults \
+    ${bindir}/myisamchk \
+    ${bindir}/myisamlog \
+    ${bindir}/myisampack \
+    ${bindir}/mysql_convert_table_format \
+    ${bindir}/mysql_fix_privilege_tables \
+    ${bindir}/mysql_install_db \
+    ${bindir}/mysql_secure_installation \
+    ${bindir}/mysql_setpermission \
+    ${bindir}/mysql-systemd-start \
+    ${bindir}/mysql_tzinfo_to_sql \
+    ${bindir}/mysql_upgrade \
+    ${bindir}/mysql_plugin \
+    ${bindir}/mysql_zap \
+    ${bindir}/mysqlbinlog \
+    ${bindir}/mysqld_multi \
+    ${bindir}/mysqld_safe \
+    ${bindir}/mysqld_safe_helper \
+    ${bindir}/mysqlhotcopy \
+    ${bindir}/mysqltest \
+    ${bindir}/ndb_delete_all \
+    ${bindir}/ndb_desc \
+    ${bindir}/ndb_drop_index \
+    ${bindir}/ndb_drop_table \
+    ${bindir}/ndb_mgm \
+    ${bindir}/ndb_restore \
+    ${bindir}/ndb_select_all \
+    ${bindir}/ndb_select_count \
+    ${bindir}/ndb_show_tables \
+    ${bindir}/ndb_waiter \
+    ${bindir}/pack_isam \
+    ${bindir}/perror \
+    ${bindir}/replace \
+    ${bindir}/resolve_stack_dump \
+    ${bindir}/resolveip \
+    ${libexecdir}/mysqld \
+    ${sbindir}/mysqld \
+    ${sbindir}/ndb_cpcd \
+    ${sbindir}/ndbd \
+    ${sbindir}/ndb_mgmd \
+    ${libdir}/plugin/*.so \
+    ${datadir}/mysql/ \
+    ${localstatedir}/mysql/ \
+    ${sysconfdir}/init.d/mysqld \
+    ${sysconfdir}/my.cnf \
+    ${sysconfdir}/my.cnf.d/server.cnf \
+    ${sysconfdir}/tmpfiles.d"
+
+DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
+FILES_${PN}-leftovers = "/"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/0001-disable-ucontext-on-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/0001-disable-ucontext-on-musl.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/change-cc-to-cc-version.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/change-cc-to-cc-version.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/fix-a-building-failure.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/fix-a-building-failure.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
new file mode 100644
index 0000000..a519e42
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
@@ -0,0 +1,160 @@
+From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001
+From: Tor Didriksen <tor.didriksen@oracle.com>
+Date: Mon, 24 Jun 2013 17:15:35 +0200
+Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18
+
+With this patch, the libmysql/ directory contains:
+libmysqlclient.a
+libmysqlclient_r.a -> libmysqlclient.a
+libmysqlclient_r.so -> libmysqlclient.so*
+libmysqlclient_r.so.18 -> libmysqlclient.so.18*
+libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0*
+libmysqlclient.so -> libmysqlclient.so.18*
+libmysqlclient.so.18 -> libmysqlclient.so.18.1.0*
+libmysqlclient.so.18.1.0*
+
+This fixes libmysqlclient_r symlinks pointing to the unversioned
+libmysqlclient.so symlink (leading to package QA errors since the
+libmysqlclient-r package ends up depending on libmysqlclient-dev).
+
+Borrowed from MySQL 5.6 tree at https://github.com/percona/mysql/
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+---
+ cmake/install_macros.cmake | 25 +++++++++++++++----------
+ libmysql/CMakeLists.txt    | 34 +++++++++++++++++++++++++++-------
+ 2 files changed, 42 insertions(+), 17 deletions(-)
+
+diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
+index b8efdf8..a0d0e68 100644
+--- a/cmake/install_macros.cmake
++++ b/cmake/install_macros.cmake
+@@ -1,4 +1,4 @@
+-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ # 
+ # 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
+@@ -167,28 +167,33 @@ ENDFUNCTION()
+ 
+ 
+ # Install symbolic link to CMake target. 
+-# the link is created in the same directory as target
+-# and extension will be the same as for target file.
+-MACRO(INSTALL_SYMLINK linkname target destination component)
++# We do 'cd path; ln -s target_name link_name'
++# We also add an INSTALL target for "${path}/${link_name}"
++MACRO(INSTALL_SYMLINK target target_name link_name destination component)
+ IF(UNIX)
+   GET_TARGET_PROPERTY(location ${target} LOCATION)
+   GET_FILENAME_COMPONENT(path ${location} PATH)
+-  GET_FILENAME_COMPONENT(name ${location} NAME)
+-  SET(output ${path}/${linkname})
++  MESSAGE(STATUS "target ${target}")
++  MESSAGE(STATUS "link_name ${link_name}")
++  MESSAGE(STATUS "target_name ${target_name}")
++  MESSAGE(STATUS "path ${path}")
++  MESSAGE(STATUS "")
++
++  SET(output ${path}/${link_name})
+   ADD_CUSTOM_COMMAND(
+     OUTPUT ${output}
+     COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output}
+     COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink 
+-      ${name} 
+-      ${linkname}
++      ${target_name} 
++      ${link_name}
+     WORKING_DIRECTORY ${path}
+     DEPENDS ${target}
+     )
+   
+-  ADD_CUSTOM_TARGET(symlink_${linkname}
++  ADD_CUSTOM_TARGET(symlink_${link_name}
+     ALL
+     DEPENDS ${output})
+-  SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
++  SET_TARGET_PROPERTIES(symlink_${link_name} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+   IF(CMAKE_GENERATOR MATCHES "Xcode")
+     # For Xcode, replace project config with install config
+     STRING(REPLACE "${CMAKE_CFG_INTDIR}" 
+diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
+index be5760f..96286ff 100644
+--- a/libmysql/CMakeLists.txt
++++ b/libmysql/CMakeLists.txt
+@@ -433,6 +433,12 @@ IF(MSVC)
+  INSTALL_DEBUG_TARGET(clientlib DESTINATION ${INSTALL_LIBDIR}/debug)
+ ENDIF()
+ 
++MACRO(GET_TARGET_NAME target out_name)
++  GET_TARGET_PROPERTY(location ${target} LOCATION)
++  GET_FILENAME_COMPONENT(name ${location} NAME)
++  SET(${out_name} ${name})
++ENDMACRO()
++
+ IF(UNIX)
+   MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME)
+     SET(DOT_VERSION ".${VERSION}")
+@@ -445,7 +451,13 @@ IF(UNIX)
+       SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
+     ENDIF() 
+   ENDMACRO()
+-  INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development)
++ENDIF()
++
++IF(UNIX)
++  GET_TARGET_NAME(mysqlclient lib_name)
++  INSTALL_SYMLINK(mysqlclient
++    ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a
++    ${INSTALL_LIBDIR} Development)
+ ENDIF()
+ 
+ IF(NOT DISABLE_SHARED)
+@@ -456,10 +468,9 @@ IF(NOT DISABLE_SHARED)
+     # libtool compatability
+     IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
+       SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
+-    ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
+-      SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0")
+     ELSE()
+-      SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0")
++      SET(OS_SHARED_LIB_VERSION
++        "${SHARED_LIB_MAJOR_VERSION}.${SHARED_LIB_MINOR_VERSION}.0")
+     ENDIF()
+     # Name of shared library is mysqlclient on Unix
+     SET_TARGET_PROPERTIES(libmysql PROPERTIES 
+@@ -482,8 +493,13 @@ IF(NOT DISABLE_SHARED)
+       "${CMAKE_SHARED_LIBRARY_SUFFIX}"
+       ""
+       linkname)
+-    INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
+-    SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
++    GET_TARGET_NAME(libmysql lib_name)
++    GET_FILENAME_COMPONENT(lib_name_we ${lib_name} NAME_WE)
++    INSTALL_SYMLINK(libmysql
++      ${lib_name} ${linkname}
++      ${INSTALL_LIBDIR} SharedLibraries)
++    SET(OS_SHARED_LIB_SYMLINKS
++      "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
+     LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
+     FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
+       GET_VERSIONED_LIBNAME(
+@@ -491,7 +507,11 @@ IF(NOT DISABLE_SHARED)
+         "${CMAKE_SHARED_LIBRARY_SUFFIX}"
+         "${ver}"
+         linkname)
+-      INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
++      GET_VERSIONED_LIBNAME(
++        ${lib_name_we} "${CMAKE_SHARED_LIBRARY_SUFFIX}" "${ver}" lib_name_ver)
++      INSTALL_SYMLINK(libmysql
++        ${lib_name_ver} ${linkname}
++        ${INSTALL_LIBDIR} SharedLibraries)
+     ENDFOREACH()
+   ENDIF()
+ ENDIF()
+-- 
+2.0.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/install_db b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/install_db
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/install_db
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/install_db
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/install_db.service b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/install_db.service
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/install_db.service
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/install_db.service
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/my.cnf b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/my.cnf
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/my.cnf
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/my.cnf
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/mysql-systemd-start b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/mysql-systemd-start
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/mysql-systemd-start
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/mysql-systemd-start
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/mysqld.service b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/mysqld.service
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/mysqld.service
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/mysqld.service
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.57.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_5.5.59.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.57.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_5.5.59.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mysql-python_1.2.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mysql-python_1.2.5.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch
new file mode 100644
index 0000000..ce2a60c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch
@@ -0,0 +1,40 @@
+From d52e330be895bb8c5f0fb3e2884766acbd942a85 Mon Sep 17 00:00:00 2001
+From: Philip Balister <philip@balister.org>
+Date: Tue, 1 Jul 2014 09:40:44 -0400
+Subject: [PATCH] Use pkg-config for libxml2 detection.
+
+Upstream-Status: Inappropriate [configuration]
+
+xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS.
+
+Signed-off-by: Philip Balister <philip@balister.org>
+---
+ configure.in | 15 ++-------------
+ 1 file changed, 2 insertions(+), 13 deletions(-)
+
+Index: postgresql-9.4.15/configure.in
+===================================================================
+--- postgresql-9.4.15.orig/configure.in
++++ postgresql-9.4.15/configure.in
+@@ -759,19 +759,8 @@ PGAC_ARG_BOOL(with, libxml, no, [build w
+               [AC_DEFINE([USE_LIBXML], 1, [Define to 1 to build with XML support. (--with-libxml)])])
+ 
+ if test "$with_libxml" = yes ; then
+-  AC_CHECK_PROGS(XML2_CONFIG, xml2-config)
+-  if test -n "$XML2_CONFIG"; then
+-    for pgac_option in `$XML2_CONFIG --cflags`; do
+-      case $pgac_option in
+-        -I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";;
+-      esac
+-    done
+-    for pgac_option in `$XML2_CONFIG --libs`; do
+-      case $pgac_option in
+-        -L*) LDFLAGS="$LDFLAGS $pgac_option";;
+-      esac
+-    done
+-  fi
++  CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "libxml-2.0" 2>&1`"
++  LIBS="`pkg-config --short-errors --print-errors --libs "libxml-2.0" 2>&1` $LIBS"
+ fi
+ 
+ AC_SUBST(with_libxml)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
new file mode 100644
index 0000000..9715109
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
@@ -0,0 +1,28 @@
+[PATCH] not check libperl under cross compiling
+
+Upstream-Status: Inappropriate [configuration]
+
+libperl ldflags returned by PGAC_CHECK_PERL_EMBED_LDFLAGS are native,
+can not be used to check target library.
+
+postpresql has the dependency on perl, so not need to check libperl
+again, like in postgresql-9.2.4 
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: postgresql-9.4.15/configure.in
+===================================================================
+--- postgresql-9.4.15.orig/configure.in
++++ postgresql-9.4.15/configure.in
+@@ -1879,7 +1879,7 @@ if test "$with_tcl" = yes; then
+ fi
+ 
+ # check for <perl.h>
+-if test "$with_perl" = yes; then
++if test "$with_perl" = yes && test "$cross_compiling" = no; then
+   ac_save_CPPFLAGS=$CPPFLAGS
+   CPPFLAGS="$CPPFLAGS -I$perl_archlibexp/CORE"
+   AC_CHECK_HEADER(perl.h, [], [AC_MSG_ERROR([header file <perl.h> is required for Perl])],
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-bashprofile b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-bashprofile
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-setup b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql-setup
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-setup
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql-setup
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql.init b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql.init
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.init
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql.pam b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.pam
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql.pam
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.pam
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql.service b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.service
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql.service
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/postgresql.service
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_9.4.17.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_9.4.17.bb
new file mode 100644
index 0000000..061184a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_9.4.17.bb
@@ -0,0 +1,14 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=6dc95e63aa4d72502ff8193dfe2ddd38"
+
+SRC_URI += "\
+    file://not-check-libperl.patch \
+"
+
+do_compile_prepend_libc-musl() {
+    sed -i -e 's/\-lnsl//g' ${B}/src/Makefile.global
+}
+
+SRC_URI[md5sum] = "0a08f4078f5e4a54e764f63ad38a6de3"
+SRC_URI[sha256sum] = "7a320cd335052b840d209dc9688f09965763351c590e3cc7bf577591179fd7c6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/run-ptest b/import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/files/run-ptest
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/run-ptest
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/files/run-ptest
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/psqlodbc.inc b/import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/psqlodbc.inc
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/psqlodbc.inc
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/psqlodbc.inc
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/psqlodbc_09.05.0300.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/psqlodbc_09.05.0300.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/psqlodbc_09.05.0300.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/psqlodbc/psqlodbc_09.05.0300.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
new file mode 100644
index 0000000..1e6cbae
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
@@ -0,0 +1,32 @@
+SUMMARY = "RocksDB an embeddable, persistent key-value store"
+DESCRIPTION = "RocksDB is library that provides an embeddable, persistent key-value store for fast storage."
+HOMEPAGE = "http://rocksdb.org/"
+LICENSE = "(Apache-2.0 | GPL-2.0) & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+                    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
+
+SRCREV = "8969445642039566214d650cc6614849e7dd5e17"
+SRCBRANCH = "5.12.fb"
+PV = "5.12.2"
+
+SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH}"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= "bzip2 zlib lz4"
+PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2"
+PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF"
+
+# Tools and tests currently don't compile on armv5 so we disable them
+EXTRA_OECMAKE = "\
+    -DPORTABLE=ON \
+    -DWITH_TESTS=OFF \
+    -DWITH_TOOLS=OFF \
+"
+
+FILES_${PN}-dev += "${libdir}/cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/soci/soci/soci_libdir.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/soci/soci/soci_libdir.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/soci/soci/soci_libdir.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/soci/soci/soci_libdir.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-dbs/soci/soci_3.2.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/soci/soci_3.2.3.bb
new file mode 100644
index 0000000..3f22d38
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-dbs/soci/soci_3.2.3.bb
@@ -0,0 +1,49 @@
+# Copyright (C) 2015 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "The C++ Database Access Library"
+HOMEPAGE = "http://soci.sourceforge.net"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+SECTION = "libs"
+DEPENDS = "boost"
+
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BP}/${BP}.tar.gz \
+           file://soci_libdir.patch \
+          "
+SRC_URI[md5sum] = "acfbccf176cd20e06833a8037a2d3699"
+SRC_URI[sha256sum] = "2c659db0f4f7b424bbcffe195c03c293a1dbf676189a27b077fb2aab4d53a610"
+
+TESTCONFIG = '-DSOCI_TEST_EMPTY_CONNSTR="dummy" -DSOCI_TEST_SQLITE3_CONNSTR="test.db" \
+              -DSOCI_TEST_POSTGRESQL_CONNSTR:STRING="dbname=soci_test" \
+              -DSOCI_TEST_MYSQL_CONNSTR:STRING="db=soci_test user=oe password=oe"'
+
+OBASEDIR ?= "/opt/oracle"
+OINCDIR = "rdbms/public"
+OLIBDIR = "lib"
+
+PACKAGECONFIG[sqlite3] = "-DSOCI_SQLITE3=ON,-DSOCI_SQLITE3=OFF,sqlite3,"
+PACKAGECONFIG[mysql] = "-DSOCI_MYSQL=ON,-DSOCI_MYSQL=OFF,mariadb,"
+PACKAGECONFIG[postgresql] = "-DSOCI_POSTGRESQL=ON,-DSOCI_POSTGRESQL=OFF,postgresql,"
+PACKAGECONFIG[odbc] = "-DSOCI_ODBC=ON,-DSOCI_ODBC=OFF,,"
+PACKAGECONFIG[empty] = "-DSOCI_EMPTY=ON,-DSOCI_EMPTY=OFF,,"
+PACKAGECONFIG[oracle] = "-DWITH_ORACLE=ON --with-oracle-include=${OINCDIR} --with-oracle-lib=${OLIBDIR},-DWITH_ORACLE=OFF,,"
+PACKAGECONFIG[ptest] = "${TESTCONFIG},,,"
+
+# enable your backend by default we enable 'empty'
+PACKAGECONFIG ??= "empty"
+
+# Take the flags added by PACKAGECONFIG and pass them to cmake.
+EXTRA_OECMAKE = "${EXTRA_OECONF} -DSOCI_LIBDIR=${libdir}"
+DISABLE_STATIC = ""
+
+inherit dos2unix cmake
+
+PACKAGES += "${PN}-sqlite3 ${PN}-mysql ${PN}-postgresql ${PN}-odbc ${PN}-oracle"
+
+FILES_${PN}-sqlite3 = "${libdir}/lib${BPN}_sqlite3.so.*"
+FILES_${PN}-mysql = "${libdir}/lib${BPN}_mysql.so.*"
+FILES_${PN}-postgresql = "${libdir}/lib${BPN}_postgresql.so.*"
+FILES_${PN}-odbc = "${libdir}/lib${BPN}_odbc.so.*"
+FILES_${PN}-oracle = "${libdir}/lib${BPN}_oracle.so.*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch b/import-layers/meta-openembedded/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/sqlite.pc b/import-layers/meta-openembedded/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/sqlite.pc
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite-2.8.17/sqlite.pc
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/sqlite.pc
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb b/import-layers/meta-openembedded/meta-oe/recipes-dbs/sqlite/sqlite_2.8.17.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-dbs/sqlite/sqlite_2.8.17.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/preserve-ownership.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/preserve-ownership.patch
index 85af81f..5c90397 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/preserve-ownership.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/preserve-ownership.patch
@@ -1,19 +1,50 @@
+From aa669312a380611d280d126cb509fa282080707e Mon Sep 17 00:00:00 2001
+From: Markus Mayer <mmayer@mmayer.net>
+Date: Wed, 7 Sep 2016 12:58:47 +0300
+Subject: [PATCH] android-tools: add recipe from AOSP tag android-5.1.1_r37
+
 Description: add -o argument to preserve ownership
-Author: Markus Mayer <mmayer@mmayer.net>
 
 See also https://android-review.googlesource.com/#/c/100312/
 
 Upstream-Status: Inappropriate
+
 ---
- system/extras/ext4_utils/make_ext4fs.c      |    6 ++++++
- system/extras/ext4_utils/make_ext4fs_main.c |   10 ++++++++--
+ ext4_utils/make_ext4fs.c      |  6 ++++++
+ ext4_utils/make_ext4fs_main.c | 10 ++++++++--
  2 files changed, 14 insertions(+), 2 deletions(-)
 
---- a/system/extras/ext4_utils/make_ext4fs_main.c
-+++ b/system/extras/ext4_utils/make_ext4fs_main.c
-@@ -49,13 +49,15 @@ extern struct fs_info info;
+diff --git a/ext4_utils/make_ext4fs.c b/ext4_utils/make_ext4fs.c
+index 2f89ae8a..cc41d623 100644
+--- a/ext4_utils/make_ext4fs.c
++++ b/ext4_utils/make_ext4fs.c
+@@ -68,6 +68,8 @@
  
- extern struct selabel_handle* selinux_android_file_context_handle(void);
+ #endif
+ 
++int preserve_owner = 0;
++
+ /* TODO: Not implemented:
+    Allocating blocks in the same block group as the file inode
+    Hash or binary tree directories
+@@ -186,6 +188,10 @@ static u32 build_directory_structure(const char *full_path, const char *dir_path
+ 		} else {
+ 			dentries[i].mtime = fixed_time;
+ 		}
++		if (preserve_owner) {
++			dentries[i].uid = stat.st_uid;
++			dentries[i].gid = stat.st_gid;
++		}
+ 		uint64_t capabilities;
+ 		if (fs_config_func != NULL) {
+ #ifdef ANDROID
+diff --git a/ext4_utils/make_ext4fs_main.c b/ext4_utils/make_ext4fs_main.c
+index a6c5f616..7af0dddf 100644
+--- a/ext4_utils/make_ext4fs_main.c
++++ b/ext4_utils/make_ext4fs_main.c
+@@ -48,13 +48,15 @@ struct selabel_handle;
+ extern struct fs_info info;
+ 
  
 +extern int preserve_owner;
 +
@@ -28,7 +59,7 @@
  	fprintf(stderr, "    <filename> [<directory>]\n");
  }
  
-@@ -81,7 +83,7 @@ int main(int argc, char **argv)
+@@ -80,7 +82,7 @@ int main(int argc, char **argv)
  	struct selinux_opt seopts[] = { { SELABEL_OPT_PATH, "" } };
  #endif
  
@@ -37,7 +68,7 @@
  		switch (opt) {
  		case 'l':
  			info.len = parse_num(optarg);
-@@ -144,6 +146,10 @@ int main(int argc, char **argv)
+@@ -143,6 +145,10 @@ int main(int argc, char **argv)
  			}
  #endif
  			break;
@@ -48,25 +79,3 @@
  		case 'v':
  			verbose = 1;
  			break;
---- a/system/extras/ext4_utils/make_ext4fs.c
-+++ b/system/extras/ext4_utils/make_ext4fs.c
-@@ -67,6 +67,8 @@
- 
- #endif
- 
-+int preserve_owner = 0;
-+
- /* TODO: Not implemented:
-    Allocating blocks in the same block group as the file inode
-    Hash or binary tree directories
-@@ -185,6 +187,10 @@ static u32 build_directory_structure(con
- 		} else {
- 			dentries[i].mtime = fixed_time;
- 		}
-+		if (preserve_owner) {
-+			dentries[i].uid = stat.st_uid;
-+			dentries[i].gid = stat.st_gid;
-+		}
- 		uint64_t capabilities;
- 		if (fs_config_func != NULL) {
- #ifdef ANDROID
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index d3ccd1d..780ecaa 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -9,7 +9,6 @@
 "
 DEPENDS = "libbsd libpcre openssl zlib libcap"
 
-ANDROID_TAG = "android-5.1.1_r37"
 ANDROID_MIRROR = "android.googlesource.com"
 CORE_REPO = "${ANDROID_MIRROR}/platform/system/core"
 EXTRAS_REPO = "${ANDROID_MIRROR}/platform/system/extras"
@@ -17,16 +16,23 @@
 LIBSELINUX_REPO = "${ANDROID_MIRROR}/platform/external/libselinux"
 BUILD_REPO = "${ANDROID_MIRROR}/platform/build"
 
+# matches with android-5.1.1_r37
+SRCREV_core = "2314b110bdebdbfd2d94c502282f9e57c849897e"
+SRCREV_extras = "3ecbe8d841df96127d7855661293e5ab6ba6c205"
+SRCREV_libhardware = "be55eb1f4d840c82ffaf7c47460df17ff5bc4d9b"
+SRCREV_libselinux = "07e9e1339ad1ba608acfba9dce2d0f474b252feb"
+SRCREV_build = "16e987def3d7d8f7d30805eb95cef69e52a87dbc"
+
 SRC_URI = " \
-    git://${CORE_REPO};name=core;protocol=https;nobranch=1;destsuffix=git/system/core;tag=${ANDROID_TAG} \
-    git://${EXTRAS_REPO};name=extras;protocol=https;nobranch=1;destsuffix=git/system/extras;tag=${ANDROID_TAG} \
-    git://${LIBHARDWARE_REPO};name=libhardware;protocol=https;nobranch=1;destsuffix=git/hardware/libhardware;tag=${ANDROID_TAG} \
-    git://${LIBSELINUX_REPO};name=libselinux;protocol=https;nobranch=1;destsuffix=git/external/libselinux;tag=${ANDROID_TAG} \
-    git://${BUILD_REPO};name=build;protocol=https;nobranch=1;destsuffix=git/build;tag=${ANDROID_TAG} \
+    git://${CORE_REPO};name=core;protocol=https;nobranch=1;destsuffix=git/system/core \
+    git://${EXTRAS_REPO};name=extras;protocol=https;nobranch=1;destsuffix=git/system/extras \
+    git://${LIBHARDWARE_REPO};name=libhardware;protocol=https;nobranch=1;destsuffix=git/hardware/libhardware \
+    git://${LIBSELINUX_REPO};name=libselinux;protocol=https;nobranch=1;destsuffix=git/external/libselinux \
+    git://${BUILD_REPO};name=build;protocol=https;nobranch=1;destsuffix=git/build \
     file://remove-selinux-android.patch \
     file://use-capability.patch \
     file://use-local-socket.patch \
-    file://preserve-ownership.patch \
+    file://preserve-ownership.patch;patchdir=system/extras \
     file://mkbootimg-Add-dt-parameter-to-specify-DT-image.patch \
     file://remove-bionic-android.patch \
     file://define-shell-command.patch \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch
new file mode 100644
index 0000000..c762754
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch
@@ -0,0 +1,52 @@
+From 57ecf7205feedd23f901e1bb9d193787e559e433 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Tue, 23 Jan 2018 15:13:26 -0800
+Subject: [PATCH] disable calls to getcontext() with musl
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ src/client/linux/handler/exception_handler.cc | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
+index cca023f..f3e460c 100644
+--- a/src/client/linux/handler/exception_handler.cc
++++ b/src/client/linux/handler/exception_handler.cc
+@@ -495,7 +495,19 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
+   siginfo.si_code = SI_USER;
+   siginfo.si_pid = getpid();
+   ucontext_t context;
++#if defined(__GLIBC__)
+   getcontext(&context);
++#else
++  // Extreme hack: Allow musl builds to compile - but don't expect them to work.
++  // Although musl provides a definition for getcontext() in ucontext.h (which
++  // enough to build libbreakpad_client) musl does not provide a corresponding
++  // getcontext() function, so builds will fail when attempting to link anything
++  // with libbreakpad_client. Disabling calls to getcontext() is a temporary
++  // hack. The real fix is probably to enable Breakpad's own implementation of
++  // getcontext() when building for musl (it's currently only enabled when
++  // building for Android).
++  memset (&context, 0, sizeof(context));
++#endif
+   return HandleSignal(sig, &siginfo, &context);
+ }
+ 
+@@ -680,9 +692,14 @@ bool ExceptionHandler::WriteMinidump() {
+   sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
+ 
+   CrashContext context;
++#if defined(__GLIBC__)
+   int getcontext_result = getcontext(&context.context);
+   if (getcontext_result)
+     return false;
++#else
++  // Extreme hack - see comments above.
++  memset (&context.context, 0, sizeof(&context.context));
++#endif
+ 
+ #if defined(__i386__)
+   // In CPUFillFromUContext in minidumpwriter.cc the stack pointer is retrieved
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-Import-necessary-definitions-from-stab.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-Import-necessary-definitions-from-stab.h.patch
deleted file mode 100644
index 80de8c6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0005-Import-necessary-definitions-from-stab.h.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-From fa7a3b7312307acad0045549d5f306e7fd117804 Mon Sep 17 00:00:00 2001
-From: Felix Janda <felix.janda@posteo.de>
-Date: Sun, 1 Feb 2015 14:34:44 +0100
-Subject: [PATCH 5/6] Import necessary definitions from stab.h
-
----
- configure.ac                        |   1 -
- src/common/android/include/stab.h   | 100 ------------------------------------
- src/common/common.gyp               |   1 -
- src/common/stabs_reader.cc          |   1 -
- src/common/stabs_reader.h           |  13 +++--
- src/common/stabs_reader_unittest.cc |   1 -
- 6 files changed, 10 insertions(+), 107 deletions(-)
- delete mode 100644 src/common/android/include/stab.h
-
-diff --git a/configure.ac b/configure.ac
-index 2223920..0e55cd9 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -73,7 +73,6 @@ AC_HEADER_STDC
- AC_SYS_LARGEFILE
- m4_include(m4/ax_pthread.m4)
- AX_PTHREAD
--AC_CHECK_HEADERS([a.out.h])
- 
- # Only build Linux client libs when compiling for Linux
- case $host in
-diff --git a/src/common/android/include/stab.h b/src/common/android/include/stab.h
-deleted file mode 100644
-index cd92902..0000000
---- a/src/common/android/include/stab.h
-+++ /dev/null
-@@ -1,100 +0,0 @@
--// Copyright (c) 2012, Google Inc.
--// All rights reserved.
--//
--// Redistribution and use in source and binary forms, with or without
--// modification, are permitted provided that the following conditions are
--// met:
--//
--//     * Redistributions of source code must retain the above copyright
--// notice, this list of conditions and the following disclaimer.
--//     * Redistributions in binary form must reproduce the above
--// copyright notice, this list of conditions and the following disclaimer
--// in the documentation and/or other materials provided with the
--// distribution.
--//     * Neither the name of Google Inc. nor the names of its
--// contributors may be used to endorse or promote products derived from
--// this software without specific prior written permission.
--//
--// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
--// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
--// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
--// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
--// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
--// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
--// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
--// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
--// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
--// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
--// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--
--#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
--#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
--
--#include <sys/cdefs.h>
--
--#ifdef __BIONIC_HAVE_STAB_H
--#include <stab.h>
--#else
--
--#ifdef __cplusplus
--extern "C" {
--#endif  // __cplusplus
--
--#define _STAB_CODE_LIST       \
--  _STAB_CODE_DEF(UNDF,0x00)   \
--  _STAB_CODE_DEF(GSYM,0x20)   \
--  _STAB_CODE_DEF(FNAME,0x22)  \
--  _STAB_CODE_DEF(FUN,0x24)    \
--  _STAB_CODE_DEF(STSYM,0x26)  \
--  _STAB_CODE_DEF(LCSYM,0x28)  \
--  _STAB_CODE_DEF(MAIN,0x2a)   \
--  _STAB_CODE_DEF(PC,0x30)     \
--  _STAB_CODE_DEF(NSYMS,0x32)  \
--  _STAB_CODE_DEF(NOMAP,0x34)  \
--  _STAB_CODE_DEF(OBJ,0x38)    \
--  _STAB_CODE_DEF(OPT,0x3c)    \
--  _STAB_CODE_DEF(RSYM,0x40)   \
--  _STAB_CODE_DEF(M2C,0x42)    \
--  _STAB_CODE_DEF(SLINE,0x44)  \
--  _STAB_CODE_DEF(DSLINE,0x46) \
--  _STAB_CODE_DEF(BSLINE,0x48) \
--  _STAB_CODE_DEF(BROWS,0x48)  \
--  _STAB_CODE_DEF(DEFD,0x4a)   \
--  _STAB_CODE_DEF(EHDECL,0x50) \
--  _STAB_CODE_DEF(MOD2,0x50)   \
--  _STAB_CODE_DEF(CATCH,0x54)  \
--  _STAB_CODE_DEF(SSYM,0x60)   \
--  _STAB_CODE_DEF(SO,0x64)     \
--  _STAB_CODE_DEF(LSYM,0x80)   \
--  _STAB_CODE_DEF(BINCL,0x82)  \
--  _STAB_CODE_DEF(SOL,0x84)    \
--  _STAB_CODE_DEF(PSYM,0xa0)   \
--  _STAB_CODE_DEF(EINCL,0xa2)  \
--  _STAB_CODE_DEF(ENTRY,0xa4)  \
--  _STAB_CODE_DEF(LBRAC,0xc0)  \
--  _STAB_CODE_DEF(EXCL,0xc2)   \
--  _STAB_CODE_DEF(SCOPE,0xc4)  \
--  _STAB_CODE_DEF(RBRAC,0xe0)  \
--  _STAB_CODE_DEF(BCOMM,0xe2)  \
--  _STAB_CODE_DEF(ECOMM,0xe4)  \
--  _STAB_CODE_DEF(ECOML,0xe8)  \
--  _STAB_CODE_DEF(NBTEXT,0xf0) \
--  _STAB_CODE_DEF(NBDATA,0xf2) \
--  _STAB_CODE_DEF(NBBSS,0xf4)  \
--  _STAB_CODE_DEF(NBSTS,0xf6)  \
--  _STAB_CODE_DEF(NBLCS,0xf8)  \
--  _STAB_CODE_DEF(LENG,0xfe)
--
--enum __stab_debug_code {
--#define _STAB_CODE_DEF(x,y)  N_##x = y,
--_STAB_CODE_LIST
--#undef _STAB_CODE_DEF
--};
--
--#ifdef __cplusplus
--}  // extern "C"
--#endif  // __cplusplus
--
--#endif  // __BIONIC_HAVE_STAB_H
--
--#endif  // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
-diff --git a/src/common/common.gyp b/src/common/common.gyp
-index f01ede5..c49ff85 100644
---- a/src/common/common.gyp
-+++ b/src/common/common.gyp
-@@ -46,7 +46,6 @@
-         'android/include/elf.h',
-         'android/include/link.h',
-         'android/include/sgidefs.h',
--        'android/include/stab.h',
-         'android/include/sys/procfs.h',
-         'android/include/sys/signal.h',
-         'android/include/sys/user.h',
-diff --git a/src/common/stabs_reader.cc b/src/common/stabs_reader.cc
-index 6019fc7..9562caa 100644
---- a/src/common/stabs_reader.cc
-+++ b/src/common/stabs_reader.cc
-@@ -34,7 +34,6 @@
- #include "common/stabs_reader.h"
- 
- #include <assert.h>
--#include <stab.h>
- #include <string.h>
- 
- #include <string>
-diff --git a/src/common/stabs_reader.h b/src/common/stabs_reader.h
-index d89afc0..591f007 100644
---- a/src/common/stabs_reader.h
-+++ b/src/common/stabs_reader.h
-@@ -53,12 +53,19 @@
- #include <config.h>
- #endif
- 
--#ifdef HAVE_A_OUT_H
--#include <a.out.h>
--#endif
- #ifdef HAVE_MACH_O_NLIST_H
- #include <mach-o/nlist.h>
- #endif
-+// Definitions from <stab.h> and <a.out.h> for systems which
-+// do not have them
-+#undef N_UNDF
-+#define N_UNDF 0x0
-+#define N_FUN 0x24
-+#define N_SLINE 0x44
-+#define N_SO 0x64
-+#define N_LSYM 0x80
-+#define N_BINCL 0x82
-+#define N_SOL 0x84
- 
- #include <string>
- #include <vector>
-diff --git a/src/common/stabs_reader_unittest.cc b/src/common/stabs_reader_unittest.cc
-index a84da1c..854ac42 100644
---- a/src/common/stabs_reader_unittest.cc
-+++ b/src/common/stabs_reader_unittest.cc
-@@ -33,7 +33,6 @@
- 
- #include <assert.h>
- #include <errno.h>
--#include <stab.h>
- #include <stdarg.h>
- #include <stdlib.h>
- #include <string.h>
--- 
-2.0.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
index 5f6d82c..d9773c9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
@@ -41,6 +41,7 @@
            file://0005-md2core-Replace-basename.patch \
            file://0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch \
            file://mcontext.patch \
+           file://0001-disable-calls-to-getcontext-with-musl.patch \
            file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \
            file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \
 "
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch
index d3bfab7..9e5058f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch
@@ -1,8 +1,16 @@
-Index: git/configure
-===================================================================
---- git.orig/configure	2012-11-19 21:07:51.917429465 -0800
-+++ git/configure	2012-11-19 21:13:19.337437278 -0800
-@@ -439,14 +442,18 @@
+From ab0eec78382bd00ce533aec2c84fd50c1733033d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 5 Jan 2013 19:42:51 -0800
+
+---
+ configure | 32 ++++++++++++++++++--------------
+ 1 file changed, 18 insertions(+), 14 deletions(-)
+
+diff --git a/configure b/configure
+index 76c2812..78ce2ff 100755
+--- a/configure
++++ b/configure
+@@ -535,14 +535,18 @@ else
  	GZIP_SUFFIX=".gz"
  fi
  
@@ -25,12 +33,16 @@
 +	cat << EOF > .1.c
  #include <stdio.h>
  int main(void) {
- #if defined(__GNUC__) && (__GNUC__ >= 4)
-@@ -569,16 +576,16 @@
+ #if defined(_WIN32)
+@@ -569,16 +573,16 @@ int main(void) {
  #endif
  }
  EOF
--
++	$CC -o .1 .1.c
++	COMPILER=`./.1`
++	r=$?
++	rm -f .1.c .1
+ 
 -$CC -o .1 .1.c
 -COMPILER=`./.1`
 -r=$?
@@ -40,11 +52,6 @@
 -	assert "" "update compiler"
 -else
 -	echo "success [$CC]"
-+	$CC -o .1 .1.c
-+	COMPILER=`./.1`
-+	r=$?
-+	rm -f .1.c .1
-+
 +	if test "$r" -ne 0; then
 +		assert "" "update compiler"
 +	else
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20170122.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20170122.bb
new file mode 100644
index 0000000..7a70f75
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20170122.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Linux tool to dump x86 CPUID information about the CPU(s)"
+DESCRIPTION = "cpuid dumps detailed information about the CPU(s) gathered \
+from the CPUID instruction, and also determines the exact model of CPU(s). \
+It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, \
+UMC, NexGen, Rise, and SiS CPUs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://www.etallen.com/${BPN}/${BP}.src.tar.gz"
+SRC_URI[md5sum] = "1c46a6662626c5a6eaca626f23a5a7d7"
+SRC_URI[sha256sum] = "667612aae6704341dd10844e97c84c5c5c8700817a5937a3c293b55013bc4865"
+
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+
+# The install rule from the Makefile has hardcoded paths, so we duplicate
+# the actions to accommodate different paths.
+do_install () {
+    install -d -m755 ${D}/${bindir}
+    install -m755 ${B}/cpuid ${D}/${bindir}/cpuid
+    install -d -m755 ${D}/${mandir}
+    install -m444 ${B}/cpuid.man.gz ${D}/${mandir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.7.1.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.9.0.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb
index 27fe860..d8f2f89 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.31.bb
@@ -11,6 +11,7 @@
 }
 
 DEPENDS = " \
+    fribidi \
     geany \
     libxml2 \
     libsoup-2.4 \
@@ -22,7 +23,9 @@
     libgit2 \
 "
 
-inherit autotools pkgconfig gtk-icon-cache
+inherit distro_features_check autotools pkgconfig gtk-icon-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "http://plugins.geany.org/${PN}/${PN}-${PV}.tar.bz2"
 SRC_URI[md5sum] = "808f9048b77fd9704569ed2ba12a56e9"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb
index ce36e1e..bb9d8bc 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.31.bb
@@ -5,7 +5,9 @@
 
 DEPENDS = "gtk+ libxml-parser-perl-native python3-docutils-native intltool-native"
 
-inherit autotools pkgconfig perlnative pythonnative gettext
+inherit distro_features_check autotools pkgconfig perlnative pythonnative gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "http://download.geany.org/${BP}.tar.bz2"
 SRC_URI[md5sum] = "386000be6b26972c6a699939c37cda34"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb
deleted file mode 100644
index c4f6000..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Glade - A User Interface Designer"
-HOMEPAGE = "http://www.gnu.org/software/gnash"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
-                    file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
-                    file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "gtk+ gnome-doc-utils gnome-common libxml2 intltool-native"
-
-inherit autotools pkgconfig pythonnative gtk-icon-cache
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \
-           file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch \
-           file://0002-fix-gcc-6-build.patch \
-           file://0001-Add-G_GNUC_PRINTF-on-functions-with-format-strings.patch \
-           "
-SRC_URI[md5sum] = "4e4b4f5ee34a03e017e4cef97d796c1f"
-SRC_URI[sha256sum] = "58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735"
-
-EXTRA_OECONF += "--disable-scrollkeeper"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gnome] = "--enable-gnome,--disable-gnome,libbonoboui libgnomeui"
-
-FILES_${PN} += "${datadir}/icons"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.0.bb
deleted file mode 100644
index f33b6e3..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Glade - A User Interface Designer"
-HOMEPAGE = "http://www.gnu.org/software/gnash"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
-                    file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
-                    file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \
-           gnome-common-native \
-"
-
-
-inherit autotools pkgconfig gnomebase gobject-introspection
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.20/glade-${PV}.tar.xz \
-           file://remove-yelp-help-rules-var.patch \
-          "
-SRC_URI[md5sum] = "9964a2da14c5f845eae363889586ca43"
-SRC_URI[sha256sum] = "82d96dca5dec40ee34e2f41d49c13b4ea50da8f32a3a49ca2da802ff14dc18fe"
-
-EXTRA_OECONF += "--disable-man-pages"
-
-FILES_${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so"
-FILES_${PN}-dev += "${libdir}/glade/modules/libgladegtk.la"
-FILES_${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.2.bb
new file mode 100644
index 0000000..95e1737
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.20.2.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Glade - A User Interface Designer"
+HOMEPAGE = "http://www.gnu.org/software/gnash"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
+                    file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+                    file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
+DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \
+           gnome-common-native \
+"
+
+
+inherit distro_features_check autotools pkgconfig gnomebase gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.20/glade-${PV}.tar.xz \
+           file://remove-yelp-help-rules-var.patch \
+          "
+SRC_URI[md5sum] = "d3dd9ba33c7d7c854ab207e1ba844dda"
+SRC_URI[sha256sum] = "07d1545570951aeded20e9fdc6d3d8a56aeefe2538734568c5335be336c6abed"
+
+EXTRA_OECONF += "--disable-man-pages"
+
+FILES_${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so"
+FILES_${PN}-dev += "${libdir}/glade/modules/libgladegtk.la"
+FILES_${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
new file mode 100644
index 0000000..5774e62
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
@@ -0,0 +1,68 @@
+From cc6dbabea0e452ebc93682df860a79ed9a45722e Mon Sep 17 00:00:00 2001
+From: Alexey Firago <alexey_firago@mentor.com>
+Date: Fri, 20 Oct 2017 00:04:19 +0300
+Subject: [PATCH] CMakeLists.txt: Fix grpc_cpp_plugin path during
+ cross-compilation
+
+Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
+---
+ CMakeLists.txt                    | 9 ++++++++-
+ templates/CMakeLists.txt.template | 9 ++++++++-
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f9cd630..9663934 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -328,6 +328,13 @@ function(protobuf_generate_grpc_cpp)
+     return()
+   endif()
+
++  #if cross-compiling, find host plugin
++  if(CMAKE_CROSSCOMPILING)
++      find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
++  else()
++      set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
++  endif()
++
+   set(_protobuf_include_path -I . -I ${PROTOBUF_WELLKNOWN_IMPORT_DIR})
+   foreach(FIL ${ARGN})
+     get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
+@@ -345,7 +352,7 @@ function(protobuf_generate_grpc_cpp)
+       COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}
+       ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR}
+            --cpp_out=${_gRPC_PROTO_GENS_DIR}
+-           --plugin=protoc-gen-grpc=$<TARGET_FILE:grpc_cpp_plugin>
++           --plugin=protoc-gen-grpc=${gRPC_CPP_PLUGIN}
+            ${_protobuf_include_path}
+            ${REL_FIL}
+       DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin
+diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template
+index 64daf04..a7e8629 100644
+--- a/templates/CMakeLists.txt.template
++++ b/templates/CMakeLists.txt.template
+@@ -373,6 +373,13 @@
+       return()
+     endif()
+
++    #if cross-compiling, find host plugin
++    if(CMAKE_CROSSCOMPILING)
++        find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
++    else()
++        set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
++    endif()
++
+     set(_protobuf_include_path -I . -I <%text>${PROTOBUF_WELLKNOWN_IMPORT_DIR}</%text>)
+     foreach(FIL <%text>${ARGN}</%text>)
+       get_filename_component(ABS_FIL <%text>${FIL}</%text> ABSOLUTE)
+@@ -390,7 +397,7 @@
+         COMMAND <%text>${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}</%text>
+         ARGS --grpc_out=<%text>generate_mock_code=true:${_gRPC_PROTO_GENS_DIR}</%text>
+              --cpp_out=<%text>${_gRPC_PROTO_GENS_DIR}</%text>
+-             --plugin=protoc-gen-grpc=$<TARGET_FILE:grpc_cpp_plugin>
++             --plugin=protoc-gen-grpc=${gRPC_CPP_PLUGIN}
+              <%text>${_protobuf_include_path}</%text>
+              <%text>${REL_FIL}</%text>
+         DEPENDS <%text>${ABS_FIL}</%text> <%text>${_gRPC_PROTOBUF_PROTOC}</%text> grpc_cpp_plugin
+--
+2.7.4
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
new file mode 100644
index 0000000..f8d9652
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
@@ -0,0 +1,166 @@
+From 8e9bf962a45a82f1c2eb5858e29fa89a3a60b564 Mon Sep 17 00:00:00 2001
+From: Alexey Firago <alexey_firago@mentor.com>
+Date: Mon, 30 Oct 2017 23:24:49 +0300
+Subject: [PATCH 1/4] CMakeLists.txt: Fix libraries installation for Linux
+
+* Set libs versions as in Makefile
+
+Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
+
+%% original patch: 0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
+---
+ CMakeLists.txt                        | 55 +++++++++++++++++++++++++++++++++++
+ CMakeLists.txt => CMakeLists.txt.orig |  0
+ 2 files changed, 55 insertions(+)
+ copy CMakeLists.txt => CMakeLists.txt.orig (100%)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b1a49df..13e64ac 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -30,6 +30,15 @@ set(PACKAGE_TARNAME   "${PACKAGE_NAME}-${PACKAGE_VERSION}")
+ set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/")
+ project(${PACKAGE_NAME} C CXX)
+ 
++set (CORE_VERSION_MAJOR "4")
++set (CORE_VERSION "4.0.0")
++
++set (CPP_VERSION_MAJOR "1")
++set (CPP_VERSION "${PACKAGE_VERSION}")
++
++set (CSHARP_VERSION_MAJOR "1")
++set (CSHARP_VERSION "${PACKAGE_VERSION}")
++
+ set(gRPC_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
+ set(gRPC_INSTALL_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
+ set(gRPC_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
+@@ -841,6 +850,10 @@ if(WIN32 AND MSVC)
+   endif()
+ endif()
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET gpr PROPERTY VERSION ${CORE_VERSION})
++  set_property(TARGET gpr PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+ 
+ target_include_directories(gpr
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -1221,6 +1234,10 @@ if(WIN32 AND MSVC)
+   endif()
+ endif()
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET grpc PROPERTY VERSION ${CORE_VERSION})
++  set_property(TARGET grpc PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+ 
+ target_include_directories(grpc
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -1535,6 +1552,10 @@ if(WIN32 AND MSVC)
+   endif()
+ endif()
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET grpc_cronet PROPERTY VERSION ${CORE_VERSION})
++  set_property(TARGET grpc_cronet PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+ 
+ target_include_directories(grpc_cronet
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -2377,6 +2398,10 @@ if(WIN32 AND MSVC)
+   endif()
+ endif()
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET grpc_unsecure PROPERTY VERSION ${CORE_VERSION})
++  set_property(TARGET grpc_unsecure PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+ 
+ target_include_directories(grpc_unsecure
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -2592,6 +2617,10 @@ if(WIN32 AND MSVC)
+   endif()
+ endif()
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET grpc++ PROPERTY VERSION ${CPP_VERSION})
++  set_property(TARGET grpc++ PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
+ 
+ target_include_directories(grpc++
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -3078,6 +3107,10 @@ if(WIN32 AND MSVC)
+   endif()
+ endif()
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET grpc++_cronet PROPERTY VERSION ${CPP_VERSION})
++  set_property(TARGET grpc++_cronet PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
+ 
+ target_include_directories(grpc++_cronet
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -3282,6 +3315,11 @@ protobuf_generate_grpc_cpp(
+   src/proto/grpc/status/status.proto
+ )
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET grpc++_error_details PROPERTY VERSION ${CPP_VERSION})
++  set_property(TARGET grpc++_error_details PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
++
+ target_include_directories(grpc++_error_details
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+@@ -3408,6 +3446,11 @@ protobuf_generate_grpc_cpp(
+   src/proto/grpc/reflection/v1alpha/reflection.proto
+ )
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET grpc++_reflection PROPERTY VERSION ${CPP_VERSION})
++  set_property(TARGET grpc++_reflection PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
++
+ target_include_directories(grpc++_reflection
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+@@ -3827,6 +3870,10 @@ if(WIN32 AND MSVC)
+   endif()
+ endif()
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET grpc++_unsecure PROPERTY VERSION ${CPP_VERSION})
++  set_property(TARGET grpc++_unsecure PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
+ 
+ target_include_directories(grpc++_unsecure
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -4140,6 +4187,10 @@ if(WIN32 AND MSVC)
+   endif()
+ endif()
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET grpc_plugin_support PROPERTY VERSION ${CORE_VERSION})
++  set_property(TARGET grpc_plugin_support PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
++endif()
+ 
+ target_include_directories(grpc_plugin_support
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+@@ -4649,6 +4700,10 @@ if(WIN32 AND MSVC)
+   endif()
+ endif()
+ 
++if(_gRPC_PLATFORM_LINUX)
++  set_property(TARGET grpc_csharp_ext PROPERTY VERSION ${CSHARP_VERSION})
++  set_property(TARGET grpc_csharp_ext PROPERTY SOVERSION ${CSHARP_VERSION_MAJOR})
++endif()
+ 
+ target_include_directories(grpc_csharp_ext
+   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+diff --git a/CMakeLists.txt b/CMakeLists.txt.orig
+similarity index 100%
+copy from CMakeLists.txt
+copy to CMakeLists.txt.orig
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0004-CMakeLists.txt-Find-c-ares-in-target-sysroot-alone.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0004-CMakeLists.txt-Find-c-ares-in-target-sysroot-alone.patch
new file mode 100644
index 0000000..8985022
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0004-CMakeLists.txt-Find-c-ares-in-target-sysroot-alone.patch
@@ -0,0 +1,42 @@
+From a498b56ba96948015f0f2784b2ab8296946716ee Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Feb 2018 23:28:17 -0800
+Subject: [PATCH 4/4] CMakeLists.txt: Find c-ares in target sysroot alone
+
+Current code lets it look into native sysroot as well
+which is then preferred during cross compile and it adds
+absolute path to libcares into linker flags
+on heterogenous architectures linker complains and build
+fails
+
+| /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/grpc/1.8.5-r0/recipe-sysroot-native/usr/lib/lib
+cares.so.2.2.0: file not recognized: File format not recognized
+| collect2: error: ld returned 1 exit status
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1d7eef1..058423d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -153,10 +153,8 @@ if("${gRPC_CARES_PROVIDER}" STREQUAL "module")
+     set(gRPC_INSTALL FALSE)
+   endif()
+ elseif("${gRPC_CARES_PROVIDER}" STREQUAL "package")
+-  find_package(c-ares REQUIRED CONFIG)
+-  if(TARGET c-ares::cares)
+-    set(_gRPC_CARES_LIBRARIES c-ares::cares)
+-  endif()
++  find_package(c-ares REQUIRED)
++  set(_gRPC_CARES_LIBRARIES cares)
+   set(_gRPC_FIND_CARES "if(NOT c-ares_FOUND)\n  find_package(c-ares CONFIG)\nendif()")
+ endif()
+ 
+-- 
+2.16.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.8.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.8.5.bb
new file mode 100644
index 0000000..0883ec1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.8.5.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
+Provides gRPC libraries for multiple languages written on top of shared C core library \
+(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
+HOMEPAGE = "https://github.com/grpc/grpc"
+SECTION = "libs"
+LICENSE = "Apache-2"
+
+DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl"
+DEPENDS_append_class-target = " gtest grpc-native "
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "https://github.com/grpc/grpc/archive/v${PV}.tar.gz \
+           file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \
+           file://0004-CMakeLists.txt-Find-c-ares-in-target-sysroot-alone.patch \
+           "
+SRC_URI[md5sum] = "b565fa6787e42f4969395870c2ad436e"
+SRC_URI[sha256sum] = "df9168da760fd2ee970c74c9d1b63377e0024be248deaa844e784d0df47599de"
+
+SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
+
+inherit cmake
+
+EXTRA_OECMAKE = " \
+    -DgRPC_CARES_PROVIDER=package \
+    -DgRPC_ZLIB_PROVIDER=package \
+    -DgRPC_SSL_PROVIDER=package \
+    -DgRPC_PROTOBUF_PROVIDER=package \
+    -DgRPC_GFLAGS_PROVIDER=package \
+    -DgRPC_INSTALL=1 \
+    -DBUILD_SHARED_LIBS=ON \
+    "
+
+FILES_${PN}-dev += "${libdir}/cmake"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.3.bb
deleted file mode 100644
index b7a02ef..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "JSON C++ lib used to read and write json file."
-DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
-               and writer in C++. JSON (JavaScript Object Notation) is a \
-               lightweight data-interchange format. It is easy for humans to \
-               read and write. It is easy for machines to parse and generate."
-
-HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp"
-
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b"
-
-SRCREV = "2de18021fcb11370e9b5a1fbe7dcfd673533a134"
-SRC_URI = "git://github.com/open-source-parsers/jsoncpp"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb
new file mode 100644
index 0000000..88e3320
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.8.4.bb
@@ -0,0 +1,21 @@
+SUMMARY = "JSON C++ lib used to read and write json file."
+DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
+               and writer in C++. JSON (JavaScript Object Notation) is a \
+               lightweight data-interchange format. It is easy for humans to \
+               read and write. It is easy for machines to parse and generate."
+
+HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b"
+
+SRCREV = "ddabf50f72cf369bf652a95c4d9fe31a1865a781"
+SRC_URI = "git://github.com/open-source-parsers/jsoncpp"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
index 43eff72..267c0e7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
@@ -50,3 +50,5 @@
 FILES_${PN}-dev += "${datadir}/cmake/Modules/FindLibRcf.cmake"
 
 BBCLASSEXTEND = "nativesdk"
+
+PNBLACKLIST[librcf] = " error: invalid use of incomplete type 'RCF::AsioIoService {aka class boost::asio::io_service}; among others?" 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
index 73c3811..1d69b3c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
@@ -53,6 +53,7 @@
     \
     'PREFIX=${prefix}' \
     'MULTILIB=${baselib}' \
+    'LDCONFIG=:' \
 "
 
 do_compile () {
@@ -90,3 +91,5 @@
 "
 FILES_luajit-common = "${datadir}/${BPN}-${PV}"
 
+# Aarch64 is not supported in this release 
+COMPATIBLE_HOST = "^(?!aarch64).*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/files/mercurial-CVE-2017-9462.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/files/mercurial-CVE-2017-9462.patch
deleted file mode 100644
index 3564661..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/files/mercurial-CVE-2017-9462.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-# HG changeset patch
-# User Augie Fackler <augie@google.com>
-# Date 1492021435 25200
-#      Wed Apr 12 11:23:55 2017 -0700
-# Branch stable
-# Node ID 77eaf9539499a1b8be259ffe7ada787d07857f80
-# Parent  68f263f52d2e3e2798b4f1e55cb665c6b043f93b
-dispatch: protect against malicious 'hg serve --stdio' invocations (sec)
-
-Some shared-ssh installations assume that 'hg serve --stdio' is a safe
-command to run for minimally trusted users. Unfortunately, the messy
-implementation of argument parsing here meant that trying to access a
-repo named '--debugger' would give the user a pdb prompt, thereby
-sidestepping any hoped-for sandboxing. Serving repositories over HTTP(S)
-is unaffected.
-
-We're not currently hardening any subcommands other than 'serve'. If
-your service exposes other commands to users with arbitrary repository
-names, it is imperative that you defend against repository names of
-'--debugger' and anything starting with '--config'.
-
-The read-only mode of hg-ssh stopped working because it provided its hook
-configuration to "hg serve --stdio" via --config parameter. This is banned for
-security reasons now. This patch switches it to directly call ui.setconfig().
-If your custom hosting infrastructure relies on passing --config to
-"hg serve --stdio", you'll need to find a different way to get that configuration
-into Mercurial, either by using ui.setconfig() as hg-ssh does in this patch,
-or by placing an hgrc file someplace where Mercurial will read it.
-
-mitrandir@fb.com provided some extra fixes for the dispatch code and
-for hg-ssh in places that I overlooked.
-
-CVE: CVE-2017-9462
-
-Upstream-Status: Backport
-
-diff --git a/contrib/hg-ssh b/contrib/hg-ssh
---- a/contrib/hg-ssh
-+++ b/contrib/hg-ssh
-@@ -32,7 +32,7 @@
- # enable importing on demand to reduce startup time
- from mercurial import demandimport; demandimport.enable()
- 
--from mercurial import dispatch
-+from mercurial import dispatch, ui as uimod
- 
- import sys, os, shlex
- 
-@@ -61,14 +61,15 @@
-         repo = os.path.normpath(os.path.join(cwd, os.path.expanduser(path)))
-         if repo in allowed_paths:
-             cmd = ['-R', repo, 'serve', '--stdio']
-+            req = dispatch.request(cmd)
-             if readonly:
--                cmd += [
--                    '--config',
--                    'hooks.pretxnopen.hg-ssh=python:__main__.rejectpush',
--                    '--config',
--                    'hooks.prepushkey.hg-ssh=python:__main__.rejectpush'
--                    ]
--            dispatch.dispatch(dispatch.request(cmd))
-+                if not req.ui:
-+                    req.ui = uimod.ui.load()
-+                req.ui.setconfig('hooks', 'pretxnopen.hg-ssh',
-+                                 'python:__main__.rejectpush', 'hg-ssh')
-+                req.ui.setconfig('hooks', 'prepushkey.hg-ssh',
-+                                 'python:__main__.rejectpush', 'hg-ssh')
-+            dispatch.dispatch(req)
-         else:
-             sys.stderr.write('Illegal repository "%s"\n' % repo)
-             sys.exit(255)
-diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py
---- a/mercurial/dispatch.py
-+++ b/mercurial/dispatch.py
-@@ -155,6 +155,37 @@
-         pass # happens if called in a thread
- 
-     def _runcatchfunc():
-+        realcmd = None
-+        try:
-+            cmdargs = fancyopts.fancyopts(req.args[:], commands.globalopts, {})
-+            cmd = cmdargs[0]
-+            aliases, entry = cmdutil.findcmd(cmd, commands.table, False)
-+            realcmd = aliases[0]
-+        except (error.UnknownCommand, error.AmbiguousCommand,
-+                IndexError, getopt.GetoptError):
-+            # Don't handle this here. We know the command is
-+            # invalid, but all we're worried about for now is that
-+            # it's not a command that server operators expect to
-+            # be safe to offer to users in a sandbox.
-+            pass
-+        if realcmd == 'serve' and '--stdio' in cmdargs:
-+            # We want to constrain 'hg serve --stdio' instances pretty
-+            # closely, as many shared-ssh access tools want to grant
-+            # access to run *only* 'hg -R $repo serve --stdio'. We
-+            # restrict to exactly that set of arguments, and prohibit
-+            # any repo name that starts with '--' to prevent
-+            # shenanigans wherein a user does something like pass
-+            # --debugger or --config=ui.debugger=1 as a repo
-+            # name. This used to actually run the debugger.
-+            if (len(req.args) != 4 or
-+                req.args[0] != '-R' or
-+                req.args[1].startswith('--') or
-+                req.args[2] != 'serve' or
-+                req.args[3] != '--stdio'):
-+                raise error.Abort(
-+                    _('potentially unsafe serve --stdio invocation: %r') %
-+                    (req.args,))
-+
-         try:
-             debugger = 'pdb'
-             debugtrace = {
-diff --git a/tests/test-ssh.t b/tests/test-ssh.t
---- a/tests/test-ssh.t
-+++ b/tests/test-ssh.t
-@@ -357,6 +357,19 @@
-   abort: destination 'a repo' is not empty
-   [255]
- 
-+Make sure hg is really paranoid in serve --stdio mode. It used to be
-+possible to get a debugger REPL by specifying a repo named --debugger.
-+  $ hg -R --debugger serve --stdio
-+  abort: potentially unsafe serve --stdio invocation: ['-R', '--debugger', 'serve', '--stdio']
-+  [255]
-+  $ hg -R --config=ui.debugger=yes serve --stdio
-+  abort: potentially unsafe serve --stdio invocation: ['-R', '--config=ui.debugger=yes', 'serve', '--stdio']
-+  [255]
-+Abbreviations of 'serve' also don't work, to avoid shenanigans.
-+  $ hg -R narf serv --stdio
-+  abort: potentially unsafe serve --stdio invocation: ['-R', 'narf', 'serv', '--stdio']
-+  [255]
-+
- Test hg-ssh using a helper script that will restore PYTHONPATH (which might
- have been cleared by a hg.exe wrapper) and invoke hg-ssh with the right
- parameters:
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_4.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_4.0.1.bb
deleted file mode 100644
index a08acd9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_4.0.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "The Mercurial distributed SCM"
-HOMEPAGE = "http://mercurial.selenic.com/"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "python-native"
-
-SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz \
-           file://mercurial-CVE-2017-9462.patch \
-"
-SRC_URI[md5sum] = "22a9b1d7c0c06a53f0ae5b386d536d08"
-SRC_URI[sha256sum] = "6aa4ade93c1b5e11937820880a466ebf1c824086d443cd799fc46e2617250d40"
-
-S = "${WORKDIR}/mercurial-${PV}"
-
-inherit native
-
-EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
-    PREFIX=${prefix}"
-
-do_configure_append () {
-    sed -i -e 's:PYTHON=python:PYTHON=${STAGING_BINDIR_NATIVE}/python-native/python:g' ${S}/Makefile
-}
-
-do_install () {
-    oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
-}
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_4.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_4.4.bb
new file mode 100644
index 0000000..9052497
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_4.4.bb
@@ -0,0 +1,31 @@
+SUMMARY = "The Mercurial distributed SCM"
+HOMEPAGE = "http://mercurial.selenic.com/"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "python python-native"
+DEPENDS_class-native = "python-native"
+RDEPENDS_${PN} = "python python-modules"
+
+inherit python-dir
+
+SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
+SRC_URI[md5sum] = "c1d9fad1b7ed7077b0d4ae82e71154db"
+SRC_URI[sha256sum] = "234af4a67565c85923b0a1910c704ab44bcf12f69b85532687208776563d87de"
+
+S = "${WORKDIR}/mercurial-${PV}"
+
+BBCLASSEXTEND = "native"
+
+EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
+    PREFIX=${prefix}"
+
+do_configure_append () {
+    sed -i -e 's:PYTHON=python:PYTHON=${STAGING_BINDIR_NATIVE}/python-native/python:g' ${S}/Makefile
+}
+
+do_install () {
+    oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
+}
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch
deleted file mode 100644
index 993e975..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson/native_bindir.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-There are some discussions upstream to merge this patch, but I presonaly believe
-that is is OE only. https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323
-
-Upstream-Status: Inappropriate [OE specific]
-Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
-diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py
-index 04a22f985941..3e33bc4a79e7 100644
---- a/mesonbuild/dependencies.py
-+++ b/mesonbuild/dependencies.py
-@@ -95,7 +95,7 @@ class Dependency:
-     def need_threads(self):
-         return False
- 
--    def get_pkgconfig_variable(self, variable_name):
-+    def get_pkgconfig_variable(self, variable_name, use_native=False):
-         raise MesonException('Tried to get a pkg-config variable from a non-pkgconfig dependency.')
- 
- class InternalDependency(Dependency):
-@@ -224,8 +224,12 @@ class PkgConfigDependency(Dependency):
-         return s.format(self.__class__.__name__, self.name, self.is_found,
-                         self.version_reqs)
- 
--    def _call_pkgbin(self, args):
--        p, out = Popen_safe([self.pkgbin] + args, env=os.environ)[0:2]
-+    def _call_pkgbin(self, args, use_native=False):
-+        if use_native:
-+            pkgbin = [self.pkgbin + "-native"]
-+        else:
-+            pkgbin = [self.pkgbin]
-+        p, out = Popen_safe(pkgbin + args, env=os.environ)[0:2]
-         return p.returncode, out.strip()
- 
-     def _set_cargs(self):
-@@ -259,8 +263,8 @@ class PkgConfigDependency(Dependency):
-                 self.is_libtool = True
-             self.libs.append(lib)
- 
--    def get_pkgconfig_variable(self, variable_name):
--        ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name])
-+    def get_pkgconfig_variable(self, variable_name, use_native=False):
-+        ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name], use_native=use_native)
-         variable = ''
-         if ret != 0:
-             if self.required:
-@@ -1091,7 +1095,7 @@ class QtBaseDependency(Dependency):
-         self.bindir = self.get_pkgconfig_host_bins(core)
-         if not self.bindir:
-             # If exec_prefix is not defined, the pkg-config file is broken
--            prefix = core.get_pkgconfig_variable('exec_prefix')
-+            prefix = core.get_pkgconfig_variable('exec_prefix', use_native=True)
-             if prefix:
-                 self.bindir = os.path.join(prefix, 'bin')
- 
-@@ -1202,7 +1206,7 @@ class Qt5Dependency(QtBaseDependency):
-         QtBaseDependency.__init__(self, 'qt5', env, kwargs)
- 
-     def get_pkgconfig_host_bins(self, core):
--        return core.get_pkgconfig_variable('host_bins')
-+        return core.get_pkgconfig_variable('host_bins', use_native=True)
- 
- class Qt4Dependency(QtBaseDependency):
-     def __init__(self, env, kwargs):
-@@ -1216,7 +1220,7 @@ class Qt4Dependency(QtBaseDependency):
-         applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
-         for application in applications:
-             try:
--                return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application))
-+                return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, use_native=True))
-             except MesonException:
-                 pass
- 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.40.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.40.1.bb
deleted file mode 100644
index 14644ba..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/meson/meson_0.40.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-HOMEPAGE = "http://mesonbuild.com"
-SUMMARY = "A high performance build system"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = " \
-    git://github.com/mesonbuild/meson.git \
-    file://native_bindir.patch \
-"
-
-SRCREV = "b25d3e4d3f2b4d37029a507cc089bdde643c6240"
-
-S = "${WORKDIR}/git"
-
-inherit setuptools3
-
-RDEPENDS_${PN} = "ninja python3-core python3-modules"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb
index 4a2c377..51b313c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb
@@ -31,6 +31,11 @@
 inherit autotools-brokensep gettext
 
 do_configure_prepend() {
+    for d in confdb test/mpi/confdb src/openpa/confdb src/pm/hydra/confdb src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb src/mpl/confdb src/mpi/romio/confdb;  do
+        install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d
+        install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d
+    done
+
     autoreconf --verbose --install --force -I . -I confdb/ -I maint/
     oe_runconf
     exit
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch
new file mode 100644
index 0000000..b0d772d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c/0001-Fix-Werror-class-memaccess.patch
@@ -0,0 +1,35 @@
+From a05d92ae85024d0648f69f95307a1d3e8e51109c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 1 Apr 2018 19:55:38 -0700
+Subject: [PATCH] Fix -Werror=class-memaccess
+
+Casting to void* make gcc happy since its upset about
+object types and rightly so
+
+Fixes
+
+'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'struct msgpack::v2::object' from an array of 'const msgpack_object' {aka 'const struct msgpack_object'} [-Werror=class-memaccess]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/msgpack/msgpack-c/pull/659]
+
+ include/msgpack/v1/object.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/msgpack/v1/object.hpp b/include/msgpack/v1/object.hpp
+index 64da8c53..9721f705 100644
+--- a/include/msgpack/v1/object.hpp
++++ b/include/msgpack/v1/object.hpp
+@@ -661,7 +661,7 @@ inline object::object(const msgpack_object& o)
+ inline void operator<< (msgpack::object& o, const msgpack_object& v)
+ {
+     // FIXME beter way?
+-    std::memcpy(&o, &v, sizeof(v));
++    std::memcpy(static_cast<void*>(&o), &v, sizeof(v));
+ }
+ 
+ inline object::operator msgpack_object() const
+-- 
+2.16.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb
index d9f6956..02c0cd2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msgpack/msgpack-c_2.1.5.bb
@@ -9,9 +9,10 @@
 
 PV .= "+git${SRCPV}"
 
-SRCREV = "7a98138f27f27290e680bf8fbf1f8d1b089bf138"
+SRCREV = "208595b2620cf6260ce3d6d4cf8543f13b206449"
 
 SRC_URI = "git://github.com/msgpack/msgpack-c \
+           file://0001-Fix-Werror-class-memaccess.patch \
            "
 
 inherit cmake pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
deleted file mode 100644
index 324a468..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c2aff16cc196a61f4ab1cdae4a91c7926123c239 Mon Sep 17 00:00:00 2001
-From: Zuzana Svetlikova <zsvetlik@redhat.com>
-Date: Thu, 27 Apr 2017 14:25:42 +0200
-Subject: [PATCH] Disable running gyp on shared deps
-
----
- Makefile | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 0a217bd893..e1229ad07f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -79,10 +79,9 @@ $(NODE_G_EXE): config.gypi out/Makefile
- 	$(MAKE) -C out BUILDTYPE=Debug V=$(V)
- 	if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi
- 
--out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp \
--              deps/zlib/zlib.gyp deps/v8/gypfiles/toolchain.gypi \
--              deps/v8/gypfiles/features.gypi deps/v8/src/v8.gyp node.gyp \
--              config.gypi
-+out/Makefile: common.gypi deps/http_parser/http_parser.gyp \
-+              deps/v8/gypfiles/toolchain.gypi deps/v8/gypfiles/features.gypi \
-+			  deps/v8/src/v8.gyp node.gyp config.gypi
- 	$(PYTHON) tools/gyp_node.py -f make
- 
- config.gypi: configure
--- 
-2.12.2
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch
deleted file mode 100644
index ed24738..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-Bugfix for --no-registry in nodejs-v0.12.2
-
-diff -u -r node-v0.12.2_def/deps/npm/lib/cache/caching-client.js node-v0.12.2/deps/npm/lib/cache/caching-client.js
---- node-v0.12.2_def/deps/npm/lib/cache/caching-client.js	2015-04-01 01:13:01.000000000 +0300
-+++ node-v0.12.2/deps/npm/lib/cache/caching-client.js	2015-05-18 00:47:10.738599686 +0300
-@@ -67,6 +67,22 @@
-   var cacheBase = cacheFile(npm.config.get("cache"))(uri)
-   var cachePath = path.join(cacheBase, ".cache.json")
- 
-+  if (parsed.host === "noregistry") (function() {
-+    var stat = null
-+    var file = npm.config.get("cache") + parsed.pathname + "/.cache.json"
-+    try {
-+      stat = fs.statSync(cachePath)
-+    } catch (ex) {}
-+    if (!stat) try {
-+      stat = fs.statSync(file) 
-+      cachePath = file
-+    } catch (ex) {
-+      stat = "Registry not defined and registry files not found: \"" +
-+             cachePath + "\", \"" + file + "\"."
-+      throw new Error(stat)
-+    }
-+  })()
-+
-   // If the GET is part of a write operation (PUT or DELETE), then
-   // skip past the cache entirely, but still save the results.
-   if (uri.match(/\?write=true$/)) {
-@@ -83,12 +99,17 @@
-         }
-         catch (ex) {
-           data = null
-+          if (parsed.host === "noregistry")
-+            throw new Error("File \"" + cachePath+"\"" + " corrupted.")
-         }
- 
-         params.stat = stat
-         params.data = data
- 
--        get_.call(client, uri, cachePath, params, cb)
-+        if (parsed.host === "noregistry")
-+          cb(null, data, JSON.stringify(data), { statusCode : 304 })
-+        else
-+          get_.call(client, uri, cachePath, params, cb)
-       })
-     }
-     else {
-diff -u -r node-v0.12.2_def/deps/npm/lib/utils/map-to-registry.js node-v0.12.2/deps/npm/lib/utils/map-to-registry.js
---- node-v0.12.2_def/deps/npm/lib/utils/map-to-registry.js	2015-04-01 01:13:01.000000000 +0300
-+++ node-v0.12.2/deps/npm/lib/utils/map-to-registry.js	2015-05-18 01:15:10.030569613 +0300
-@@ -45,6 +45,8 @@
- 
-   log.silly("mapToRegistry", "registry", registry)
- 
-+  if (!registry) return cb(null, "http://noregistry/" + name, {})
-+
-   var auth = config.getCredentialsByURI(registry)
- 
-   // normalize registry URL so resolution doesn't drop a piece of registry URL
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.4.0.bb
deleted file mode 100644
index 5bcbc00..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.4.0.bb
+++ /dev/null
@@ -1,89 +0,0 @@
-DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
-HOMEPAGE = "http://nodejs.org"
-LICENSE = "MIT & BSD & Artistic-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e4d35c6120f175e1fbe5ff908b1cf2d6"
-
-DEPENDS = "openssl10 zlib"
-
-COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
-COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
-COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
-
-SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
-           file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
-"
-SRC_URI[md5sum] = "e6c85c83001340b30671e9432e1bd337"
-SRC_URI[sha256sum] = "5d5aa2a101dcc617231a475812eb8ed87cac21491f1dcc7997b9dd463563f361"
-
-S = "${WORKDIR}/node-v${PV}"
-
-# v8 errors out if you have set CCACHE
-CCACHE = ""
-
-def map_nodejs_arch(a, d):
-    import re
-
-    if   re.match('i.86$', a): return 'ia32'
-    elif re.match('x86_64$', a): return 'x64'
-    elif re.match('aarch64$', a): return 'arm64'
-    elif re.match('powerpc64$', a): return 'ppc64'
-    elif re.match('powerpc$', a): return 'ppc'
-    return a
-
-ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
-                 ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
-                    bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
-                    bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
-                    '--with-arm-fpu=vfp', d), d), d)}"
-GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
-ARCHFLAGS ?= ""
-
-# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
-do_configure () {
-    rm -rf ${S}/deps/openssl
-    export LD="${CXX}"
-    GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
-    # $TARGET_ARCH settings don't match --dest-cpu settings
-   ./configure --prefix=${prefix} --without-intl --without-snapshot --shared-openssl --shared-zlib \
-               --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
-               --dest-os=linux \
-               ${ARCHFLAGS}
-}
-
-do_compile () {
-    export LD="${CXX}"
-    oe_runmake BUILDTYPE=Release
-}
-
-do_install () {
-    oe_runmake install DESTDIR=${D}
-}
-
-do_install_append_class-native() {
-    # use node from PATH instead of absolute path to sysroot
-    # node-v0.10.25/tools/install.py is using:
-    # shebang = os.path.join(node_prefix, 'bin/node')
-    # update_shebang(link_path, shebang)
-    # and node_prefix can be very long path to bindir in native sysroot and
-    # when it exceeds 128 character shebang limit it's stripped to incorrect path
-    # and npm fails to execute like in this case with 133 characters show in log.do_install:
-    # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node
-    # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js
-    # use sed on npm-cli.js because otherwise symlink is replaced with normal file and
-    # npm-cli.js continues to use old shebang
-    sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
-}
-
-do_install_append_class-target() {
-    sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
-}
-
-PACKAGES =+ "${PN}-npm"
-FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx"
-RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils"
-
-PACKAGES =+ "${PN}-systemtap"
-FILES_${PN}-systemtap = "${datadir}/systemtap"
-
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.9.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.9.4.bb
new file mode 100644
index 0000000..8930cd9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_8.9.4.bb
@@ -0,0 +1,90 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=270f7477a1705f7cd3e29d3d4512915d"
+
+DEPENDS = "openssl10 zlib"
+
+COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
+COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
+           file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
+"
+SRC_URI[md5sum] = "631ed102fe58c13cf63bc92a68cf4759"
+SRC_URI[sha256sum] = "6cdcde9c9c1ca9f450a0b24eafa229ca759e576daa0fae892ce74d541ecdc86f"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+def map_nodejs_arch(a, d):
+    import re
+
+    if   re.match('i.86$', a): return 'ia32'
+    elif re.match('x86_64$', a): return 'x64'
+    elif re.match('aarch64$', a): return 'arm64'
+    elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64'
+    elif re.match('powerpc$', a): return 'ppc'
+    return a
+
+ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
+                 ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
+                    bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
+                    bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
+                    '--with-arm-fpu=vfp', d), d), d)}"
+GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
+ARCHFLAGS ?= ""
+
+# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
+do_configure () {
+    rm -rf ${S}/deps/openssl
+    export LD="${CXX}"
+    GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+    # $TARGET_ARCH settings don't match --dest-cpu settings
+   ./configure --prefix=${prefix} --without-intl --without-snapshot --shared-openssl --shared-zlib \
+               --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
+               --dest-os=linux \
+               ${ARCHFLAGS}
+}
+
+do_compile () {
+    export LD="${CXX}"
+    oe_runmake BUILDTYPE=Release
+}
+
+do_install () {
+    oe_runmake install DESTDIR=${D}
+}
+
+do_install_append_class-native() {
+    # use node from PATH instead of absolute path to sysroot
+    # node-v0.10.25/tools/install.py is using:
+    # shebang = os.path.join(node_prefix, 'bin/node')
+    # update_shebang(link_path, shebang)
+    # and node_prefix can be very long path to bindir in native sysroot and
+    # when it exceeds 128 character shebang limit it's stripped to incorrect path
+    # and npm fails to execute like in this case with 133 characters show in log.do_install:
+    # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node
+    # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js
+    # use sed on npm-cli.js because otherwise symlink is replaced with normal file and
+    # npm-cli.js continues to use old shebang
+    sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
+}
+
+do_install_append_class-target() {
+    sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
+}
+
+PACKAGES =+ "${PN}-npm"
+FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx"
+RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils \
+    python-compiler python-misc python-multiprocessing"
+
+PACKAGES =+ "${PN}-systemtap"
+FILES_${PN}-systemtap = "${datadir}/systemtap"
+
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
index 1be7f6a..53fc159 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
@@ -4,7 +4,7 @@
 
 PR = "r1"
 
-inherit packagegroup allarch
+inherit packagegroup
 
 RPROVIDES_${PN} += "packagegroup-native-sdk"
 RREPLACES_${PN} += "packagegroup-native-sdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb
deleted file mode 100644
index 3b58939..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "\
-IPC::Run allows you run and interact with child processes \
-using files, pipes, and pseudo-ttys. Both system()-style and scripted \
-usages are supported and may be mixed. Likewise, functional and OO API \
-styles are both supported and may be mixed."
-HOMEPAGE = "https://metacpan.org/release/IPC-Run"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
-DEPENDS = "perl"
-
-SRC_URI = "git://github.com/toddr/IPC-Run.git"
-SRCREV = "6bdf41e276e06d23e140783b13a6eaef4745c216"
-
-S = "${WORKDIR}/git"
-
-inherit cpan
-
-EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
-
-do_compile() {
-    export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
-    cpan_do_compile
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.96.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.96.bb
new file mode 100644
index 0000000..08c966d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.96.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "\
+IPC::Run allows you run and interact with child processes \
+using files, pipes, and pseudo-ttys. Both system()-style and scripted \
+usages are supported and may be mixed. Likewise, functional and OO API \
+styles are both supported and may be mixed."
+HOMEPAGE = "https://metacpan.org/release/IPC-Run"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
+DEPENDS = "perl"
+
+SRC_URI = "git://github.com/toddr/IPC-Run.git"
+SRCREV = "96066366ac8c401dff9c979d04f25dc8219ffcc1"
+
+S = "${WORKDIR}/git"
+
+inherit cpan
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+do_compile() {
+    export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+    cpan_do_compile
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.036.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.036.bb
deleted file mode 100644
index f5dbef2..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.036.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "A Perl DBI driver for MySQL"
-DESCRIPTION = "DBD::mysql is the Perl5 Database Interface driver for \
-the MySQL database. In other words: DBD::mysql is an interface between \
-the Perl programming language and the MySQL programming API that comes \
-with the MySQL relational database management system. Most functions \
-provided by this programming API are supported. Some rarely used \
-functions are missing, mainly because no-one ever requested them. \
-"
-HOMEPAGE = "http://search.cpan.org/~michielb/DBD-mysql-4.036/lib/DBD/mysql.pm"
-
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-DEPENDS += "libdbi-perl-native libmysqlclient"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d0a06964340e5c0cde88b7af611f755c"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/DBD-mysql-${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "fdee1d8dc4ae54bc6cb7cd5a3f3d3342"
-SRC_URI[sha256sum] = "5c48a823f86b8110ccb6504c6176ca248b52f56829dd4548bc39c3509f4154cf"
-
-S = "${WORKDIR}/DBD-mysql-${PV}"
-
-inherit cpan
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb
new file mode 100644
index 0000000..bd8ba78
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.043.bb
@@ -0,0 +1,25 @@
+SUMMARY = "A Perl DBI driver for MySQL"
+DESCRIPTION = "DBD::mysql is the Perl5 Database Interface driver for \
+the MySQL database. In other words: DBD::mysql is an interface between \
+the Perl programming language and the MySQL programming API that comes \
+with the MySQL relational database management system. Most functions \
+provided by this programming API are supported. Some rarely used \
+functions are missing, mainly because no-one ever requested them. \
+"
+HOMEPAGE = "http://search.cpan.org/~michielb/DBD-mysql-4.036/lib/DBD/mysql.pm"
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+DEPENDS += "libdbi-perl-native libmysqlclient"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d0a06964340e5c0cde88b7af611f755c"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/DBD-mysql-${PV}.tar.gz \
+"
+
+SRC_URI[md5sum] = "4a00dd7f1c057931147c65dfc4901c36"
+SRC_URI[sha256sum] = "629f865e8317f52602b2f2efd2b688002903d2e4bbcba5427cb6188b043d6f99"
+
+S = "${WORKDIR}/DBD-mysql-${PV}"
+
+inherit cpan
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.636.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.636.bb
deleted file mode 100644
index 085b904..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.636.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "The Perl Database Interface"
-DESCRIPTION = "DBI is a database access Application Programming Interface \
-(API) for the Perl Language. The DBI API Specification defines a set \
-of functions, variables and conventions that provide a consistent \
-database interface independent of the actual database being used. \
-"
-HOMEPAGE = "http://search.cpan.org/dist/DBI/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-RDEPENDS_${PN} = " perl-module-carp \
-                   perl-module-exporter \
-                   perl-module-exporter-heavy \
-                   perl-module-dynaloader \
-"
-
-LIC_FILES_CHKSUM = "file://DBI.pm;beginline=8147;endline=8151;md5=2e5f6cf47e5ad7b77dcb6172edc29292"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz"
-SRC_URI[md5sum] = "60f291e5f015550dde71d1858dfe93ba"
-SRC_URI[sha256sum] = "8f7ddce97c04b4b7a000e65e5d05f679c964d62c8b02c94c1a7d815bb2dd676c"
-
-S = "${WORKDIR}/DBI-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb
new file mode 100644
index 0000000..24a1245
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.641.bb
@@ -0,0 +1,36 @@
+SUMMARY = "The Perl Database Interface"
+DESCRIPTION = "DBI is a database access Application Programming Interface \
+(API) for the Perl Language. The DBI API Specification defines a set \
+of functions, variables and conventions that provide a consistent \
+database interface independent of the actual database being used. \
+"
+HOMEPAGE = "http://search.cpan.org/dist/DBI/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+RDEPENDS_${PN} = " perl-module-carp \
+                   perl-module-exporter \
+                   perl-module-exporter-heavy \
+                   perl-module-dynaloader \
+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz"
+SRC_URI[md5sum] = "e77fd37fcf77fc88fde029c1b75ded54"
+SRC_URI[sha256sum] = "5509e532cdd0e3d91eda550578deaac29e2f008a12b64576e8c261bb92e8c2c1"
+
+S = "${WORKDIR}/DBI-${PV}"
+
+inherit cpan ptest-perl
+
+do_install_prepend() {
+	# test requires "-T" (taint) command line option
+	rm -rf ${B}/t/pod-coverage.t
+	rm -rf ${B}/t/13taint.t
+	# source of test failure not obvious
+	rm -rf ${B}/t/85gofer.t
+	# unclear why there are several duplicates of tests in tarball
+	rm -rf ${B}/t/z*.t
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
deleted file mode 100644
index 39c334f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-[PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK
-
-Upstream-Status: Pending
-
-AC_TRY_RUN is not suitable for cross-compile
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- ext/fileinfo/config.m4 | 31 ++++++-------------------------
- 1 file changed, 6 insertions(+), 25 deletions(-)
-
-diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4
-index 7e98d62..8a8ea0e 100644
---- a/ext/fileinfo/config.m4
-+++ b/ext/fileinfo/config.m4
-@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then
-     libmagic/readcdf.c libmagic/softmagic.c"
- 
-   AC_MSG_CHECKING([for strcasestr])
--  AC_TRY_RUN([
--#include <string.h>
--#include <strings.h>
--#include <stdlib.h>
--
--int main(void)
--{
--        char *s0, *s1, *ret;
--
--        s0 = (char *) malloc(42);
--        s1 = (char *) malloc(8);
--
--        memset(s0, 'X', 42);
--        s0[24] = 'Y';
--        s0[26] = 'Z';
--        s0[41] = '\0';
--        memset(s1, 'x', 8);
--        s1[0] = 'y';
--        s1[2] = 'Z';
--        s1[7] = '\0';
--
--        ret = strcasestr(s0, s1);
--
--        return !(NULL != ret);
--}
-+  AC_TRY_COMPILE([
-+     #include <string.h>
-+     #include <strings.h>
-+     #include <stdlib.h>
-+  ],[
-+     strcasestr(NULL, NULL);
-   ],[
-     dnl using the platform implementation
-     AC_MSG_RESULT(yes)
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch
deleted file mode 100644
index 18b4937..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 5c84b039e97abd88f6a18da0e6d27383c00fea92 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 26 Jul 2017 23:06:56 -0700
-Subject: [PATCH] Specify --tag with libtool
-
-This helps in compiling with external toolchains
-with -fPIE appended to CC e.g. via hardening flags
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- acinclude.m4 | 8 ++++----
- configure.in | 4 ++--
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index a114a98..1cc7a26 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -806,10 +806,10 @@ dnl
- dnl PHP_BUILD_PROGRAM
- dnl
- AC_DEFUN([PHP_BUILD_PROGRAM],[
--  php_c_pre='$(LIBTOOL) --mode=compile $(CC)'
-+  php_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)'
-   php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)'
-   php_c_post=
--  php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)'
-+  php_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)'
-   php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)'
-   php_cxx_post=
-   php_lo=lo
-@@ -819,10 +819,10 @@ AC_DEFUN([PHP_BUILD_PROGRAM],[
-     no)  pic_setting='-prefer-non-pic';;
-   esac
- 
--  shared_c_pre='$(LIBTOOL) --mode=compile $(CC)'
-+  shared_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)'
-   shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting
-   shared_c_post=
--  shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)'
-+  shared_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)'
-   shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting
-   shared_cxx_post=
-   shared_lo=lo
-diff --git a/configure.in b/configure.in
-index 7d65b63..7221af9 100644
---- a/configure.in
-+++ b/configure.in
-@@ -1431,8 +1431,8 @@ PHP_SET_LIBTOOL_VARIABLE([--silent])
- dnl libtool 1.4.3 needs this.
- PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps])
- 
--test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<'
--test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<'
-+test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --tag=CC --mode=compile $(COMPILE) -c $<'
-+test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --tag=CXX --mode=compile $(CXX_COMPILE) -c $<'
- SHARED_LIBTOOL='$(LIBTOOL)'
- 
- CC=$old_CC
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch
deleted file mode 100644
index 41d2a0f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch
+++ /dev/null
@@ -1,5241 +0,0 @@
-From f2f90767311355cafabff604a7a857ca60ee3f01 Mon Sep 17 00:00:00 2001
-From: Li Zhou <li.zhou@windriver.com>
-Date: Wed, 22 Nov 2017 21:14:59 -0800
-Subject: [PATCH] Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian()
-
-Upstream-Status: Backport
-CVE: CVE-2017-16642
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- ext/date/lib/parse_date.c         | 1544 +++++++++++++++++++++----------------
- ext/date/lib/parse_date.re        |    4 +-
- ext/date/tests/bug53437_var3.phpt |    2 +-
- ext/wddx/tests/bug75055.phpt      |   20 +
- ext/wddx/tests/bug75055.wddx      |   13 +
- 5 files changed, 911 insertions(+), 672 deletions(-)
- create mode 100644 ext/wddx/tests/bug75055.phpt
- create mode 100644 ext/wddx/tests/bug75055.wddx
-
-diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c
-index f929619..6b11418 100644
---- a/ext/date/lib/parse_date.c
-+++ b/ext/date/lib/parse_date.c
-@@ -1,4 +1,5 @@
--/* Generated by re2c 0.15.3 on Tue Jul  4 21:15:17 2017 */
-+/* Generated by re2c 0.15.3 on Wed Nov 22 21:14:47 2017 */
-+#line 1 "ext/date/lib/parse_date.re"
- /*
-  * The MIT License (MIT)
-  *
-@@ -837,9 +838,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
- std:
- 	s->tok = cursor;
- 	s->len = 0;
-+#line 965 "ext/date/lib/parse_date.re"
- 
- 
- 
-+#line 846 "ext/date/lib/parse_date.c"
- {
- 	YYCTYPE yych;
- 	unsigned int yyaccept = 0;
-@@ -962,18 +965,19 @@ yy2:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'D') goto yy165;
--			goto yy1521;
-+			goto yy1523;
- 		}
- 	} else {
- 		if (yych <= 'd') {
- 			if (yych <= 'Z') goto yy165;
- 			if (yych >= 'a') goto yy170;
- 		} else {
--			if (yych <= 'e') goto yy1530;
-+			if (yych <= 'e') goto yy1532;
- 			if (yych <= 'z') goto yy170;
- 		}
- 	}
- yy3:
-+#line 1673 "ext/date/lib/parse_date.re"
- 	{
- 		int tz_not_found;
- 		DEBUG_OUTPUT("tzcorrection | tz");
-@@ -986,6 +990,7 @@ yy3:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_TIMEZONE;
- 	}
-+#line 994 "ext/date/lib/parse_date.c"
- yy4:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'E') {
-@@ -995,7 +1000,7 @@ yy4:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'D') goto yy165;
--			goto yy1521;
-+			goto yy1523;
- 		}
- 	} else {
- 		if (yych <= 'd') {
-@@ -1003,7 +1008,7 @@ yy4:
- 			if (yych <= '`') goto yy3;
- 			goto yy165;
- 		} else {
--			if (yych <= 'e') goto yy1521;
-+			if (yych <= 'e') goto yy1523;
- 			if (yych <= 'z') goto yy165;
- 			goto yy3;
- 		}
-@@ -1017,12 +1022,12 @@ yy5:
- 			goto yy165;
- 		} else {
- 			if (yych <= 'H') {
--				if (yych <= 'E') goto yy1492;
-+				if (yych <= 'E') goto yy1494;
- 				goto yy165;
- 			} else {
--				if (yych <= 'I') goto yy1493;
-+				if (yych <= 'I') goto yy1495;
- 				if (yych <= 'N') goto yy165;
--				goto yy1491;
-+				goto yy1493;
- 			}
- 		}
- 	} else {
-@@ -1031,15 +1036,15 @@ yy5:
- 				if (yych <= 'Z') goto yy165;
- 				goto yy3;
- 			} else {
--				if (yych == 'e') goto yy1508;
-+				if (yych == 'e') goto yy1510;
- 				goto yy170;
- 			}
- 		} else {
- 			if (yych <= 'n') {
--				if (yych <= 'i') goto yy1509;
-+				if (yych <= 'i') goto yy1511;
- 				goto yy170;
- 			} else {
--				if (yych <= 'o') goto yy1507;
-+				if (yych <= 'o') goto yy1509;
- 				if (yych <= 'z') goto yy170;
- 				goto yy3;
- 			}
-@@ -1054,12 +1059,12 @@ yy6:
- 			goto yy165;
- 		} else {
- 			if (yych <= 'H') {
--				if (yych <= 'E') goto yy1492;
-+				if (yych <= 'E') goto yy1494;
- 				goto yy165;
- 			} else {
--				if (yych <= 'I') goto yy1493;
-+				if (yych <= 'I') goto yy1495;
- 				if (yych <= 'N') goto yy165;
--				goto yy1491;
-+				goto yy1493;
- 			}
- 		}
- 	} else {
-@@ -1068,15 +1073,15 @@ yy6:
- 				if (yych <= 'Z') goto yy165;
- 				goto yy3;
- 			} else {
--				if (yych == 'e') goto yy1492;
-+				if (yych == 'e') goto yy1494;
- 				goto yy165;
- 			}
- 		} else {
- 			if (yych <= 'n') {
--				if (yych <= 'i') goto yy1493;
-+				if (yych <= 'i') goto yy1495;
- 				goto yy165;
- 			} else {
--				if (yych <= 'o') goto yy1491;
-+				if (yych <= 'o') goto yy1493;
- 				if (yych <= 'z') goto yy165;
- 				goto yy3;
- 			}
-@@ -1088,24 +1093,24 @@ yy7:
- 		if (yych <= 'A') {
- 			if (yych == ')') goto yy164;
- 			if (yych <= '@') goto yy3;
--			goto yy1461;
-+			goto yy1463;
- 		} else {
--			if (yych == 'I') goto yy1462;
-+			if (yych == 'I') goto yy1464;
- 			if (yych <= 'N') goto yy165;
--			goto yy1463;
-+			goto yy1465;
- 		}
- 	} else {
- 		if (yych <= 'h') {
- 			if (yych <= 'Z') goto yy165;
- 			if (yych <= '`') goto yy3;
--			if (yych <= 'a') goto yy1476;
-+			if (yych <= 'a') goto yy1478;
- 			goto yy170;
- 		} else {
- 			if (yych <= 'n') {
--				if (yych <= 'i') goto yy1477;
-+				if (yych <= 'i') goto yy1479;
- 				goto yy170;
- 			} else {
--				if (yych <= 'o') goto yy1478;
-+				if (yych <= 'o') goto yy1480;
- 				if (yych <= 'z') goto yy170;
- 				goto yy3;
- 			}
-@@ -1117,24 +1122,24 @@ yy8:
- 		if (yych <= 'A') {
- 			if (yych == ')') goto yy164;
- 			if (yych <= '@') goto yy3;
--			goto yy1461;
-+			goto yy1463;
- 		} else {
--			if (yych == 'I') goto yy1462;
-+			if (yych == 'I') goto yy1464;
- 			if (yych <= 'N') goto yy165;
--			goto yy1463;
-+			goto yy1465;
- 		}
- 	} else {
- 		if (yych <= 'h') {
- 			if (yych <= 'Z') goto yy165;
- 			if (yych <= '`') goto yy3;
--			if (yych <= 'a') goto yy1461;
-+			if (yych <= 'a') goto yy1463;
- 			goto yy165;
- 		} else {
- 			if (yych <= 'n') {
--				if (yych <= 'i') goto yy1462;
-+				if (yych <= 'i') goto yy1464;
- 				goto yy165;
- 			} else {
--				if (yych <= 'o') goto yy1463;
-+				if (yych <= 'o') goto yy1465;
- 				if (yych <= 'z') goto yy165;
- 				goto yy3;
- 			}
-@@ -1146,15 +1151,15 @@ yy9:
- 	switch (yych) {
- 	case ')':	goto yy164;
- 	case '0':
--	case '1':	goto yy1391;
--	case '2':	goto yy1392;
-+	case '1':	goto yy1393;
-+	case '2':	goto yy1394;
- 	case '3':
- 	case '4':
- 	case '5':
- 	case '6':
- 	case '7':
- 	case '8':
--	case '9':	goto yy1393;
-+	case '9':	goto yy1395;
- 	case 'A':
- 	case 'B':
- 	case 'C':
-@@ -1176,11 +1181,11 @@ yy9:
- 	case 'X':
- 	case 'Y':
- 	case 'Z':	goto yy165;
--	case 'E':	goto yy1386;
--	case 'H':	goto yy1387;
--	case 'O':	goto yy1388;
--	case 'U':	goto yy1389;
--	case 'W':	goto yy1390;
-+	case 'E':	goto yy1388;
-+	case 'H':	goto yy1389;
-+	case 'O':	goto yy1390;
-+	case 'U':	goto yy1391;
-+	case 'W':	goto yy1392;
- 	case 'a':
- 	case 'b':
- 	case 'c':
-@@ -1202,11 +1207,11 @@ yy9:
- 	case 'x':
- 	case 'y':
- 	case 'z':	goto yy170;
--	case 'e':	goto yy1429;
--	case 'h':	goto yy1430;
--	case 'o':	goto yy1431;
--	case 'u':	goto yy1432;
--	case 'w':	goto yy1433;
-+	case 'e':	goto yy1431;
-+	case 'h':	goto yy1432;
-+	case 'o':	goto yy1433;
-+	case 'u':	goto yy1434;
-+	case 'w':	goto yy1435;
- 	default:	goto yy3;
- 	}
- yy10:
-@@ -1215,15 +1220,15 @@ yy10:
- 	switch (yych) {
- 	case ')':	goto yy164;
- 	case '0':
--	case '1':	goto yy1391;
--	case '2':	goto yy1392;
-+	case '1':	goto yy1393;
-+	case '2':	goto yy1394;
- 	case '3':
- 	case '4':
- 	case '5':
- 	case '6':
- 	case '7':
- 	case '8':
--	case '9':	goto yy1393;
-+	case '9':	goto yy1395;
- 	case 'A':
- 	case 'B':
- 	case 'C':
-@@ -1267,28 +1272,30 @@ yy10:
- 	case 'y':
- 	case 'z':	goto yy165;
- 	case 'E':
--	case 'e':	goto yy1386;
-+	case 'e':	goto yy1388;
- 	case 'H':
--	case 'h':	goto yy1387;
-+	case 'h':	goto yy1389;
- 	case 'O':
--	case 'o':	goto yy1388;
-+	case 'o':	goto yy1390;
- 	case 'U':
--	case 'u':	goto yy1389;
-+	case 'u':	goto yy1391;
- 	case 'W':
--	case 'w':	goto yy1390;
-+	case 'w':	goto yy1392;
- 	default:	goto yy3;
- 	}
- yy11:
- 	yyaccept = 1;
- 	yych = *(YYMARKER = ++YYCURSOR);
--	if (yych == '-') goto yy1374;
-+	if (yych == '-') goto yy1376;
- 	if (yych <= '/') goto yy12;
--	if (yych <= '9') goto yy1375;
-+	if (yych <= '9') goto yy1377;
- yy12:
-+#line 1768 "ext/date/lib/parse_date.re"
- 	{
- 		add_error(s, "Unexpected character");
- 		goto std;
- 	}
-+#line 1299 "ext/date/lib/parse_date.c"
- yy13:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'R') {
-@@ -1299,16 +1306,16 @@ yy13:
- 			} else {
- 				if (yych <= '@') goto yy3;
- 				if (yych <= 'D') goto yy165;
--				goto yy1310;
-+				goto yy1311;
- 			}
- 		} else {
- 			if (yych <= 'N') {
--				if (yych == 'I') goto yy1311;
-+				if (yych == 'I') goto yy1312;
- 				goto yy165;
- 			} else {
--				if (yych <= 'O') goto yy1312;
-+				if (yych <= 'O') goto yy1313;
- 				if (yych <= 'Q') goto yy165;
--				goto yy1313;
-+				goto yy1314;
- 			}
- 		}
- 	} else {
-@@ -1318,16 +1325,16 @@ yy13:
- 				if (yych <= '`') goto yy3;
- 				goto yy170;
- 			} else {
--				if (yych <= 'e') goto yy1351;
-+				if (yych <= 'e') goto yy1353;
- 				if (yych <= 'h') goto yy170;
--				goto yy1352;
-+				goto yy1354;
- 			}
- 		} else {
- 			if (yych <= 'q') {
--				if (yych == 'o') goto yy1353;
-+				if (yych == 'o') goto yy1355;
- 				goto yy170;
- 			} else {
--				if (yych <= 'r') goto yy1354;
-+				if (yych <= 'r') goto yy1356;
- 				if (yych <= 'z') goto yy170;
- 				goto yy3;
- 			}
-@@ -1343,16 +1350,16 @@ yy14:
- 			} else {
- 				if (yych <= '@') goto yy3;
- 				if (yych <= 'D') goto yy165;
--				goto yy1310;
-+				goto yy1311;
- 			}
- 		} else {
- 			if (yych <= 'N') {
--				if (yych == 'I') goto yy1311;
-+				if (yych == 'I') goto yy1312;
- 				goto yy165;
- 			} else {
--				if (yych <= 'O') goto yy1312;
-+				if (yych <= 'O') goto yy1313;
- 				if (yych <= 'Q') goto yy165;
--				goto yy1313;
-+				goto yy1314;
- 			}
- 		}
- 	} else {
-@@ -1362,16 +1369,16 @@ yy14:
- 				if (yych <= '`') goto yy3;
- 				goto yy165;
- 			} else {
--				if (yych <= 'e') goto yy1310;
-+				if (yych <= 'e') goto yy1311;
- 				if (yych <= 'h') goto yy165;
--				goto yy1311;
-+				goto yy1312;
- 			}
- 		} else {
- 			if (yych <= 'q') {
--				if (yych == 'o') goto yy1312;
-+				if (yych == 'o') goto yy1313;
- 				goto yy165;
- 			} else {
--				if (yych <= 'r') goto yy1313;
-+				if (yych <= 'r') goto yy1314;
- 				if (yych <= 'z') goto yy165;
- 				goto yy3;
- 			}
-@@ -1382,13 +1389,13 @@ yy15:
- 	if (yych <= 'A') {
- 		if (yych == ')') goto yy164;
- 		if (yych <= '@') goto yy3;
--		goto yy1296;
-+		goto yy1297;
- 	} else {
- 		if (yych <= '`') {
- 			if (yych <= 'Z') goto yy165;
- 			goto yy3;
- 		} else {
--			if (yych <= 'a') goto yy1307;
-+			if (yych <= 'a') goto yy1308;
- 			if (yych <= 'z') goto yy170;
- 			goto yy3;
- 		}
-@@ -1398,13 +1405,13 @@ yy16:
- 	if (yych <= 'A') {
- 		if (yych == ')') goto yy164;
- 		if (yych <= '@') goto yy3;
--		goto yy1296;
-+		goto yy1297;
- 	} else {
- 		if (yych <= '`') {
- 			if (yych <= 'Z') goto yy165;
- 			goto yy3;
- 		} else {
--			if (yych <= 'a') goto yy1296;
-+			if (yych <= 'a') goto yy1297;
- 			if (yych <= 'z') goto yy165;
- 			goto yy3;
- 		}
-@@ -1420,7 +1427,7 @@ yy17:
- 			if (yych <= 'Z') goto yy165;
- 			goto yy3;
- 		} else {
--			if (yych <= 'a') goto yy1293;
-+			if (yych <= 'a') goto yy1294;
- 			if (yych <= 'z') goto yy170;
- 			goto yy3;
- 		}
-@@ -2495,18 +2502,22 @@ yy48:
- 	if (yych <= '/') goto yy49;
- 	if (yych <= '9') goto yy54;
- yy49:
-+#line 1757 "ext/date/lib/parse_date.re"
- 	{
- 		goto std;
- 	}
-+#line 2510 "ext/date/lib/parse_date.c"
- yy50:
- 	yych = *++YYCURSOR;
- 	goto yy49;
- yy51:
- 	++YYCURSOR;
-+#line 1762 "ext/date/lib/parse_date.re"
- 	{
- 		s->pos = cursor; s->line++;
- 		goto std;
- 	}
-+#line 2521 "ext/date/lib/parse_date.c"
- yy53:
- 	yych = *++YYCURSOR;
- 	goto yy12;
-@@ -2693,23 +2704,23 @@ yy56:
- 					}
- 				} else {
- 					if (yyaccept == 28) {
--						goto yy1377;
-+						goto yy1379;
- 					} else {
--						goto yy1415;
-+						goto yy1417;
- 					}
- 				}
- 			} else {
- 				if (yyaccept <= 31) {
- 					if (yyaccept == 30) {
--						goto yy1418;
-+						goto yy1420;
- 					} else {
--						goto yy1498;
-+						goto yy1500;
- 					}
- 				} else {
- 					if (yyaccept == 32) {
--						goto yy1506;
-+						goto yy1508;
- 					} else {
--						goto yy1529;
-+						goto yy1531;
- 					}
- 				}
- 			}
-@@ -2920,6 +2931,7 @@ yy73:
- 	if (yych == 'S') goto yy75;
- 	if (yych == 's') goto yy75;
- yy74:
-+#line 1741 "ext/date/lib/parse_date.re"
- 	{
- 		timelib_ull i;
- 		DEBUG_OUTPUT("relative");
-@@ -2934,6 +2946,7 @@ yy74:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_RELATIVE;
- 	}
-+#line 2950 "ext/date/lib/parse_date.c"
- yy75:
- 	yych = *++YYCURSOR;
- 	if (yych == 'D') goto yy76;
-@@ -3719,6 +3732,7 @@ yy190:
- 		}
- 	}
- yy191:
-+#line 1604 "ext/date/lib/parse_date.re"
- 	{
- 		const timelib_relunit* relunit;
- 		DEBUG_OUTPUT("daytext");
-@@ -3735,6 +3749,7 @@ yy191:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_WEEKDAY;
- 	}
-+#line 3753 "ext/date/lib/parse_date.c"
- yy192:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'K') {
-@@ -4227,6 +4242,7 @@ yy217:
- 		}
- 	}
- yy218:
-+#line 1663 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("monthtext");
- 		TIMELIB_INIT;
-@@ -4235,6 +4251,7 @@ yy218:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_DATE_TEXT;
- 	}
-+#line 4255 "ext/date/lib/parse_date.c"
- yy219:
- 	++YYCURSOR;
- 	if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23);
-@@ -4469,6 +4486,7 @@ yy231:
- 	if (yych == 't') goto yy319;
- 	goto yy237;
- yy232:
-+#line 1409 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("datetextual | datenoyear");
-@@ -4481,6 +4499,7 @@ yy232:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_DATE_TEXT;
- 	}
-+#line 4503 "ext/date/lib/parse_date.c"
- yy233:
- 	yyaccept = 6;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -4593,6 +4612,7 @@ yy245:
- 		if (yych <= ':') goto yy248;
- 	}
- yy246:
-+#line 1711 "ext/date/lib/parse_date.re"
- 	{
- 		int tz_not_found;
- 		DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
-@@ -4621,6 +4641,7 @@ yy246:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_SHORTDATE_WITH_TIME;
- 	}
-+#line 4645 "ext/date/lib/parse_date.c"
- yy247:
- 	yyaccept = 7;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -4893,6 +4914,7 @@ yy269:
- 	}
- yy270:
- 	++YYCURSOR;
-+#line 1687 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
- 		TIMELIB_INIT;
-@@ -4915,6 +4937,7 @@ yy270:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_SHORTDATE_WITH_TIME;
- 	}
-+#line 4941 "ext/date/lib/parse_date.c"
- yy272:
- 	yych = *++YYCURSOR;
- 	if (yych <= 0x1F) {
-@@ -5470,6 +5493,7 @@ yy320:
- 	if (yych <= '/') goto yy56;
- 	if (yych >= ':') goto yy56;
- 	++YYCURSOR;
-+#line 1381 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("datenoday");
-@@ -5482,6 +5506,7 @@ yy320:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_DATE_NO_DAY;
- 	}
-+#line 5510 "ext/date/lib/parse_date.c"
- yy323:
- 	yych = *++YYCURSOR;
- 	if (yych <= '9') {
-@@ -5704,6 +5729,7 @@ yy327:
- 	if ((yych = *YYCURSOR) <= '/') goto yy330;
- 	if (yych <= '9') goto yy331;
- yy330:
-+#line 1525 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("pgtextshort");
-@@ -5716,6 +5742,7 @@ yy330:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_PG_TEXT;
- 	}
-+#line 5746 "ext/date/lib/parse_date.c"
- yy331:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') goto yy330;
-@@ -6270,6 +6297,7 @@ yy356:
- 		if (yych <= 'z') goto yy167;
- 	}
- yy357:
-+#line 1583 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("ago");
- 		TIMELIB_INIT;
-@@ -6289,6 +6317,7 @@ yy357:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_AGO;
- 	}
-+#line 6321 "ext/date/lib/parse_date.c"
- yy358:
- 	yyaccept = 5;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -8009,6 +8038,7 @@ yy417:
- yy418:
- 	++YYCURSOR;
- yy419:
-+#line 1286 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
- 		TIMELIB_INIT;
-@@ -8019,6 +8049,7 @@ yy419:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_ISO_DATE;
- 	}
-+#line 8053 "ext/date/lib/parse_date.c"
- yy420:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -8641,6 +8672,7 @@ yy439:
- 		}
- 	}
- yy440:
-+#line 1423 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("datenoyearrev");
- 		TIMELIB_INIT;
-@@ -8651,6 +8683,7 @@ yy440:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_DATE_TEXT;
- 	}
-+#line 8687 "ext/date/lib/parse_date.c"
- yy441:
- 	yyaccept = 9;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -8778,6 +8811,7 @@ yy450:
- 	}
- yy452:
- 	++YYCURSOR;
-+#line 1141 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
- 		TIMELIB_INIT;
-@@ -8793,6 +8827,7 @@ yy452:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_TIME12;
- 	}
-+#line 8831 "ext/date/lib/parse_date.c"
- yy454:
- 	yyaccept = 10;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -8803,6 +8838,7 @@ yy454:
- 		if (yych <= ':') goto yy457;
- 	}
- yy455:
-+#line 1178 "ext/date/lib/parse_date.re"
- 	{
- 		int tz_not_found;
- 		DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
-@@ -8827,6 +8863,7 @@ yy455:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_TIME24_WITH_ZONE;
- 	}
-+#line 8867 "ext/date/lib/parse_date.c"
- yy456:
- 	yyaccept = 10;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -9103,6 +9140,7 @@ yy485:
- 	}
- yy487:
- 	++YYCURSOR;
-+#line 1158 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("mssqltime");
- 		TIMELIB_INIT;
-@@ -9121,6 +9159,7 @@ yy487:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_TIME24_WITH_ZONE;
- 	}
-+#line 9163 "ext/date/lib/parse_date.c"
- yy489:
- 	yyaccept = 10;
- 	YYMARKER = ++YYCURSOR;
-@@ -9215,6 +9254,7 @@ yy498:
- 	if ((yych = *YYCURSOR) <= '/') goto yy499;
- 	if (yych <= '9') goto yy505;
- yy499:
-+#line 1340 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("datefull");
-@@ -9228,6 +9268,7 @@ yy499:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_DATE_FULL;
- 	}
-+#line 9272 "ext/date/lib/parse_date.c"
- yy500:
- 	yych = *++YYCURSOR;
- 	if (yych == 'M') goto yy501;
-@@ -9891,6 +9932,7 @@ yy569:
- 	if (yych <= '/') goto yy56;
- 	if (yych >= ':') goto yy56;
- 	++YYCURSOR;
-+#line 1355 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("pointed date YYYY");
- 		TIMELIB_INIT;
-@@ -9901,6 +9943,7 @@ yy569:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_DATE_FULL_POINTED;
- 	}
-+#line 9947 "ext/date/lib/parse_date.c"
- yy572:
- 	yyaccept = 10;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -9931,6 +9974,7 @@ yy575:
- 	if (yych <= '/') goto yy576;
- 	if (yych <= '9') goto yy569;
- yy576:
-+#line 1367 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("pointed date YY");
-@@ -9943,6 +9987,7 @@ yy576:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_DATE_FULL_POINTED;
- 	}
-+#line 9991 "ext/date/lib/parse_date.c"
- yy577:
- 	yyaccept = 10;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -10538,6 +10583,7 @@ yy620:
- 		}
- 	}
- yy621:
-+#line 1326 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("gnudateshort");
-@@ -10550,6 +10596,7 @@ yy621:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_ISO_DATE;
- 	}
-+#line 10600 "ext/date/lib/parse_date.c"
- yy622:
- 	yyaccept = 12;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -10645,6 +10692,7 @@ yy630:
- 		}
- 	}
- yy631:
-+#line 1270 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("americanshort | american");
-@@ -10659,6 +10707,7 @@ yy631:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_AMERICAN;
- 	}
-+#line 10711 "ext/date/lib/parse_date.c"
- yy632:
- 	yyaccept = 13;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -10857,6 +10906,7 @@ yy664:
- 	if (yych <= '9') goto yy667;
- 	if (yych <= ':') goto yy668;
- yy665:
-+#line 1553 "ext/date/lib/parse_date.re"
- 	{
- 		int tz_not_found;
- 		DEBUG_OUTPUT("clf");
-@@ -10876,6 +10926,7 @@ yy665:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_CLF;
- 	}
-+#line 10930 "ext/date/lib/parse_date.c"
- yy666:
- 	yych = *++YYCURSOR;
- 	if (yych <= '5') {
-@@ -11362,6 +11413,7 @@ yy727:
- 		if (yych <= 't') goto yy627;
- 	}
- yy728:
-+#line 1298 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("iso8601date2");
-@@ -11374,6 +11426,7 @@ yy728:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_ISO_DATE;
- 	}
-+#line 11430 "ext/date/lib/parse_date.c"
- yy729:
- 	yych = *++YYCURSOR;
- 	if (yych == 'C') goto yy730;
-@@ -11404,6 +11457,7 @@ yy734:
- 	if (yych >= '2') goto yy56;
- yy735:
- 	++YYCURSOR;
-+#line 1539 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("pgtextreverse");
-@@ -11416,6 +11470,7 @@ yy735:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_PG_TEXT;
- 	}
-+#line 11474 "ext/date/lib/parse_date.c"
- yy737:
- 	yych = *++YYCURSOR;
- 	if (yych == 'V') goto yy730;
-@@ -11568,6 +11623,7 @@ yy747:
- 		}
- 	}
- yy748:
-+#line 1574 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("year4");
- 		TIMELIB_INIT;
-@@ -11575,6 +11631,7 @@ yy748:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_CLF;
- 	}
-+#line 11635 "ext/date/lib/parse_date.c"
- yy749:
- 	yych = *++YYCURSOR;
- 	switch (yych) {
-@@ -11769,6 +11826,7 @@ yy757:
- 		if (yych <= 'X') goto yy848;
- 	}
- yy758:
-+#line 1395 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("datenodayrev");
-@@ -11781,6 +11839,7 @@ yy758:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_DATE_NO_DAY;
- 	}
-+#line 11843 "ext/date/lib/parse_date.c"
- yy759:
- 	yych = *++YYCURSOR;
- 	if (yych == 'I') goto yy892;
-@@ -11980,6 +12039,7 @@ yy778:
- 	if (yych <= '/') goto yy779;
- 	if (yych <= '7') goto yy781;
- yy779:
-+#line 1506 "ext/date/lib/parse_date.re"
- 	{
- 		timelib_sll w, d;
- 		DEBUG_OUTPUT("isoweek");
-@@ -11997,12 +12057,14 @@ yy779:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_ISO_WEEK;
- 	}
-+#line 12061 "ext/date/lib/parse_date.c"
- yy780:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') goto yy56;
- 	if (yych >= '8') goto yy56;
- yy781:
- 	++YYCURSOR;
-+#line 1487 "ext/date/lib/parse_date.re"
- 	{
- 		timelib_sll w, d;
- 		DEBUG_OUTPUT("isoweekday");
-@@ -12020,6 +12082,7 @@ yy781:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_ISO_WEEK;
- 	}
-+#line 12086 "ext/date/lib/parse_date.c"
- yy783:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') goto yy60;
-@@ -12085,6 +12148,7 @@ yy785:
- 		}
- 	}
- yy786:
-+#line 1473 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("pgydotd");
-@@ -12097,6 +12161,7 @@ yy786:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_PG_YEARDAY;
- 	}
-+#line 12165 "ext/date/lib/parse_date.c"
- yy787:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') goto yy60;
-@@ -12178,6 +12243,7 @@ yy805:
- yy806:
- 	++YYCURSOR;
- yy807:
-+#line 1447 "ext/date/lib/parse_date.re"
- 	{
- 		int tz_not_found;
- 		DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
-@@ -12202,6 +12268,7 @@ yy807:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_XMLRPC_SOAP;
- 	}
-+#line 12272 "ext/date/lib/parse_date.c"
- yy808:
- 	yych = *++YYCURSOR;
- 	if (yych <= '2') {
-@@ -12490,6 +12557,7 @@ yy812:
- 		}
- 	}
- yy813:
-+#line 1435 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("datenocolon");
- 		TIMELIB_INIT;
-@@ -12500,6 +12568,7 @@ yy813:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_DATE_NOCOLON;
- 	}
-+#line 12572 "ext/date/lib/parse_date.c"
- yy814:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'H') {
-@@ -13293,6 +13362,7 @@ yy937:
- 	if (yych <= '/') goto yy938;
- 	if (yych <= '9') goto yy960;
- yy938:
-+#line 1312 "ext/date/lib/parse_date.re"
- 	{
- 		int length = 0;
- 		DEBUG_OUTPUT("gnudateshorter");
-@@ -13305,6 +13375,7 @@ yy938:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_ISO_DATE;
- 	}
-+#line 13379 "ext/date/lib/parse_date.c"
- yy939:
- 	yyaccept = 21;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -14303,6 +14374,7 @@ yy1030:
- 		}
- 	}
- yy1032:
-+#line 1204 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("gnunocolon");
- 		TIMELIB_INIT;
-@@ -14324,6 +14396,7 @@ yy1032:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_GNU_NOCOLON;
- 	}
-+#line 14400 "ext/date/lib/parse_date.c"
- yy1033:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') goto yy60;
-@@ -14413,6 +14486,7 @@ yy1039:
- 		}
- 	}
- yy1040:
-+#line 1250 "ext/date/lib/parse_date.re"
- 	{
- 		int tz_not_found;
- 		DEBUG_OUTPUT("iso8601nocolon");
-@@ -14431,6 +14505,7 @@ yy1040:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_ISO_NOCOLON;
- 	}
-+#line 14509 "ext/date/lib/parse_date.c"
- yy1041:
- 	yyaccept = 24;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -15362,6 +15437,7 @@ yy1083:
- 		}
- 	}
- yy1084:
-+#line 1646 "ext/date/lib/parse_date.re"
- 	{
- 		timelib_sll i;
- 		int         behavior = 0;
-@@ -15377,6 +15453,7 @@ yy1084:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_RELATIVE;
- 	}
-+#line 15457 "ext/date/lib/parse_date.c"
- yy1085:
- 	++YYCURSOR;
- 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-@@ -15418,6 +15495,7 @@ yy1091:
- 	if (yych != 'f') goto yy56;
- yy1092:
- 	++YYCURSOR;
-+#line 1119 "ext/date/lib/parse_date.re"
- 	{
- 		timelib_sll i;
- 		int         behavior = 0;
-@@ -15438,6 +15516,7 @@ yy1092:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_WEEK_DAY_OF_MONTH;
- 	}
-+#line 15520 "ext/date/lib/parse_date.c"
- yy1094:
- 	yyaccept = 25;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -15530,6 +15609,7 @@ yy1107:
- 		}
- 	}
- yy1108:
-+#line 1622 "ext/date/lib/parse_date.re"
- 	{
- 		timelib_sll i;
- 		int         behavior = 0;
-@@ -15552,6 +15632,7 @@ yy1108:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_RELATIVE;
- 	}
-+#line 15636 "ext/date/lib/parse_date.c"
- yy1109:
- 	yych = *++YYCURSOR;
- 	goto yy1084;
-@@ -18206,10 +18287,25 @@ yy1281:
- yy1283:
- 	yyaccept = 27;
- 	yych = *(YYMARKER = ++YYCURSOR);
--	if (yych <= '/') goto yy1287;
--	if (yych <= '9') goto yy1286;
--	goto yy1287;
-+	if (yych <= '@') {
-+		if (yych <= 0x1F) {
-+			if (yych == '\t') goto yy1287;
-+		} else {
-+			if (yych <= ' ') goto yy1287;
-+			if (yych <= '/') goto yy1284;
-+			if (yych <= '9') goto yy1286;
-+		}
-+	} else {
-+		if (yych <= '`') {
-+			if (yych <= 'A') goto yy1289;
-+			if (yych == 'P') goto yy1289;
-+		} else {
-+			if (yych <= 'a') goto yy1289;
-+			if (yych == 'p') goto yy1289;
-+		}
-+	}
- yy1284:
-+#line 1096 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("backof | frontof");
- 		TIMELIB_INIT;
-@@ -18231,66 +18327,104 @@ yy1284:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_LF_DAY_OF_MONTH;
- 	}
-+#line 18331 "ext/date/lib/parse_date.c"
- yy1285:
- 	yyaccept = 27;
- 	yych = *(YYMARKER = ++YYCURSOR);
--	if (yych <= '/') goto yy1287;
--	if (yych >= '5') goto yy1287;
-+	if (yych <= '@') {
-+		if (yych <= 0x1F) {
-+			if (yych == '\t') goto yy1287;
-+			goto yy1284;
-+		} else {
-+			if (yych <= ' ') goto yy1287;
-+			if (yych <= '/') goto yy1284;
-+			if (yych >= '5') goto yy1284;
-+		}
-+	} else {
-+		if (yych <= '`') {
-+			if (yych <= 'A') goto yy1289;
-+			if (yych == 'P') goto yy1289;
-+			goto yy1284;
-+		} else {
-+			if (yych <= 'a') goto yy1289;
-+			if (yych == 'p') goto yy1289;
-+			goto yy1284;
-+		}
-+	}
- yy1286:
- 	yyaccept = 27;
--	YYMARKER = ++YYCURSOR;
-+	yych = *(YYMARKER = ++YYCURSOR);
-+	if (yych <= 'A') {
-+		if (yych <= 0x1F) {
-+			if (yych != '\t') goto yy1284;
-+		} else {
-+			if (yych <= ' ') goto yy1287;
-+			if (yych <= '@') goto yy1284;
-+			goto yy1289;
-+		}
-+	} else {
-+		if (yych <= '`') {
-+			if (yych == 'P') goto yy1289;
-+			goto yy1284;
-+		} else {
-+			if (yych <= 'a') goto yy1289;
-+			if (yych == 'p') goto yy1289;
-+			goto yy1284;
-+		}
-+	}
-+yy1287:
-+	++YYCURSOR;
- 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
- 	yych = *YYCURSOR;
--yy1287:
- 	if (yych <= 'A') {
- 		if (yych <= 0x1F) {
--			if (yych == '\t') goto yy1286;
--			goto yy1284;
-+			if (yych == '\t') goto yy1287;
-+			goto yy56;
- 		} else {
--			if (yych <= ' ') goto yy1286;
--			if (yych <= '@') goto yy1284;
-+			if (yych <= ' ') goto yy1287;
-+			if (yych <= '@') goto yy56;
- 		}
- 	} else {
- 		if (yych <= '`') {
--			if (yych != 'P') goto yy1284;
-+			if (yych != 'P') goto yy56;
- 		} else {
--			if (yych <= 'a') goto yy1288;
--			if (yych != 'p') goto yy1284;
-+			if (yych <= 'a') goto yy1289;
-+			if (yych != 'p') goto yy56;
- 		}
- 	}
--yy1288:
-+yy1289:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'L') {
- 		if (yych != '.') goto yy56;
- 	} else {
--		if (yych <= 'M') goto yy1290;
--		if (yych == 'm') goto yy1290;
-+		if (yych <= 'M') goto yy1291;
-+		if (yych == 'm') goto yy1291;
- 		goto yy56;
- 	}
- 	yych = *++YYCURSOR;
--	if (yych == 'M') goto yy1290;
-+	if (yych == 'M') goto yy1291;
- 	if (yych != 'm') goto yy56;
--yy1290:
-+yy1291:
- 	yych = *++YYCURSOR;
- 	if (yych <= 0x1F) {
--		if (yych <= 0x00) goto yy1292;
--		if (yych == '\t') goto yy1292;
-+		if (yych <= 0x00) goto yy1293;
-+		if (yych == '\t') goto yy1293;
- 		goto yy56;
- 	} else {
--		if (yych <= ' ') goto yy1292;
-+		if (yych <= ' ') goto yy1293;
- 		if (yych != '.') goto yy56;
- 	}
- 	yych = *++YYCURSOR;
- 	if (yych <= '\t') {
--		if (yych <= 0x00) goto yy1292;
-+		if (yych <= 0x00) goto yy1293;
- 		if (yych <= 0x08) goto yy56;
- 	} else {
- 		if (yych != ' ') goto yy56;
- 	}
--yy1292:
-+yy1293:
- 	yych = *++YYCURSOR;
- 	goto yy1284;
--yy1293:
-+yy1294:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'B') {
-@@ -18314,13 +18448,13 @@ yy1293:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 'c') goto yy1294;
-+				if (yych <= 'c') goto yy1295;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1294:
-+yy1295:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'J') {
-@@ -18344,13 +18478,13 @@ yy1294:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 'k') goto yy1295;
-+				if (yych <= 'k') goto yy1296;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1295:
-+yy1296:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '.') {
-@@ -18375,7 +18509,7 @@ yy1295:
- 			goto yy3;
- 		}
- 	}
--yy1296:
-+yy1297:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'S') {
- 		if (yych <= ')') {
-@@ -18391,12 +18525,12 @@ yy1296:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 's') goto yy1297;
-+			if (yych <= 's') goto yy1298;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1297:
-+yy1298:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'T') {
- 		if (yych <= ')') {
-@@ -18412,12 +18546,12 @@ yy1297:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 't') goto yy1298;
-+			if (yych <= 't') goto yy1299;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1298:
-+yy1299:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '(') {
-@@ -18438,19 +18572,19 @@ yy1298:
- 			goto yy3;
- 		}
- 	}
--yy1299:
-+yy1300:
- 	yych = *++YYCURSOR;
--	if (yych == 'D') goto yy1300;
-+	if (yych == 'D') goto yy1301;
- 	if (yych != 'd') goto yy1070;
--yy1300:
-+yy1301:
- 	yych = *++YYCURSOR;
--	if (yych == 'A') goto yy1301;
-+	if (yych == 'A') goto yy1302;
- 	if (yych != 'a') goto yy56;
--yy1301:
-+yy1302:
- 	yych = *++YYCURSOR;
--	if (yych == 'Y') goto yy1302;
-+	if (yych == 'Y') goto yy1303;
- 	if (yych != 'y') goto yy56;
--yy1302:
-+yy1303:
- 	yyaccept = 25;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'R') {
-@@ -18461,14 +18595,15 @@ yy1302:
- 		goto yy1084;
- 	}
- 	yych = *++YYCURSOR;
--	if (yych == 'O') goto yy1304;
-+	if (yych == 'O') goto yy1305;
- 	if (yych != 'o') goto yy56;
--yy1304:
-+yy1305:
- 	yych = *++YYCURSOR;
--	if (yych == 'F') goto yy1305;
-+	if (yych == 'F') goto yy1306;
- 	if (yych != 'f') goto yy56;
--yy1305:
-+yy1306:
- 	++YYCURSOR;
-+#line 1079 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("firstdayof | lastdayof");
- 		TIMELIB_INIT;
-@@ -18484,7 +18619,8 @@ yy1305:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_LF_DAY_OF_MONTH;
- 	}
--yy1307:
-+#line 18623 "ext/date/lib/parse_date.c"
-+yy1308:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'R') {
-@@ -18499,7 +18635,7 @@ yy1307:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'S') goto yy1297;
-+			if (yych <= 'S') goto yy1298;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -18508,13 +18644,13 @@ yy1307:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 's') goto yy1308;
-+				if (yych <= 's') goto yy1309;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1308:
-+yy1309:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'S') {
-@@ -18529,7 +18665,7 @@ yy1308:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'T') goto yy1298;
-+			if (yych <= 'T') goto yy1299;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -18538,20 +18674,20 @@ yy1308:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 't') goto yy1309;
-+				if (yych <= 't') goto yy1310;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1309:
-+yy1310:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '-') {
- 		if (yych <= ' ') {
- 			if (yych == '\t') goto yy1069;
- 			if (yych <= 0x1F) goto yy3;
--			goto yy1299;
-+			goto yy1300;
- 		} else {
- 			if (yych == ')') goto yy164;
- 			if (yych <= ',') goto yy3;
-@@ -18573,7 +18709,7 @@ yy1309:
- 			}
- 		}
- 	}
--yy1310:
-+yy1311:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'B') {
- 		if (yych <= ')') {
-@@ -18582,7 +18718,7 @@ yy1310:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'A') goto yy166;
--			goto yy1346;
-+			goto yy1348;
- 		}
- 	} else {
- 		if (yych <= 'a') {
-@@ -18590,35 +18726,35 @@ yy1310:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 'b') goto yy1346;
-+			if (yych <= 'b') goto yy1348;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1311:
-+yy1312:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'R') {
- 		if (yych <= '@') {
- 			if (yych == ')') goto yy164;
- 			goto yy3;
- 		} else {
--			if (yych == 'F') goto yy1336;
-+			if (yych == 'F') goto yy1338;
- 			if (yych <= 'Q') goto yy166;
--			goto yy1335;
-+			goto yy1337;
- 		}
- 	} else {
- 		if (yych <= 'f') {
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '`') goto yy3;
- 			if (yych <= 'e') goto yy166;
--			goto yy1336;
-+			goto yy1338;
- 		} else {
--			if (yych == 'r') goto yy1335;
-+			if (yych == 'r') goto yy1337;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1312:
-+yy1313:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'U') {
- 		if (yych <= ')') {
-@@ -18627,7 +18763,7 @@ yy1312:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'T') goto yy166;
--			goto yy1332;
-+			goto yy1334;
- 		}
- 	} else {
- 		if (yych <= 't') {
-@@ -18635,19 +18771,19 @@ yy1312:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 'u') goto yy1332;
-+			if (yych <= 'u') goto yy1334;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1313:
-+yy1314:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'O') {
- 		if (yych <= '@') {
- 			if (yych == ')') goto yy164;
- 			goto yy3;
- 		} else {
--			if (yych == 'I') goto yy1315;
-+			if (yych == 'I') goto yy1316;
- 			if (yych <= 'N') goto yy166;
- 		}
- 	} else {
-@@ -18655,14 +18791,14 @@ yy1313:
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '`') goto yy3;
- 			if (yych <= 'h') goto yy166;
--			goto yy1315;
-+			goto yy1316;
- 		} else {
--			if (yych == 'o') goto yy1314;
-+			if (yych == 'o') goto yy1315;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1314:
-+yy1315:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'N') {
- 		if (yych <= ')') {
-@@ -18671,7 +18807,7 @@ yy1314:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'M') goto yy167;
--			goto yy1318;
-+			goto yy1319;
- 		}
- 	} else {
- 		if (yych <= 'm') {
-@@ -18679,12 +18815,12 @@ yy1314:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 'n') goto yy1318;
-+			if (yych <= 'n') goto yy1319;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1315:
-+yy1316:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'D') {
- 		if (yych <= ')') {
-@@ -18700,12 +18836,12 @@ yy1315:
- 			if (yych <= '`') goto yy191;
- 			goto yy167;
- 		} else {
--			if (yych <= 'd') goto yy1316;
-+			if (yych <= 'd') goto yy1317;
- 			if (yych <= 'z') goto yy167;
- 			goto yy191;
- 		}
- 	}
--yy1316:
-+yy1317:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'A') {
- 		if (yych == ')') goto yy164;
-@@ -18715,12 +18851,12 @@ yy1316:
- 			if (yych <= 'Z') goto yy168;
- 			goto yy3;
- 		} else {
--			if (yych <= 'a') goto yy1317;
-+			if (yych <= 'a') goto yy1318;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1317:
-+yy1318:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'Y') {
- 		if (yych <= ')') {
-@@ -18742,7 +18878,7 @@ yy1317:
- 			goto yy3;
- 		}
- 	}
--yy1318:
-+yy1319:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'T') {
- 		if (yych <= ')') {
-@@ -18758,16 +18894,16 @@ yy1318:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 't') goto yy1319;
-+			if (yych <= 't') goto yy1320;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1319:
-+yy1320:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= ')') {
--		if (yych == ' ') goto yy1320;
-+		if (yych == ' ') goto yy1321;
- 		if (yych <= '(') goto yy3;
- 		goto yy164;
- 	} else {
-@@ -18780,88 +18916,143 @@ yy1319:
- 			goto yy3;
- 		}
- 	}
--yy1320:
-+yy1321:
- 	yych = *++YYCURSOR;
--	if (yych == 'O') goto yy1321;
-+	if (yych == 'O') goto yy1322;
- 	if (yych != 'o') goto yy56;
--yy1321:
-+yy1322:
- 	yych = *++YYCURSOR;
--	if (yych == 'F') goto yy1322;
-+	if (yych == 'F') goto yy1323;
- 	if (yych != 'f') goto yy56;
--yy1322:
-+yy1323:
- 	yych = *++YYCURSOR;
- 	if (yych != ' ') goto yy56;
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') goto yy56;
--	if (yych <= '1') goto yy1324;
--	if (yych <= '2') goto yy1325;
--	if (yych <= '9') goto yy1326;
-+	if (yych <= '1') goto yy1325;
-+	if (yych <= '2') goto yy1326;
-+	if (yych <= '9') goto yy1327;
- 	goto yy56;
--yy1324:
--	yyaccept = 27;
--	yych = *(YYMARKER = ++YYCURSOR);
--	if (yych <= '/') goto yy1327;
--	if (yych <= '9') goto yy1326;
--	goto yy1327;
- yy1325:
- 	yyaccept = 27;
- 	yych = *(YYMARKER = ++YYCURSOR);
--	if (yych <= '/') goto yy1327;
--	if (yych >= '5') goto yy1327;
-+	if (yych <= '@') {
-+		if (yych <= 0x1F) {
-+			if (yych == '\t') goto yy1328;
-+			goto yy1284;
-+		} else {
-+			if (yych <= ' ') goto yy1328;
-+			if (yych <= '/') goto yy1284;
-+			if (yych <= '9') goto yy1327;
-+			goto yy1284;
-+		}
-+	} else {
-+		if (yych <= '`') {
-+			if (yych <= 'A') goto yy1330;
-+			if (yych == 'P') goto yy1330;
-+			goto yy1284;
-+		} else {
-+			if (yych <= 'a') goto yy1330;
-+			if (yych == 'p') goto yy1330;
-+			goto yy1284;
-+		}
-+	}
- yy1326:
- 	yyaccept = 27;
--	YYMARKER = ++YYCURSOR;
--	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
--	yych = *YYCURSOR;
-+	yych = *(YYMARKER = ++YYCURSOR);
-+	if (yych <= '@') {
-+		if (yych <= 0x1F) {
-+			if (yych == '\t') goto yy1328;
-+			goto yy1284;
-+		} else {
-+			if (yych <= ' ') goto yy1328;
-+			if (yych <= '/') goto yy1284;
-+			if (yych >= '5') goto yy1284;
-+		}
-+	} else {
-+		if (yych <= '`') {
-+			if (yych <= 'A') goto yy1330;
-+			if (yych == 'P') goto yy1330;
-+			goto yy1284;
-+		} else {
-+			if (yych <= 'a') goto yy1330;
-+			if (yych == 'p') goto yy1330;
-+			goto yy1284;
-+		}
-+	}
- yy1327:
-+	yyaccept = 27;
-+	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'A') {
- 		if (yych <= 0x1F) {
--			if (yych == '\t') goto yy1326;
--			goto yy1284;
-+			if (yych != '\t') goto yy1284;
- 		} else {
--			if (yych <= ' ') goto yy1326;
-+			if (yych <= ' ') goto yy1328;
- 			if (yych <= '@') goto yy1284;
-+			goto yy1330;
- 		}
- 	} else {
- 		if (yych <= '`') {
--			if (yych != 'P') goto yy1284;
-+			if (yych == 'P') goto yy1330;
-+			goto yy1284;
- 		} else {
--			if (yych <= 'a') goto yy1328;
--			if (yych != 'p') goto yy1284;
-+			if (yych <= 'a') goto yy1330;
-+			if (yych == 'p') goto yy1330;
-+			goto yy1284;
- 		}
- 	}
- yy1328:
-+	++YYCURSOR;
-+	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
-+	yych = *YYCURSOR;
-+	if (yych <= 'A') {
-+		if (yych <= 0x1F) {
-+			if (yych == '\t') goto yy1328;
-+			goto yy56;
-+		} else {
-+			if (yych <= ' ') goto yy1328;
-+			if (yych <= '@') goto yy56;
-+		}
-+	} else {
-+		if (yych <= '`') {
-+			if (yych != 'P') goto yy56;
-+		} else {
-+			if (yych <= 'a') goto yy1330;
-+			if (yych != 'p') goto yy56;
-+		}
-+	}
-+yy1330:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'L') {
- 		if (yych != '.') goto yy56;
- 	} else {
--		if (yych <= 'M') goto yy1330;
--		if (yych == 'm') goto yy1330;
-+		if (yych <= 'M') goto yy1332;
-+		if (yych == 'm') goto yy1332;
- 		goto yy56;
- 	}
- 	yych = *++YYCURSOR;
--	if (yych == 'M') goto yy1330;
-+	if (yych == 'M') goto yy1332;
- 	if (yych != 'm') goto yy56;
--yy1330:
-+yy1332:
- 	yych = *++YYCURSOR;
- 	if (yych <= 0x1F) {
--		if (yych <= 0x00) goto yy1292;
--		if (yych == '\t') goto yy1292;
-+		if (yych <= 0x00) goto yy1293;
-+		if (yych == '\t') goto yy1293;
- 		goto yy56;
- 	} else {
--		if (yych <= ' ') goto yy1292;
-+		if (yych <= ' ') goto yy1293;
- 		if (yych != '.') goto yy56;
- 	}
- 	yych = *++YYCURSOR;
- 	if (yych <= '\t') {
--		if (yych <= 0x00) goto yy1292;
-+		if (yych <= 0x00) goto yy1293;
- 		if (yych <= 0x08) goto yy56;
--		goto yy1292;
-+		goto yy1293;
- 	} else {
--		if (yych == ' ') goto yy1292;
-+		if (yych == ' ') goto yy1293;
- 		goto yy56;
- 	}
--yy1332:
-+yy1334:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'R') {
- 		if (yych <= ')') {
-@@ -18877,12 +19068,12 @@ yy1332:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 'r') goto yy1333;
-+			if (yych <= 'r') goto yy1335;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1333:
-+yy1335:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'T') {
- 		if (yych <= ')') {
-@@ -18898,12 +19089,12 @@ yy1333:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 't') goto yy1334;
-+			if (yych <= 't') goto yy1336;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1334:
-+yy1336:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'H') {
- 		if (yych <= ')') {
-@@ -18925,7 +19116,7 @@ yy1334:
- 			goto yy3;
- 		}
- 	}
--yy1335:
-+yy1337:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'S') {
- 		if (yych <= ')') {
-@@ -18934,7 +19125,7 @@ yy1335:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'R') goto yy167;
--			goto yy1338;
-+			goto yy1340;
- 		}
- 	} else {
- 		if (yych <= 'r') {
-@@ -18942,12 +19133,12 @@ yy1335:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 's') goto yy1338;
-+			if (yych <= 's') goto yy1340;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1336:
-+yy1338:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'T') {
- 		if (yych <= ')') {
-@@ -18963,12 +19154,12 @@ yy1336:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 't') goto yy1337;
-+			if (yych <= 't') goto yy1339;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1337:
-+yy1339:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'H') {
- 		if (yych <= ')') {
-@@ -18990,7 +19181,7 @@ yy1337:
- 			goto yy3;
- 		}
- 	}
--yy1338:
-+yy1340:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'T') {
- 		if (yych <= ')') {
-@@ -19006,12 +19197,12 @@ yy1338:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 't') goto yy1339;
-+			if (yych <= 't') goto yy1341;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1339:
-+yy1341:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '(') {
-@@ -19032,19 +19223,19 @@ yy1339:
- 			goto yy3;
- 		}
- 	}
--yy1340:
-+yy1342:
- 	yych = *++YYCURSOR;
--	if (yych == 'D') goto yy1341;
-+	if (yych == 'D') goto yy1343;
- 	if (yych != 'd') goto yy1197;
--yy1341:
-+yy1343:
- 	yych = *++YYCURSOR;
--	if (yych == 'A') goto yy1342;
-+	if (yych == 'A') goto yy1344;
- 	if (yych != 'a') goto yy56;
--yy1342:
-+yy1344:
- 	yych = *++YYCURSOR;
--	if (yych == 'Y') goto yy1343;
-+	if (yych == 'Y') goto yy1345;
- 	if (yych != 'y') goto yy56;
--yy1343:
-+yy1345:
- 	yyaccept = 25;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'R') {
-@@ -19055,14 +19246,14 @@ yy1343:
- 		goto yy1084;
- 	}
- 	yych = *++YYCURSOR;
--	if (yych == 'O') goto yy1345;
-+	if (yych == 'O') goto yy1347;
- 	if (yych != 'o') goto yy56;
--yy1345:
-+yy1347:
- 	yych = *++YYCURSOR;
--	if (yych == 'F') goto yy1305;
--	if (yych == 'f') goto yy1305;
-+	if (yych == 'F') goto yy1306;
-+	if (yych == 'f') goto yy1306;
- 	goto yy56;
--yy1346:
-+yy1348:
- 	yyaccept = 5;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '/') {
-@@ -19097,13 +19288,13 @@ yy1346:
- 				if (yych <= '`') goto yy218;
- 				goto yy167;
- 			} else {
--				if (yych <= 'r') goto yy1347;
-+				if (yych <= 'r') goto yy1349;
- 				if (yych <= 'z') goto yy167;
- 				goto yy218;
- 			}
- 		}
- 	}
--yy1347:
-+yy1349:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'U') {
- 		if (yych <= ')') {
-@@ -19119,12 +19310,12 @@ yy1347:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 'u') goto yy1348;
-+			if (yych <= 'u') goto yy1350;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1348:
-+yy1350:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'A') {
- 		if (yych == ')') goto yy164;
-@@ -19134,27 +19325,27 @@ yy1348:
- 			if (yych <= 'Z') goto yy169;
- 			goto yy3;
- 		} else {
--			if (yych <= 'a') goto yy1349;
-+			if (yych <= 'a') goto yy1351;
- 			if (yych <= 'z') goto yy169;
- 			goto yy3;
- 		}
- 	}
--yy1349:
-+yy1351:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'Q') {
- 		if (yych == ')') goto yy164;
- 		goto yy3;
- 	} else {
--		if (yych <= 'R') goto yy1350;
-+		if (yych <= 'R') goto yy1352;
- 		if (yych != 'r') goto yy3;
- 	}
--yy1350:
-+yy1352:
- 	yych = *++YYCURSOR;
- 	if (yych == 'Y') goto yy229;
- 	if (yych == 'y') goto yy229;
- 	goto yy56;
--yy1351:
-+yy1353:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'A') {
-@@ -19169,7 +19360,7 @@ yy1351:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'B') goto yy1346;
-+			if (yych <= 'B') goto yy1348;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -19178,13 +19369,13 @@ yy1351:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 'b') goto yy1369;
-+				if (yych <= 'b') goto yy1371;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1352:
-+yy1354:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'Q') {
-@@ -19201,14 +19392,14 @@ yy1352:
- 				if (yych <= '/') goto yy172;
- 				goto yy3;
- 			} else {
--				if (yych == 'F') goto yy1336;
-+				if (yych == 'F') goto yy1338;
- 				goto yy166;
- 			}
- 		}
- 	} else {
- 		if (yych <= '`') {
- 			if (yych <= 'Z') {
--				if (yych <= 'R') goto yy1335;
-+				if (yych <= 'R') goto yy1337;
- 				goto yy166;
- 			} else {
- 				if (yych == '_') goto yy172;
-@@ -19216,16 +19407,16 @@ yy1352:
- 			}
- 		} else {
- 			if (yych <= 'q') {
--				if (yych == 'f') goto yy1365;
-+				if (yych == 'f') goto yy1367;
- 				goto yy171;
- 			} else {
--				if (yych <= 'r') goto yy1364;
-+				if (yych <= 'r') goto yy1366;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1353:
-+yy1355:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'T') {
-@@ -19240,7 +19431,7 @@ yy1353:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'U') goto yy1332;
-+			if (yych <= 'U') goto yy1334;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -19249,13 +19440,13 @@ yy1353:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 'u') goto yy1361;
-+				if (yych <= 'u') goto yy1363;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1354:
-+yy1356:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'N') {
-@@ -19272,14 +19463,14 @@ yy1354:
- 				if (yych <= '/') goto yy172;
- 				goto yy3;
- 			} else {
--				if (yych == 'I') goto yy1315;
-+				if (yych == 'I') goto yy1316;
- 				goto yy166;
- 			}
- 		}
- 	} else {
- 		if (yych <= '`') {
- 			if (yych <= 'Z') {
--				if (yych <= 'O') goto yy1314;
-+				if (yych <= 'O') goto yy1315;
- 				goto yy166;
- 			} else {
- 				if (yych == '_') goto yy172;
-@@ -19287,16 +19478,16 @@ yy1354:
- 			}
- 		} else {
- 			if (yych <= 'n') {
--				if (yych == 'i') goto yy1356;
-+				if (yych == 'i') goto yy1358;
- 				goto yy171;
- 			} else {
--				if (yych <= 'o') goto yy1355;
-+				if (yych <= 'o') goto yy1357;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1355:
-+yy1357:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'M') {
-@@ -19311,7 +19502,7 @@ yy1355:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'N') goto yy1318;
-+			if (yych <= 'N') goto yy1319;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -19320,13 +19511,13 @@ yy1355:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 'n') goto yy1359;
-+				if (yych <= 'n') goto yy1361;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1356:
-+yy1358:
- 	yyaccept = 4;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'C') {
-@@ -19341,7 +19532,7 @@ yy1356:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'D') goto yy1316;
-+			if (yych <= 'D') goto yy1317;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy191;
- 			goto yy172;
-@@ -19350,13 +19541,13 @@ yy1356:
- 				if (yych <= '`') goto yy191;
- 				goto yy175;
- 			} else {
--				if (yych <= 'd') goto yy1357;
-+				if (yych <= 'd') goto yy1359;
- 				if (yych <= 'z') goto yy175;
- 				goto yy191;
- 			}
- 		}
- 	}
--yy1357:
-+yy1359:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '@') {
-@@ -19370,18 +19561,18 @@ yy1357:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'A') goto yy1317;
-+			if (yych <= 'A') goto yy1318;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
- 		} else {
- 			if (yych <= '`') goto yy3;
--			if (yych <= 'a') goto yy1358;
-+			if (yych <= 'a') goto yy1360;
- 			if (yych <= 'z') goto yy176;
- 			goto yy3;
- 		}
- 	}
--yy1358:
-+yy1360:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'X') {
-@@ -19411,7 +19602,7 @@ yy1358:
- 			}
- 		}
- 	}
--yy1359:
-+yy1361:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'S') {
-@@ -19426,7 +19617,7 @@ yy1359:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'T') goto yy1319;
-+			if (yych <= 'T') goto yy1320;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -19435,18 +19626,18 @@ yy1359:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 't') goto yy1360;
-+				if (yych <= 't') goto yy1362;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1360:
-+yy1362:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '.') {
- 		if (yych <= '(') {
--			if (yych == ' ') goto yy1320;
-+			if (yych == ' ') goto yy1321;
- 			goto yy3;
- 		} else {
- 			if (yych <= ')') goto yy164;
-@@ -19466,7 +19657,7 @@ yy1360:
- 			goto yy3;
- 		}
- 	}
--yy1361:
-+yy1363:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'Q') {
-@@ -19481,7 +19672,7 @@ yy1361:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'R') goto yy1333;
-+			if (yych <= 'R') goto yy1335;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -19490,13 +19681,13 @@ yy1361:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 'r') goto yy1362;
-+				if (yych <= 'r') goto yy1364;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1362:
-+yy1364:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'S') {
-@@ -19511,7 +19702,7 @@ yy1362:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'T') goto yy1334;
-+			if (yych <= 'T') goto yy1336;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -19520,13 +19711,13 @@ yy1362:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 't') goto yy1363;
-+				if (yych <= 't') goto yy1365;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1363:
-+yy1365:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'G') {
-@@ -19556,7 +19747,7 @@ yy1363:
- 			}
- 		}
- 	}
--yy1364:
-+yy1366:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'R') {
-@@ -19571,7 +19762,7 @@ yy1364:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'S') goto yy1338;
-+			if (yych <= 'S') goto yy1340;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -19580,13 +19771,13 @@ yy1364:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 's') goto yy1367;
-+				if (yych <= 's') goto yy1369;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1365:
-+yy1367:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'S') {
-@@ -19601,7 +19792,7 @@ yy1365:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'T') goto yy1337;
-+			if (yych <= 'T') goto yy1339;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -19610,13 +19801,13 @@ yy1365:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 't') goto yy1366;
-+				if (yych <= 't') goto yy1368;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1366:
-+yy1368:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'G') {
-@@ -19646,7 +19837,7 @@ yy1366:
- 			}
- 		}
- 	}
--yy1367:
-+yy1369:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'S') {
-@@ -19661,7 +19852,7 @@ yy1367:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'T') goto yy1339;
-+			if (yych <= 'T') goto yy1341;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -19670,20 +19861,20 @@ yy1367:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 't') goto yy1368;
-+				if (yych <= 't') goto yy1370;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1368:
-+yy1370:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '-') {
- 		if (yych <= ' ') {
- 			if (yych == '\t') goto yy1196;
- 			if (yych <= 0x1F) goto yy3;
--			goto yy1340;
-+			goto yy1342;
- 		} else {
- 			if (yych == ')') goto yy164;
- 			if (yych <= ',') goto yy3;
-@@ -19705,7 +19896,7 @@ yy1368:
- 			}
- 		}
- 	}
--yy1369:
-+yy1371:
- 	yyaccept = 5;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '9') {
-@@ -19733,7 +19924,7 @@ yy1369:
- 				if (yych <= '@') goto yy218;
- 				goto yy167;
- 			} else {
--				if (yych <= 'R') goto yy1347;
-+				if (yych <= 'R') goto yy1349;
- 				if (yych <= 'Z') goto yy167;
- 				goto yy218;
- 			}
-@@ -19743,13 +19934,13 @@ yy1369:
- 				if (yych <= '`') goto yy218;
- 				goto yy175;
- 			} else {
--				if (yych <= 'r') goto yy1370;
-+				if (yych <= 'r') goto yy1372;
- 				if (yych <= 'z') goto yy175;
- 				goto yy218;
- 			}
- 		}
- 	}
--yy1370:
-+yy1372:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'T') {
-@@ -19764,7 +19955,7 @@ yy1370:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'U') goto yy1348;
-+			if (yych <= 'U') goto yy1350;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -19773,13 +19964,13 @@ yy1370:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 'u') goto yy1371;
-+				if (yych <= 'u') goto yy1373;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1371:
-+yy1373:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '@') {
-@@ -19793,18 +19984,18 @@ yy1371:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'A') goto yy1349;
-+			if (yych <= 'A') goto yy1351;
- 			if (yych <= 'Z') goto yy169;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
- 		} else {
- 			if (yych <= '`') goto yy3;
--			if (yych <= 'a') goto yy1372;
-+			if (yych <= 'a') goto yy1374;
- 			if (yych <= 'z') goto yy177;
- 			goto yy3;
- 		}
- 	}
--yy1372:
-+yy1374:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'Q') {
-@@ -19818,33 +20009,34 @@ yy1372:
- 		}
- 	} else {
- 		if (yych <= '`') {
--			if (yych <= 'R') goto yy1350;
-+			if (yych <= 'R') goto yy1352;
- 			if (yych == '_') goto yy172;
- 			goto yy3;
- 		} else {
--			if (yych == 'r') goto yy1373;
-+			if (yych == 'r') goto yy1375;
- 			if (yych <= 'z') goto yy178;
- 			goto yy3;
- 		}
- 	}
--yy1373:
-+yy1375:
- 	yych = *++YYCURSOR;
- 	if (yych == 'Y') goto yy229;
- 	if (yych == 'y') goto yy341;
- 	goto yy179;
--yy1374:
-+yy1376:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') goto yy56;
- 	if (yych >= ':') goto yy56;
--yy1375:
-+yy1377:
- 	yyaccept = 28;
- 	YYMARKER = ++YYCURSOR;
- 	if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
- 	yych = *YYCURSOR;
--	if (yych == '.') goto yy1378;
--	if (yych <= '/') goto yy1377;
--	if (yych <= '9') goto yy1375;
--yy1377:
-+	if (yych == '.') goto yy1380;
-+	if (yych <= '/') goto yy1379;
-+	if (yych <= '9') goto yy1377;
-+yy1379:
-+#line 1025 "ext/date/lib/parse_date.re"
- 	{
- 		timelib_ull i;
- 
-@@ -19869,7 +20061,8 @@ yy1377:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_RELATIVE;
- 	}
--yy1378:
-+#line 20065 "ext/date/lib/parse_date.c"
-+yy1380:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') goto yy56;
- 	if (yych >= ':') goto yy56;
-@@ -19889,6 +20082,7 @@ yy1378:
- 	if (yych <= '/') goto yy56;
- 	if (yych >= ':') goto yy56;
- 	++YYCURSOR;
-+#line 1051 "ext/date/lib/parse_date.re"
- 	{
- 		timelib_ull i, ms;
- 
-@@ -19915,7 +20109,8 @@ yy1378:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_RELATIVE;
- 	}
--yy1386:
-+#line 20113 "ext/date/lib/parse_date.c"
-+yy1388:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'N') {
- 		if (yych <= ')') {
-@@ -19924,7 +20119,7 @@ yy1386:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'M') goto yy166;
--			goto yy1427;
-+			goto yy1429;
- 		}
- 	} else {
- 		if (yych <= 'm') {
-@@ -19932,58 +20127,58 @@ yy1386:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 'n') goto yy1427;
-+			if (yych <= 'n') goto yy1429;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1387:
-+yy1389:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'U') {
- 		if (yych <= '@') {
- 			if (yych == ')') goto yy164;
- 			goto yy3;
- 		} else {
--			if (yych == 'I') goto yy1419;
-+			if (yych == 'I') goto yy1421;
- 			if (yych <= 'T') goto yy166;
--			goto yy1420;
-+			goto yy1422;
- 		}
- 	} else {
- 		if (yych <= 'i') {
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '`') goto yy3;
- 			if (yych <= 'h') goto yy166;
--			goto yy1419;
-+			goto yy1421;
- 		} else {
--			if (yych == 'u') goto yy1420;
-+			if (yych == 'u') goto yy1422;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1388:
-+yy1390:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'M') {
- 		if (yych <= '@') {
- 			if (yych == ')') goto yy164;
- 			goto yy3;
- 		} else {
--			if (yych == 'D') goto yy1408;
-+			if (yych == 'D') goto yy1410;
- 			if (yych <= 'L') goto yy166;
--			goto yy1409;
-+			goto yy1411;
- 		}
- 	} else {
- 		if (yych <= 'd') {
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '`') goto yy3;
- 			if (yych <= 'c') goto yy166;
--			goto yy1408;
-+			goto yy1410;
- 		} else {
--			if (yych == 'm') goto yy1409;
-+			if (yych == 'm') goto yy1411;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1389:
-+yy1391:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'E') {
- 		if (yych <= ')') {
-@@ -19992,7 +20187,7 @@ yy1389:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'D') goto yy166;
--			goto yy1404;
-+			goto yy1406;
- 		}
- 	} else {
- 		if (yych <= 'd') {
-@@ -20000,12 +20195,12 @@ yy1389:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 'e') goto yy1404;
-+			if (yych <= 'e') goto yy1406;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1390:
-+yy1392:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'E') {
- 		if (yych <= ')') {
-@@ -20014,7 +20209,7 @@ yy1390:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'D') goto yy166;
--			goto yy1400;
-+			goto yy1402;
- 		}
- 	} else {
- 		if (yych <= 'd') {
-@@ -20022,68 +20217,68 @@ yy1390:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 'e') goto yy1400;
-+			if (yych <= 'e') goto yy1402;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1391:
-+yy1393:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') {
- 		if (yych == '.') goto yy1029;
- 		goto yy56;
- 	} else {
--		if (yych <= '9') goto yy1394;
-+		if (yych <= '9') goto yy1396;
- 		if (yych <= ':') goto yy1029;
- 		goto yy56;
- 	}
--yy1392:
-+yy1394:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') {
- 		if (yych == '.') goto yy1029;
- 		goto yy56;
- 	} else {
--		if (yych <= '4') goto yy1394;
-+		if (yych <= '4') goto yy1396;
- 		if (yych == ':') goto yy1029;
- 		goto yy56;
- 	}
--yy1393:
-+yy1395:
- 	yych = *++YYCURSOR;
- 	if (yych == '.') goto yy1029;
- 	if (yych == ':') goto yy1029;
- 	goto yy56;
--yy1394:
-+yy1396:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') {
- 		if (yych == '.') goto yy1029;
- 		goto yy56;
- 	} else {
--		if (yych <= '5') goto yy1395;
-+		if (yych <= '5') goto yy1397;
- 		if (yych == ':') goto yy1029;
- 		goto yy56;
- 	}
--yy1395:
-+yy1397:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') goto yy56;
- 	if (yych >= ':') goto yy56;
- 	yyaccept = 23;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '/') goto yy1032;
--	if (yych <= '5') goto yy1397;
--	if (yych <= '6') goto yy1398;
-+	if (yych <= '5') goto yy1399;
-+	if (yych <= '6') goto yy1400;
- 	goto yy1032;
--yy1397:
-+yy1399:
- 	yych = *++YYCURSOR;
- 	if (yych <= '/') goto yy56;
--	if (yych <= '9') goto yy1399;
-+	if (yych <= '9') goto yy1401;
- 	goto yy56;
--yy1398:
-+yy1400:
- 	yych = *++YYCURSOR;
- 	if (yych != '0') goto yy56;
--yy1399:
-+yy1401:
- 	yych = *++YYCURSOR;
- 	goto yy1040;
--yy1400:
-+yy1402:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'L') {
- 		if (yych <= ')') {
-@@ -20099,12 +20294,12 @@ yy1400:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 'l') goto yy1401;
-+			if (yych <= 'l') goto yy1403;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1401:
-+yy1403:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'F') {
- 		if (yych <= ')') {
-@@ -20120,12 +20315,12 @@ yy1401:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 'f') goto yy1402;
-+			if (yych <= 'f') goto yy1404;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1402:
-+yy1404:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'T') {
- 		if (yych <= ')') {
-@@ -20141,12 +20336,12 @@ yy1402:
- 			if (yych <= '`') goto yy3;
- 			goto yy169;
- 		} else {
--			if (yych <= 't') goto yy1403;
-+			if (yych <= 't') goto yy1405;
- 			if (yych <= 'z') goto yy169;
- 			goto yy3;
- 		}
- 	}
--yy1403:
-+yy1405:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'G') {
-@@ -20157,7 +20352,7 @@ yy1403:
- 		if (yych == 'h') goto yy1195;
- 		goto yy3;
- 	}
--yy1404:
-+yy1406:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'S') {
- 		if (yych <= ')') {
-@@ -20173,12 +20368,12 @@ yy1404:
- 			if (yych <= '`') goto yy191;
- 			goto yy167;
- 		} else {
--			if (yych <= 's') goto yy1405;
-+			if (yych <= 's') goto yy1407;
- 			if (yych <= 'z') goto yy167;
- 			goto yy191;
- 		}
- 	}
--yy1405:
-+yy1407:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'D') {
- 		if (yych <= ')') {
-@@ -20194,12 +20389,12 @@ yy1405:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 'd') goto yy1406;
-+			if (yych <= 'd') goto yy1408;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1406:
-+yy1408:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'A') {
- 		if (yych == ')') goto yy164;
-@@ -20209,12 +20404,12 @@ yy1406:
- 			if (yych <= 'Z') goto yy169;
- 			goto yy3;
- 		} else {
--			if (yych <= 'a') goto yy1407;
-+			if (yych <= 'a') goto yy1409;
- 			if (yych <= 'z') goto yy169;
- 			goto yy3;
- 		}
- 	}
--yy1407:
-+yy1409:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'X') {
- 		if (yych == ')') goto yy164;
-@@ -20224,23 +20419,23 @@ yy1407:
- 		if (yych == 'y') goto yy197;
- 		goto yy3;
- 	}
--yy1408:
-+yy1410:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'A') {
- 		if (yych == ')') goto yy164;
- 		if (yych <= '@') goto yy3;
--		goto yy1416;
-+		goto yy1418;
- 	} else {
- 		if (yych <= '`') {
- 			if (yych <= 'Z') goto yy167;
- 			goto yy3;
- 		} else {
--			if (yych <= 'a') goto yy1416;
-+			if (yych <= 'a') goto yy1418;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1409:
-+yy1411:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'O') {
- 		if (yych <= ')') {
-@@ -20256,12 +20451,12 @@ yy1409:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 'o') goto yy1410;
-+			if (yych <= 'o') goto yy1412;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1410:
-+yy1412:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'R') {
- 		if (yych <= ')') {
-@@ -20277,12 +20472,12 @@ yy1410:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 'r') goto yy1411;
-+			if (yych <= 'r') goto yy1413;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1411:
-+yy1413:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'R') {
- 		if (yych <= ')') {
-@@ -20298,28 +20493,29 @@ yy1411:
- 			if (yych <= '`') goto yy3;
- 			goto yy169;
- 		} else {
--			if (yych <= 'r') goto yy1412;
-+			if (yych <= 'r') goto yy1414;
- 			if (yych <= 'z') goto yy169;
- 			goto yy3;
- 		}
- 	}
--yy1412:
-+yy1414:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'N') {
- 		if (yych == ')') goto yy164;
- 		goto yy3;
- 	} else {
--		if (yych <= 'O') goto yy1413;
-+		if (yych <= 'O') goto yy1415;
- 		if (yych != 'o') goto yy3;
- 	}
--yy1413:
-+yy1415:
- 	yych = *++YYCURSOR;
--	if (yych == 'W') goto yy1414;
-+	if (yych == 'W') goto yy1416;
- 	if (yych != 'w') goto yy56;
--yy1414:
-+yy1416:
- 	++YYCURSOR;
--yy1415:
-+yy1417:
-+#line 1013 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("tomorrow");
- 		TIMELIB_INIT;
-@@ -20330,7 +20526,8 @@ yy1415:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_RELATIVE;
- 	}
--yy1416:
-+#line 20530 "ext/date/lib/parse_date.c"
-+yy1418:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'Y') {
- 		if (yych <= ')') {
-@@ -20346,21 +20543,22 @@ yy1416:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 'y') goto yy1417;
-+			if (yych <= 'y') goto yy1419;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1417:
-+yy1419:
- 	++YYCURSOR;
- 	if ((yych = *YYCURSOR) <= '@') {
- 		if (yych == ')') goto yy164;
- 	} else {
- 		if (yych <= 'Z') goto yy169;
--		if (yych <= '`') goto yy1418;
-+		if (yych <= '`') goto yy1420;
- 		if (yych <= 'z') goto yy169;
- 	}
--yy1418:
-+yy1420:
-+#line 1003 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("midnight | today");
- 		TIMELIB_INIT;
-@@ -20369,7 +20567,8 @@ yy1418:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_RELATIVE;
- 	}
--yy1419:
-+#line 20571 "ext/date/lib/parse_date.c"
-+yy1421:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'S') {
- 		if (yych <= '@') {
-@@ -20377,8 +20576,8 @@ yy1419:
- 			goto yy3;
- 		} else {
- 			if (yych <= 'Q') goto yy167;
--			if (yych <= 'R') goto yy1425;
--			goto yy1426;
-+			if (yych <= 'R') goto yy1427;
-+			goto yy1428;
- 		}
- 	} else {
- 		if (yych <= 'q') {
-@@ -20386,13 +20585,13 @@ yy1419:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 'r') goto yy1425;
--			if (yych <= 's') goto yy1426;
-+			if (yych <= 'r') goto yy1427;
-+			if (yych <= 's') goto yy1428;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1420:
-+yy1422:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'R') {
- 		if (yych <= ')') {
-@@ -20408,12 +20607,12 @@ yy1420:
- 			if (yych <= '`') goto yy191;
- 			goto yy167;
- 		} else {
--			if (yych <= 'r') goto yy1421;
-+			if (yych <= 'r') goto yy1423;
- 			if (yych <= 'z') goto yy167;
- 			goto yy191;
- 		}
- 	}
--yy1421:
-+yy1423:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'S') {
- 		if (yych <= ')') {
-@@ -20429,12 +20628,12 @@ yy1421:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 's') goto yy1422;
-+			if (yych <= 's') goto yy1424;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1422:
-+yy1424:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'D') {
- 		if (yych <= ')') {
-@@ -20450,27 +20649,27 @@ yy1422:
- 			if (yych <= '`') goto yy3;
- 			goto yy169;
- 		} else {
--			if (yych <= 'd') goto yy1423;
-+			if (yych <= 'd') goto yy1425;
- 			if (yych <= 'z') goto yy169;
- 			goto yy3;
- 		}
- 	}
--yy1423:
-+yy1425:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '@') {
- 		if (yych == ')') goto yy164;
- 		goto yy3;
- 	} else {
--		if (yych <= 'A') goto yy1424;
-+		if (yych <= 'A') goto yy1426;
- 		if (yych != 'a') goto yy3;
- 	}
--yy1424:
-+yy1426:
- 	yych = *++YYCURSOR;
- 	if (yych == 'Y') goto yy197;
- 	if (yych == 'y') goto yy197;
- 	goto yy56;
--yy1425:
-+yy1427:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'D') {
- 		if (yych <= ')') {
-@@ -20492,7 +20691,7 @@ yy1425:
- 			goto yy3;
- 		}
- 	}
--yy1426:
-+yy1428:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '(') {
-@@ -20514,7 +20713,7 @@ yy1426:
- 			goto yy3;
- 		}
- 	}
--yy1427:
-+yy1429:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'T') {
- 		if (yych <= ')') {
-@@ -20530,12 +20729,12 @@ yy1427:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 't') goto yy1428;
-+			if (yych <= 't') goto yy1430;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1428:
-+yy1430:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'H') {
- 		if (yych <= ')') {
-@@ -20557,7 +20756,7 @@ yy1428:
- 			goto yy3;
- 		}
- 	}
--yy1429:
-+yy1431:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'M') {
-@@ -20572,7 +20771,7 @@ yy1429:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'N') goto yy1427;
-+			if (yych <= 'N') goto yy1429;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -20581,13 +20780,13 @@ yy1429:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 'n') goto yy1459;
-+				if (yych <= 'n') goto yy1461;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1430:
-+yy1432:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'T') {
-@@ -20604,14 +20803,14 @@ yy1430:
- 				if (yych <= '/') goto yy172;
- 				goto yy3;
- 			} else {
--				if (yych == 'I') goto yy1419;
-+				if (yych == 'I') goto yy1421;
- 				goto yy166;
- 			}
- 		}
- 	} else {
- 		if (yych <= '`') {
- 			if (yych <= 'Z') {
--				if (yych <= 'U') goto yy1420;
-+				if (yych <= 'U') goto yy1422;
- 				goto yy166;
- 			} else {
- 				if (yych == '_') goto yy172;
-@@ -20619,16 +20818,16 @@ yy1430:
- 			}
- 		} else {
- 			if (yych <= 't') {
--				if (yych == 'i') goto yy1451;
-+				if (yych == 'i') goto yy1453;
- 				goto yy171;
- 			} else {
--				if (yych <= 'u') goto yy1452;
-+				if (yych <= 'u') goto yy1454;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1431:
-+yy1433:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'L') {
-@@ -20645,14 +20844,14 @@ yy1431:
- 				if (yych <= '/') goto yy172;
- 				goto yy3;
- 			} else {
--				if (yych == 'D') goto yy1408;
-+				if (yych == 'D') goto yy1410;
- 				goto yy166;
- 			}
- 		}
- 	} else {
- 		if (yych <= '`') {
- 			if (yych <= 'Z') {
--				if (yych <= 'M') goto yy1409;
-+				if (yych <= 'M') goto yy1411;
- 				goto yy166;
- 			} else {
- 				if (yych == '_') goto yy172;
-@@ -20660,16 +20859,16 @@ yy1431:
- 			}
- 		} else {
- 			if (yych <= 'l') {
--				if (yych == 'd') goto yy1442;
-+				if (yych == 'd') goto yy1444;
- 				goto yy171;
- 			} else {
--				if (yych <= 'm') goto yy1443;
-+				if (yych <= 'm') goto yy1445;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1432:
-+yy1434:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'D') {
-@@ -20684,7 +20883,7 @@ yy1432:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'E') goto yy1404;
-+			if (yych <= 'E') goto yy1406;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -20693,13 +20892,13 @@ yy1432:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 'e') goto yy1438;
-+				if (yych <= 'e') goto yy1440;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1433:
-+yy1435:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'D') {
-@@ -20714,7 +20913,7 @@ yy1433:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'E') goto yy1400;
-+			if (yych <= 'E') goto yy1402;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -20723,13 +20922,13 @@ yy1433:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 'e') goto yy1434;
-+				if (yych <= 'e') goto yy1436;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1434:
-+yy1436:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'K') {
-@@ -20744,7 +20943,7 @@ yy1434:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'L') goto yy1401;
-+			if (yych <= 'L') goto yy1403;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -20753,13 +20952,13 @@ yy1434:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 'l') goto yy1435;
-+				if (yych <= 'l') goto yy1437;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1435:
-+yy1437:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'E') {
-@@ -20774,7 +20973,7 @@ yy1435:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'F') goto yy1402;
-+			if (yych <= 'F') goto yy1404;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -20783,13 +20982,13 @@ yy1435:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 'f') goto yy1436;
-+				if (yych <= 'f') goto yy1438;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1436:
-+yy1438:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'S') {
-@@ -20804,7 +21003,7 @@ yy1436:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'T') goto yy1403;
-+			if (yych <= 'T') goto yy1405;
- 			if (yych <= 'Z') goto yy169;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -20813,13 +21012,13 @@ yy1436:
- 				if (yych <= '`') goto yy3;
- 				goto yy177;
- 			} else {
--				if (yych <= 't') goto yy1437;
-+				if (yych <= 't') goto yy1439;
- 				if (yych <= 'z') goto yy177;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1437:
-+yy1439:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'G') {
-@@ -20842,7 +21041,7 @@ yy1437:
- 			goto yy3;
- 		}
- 	}
--yy1438:
-+yy1440:
- 	yyaccept = 4;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'R') {
-@@ -20857,7 +21056,7 @@ yy1438:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'S') goto yy1405;
-+			if (yych <= 'S') goto yy1407;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy191;
- 			goto yy172;
-@@ -20866,13 +21065,13 @@ yy1438:
- 				if (yych <= '`') goto yy191;
- 				goto yy175;
- 			} else {
--				if (yych <= 's') goto yy1439;
-+				if (yych <= 's') goto yy1441;
- 				if (yych <= 'z') goto yy175;
- 				goto yy191;
- 			}
- 		}
- 	}
--yy1439:
-+yy1441:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'C') {
-@@ -20887,7 +21086,7 @@ yy1439:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'D') goto yy1406;
-+			if (yych <= 'D') goto yy1408;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -20896,13 +21095,13 @@ yy1439:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 'd') goto yy1440;
-+				if (yych <= 'd') goto yy1442;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1440:
-+yy1442:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '@') {
-@@ -20916,18 +21115,18 @@ yy1440:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'A') goto yy1407;
-+			if (yych <= 'A') goto yy1409;
- 			if (yych <= 'Z') goto yy169;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
- 		} else {
- 			if (yych <= '`') goto yy3;
--			if (yych <= 'a') goto yy1441;
-+			if (yych <= 'a') goto yy1443;
- 			if (yych <= 'z') goto yy177;
- 			goto yy3;
- 		}
- 	}
--yy1441:
-+yy1443:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'X') {
-@@ -20950,7 +21149,7 @@ yy1441:
- 			goto yy3;
- 		}
- 	}
--yy1442:
-+yy1444:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '@') {
-@@ -20964,18 +21163,18 @@ yy1442:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'A') goto yy1416;
-+			if (yych <= 'A') goto yy1418;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
- 		} else {
- 			if (yych <= '`') goto yy3;
--			if (yych <= 'a') goto yy1449;
-+			if (yych <= 'a') goto yy1451;
- 			if (yych <= 'z') goto yy175;
- 			goto yy3;
- 		}
- 	}
--yy1443:
-+yy1445:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'N') {
-@@ -20990,7 +21189,7 @@ yy1443:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'O') goto yy1410;
-+			if (yych <= 'O') goto yy1412;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -20999,13 +21198,13 @@ yy1443:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 'o') goto yy1444;
-+				if (yych <= 'o') goto yy1446;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1444:
-+yy1446:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'Q') {
-@@ -21020,7 +21219,7 @@ yy1444:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'R') goto yy1411;
-+			if (yych <= 'R') goto yy1413;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21029,13 +21228,13 @@ yy1444:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 'r') goto yy1445;
-+				if (yych <= 'r') goto yy1447;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1445:
-+yy1447:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'Q') {
-@@ -21050,7 +21249,7 @@ yy1445:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'R') goto yy1412;
-+			if (yych <= 'R') goto yy1414;
- 			if (yych <= 'Z') goto yy169;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21059,13 +21258,13 @@ yy1445:
- 				if (yych <= '`') goto yy3;
- 				goto yy177;
- 			} else {
--				if (yych <= 'r') goto yy1446;
-+				if (yych <= 'r') goto yy1448;
- 				if (yych <= 'z') goto yy177;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1446:
-+yy1448:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'N') {
-@@ -21079,18 +21278,18 @@ yy1446:
- 		}
- 	} else {
- 		if (yych <= '`') {
--			if (yych <= 'O') goto yy1413;
-+			if (yych <= 'O') goto yy1415;
- 			if (yych == '_') goto yy172;
- 			goto yy3;
- 		} else {
--			if (yych == 'o') goto yy1447;
-+			if (yych == 'o') goto yy1449;
- 			if (yych <= 'z') goto yy178;
- 			goto yy3;
- 		}
- 	}
--yy1447:
-+yy1449:
- 	yych = *++YYCURSOR;
--	if (yych == 'W') goto yy1414;
-+	if (yych == 'W') goto yy1416;
- 	if (yych != 'w') goto yy179;
- 	yyaccept = 29;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -21099,13 +21298,13 @@ yy1447:
- 	}
- 	if (yych <= '.') {
- 		if (yych == '-') goto yy172;
--		goto yy1415;
-+		goto yy1417;
- 	} else {
- 		if (yych <= '/') goto yy172;
- 		if (yych == '_') goto yy172;
--		goto yy1415;
-+		goto yy1417;
- 	}
--yy1449:
-+yy1451:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'X') {
-@@ -21120,7 +21319,7 @@ yy1449:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'Y') goto yy1417;
-+			if (yych <= 'Y') goto yy1419;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21129,36 +21328,36 @@ yy1449:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 'y') goto yy1450;
-+				if (yych <= 'y') goto yy1452;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1450:
-+yy1452:
- 	yyaccept = 30;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '/') {
- 		if (yych <= ',') {
- 			if (yych == ')') goto yy164;
--			goto yy1418;
-+			goto yy1420;
- 		} else {
--			if (yych == '.') goto yy1418;
-+			if (yych == '.') goto yy1420;
- 			goto yy172;
- 		}
- 	} else {
- 		if (yych <= '^') {
--			if (yych <= '@') goto yy1418;
-+			if (yych <= '@') goto yy1420;
- 			if (yych <= 'Z') goto yy169;
--			goto yy1418;
-+			goto yy1420;
- 		} else {
- 			if (yych <= '_') goto yy172;
--			if (yych <= '`') goto yy1418;
-+			if (yych <= '`') goto yy1420;
- 			if (yych <= 'z') goto yy177;
--			goto yy1418;
-+			goto yy1420;
- 		}
- 	}
--yy1451:
-+yy1453:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'R') {
-@@ -21173,13 +21372,13 @@ yy1451:
- 			} else {
- 				if (yych <= '@') goto yy3;
- 				if (yych <= 'Q') goto yy167;
--				goto yy1425;
-+				goto yy1427;
- 			}
- 		}
- 	} else {
- 		if (yych <= '`') {
- 			if (yych <= 'Z') {
--				if (yych <= 'S') goto yy1426;
-+				if (yych <= 'S') goto yy1428;
- 				goto yy167;
- 			} else {
- 				if (yych == '_') goto yy172;
-@@ -21188,15 +21387,15 @@ yy1451:
- 		} else {
- 			if (yych <= 'r') {
- 				if (yych <= 'q') goto yy175;
--				goto yy1457;
-+				goto yy1459;
- 			} else {
--				if (yych <= 's') goto yy1458;
-+				if (yych <= 's') goto yy1460;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1452:
-+yy1454:
- 	yyaccept = 4;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'Q') {
-@@ -21211,7 +21410,7 @@ yy1452:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'R') goto yy1421;
-+			if (yych <= 'R') goto yy1423;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy191;
- 			goto yy172;
-@@ -21220,13 +21419,13 @@ yy1452:
- 				if (yych <= '`') goto yy191;
- 				goto yy175;
- 			} else {
--				if (yych <= 'r') goto yy1453;
-+				if (yych <= 'r') goto yy1455;
- 				if (yych <= 'z') goto yy175;
- 				goto yy191;
- 			}
- 		}
- 	}
--yy1453:
-+yy1455:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'R') {
-@@ -21241,7 +21440,7 @@ yy1453:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'S') goto yy1422;
-+			if (yych <= 'S') goto yy1424;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21250,13 +21449,13 @@ yy1453:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 's') goto yy1454;
-+				if (yych <= 's') goto yy1456;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1454:
-+yy1456:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'C') {
-@@ -21271,7 +21470,7 @@ yy1454:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'D') goto yy1423;
-+			if (yych <= 'D') goto yy1425;
- 			if (yych <= 'Z') goto yy169;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21280,13 +21479,13 @@ yy1454:
- 				if (yych <= '`') goto yy3;
- 				goto yy177;
- 			} else {
--				if (yych <= 'd') goto yy1455;
-+				if (yych <= 'd') goto yy1457;
- 				if (yych <= 'z') goto yy177;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1455:
-+yy1457:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '@') {
-@@ -21300,22 +21499,22 @@ yy1455:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'A') goto yy1424;
-+			if (yych <= 'A') goto yy1426;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
- 		} else {
- 			if (yych <= '`') goto yy3;
--			if (yych <= 'a') goto yy1456;
-+			if (yych <= 'a') goto yy1458;
- 			if (yych <= 'z') goto yy178;
- 			goto yy3;
- 		}
- 	}
--yy1456:
-+yy1458:
- 	yych = *++YYCURSOR;
- 	if (yych == 'Y') goto yy197;
- 	if (yych == 'y') goto yy210;
- 	goto yy179;
--yy1457:
-+yy1459:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'C') {
-@@ -21345,7 +21544,7 @@ yy1457:
- 			}
- 		}
- 	}
--yy1458:
-+yy1460:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '-') {
-@@ -21374,7 +21573,7 @@ yy1458:
- 			}
- 		}
- 	}
--yy1459:
-+yy1461:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'S') {
-@@ -21389,7 +21588,7 @@ yy1459:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'T') goto yy1428;
-+			if (yych <= 'T') goto yy1430;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21398,13 +21597,13 @@ yy1459:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 't') goto yy1460;
-+				if (yych <= 't') goto yy1462;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1460:
-+yy1462:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'G') {
-@@ -21434,30 +21633,30 @@ yy1460:
- 			}
- 		}
- 	}
--yy1461:
-+yy1463:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'Y') {
- 		if (yych <= '@') {
- 			if (yych == ')') goto yy164;
- 			goto yy3;
- 		} else {
--			if (yych == 'R') goto yy1473;
-+			if (yych == 'R') goto yy1475;
- 			if (yych <= 'X') goto yy166;
--			goto yy1474;
-+			goto yy1476;
- 		}
- 	} else {
- 		if (yych <= 'r') {
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '`') goto yy3;
- 			if (yych <= 'q') goto yy166;
--			goto yy1473;
-+			goto yy1475;
- 		} else {
--			if (yych == 'y') goto yy1474;
-+			if (yych == 'y') goto yy1476;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1462:
-+yy1464:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'D') {
- 		if (yych <= ')') {
-@@ -21466,7 +21665,7 @@ yy1462:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'C') goto yy166;
--			goto yy1467;
-+			goto yy1469;
- 		}
- 	} else {
- 		if (yych <= 'c') {
-@@ -21474,12 +21673,12 @@ yy1462:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 'd') goto yy1467;
-+			if (yych <= 'd') goto yy1469;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1463:
-+yy1465:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'N') {
- 		if (yych <= ')') {
-@@ -21495,12 +21694,12 @@ yy1463:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 'n') goto yy1464;
-+			if (yych <= 'n') goto yy1466;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1464:
-+yy1466:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'D') {
- 		if (yych <= ')') {
-@@ -21516,12 +21715,12 @@ yy1464:
- 			if (yych <= '`') goto yy191;
- 			goto yy167;
- 		} else {
--			if (yych <= 'd') goto yy1465;
-+			if (yych <= 'd') goto yy1467;
- 			if (yych <= 'z') goto yy167;
- 			goto yy191;
- 		}
- 	}
--yy1465:
-+yy1467:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'A') {
- 		if (yych == ')') goto yy164;
-@@ -21531,12 +21730,12 @@ yy1465:
- 			if (yych <= 'Z') goto yy168;
- 			goto yy3;
- 		} else {
--			if (yych <= 'a') goto yy1466;
-+			if (yych <= 'a') goto yy1468;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1466:
-+yy1468:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'Y') {
- 		if (yych <= ')') {
-@@ -21558,7 +21757,7 @@ yy1466:
- 			goto yy3;
- 		}
- 	}
--yy1467:
-+yy1469:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'N') {
- 		if (yych <= ')') {
-@@ -21574,12 +21773,12 @@ yy1467:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 'n') goto yy1468;
-+			if (yych <= 'n') goto yy1470;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1468:
-+yy1470:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'I') {
- 		if (yych <= ')') {
-@@ -21595,12 +21794,12 @@ yy1468:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 'i') goto yy1469;
-+			if (yych <= 'i') goto yy1471;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1469:
-+yy1471:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'G') {
- 		if (yych <= ')') {
-@@ -21616,29 +21815,29 @@ yy1469:
- 			if (yych <= '`') goto yy3;
- 			goto yy169;
- 		} else {
--			if (yych <= 'g') goto yy1470;
-+			if (yych <= 'g') goto yy1472;
- 			if (yych <= 'z') goto yy169;
- 			goto yy3;
- 		}
- 	}
--yy1470:
-+yy1472:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'G') {
- 		if (yych == ')') goto yy164;
- 		goto yy3;
- 	} else {
--		if (yych <= 'H') goto yy1471;
-+		if (yych <= 'H') goto yy1473;
- 		if (yych != 'h') goto yy3;
- 	}
--yy1471:
-+yy1473:
- 	yych = *++YYCURSOR;
--	if (yych == 'T') goto yy1472;
-+	if (yych == 'T') goto yy1474;
- 	if (yych != 't') goto yy56;
--yy1472:
-+yy1474:
- 	yych = *++YYCURSOR;
--	goto yy1418;
--yy1473:
-+	goto yy1420;
-+yy1475:
- 	yyaccept = 5;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '/') {
-@@ -21666,7 +21865,7 @@ yy1473:
- 				if (yych <= '9') goto yy220;
- 				goto yy218;
- 			} else {
--				if (yych == 'C') goto yy1475;
-+				if (yych == 'C') goto yy1477;
- 				goto yy167;
- 			}
- 		} else {
-@@ -21674,13 +21873,13 @@ yy1473:
- 				if (yych <= '`') goto yy218;
- 				goto yy167;
- 			} else {
--				if (yych <= 'c') goto yy1475;
-+				if (yych <= 'c') goto yy1477;
- 				if (yych <= 'z') goto yy167;
- 				goto yy218;
- 			}
- 		}
- 	}
--yy1474:
-+yy1476:
- 	yyaccept = 5;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '-') {
-@@ -21705,7 +21904,7 @@ yy1474:
- 			goto yy218;
- 		}
- 	}
--yy1475:
-+yy1477:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'H') {
- 		if (yych <= ')') {
-@@ -21727,7 +21926,7 @@ yy1475:
- 			goto yy3;
- 		}
- 	}
--yy1476:
-+yy1478:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'X') {
-@@ -21744,14 +21943,14 @@ yy1476:
- 				if (yych <= '/') goto yy172;
- 				goto yy3;
- 			} else {
--				if (yych == 'R') goto yy1473;
-+				if (yych == 'R') goto yy1475;
- 				goto yy166;
- 			}
- 		}
- 	} else {
- 		if (yych <= '`') {
- 			if (yych <= 'Z') {
--				if (yych <= 'Y') goto yy1474;
-+				if (yych <= 'Y') goto yy1476;
- 				goto yy166;
- 			} else {
- 				if (yych == '_') goto yy172;
-@@ -21759,16 +21958,16 @@ yy1476:
- 			}
- 		} else {
- 			if (yych <= 'x') {
--				if (yych == 'r') goto yy1488;
-+				if (yych == 'r') goto yy1490;
- 				goto yy171;
- 			} else {
--				if (yych <= 'y') goto yy1489;
-+				if (yych <= 'y') goto yy1491;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1477:
-+yy1479:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'C') {
-@@ -21783,7 +21982,7 @@ yy1477:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'D') goto yy1467;
-+			if (yych <= 'D') goto yy1469;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21792,13 +21991,13 @@ yy1477:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 'd') goto yy1482;
-+				if (yych <= 'd') goto yy1484;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1478:
-+yy1480:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'M') {
-@@ -21813,7 +22012,7 @@ yy1478:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'N') goto yy1464;
-+			if (yych <= 'N') goto yy1466;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21822,13 +22021,13 @@ yy1478:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 'n') goto yy1479;
-+				if (yych <= 'n') goto yy1481;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1479:
-+yy1481:
- 	yyaccept = 4;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'C') {
-@@ -21843,7 +22042,7 @@ yy1479:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'D') goto yy1465;
-+			if (yych <= 'D') goto yy1467;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy191;
- 			goto yy172;
-@@ -21852,13 +22051,13 @@ yy1479:
- 				if (yych <= '`') goto yy191;
- 				goto yy175;
- 			} else {
--				if (yych <= 'd') goto yy1480;
-+				if (yych <= 'd') goto yy1482;
- 				if (yych <= 'z') goto yy175;
- 				goto yy191;
- 			}
- 		}
- 	}
--yy1480:
-+yy1482:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '@') {
-@@ -21872,18 +22071,18 @@ yy1480:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'A') goto yy1466;
-+			if (yych <= 'A') goto yy1468;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
- 		} else {
- 			if (yych <= '`') goto yy3;
--			if (yych <= 'a') goto yy1481;
-+			if (yych <= 'a') goto yy1483;
- 			if (yych <= 'z') goto yy176;
- 			goto yy3;
- 		}
- 	}
--yy1481:
-+yy1483:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'X') {
-@@ -21913,7 +22112,7 @@ yy1481:
- 			}
- 		}
- 	}
--yy1482:
-+yy1484:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'M') {
-@@ -21928,7 +22127,7 @@ yy1482:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'N') goto yy1468;
-+			if (yych <= 'N') goto yy1470;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21937,13 +22136,13 @@ yy1482:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 'n') goto yy1483;
-+				if (yych <= 'n') goto yy1485;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1483:
-+yy1485:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'H') {
-@@ -21958,7 +22157,7 @@ yy1483:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'I') goto yy1469;
-+			if (yych <= 'I') goto yy1471;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21967,13 +22166,13 @@ yy1483:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 'i') goto yy1484;
-+				if (yych <= 'i') goto yy1486;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1484:
-+yy1486:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'F') {
-@@ -21988,7 +22187,7 @@ yy1484:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'G') goto yy1470;
-+			if (yych <= 'G') goto yy1472;
- 			if (yych <= 'Z') goto yy169;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -21997,13 +22196,13 @@ yy1484:
- 				if (yych <= '`') goto yy3;
- 				goto yy177;
- 			} else {
--				if (yych <= 'g') goto yy1485;
-+				if (yych <= 'g') goto yy1487;
- 				if (yych <= 'z') goto yy177;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1485:
-+yy1487:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'G') {
-@@ -22017,18 +22216,18 @@ yy1485:
- 		}
- 	} else {
- 		if (yych <= '`') {
--			if (yych <= 'H') goto yy1471;
-+			if (yych <= 'H') goto yy1473;
- 			if (yych == '_') goto yy172;
- 			goto yy3;
- 		} else {
--			if (yych == 'h') goto yy1486;
-+			if (yych == 'h') goto yy1488;
- 			if (yych <= 'z') goto yy178;
- 			goto yy3;
- 		}
- 	}
--yy1486:
-+yy1488:
- 	yych = *++YYCURSOR;
--	if (yych == 'T') goto yy1472;
-+	if (yych == 'T') goto yy1474;
- 	if (yych != 't') goto yy179;
- 	yyaccept = 30;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -22037,13 +22236,13 @@ yy1486:
- 	}
- 	if (yych <= '.') {
- 		if (yych == '-') goto yy172;
--		goto yy1418;
-+		goto yy1420;
- 	} else {
- 		if (yych <= '/') goto yy172;
- 		if (yych == '_') goto yy172;
--		goto yy1418;
-+		goto yy1420;
- 	}
--yy1488:
-+yy1490:
- 	yyaccept = 5;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '9') {
-@@ -22071,7 +22270,7 @@ yy1488:
- 				if (yych <= '@') goto yy218;
- 				goto yy167;
- 			} else {
--				if (yych <= 'C') goto yy1475;
-+				if (yych <= 'C') goto yy1477;
- 				if (yych <= 'Z') goto yy167;
- 				goto yy218;
- 			}
-@@ -22081,13 +22280,13 @@ yy1488:
- 				if (yych <= '`') goto yy218;
- 				goto yy175;
- 			} else {
--				if (yych <= 'c') goto yy1490;
-+				if (yych <= 'c') goto yy1492;
- 				if (yych <= 'z') goto yy175;
- 				goto yy218;
- 			}
- 		}
- 	}
--yy1489:
-+yy1491:
- 	yyaccept = 5;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '.') {
-@@ -22122,7 +22321,7 @@ yy1489:
- 			}
- 		}
- 	}
--yy1490:
-+yy1492:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'G') {
-@@ -22152,7 +22351,7 @@ yy1490:
- 			}
- 		}
- 	}
--yy1491:
-+yy1493:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'W') {
- 		if (yych <= 'N') {
-@@ -22160,29 +22359,29 @@ yy1491:
- 			if (yych <= '@') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 'O') goto yy1499;
-+			if (yych <= 'O') goto yy1501;
- 			if (yych <= 'U') goto yy166;
--			if (yych <= 'V') goto yy1500;
--			goto yy1497;
-+			if (yych <= 'V') goto yy1502;
-+			goto yy1499;
- 		}
- 	} else {
- 		if (yych <= 'o') {
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '`') goto yy3;
- 			if (yych <= 'n') goto yy166;
--			goto yy1499;
-+			goto yy1501;
- 		} else {
- 			if (yych <= 'v') {
- 				if (yych <= 'u') goto yy166;
--				goto yy1500;
-+				goto yy1502;
- 			} else {
--				if (yych <= 'w') goto yy1497;
-+				if (yych <= 'w') goto yy1499;
- 				if (yych <= 'z') goto yy166;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1492:
-+yy1494:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'X') {
- 		if (yych <= ')') {
-@@ -22191,7 +22390,7 @@ yy1492:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'W') goto yy166;
--			goto yy1496;
-+			goto yy1498;
- 		}
- 	} else {
- 		if (yych <= 'w') {
-@@ -22199,12 +22398,12 @@ yy1492:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 'x') goto yy1496;
-+			if (yych <= 'x') goto yy1498;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1493:
-+yy1495:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'N') {
- 		if (yych <= ')') {
-@@ -22220,12 +22419,12 @@ yy1493:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 'n') goto yy1494;
-+			if (yych <= 'n') goto yy1496;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1494:
-+yy1496:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'T') {
- 		if (yych <= ')') {
-@@ -22241,12 +22440,12 @@ yy1494:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 't') goto yy1495;
-+			if (yych <= 't') goto yy1497;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1495:
-+yy1497:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'H') {
- 		if (yych <= ')') {
-@@ -22268,7 +22467,7 @@ yy1495:
- 			goto yy3;
- 		}
- 	}
--yy1496:
-+yy1498:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'T') {
- 		if (yych <= ')') {
-@@ -22277,7 +22476,7 @@ yy1496:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'S') goto yy167;
--			goto yy1426;
-+			goto yy1428;
- 		}
- 	} else {
- 		if (yych <= 's') {
-@@ -22285,21 +22484,22 @@ yy1496:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 't') goto yy1426;
-+			if (yych <= 't') goto yy1428;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1497:
-+yy1499:
- 	++YYCURSOR;
- 	if ((yych = *YYCURSOR) <= '@') {
- 		if (yych == ')') goto yy164;
- 	} else {
- 		if (yych <= 'Z') goto yy167;
--		if (yych <= '`') goto yy1498;
-+		if (yych <= '`') goto yy1500;
- 		if (yych <= 'z') goto yy167;
- 	}
--yy1498:
-+yy1500:
-+#line 982 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("now");
- 		TIMELIB_INIT;
-@@ -22307,7 +22507,8 @@ yy1498:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_RELATIVE;
- 	}
--yy1499:
-+#line 22511 "ext/date/lib/parse_date.c"
-+yy1501:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'N') {
- 		if (yych <= ')') {
-@@ -22316,7 +22517,7 @@ yy1499:
- 		} else {
- 			if (yych <= '@') goto yy3;
- 			if (yych <= 'M') goto yy167;
--			goto yy1505;
-+			goto yy1507;
- 		}
- 	} else {
- 		if (yych <= 'm') {
-@@ -22324,12 +22525,12 @@ yy1499:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 'n') goto yy1505;
-+			if (yych <= 'n') goto yy1507;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1500:
-+yy1502:
- 	yyaccept = 5;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '/') {
-@@ -22364,13 +22565,13 @@ yy1500:
- 				if (yych <= '`') goto yy218;
- 				goto yy167;
- 			} else {
--				if (yych <= 'e') goto yy1501;
-+				if (yych <= 'e') goto yy1503;
- 				if (yych <= 'z') goto yy167;
- 				goto yy218;
- 			}
- 		}
- 	}
--yy1501:
-+yy1503:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'M') {
- 		if (yych <= ')') {
-@@ -22386,12 +22587,12 @@ yy1501:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 'm') goto yy1502;
-+			if (yych <= 'm') goto yy1504;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1502:
-+yy1504:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'B') {
- 		if (yych <= ')') {
-@@ -22407,36 +22608,37 @@ yy1502:
- 			if (yych <= '`') goto yy3;
- 			goto yy169;
- 		} else {
--			if (yych <= 'b') goto yy1503;
-+			if (yych <= 'b') goto yy1505;
- 			if (yych <= 'z') goto yy169;
- 			goto yy3;
- 		}
- 	}
--yy1503:
-+yy1505:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'D') {
- 		if (yych == ')') goto yy164;
- 		goto yy3;
- 	} else {
--		if (yych <= 'E') goto yy1504;
-+		if (yych <= 'E') goto yy1506;
- 		if (yych != 'e') goto yy3;
- 	}
--yy1504:
-+yy1506:
- 	yych = *++YYCURSOR;
- 	if (yych == 'R') goto yy229;
- 	if (yych == 'r') goto yy229;
- 	goto yy56;
--yy1505:
-+yy1507:
- 	++YYCURSOR;
- 	if ((yych = *YYCURSOR) <= '@') {
- 		if (yych == ')') goto yy164;
- 	} else {
- 		if (yych <= 'Z') goto yy168;
--		if (yych <= '`') goto yy1506;
-+		if (yych <= '`') goto yy1508;
- 		if (yych <= 'z') goto yy168;
- 	}
--yy1506:
-+yy1508:
-+#line 991 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("noon");
- 		TIMELIB_INIT;
-@@ -22447,7 +22649,8 @@ yy1506:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_RELATIVE;
- 	}
--yy1507:
-+#line 22653 "ext/date/lib/parse_date.c"
-+yy1509:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'V') {
-@@ -22465,15 +22668,15 @@ yy1507:
- 				if (yych <= '@') goto yy3;
- 				goto yy166;
- 			} else {
--				if (yych <= 'O') goto yy1499;
-+				if (yych <= 'O') goto yy1501;
- 				if (yych <= 'U') goto yy166;
--				goto yy1500;
-+				goto yy1502;
- 			}
- 		}
- 	} else {
- 		if (yych <= 'n') {
- 			if (yych <= '^') {
--				if (yych <= 'W') goto yy1497;
-+				if (yych <= 'W') goto yy1499;
- 				if (yych <= 'Z') goto yy166;
- 				goto yy3;
- 			} else {
-@@ -22483,17 +22686,17 @@ yy1507:
- 			}
- 		} else {
- 			if (yych <= 'v') {
--				if (yych <= 'o') goto yy1514;
-+				if (yych <= 'o') goto yy1516;
- 				if (yych <= 'u') goto yy171;
--				goto yy1515;
-+				goto yy1517;
- 			} else {
--				if (yych <= 'w') goto yy1513;
-+				if (yych <= 'w') goto yy1515;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1508:
-+yy1510:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'W') {
-@@ -22508,7 +22711,7 @@ yy1508:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'X') goto yy1496;
-+			if (yych <= 'X') goto yy1498;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -22517,13 +22720,13 @@ yy1508:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 'x') goto yy1512;
-+				if (yych <= 'x') goto yy1514;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1509:
-+yy1511:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'M') {
-@@ -22538,7 +22741,7 @@ yy1509:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'N') goto yy1494;
-+			if (yych <= 'N') goto yy1496;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -22547,13 +22750,13 @@ yy1509:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 'n') goto yy1510;
-+				if (yych <= 'n') goto yy1512;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1510:
-+yy1512:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'S') {
-@@ -22568,7 +22771,7 @@ yy1510:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'T') goto yy1495;
-+			if (yych <= 'T') goto yy1497;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -22577,13 +22780,13 @@ yy1510:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 't') goto yy1511;
-+				if (yych <= 't') goto yy1513;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1511:
-+yy1513:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'G') {
-@@ -22613,7 +22816,7 @@ yy1511:
- 			}
- 		}
- 	}
--yy1512:
-+yy1514:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'S') {
-@@ -22628,7 +22831,7 @@ yy1512:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'T') goto yy1426;
-+			if (yych <= 'T') goto yy1428;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -22637,36 +22840,36 @@ yy1512:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 't') goto yy1458;
-+				if (yych <= 't') goto yy1460;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1513:
-+yy1515:
- 	yyaccept = 31;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '/') {
- 		if (yych <= ',') {
- 			if (yych == ')') goto yy164;
--			goto yy1498;
-+			goto yy1500;
- 		} else {
--			if (yych == '.') goto yy1498;
-+			if (yych == '.') goto yy1500;
- 			goto yy172;
- 		}
- 	} else {
- 		if (yych <= '^') {
--			if (yych <= '@') goto yy1498;
-+			if (yych <= '@') goto yy1500;
- 			if (yych <= 'Z') goto yy167;
--			goto yy1498;
-+			goto yy1500;
- 		} else {
- 			if (yych <= '_') goto yy172;
--			if (yych <= '`') goto yy1498;
-+			if (yych <= '`') goto yy1500;
- 			if (yych <= 'z') goto yy175;
--			goto yy1498;
-+			goto yy1500;
- 		}
- 	}
--yy1514:
-+yy1516:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'M') {
-@@ -22681,7 +22884,7 @@ yy1514:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'N') goto yy1505;
-+			if (yych <= 'N') goto yy1507;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -22690,13 +22893,13 @@ yy1514:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 'n') goto yy1520;
-+				if (yych <= 'n') goto yy1522;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1515:
-+yy1517:
- 	yyaccept = 5;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '9') {
-@@ -22724,7 +22927,7 @@ yy1515:
- 				if (yych <= '@') goto yy218;
- 				goto yy167;
- 			} else {
--				if (yych <= 'E') goto yy1501;
-+				if (yych <= 'E') goto yy1503;
- 				if (yych <= 'Z') goto yy167;
- 				goto yy218;
- 			}
-@@ -22734,13 +22937,13 @@ yy1515:
- 				if (yych <= '`') goto yy218;
- 				goto yy175;
- 			} else {
--				if (yych <= 'e') goto yy1516;
-+				if (yych <= 'e') goto yy1518;
- 				if (yych <= 'z') goto yy175;
- 				goto yy218;
- 			}
- 		}
- 	}
--yy1516:
-+yy1518:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'L') {
-@@ -22755,7 +22958,7 @@ yy1516:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'M') goto yy1502;
-+			if (yych <= 'M') goto yy1504;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -22764,13 +22967,13 @@ yy1516:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 'm') goto yy1517;
-+				if (yych <= 'm') goto yy1519;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1517:
-+yy1519:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'A') {
-@@ -22785,7 +22988,7 @@ yy1517:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'B') goto yy1503;
-+			if (yych <= 'B') goto yy1505;
- 			if (yych <= 'Z') goto yy169;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -22794,13 +22997,13 @@ yy1517:
- 				if (yych <= '`') goto yy3;
- 				goto yy177;
- 			} else {
--				if (yych <= 'b') goto yy1518;
-+				if (yych <= 'b') goto yy1520;
- 				if (yych <= 'z') goto yy177;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1518:
-+yy1520:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'D') {
-@@ -22814,44 +23017,44 @@ yy1518:
- 		}
- 	} else {
- 		if (yych <= '`') {
--			if (yych <= 'E') goto yy1504;
-+			if (yych <= 'E') goto yy1506;
- 			if (yych == '_') goto yy172;
- 			goto yy3;
- 		} else {
--			if (yych == 'e') goto yy1519;
-+			if (yych == 'e') goto yy1521;
- 			if (yych <= 'z') goto yy178;
- 			goto yy3;
- 		}
- 	}
--yy1519:
-+yy1521:
- 	yych = *++YYCURSOR;
- 	if (yych == 'R') goto yy229;
- 	if (yych == 'r') goto yy341;
- 	goto yy179;
--yy1520:
-+yy1522:
- 	yyaccept = 32;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= '/') {
- 		if (yych <= ',') {
- 			if (yych == ')') goto yy164;
--			goto yy1506;
-+			goto yy1508;
- 		} else {
--			if (yych == '.') goto yy1506;
-+			if (yych == '.') goto yy1508;
- 			goto yy172;
- 		}
- 	} else {
- 		if (yych <= '^') {
--			if (yych <= '@') goto yy1506;
-+			if (yych <= '@') goto yy1508;
- 			if (yych <= 'Z') goto yy168;
--			goto yy1506;
-+			goto yy1508;
- 		} else {
- 			if (yych <= '_') goto yy172;
--			if (yych <= '`') goto yy1506;
-+			if (yych <= '`') goto yy1508;
- 			if (yych <= 'z') goto yy176;
--			goto yy1506;
-+			goto yy1508;
- 		}
- 	}
--yy1521:
-+yy1523:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'S') {
- 		if (yych <= ')') {
-@@ -22867,12 +23070,12 @@ yy1521:
- 			if (yych <= '`') goto yy3;
- 			goto yy166;
- 		} else {
--			if (yych <= 's') goto yy1522;
-+			if (yych <= 's') goto yy1524;
- 			if (yych <= 'z') goto yy166;
- 			goto yy3;
- 		}
- 	}
--yy1522:
-+yy1524:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'T') {
- 		if (yych <= ')') {
-@@ -22888,12 +23091,12 @@ yy1522:
- 			if (yych <= '`') goto yy3;
- 			goto yy167;
- 		} else {
--			if (yych <= 't') goto yy1523;
-+			if (yych <= 't') goto yy1525;
- 			if (yych <= 'z') goto yy167;
- 			goto yy3;
- 		}
- 	}
--yy1523:
-+yy1525:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'E') {
- 		if (yych <= ')') {
-@@ -22909,12 +23112,12 @@ yy1523:
- 			if (yych <= '`') goto yy3;
- 			goto yy168;
- 		} else {
--			if (yych <= 'e') goto yy1524;
-+			if (yych <= 'e') goto yy1526;
- 			if (yych <= 'z') goto yy168;
- 			goto yy3;
- 		}
- 	}
--yy1524:
-+yy1526:
- 	yych = *++YYCURSOR;
- 	if (yych <= 'R') {
- 		if (yych <= ')') {
-@@ -22930,32 +23133,33 @@ yy1524:
- 			if (yych <= '`') goto yy3;
- 			goto yy169;
- 		} else {
--			if (yych <= 'r') goto yy1525;
-+			if (yych <= 'r') goto yy1527;
- 			if (yych <= 'z') goto yy169;
- 			goto yy3;
- 		}
- 	}
--yy1525:
-+yy1527:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'C') {
- 		if (yych == ')') goto yy164;
- 		goto yy3;
- 	} else {
--		if (yych <= 'D') goto yy1526;
-+		if (yych <= 'D') goto yy1528;
- 		if (yych != 'd') goto yy3;
- 	}
--yy1526:
-+yy1528:
- 	yych = *++YYCURSOR;
--	if (yych == 'A') goto yy1527;
-+	if (yych == 'A') goto yy1529;
- 	if (yych != 'a') goto yy56;
--yy1527:
-+yy1529:
- 	yych = *++YYCURSOR;
--	if (yych == 'Y') goto yy1528;
-+	if (yych == 'Y') goto yy1530;
- 	if (yych != 'y') goto yy56;
--yy1528:
-+yy1530:
- 	++YYCURSOR;
--yy1529:
-+yy1531:
-+#line 970 "ext/date/lib/parse_date.re"
- 	{
- 		DEBUG_OUTPUT("yesterday");
- 		TIMELIB_INIT;
-@@ -22966,7 +23170,8 @@ yy1529:
- 		TIMELIB_DEINIT;
- 		return TIMELIB_RELATIVE;
- 	}
--yy1530:
-+#line 23174 "ext/date/lib/parse_date.c"
-+yy1532:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'R') {
-@@ -22981,7 +23186,7 @@ yy1530:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'S') goto yy1522;
-+			if (yych <= 'S') goto yy1524;
- 			if (yych <= 'Z') goto yy166;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -22990,13 +23195,13 @@ yy1530:
- 				if (yych <= '`') goto yy3;
- 				goto yy171;
- 			} else {
--				if (yych <= 's') goto yy1531;
-+				if (yych <= 's') goto yy1533;
- 				if (yych <= 'z') goto yy171;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1531:
-+yy1533:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'S') {
-@@ -23011,7 +23216,7 @@ yy1531:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'T') goto yy1523;
-+			if (yych <= 'T') goto yy1525;
- 			if (yych <= 'Z') goto yy167;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -23020,13 +23225,13 @@ yy1531:
- 				if (yych <= '`') goto yy3;
- 				goto yy175;
- 			} else {
--				if (yych <= 't') goto yy1532;
-+				if (yych <= 't') goto yy1534;
- 				if (yych <= 'z') goto yy175;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1532:
-+yy1534:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'D') {
-@@ -23041,7 +23246,7 @@ yy1532:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'E') goto yy1524;
-+			if (yych <= 'E') goto yy1526;
- 			if (yych <= 'Z') goto yy168;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -23050,13 +23255,13 @@ yy1532:
- 				if (yych <= '`') goto yy3;
- 				goto yy176;
- 			} else {
--				if (yych <= 'e') goto yy1533;
-+				if (yych <= 'e') goto yy1535;
- 				if (yych <= 'z') goto yy176;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1533:
-+yy1535:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'Q') {
-@@ -23071,7 +23276,7 @@ yy1533:
- 		}
- 	} else {
- 		if (yych <= '_') {
--			if (yych <= 'R') goto yy1525;
-+			if (yych <= 'R') goto yy1527;
- 			if (yych <= 'Z') goto yy169;
- 			if (yych <= '^') goto yy3;
- 			goto yy172;
-@@ -23080,13 +23285,13 @@ yy1533:
- 				if (yych <= '`') goto yy3;
- 				goto yy177;
- 			} else {
--				if (yych <= 'r') goto yy1534;
-+				if (yych <= 'r') goto yy1536;
- 				if (yych <= 'z') goto yy177;
- 				goto yy3;
- 			}
- 		}
- 	}
--yy1534:
-+yy1536:
- 	yyaccept = 0;
- 	yych = *(YYMARKER = ++YYCURSOR);
- 	if (yych <= 'C') {
-@@ -23100,21 +23305,21 @@ yy1534:
- 		}
- 	} else {
- 		if (yych <= '`') {
--			if (yych <= 'D') goto yy1526;
-+			if (yych <= 'D') goto yy1528;
- 			if (yych == '_') goto yy172;
- 			goto yy3;
- 		} else {
--			if (yych == 'd') goto yy1535;
-+			if (yych == 'd') goto yy1537;
- 			if (yych <= 'z') goto yy178;
- 			goto yy3;
- 		}
- 	}
--yy1535:
-+yy1537:
- 	yych = *++YYCURSOR;
--	if (yych == 'A') goto yy1527;
-+	if (yych == 'A') goto yy1529;
- 	if (yych != 'a') goto yy179;
- 	yych = *++YYCURSOR;
--	if (yych == 'Y') goto yy1528;
-+	if (yych == 'Y') goto yy1530;
- 	if (yych != 'y') goto yy179;
- 	yyaccept = 33;
- 	yych = *(YYMARKER = ++YYCURSOR);
-@@ -23123,13 +23328,14 @@ yy1535:
- 	}
- 	if (yych <= '.') {
- 		if (yych == '-') goto yy172;
--		goto yy1529;
-+		goto yy1531;
- 	} else {
- 		if (yych <= '/') goto yy172;
- 		if (yych == '_') goto yy172;
--		goto yy1529;
-+		goto yy1531;
- 	}
- }
-+#line 1772 "ext/date/lib/parse_date.re"
- 
- }
- 
-diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re
-index 74d9ea3..f26e276 100644
---- a/ext/date/lib/parse_date.re
-+++ b/ext/date/lib/parse_date.re
-@@ -931,8 +931,8 @@ isoweek          = year4 "-"? "W" weekofyear;
- exif             = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz;
- firstdayof       = 'first day of';
- lastdayof        = 'last day of';
--backof           = 'back of ' hour24 space? meridian?;
--frontof          = 'front of ' hour24 space? meridian?;
-+backof           = 'back of ' hour24 (space? meridian)?;
-+frontof          = 'front of ' hour24 (space? meridian)?;
- 
- /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */
- clf              = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection;
-diff --git a/ext/date/tests/bug53437_var3.phpt b/ext/date/tests/bug53437_var3.phpt
-index 8f48b1b..8dcd4c8 100644
---- a/ext/date/tests/bug53437_var3.phpt
-+++ b/ext/date/tests/bug53437_var3.phpt
-@@ -40,7 +40,7 @@ object(DateInterval)#%d (16) {
-   ["special_amount"]=>
-   int(-1)
-   ["have_weekday_relative"]=>
--  int(9)
-+  int(0)
-   ["have_special_relative"]=>
-   int(0)
-   ["f"]=>
-diff --git a/ext/wddx/tests/bug75055.phpt b/ext/wddx/tests/bug75055.phpt
-new file mode 100644
-index 0000000..2956284
---- /dev/null
-+++ b/ext/wddx/tests/bug75055.phpt
-@@ -0,0 +1,20 @@
-+--TEST--
-+Bug #75055 Out-Of-Bounds Read in timelib_meridian()
-+--SKIPIF--
-+<?php if (!extension_loaded("wddx")) print "skip"; ?>
-+--FILE--
-+<?php
-+
-+$file_str = dirname(__FILE__) . "/bug75055.wddx";
-+
-+$wddx_str = file_get_contents($file_str);
-+print strlen($wddx_str) . " bytes read.\n";
-+
-+var_dump(wddx_deserialize($wddx_str));
-+?>
-+--EXPECT--
-+323 bytes read.
-+array(1) {
-+  ["aDateTime"]=>
-+  string(12) "frONt of 0 0"
-+}
-diff --git a/ext/wddx/tests/bug75055.wddx b/ext/wddx/tests/bug75055.wddx
-new file mode 100644
-index 0000000..6493352
---- /dev/null
-+++ b/ext/wddx/tests/bug75055.wddx
-@@ -0,0 +1,13 @@
-+<?xml version='1.0'?>
-+<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
-+<wddxPacket version='1.0'>
-+<header/>
-+	<data>
-+        	<struct>
-+                    <var name='aDateTime'>
-+                         <dateTime>frONt of 0 0</dateTime>
-+                     </var>
-+                </struct>
-+	</data>
-+</wddxPacket>
-+
--- 
-2.11.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
deleted file mode 100644
index 39c334f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-[PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK
-
-Upstream-Status: Pending
-
-AC_TRY_RUN is not suitable for cross-compile
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- ext/fileinfo/config.m4 | 31 ++++++-------------------------
- 1 file changed, 6 insertions(+), 25 deletions(-)
-
-diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4
-index 7e98d62..8a8ea0e 100644
---- a/ext/fileinfo/config.m4
-+++ b/ext/fileinfo/config.m4
-@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then
-     libmagic/readcdf.c libmagic/softmagic.c"
- 
-   AC_MSG_CHECKING([for strcasestr])
--  AC_TRY_RUN([
--#include <string.h>
--#include <strings.h>
--#include <stdlib.h>
--
--int main(void)
--{
--        char *s0, *s1, *ret;
--
--        s0 = (char *) malloc(42);
--        s1 = (char *) malloc(8);
--
--        memset(s0, 'X', 42);
--        s0[24] = 'Y';
--        s0[26] = 'Z';
--        s0[41] = '\0';
--        memset(s1, 'x', 8);
--        s1[0] = 'y';
--        s1[2] = 'Z';
--        s1[7] = '\0';
--
--        ret = strcasestr(s0, s1);
--
--        return !(NULL != ret);
--}
-+  AC_TRY_COMPILE([
-+     #include <string.h>
-+     #include <strings.h>
-+     #include <stdlib.h>
-+  ],[
-+     strcasestr(NULL, NULL);
-   ],[
-     dnl using the platform implementation
-     AC_MSG_RESULT(yes)
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
index 283d630..066b97c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
@@ -6,26 +6,22 @@
 
 BBCLASSEXTEND = "native"
 DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native \
-           openssl libmcrypt"
+           openssl"
 DEPENDS_class-native = "zlib-native libxml2-native"
 
 PHP_MAJOR_VERSION = "${@d.getVar('PV', True).split('.')[0]}"
 
 SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \
-           file://acinclude-xml2-config.patch \
            file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \
-           file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \
           "
 
 SRC_URI_append_class-target = " \
             file://iconv.patch \
             file://imap-fix-autofoo.patch \
-            file://pear-makefile.patch \
-            file://phar-makefile.patch \
             file://php_exec_native.patch \
             file://php-fpm.conf \
             file://php-fpm-apache.conf \
-            file://configure.patch \
+            file://0001-acinclude.m4-don-t-unset-cache-variables.patch \
             file://70_mod_php${PHP_MAJOR_VERSION}.conf \
             file://php-fpm.service \
           "
@@ -44,7 +40,6 @@
 COMMON_EXTRA_OECONF = "--enable-sockets \
                        --enable-pcntl \
                        --enable-shared \
-                       --disable-opcache \
                        --disable-rpath \
                        --with-pic \
                        --libdir=${PHP_LIBDIR} \
@@ -57,20 +52,22 @@
                 --with-gettext=${STAGING_LIBDIR}/.. \
                 --with-zlib=${STAGING_LIBDIR}/.. \
                 --with-iconv=${STAGING_LIBDIR}/.. \
-                --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
                 --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
                 --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
-                ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
+                ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
                 ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
                 ${COMMON_EXTRA_OECONF} \
 "
+
+CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=yes ac_cv_lib_dl_dlopen=yes"
+
 EXTRA_OECONF_class-native = " \
                 --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
                 --without-iconv \
                 ${COMMON_EXTRA_OECONF} \
 "
 
-PACKAGECONFIG ??= "mysql sqlite3 imap \
+PACKAGECONFIG ??= "mysql sqlite3 imap opcache \
                    ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \
 "
 PACKAGECONFIG_class-native = ""
@@ -94,7 +91,7 @@
                        ,--without-imap --without-imap-ssl \
                        ,uw-imap"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
+PACKAGECONFIG[opcache] = ",--disable-opcache"
 
 export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
 export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
@@ -201,14 +198,14 @@
 
 MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}"
 
-PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
+PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}"
 
 RDEPENDS_${PN} += "libgcc"
 RDEPENDS_${PN}-pear = "${PN}"
 RDEPENDS_${PN}-phar = "${PN}-cli"
 RDEPENDS_${PN}-cli = "${PN}"
 RDEPENDS_${PN}-modphp = "${PN} apache2"
-RDEPENDS_${PN}-dev = "${PN}"
+RDEPENDS_${PN}-opcache = "${PN}"
 
 INITSCRIPT_PACKAGES = "${PN}-fpm"
 inherit update-rc.d
@@ -237,6 +234,8 @@
                 ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \
                 ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \
                 ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test"
+FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a"
+FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}"
 FILES_${PN} = "${PHP_LIBDIR}/php"
 FILES_${PN} += "${bindir}"
 
@@ -253,18 +252,6 @@
         PHP_PEAR_SYSCONF_DIR=${sysconfdir}/
 }
 
-SSTATEPOSTINSTFUNCS_append_class-native = " php_sstate_postinst "
-
-php_sstate_postinst() {
-    if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]
-    then
-        head -n1 ${sysconfdir}/pear.conf > ${sysconfdir}/pear.tmp.conf
-        for p in `tail -n1  ${sysconfdir}/pear.conf | sed -s 's/;/ /g'`; do
-            echo $p | awk -F: 'BEGIN {OFS = ":"; ORS = ";"}{if(NF==3){print $1, length($3)-2*match($3, /^"/), $3} else {print $0}}';
-        done >> ${sysconfdir}/pear.tmp.conf
-        mv -f ${sysconfdir}/pear.tmp.conf ${sysconfdir}/pear.conf
-    fi
-}
 
 # Fails to build with thumb-1 (qemuarm)
 # | {standard input}: Assembler messages:
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/0001-Add-lpthread-to-link.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.31/0001-Add-lpthread-to-link.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch
new file mode 100644
index 0000000..a250cac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-don-t-unset-cache-variables.patch
@@ -0,0 +1,39 @@
+From dfebe81f946a83fe2499fc84d4f3dbdc5612276c Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Tue, 3 Apr 2018 11:35:03 +0800
+Subject: [PATCH] acinclude.m4: don't unset cache variables
+
+Unsetting prevents cache variable from being passed to configure.
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ acinclude.m4 | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index f6a55ec..d3346df 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1890,8 +1890,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,]))
+ dnl
+ AC_DEFUN([PHP_CHECK_FUNC_LIB],[
+   ifelse($2,,:,[
+-  unset ac_cv_lib_$2[]_$1
+-  unset ac_cv_lib_$2[]___$1
+   unset found
+   AC_CHECK_LIB($2, $1, [found=yes], [
+     AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
+@@ -1923,8 +1921,6 @@ dnl in the default libraries and as a fall back in the specified library.
+ dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS.
+ dnl
+ AC_DEFUN([PHP_CHECK_FUNC],[
+-  unset ac_cv_func_$1
+-  unset ac_cv_func___$1
+   unset found
+   
+   AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ])
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch
new file mode 100644
index 0000000..1532926
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude.m4-skip-binconfig-check-for-libxml.patch
@@ -0,0 +1,56 @@
+From a2d146b8dd9d02f523d1e205d79792626a71dec3 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Mon, 2 Apr 2018 15:27:09 +0800
+Subject: [PATCH] acinclude.m4: skip binconfig check for libxml
+
+We want libxml flags to be picked up using pkg-config instead of the
+xml2-config file.
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+---
+ acinclude.m4 | 29 -----------------------------
+ 1 file changed, 29 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index d42d708..d32766a 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2525,35 +2525,6 @@ dnl
+ AC_DEFUN([PHP_SETUP_LIBXML], [
+   found_libxml=no
+ 
+-  dnl First try to find xml2-config
+-  AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
+-  [
+-    for i in $PHP_LIBXML_DIR /usr/local /usr; do
+-      if test -x "$i/bin/xml2-config"; then
+-        ac_cv_php_xml2_config_path="$i/bin/xml2-config"
+-        break
+-      fi
+-    done
+-  ])
+-
+-  if test -x "$ac_cv_php_xml2_config_path"; then
+-    XML2_CONFIG="$ac_cv_php_xml2_config_path"
+-    libxml_full_version=`$XML2_CONFIG --version`
+-    ac_IFS=$IFS
+-    IFS="."
+-    set $libxml_full_version
+-    IFS=$ac_IFS
+-    LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
+-    if test "$LIBXML_VERSION" -ge "2006011"; then
+-      found_libxml=yes
+-      LIBXML_LIBS=`$XML2_CONFIG --libs`
+-      LIBXML_INCS=`$XML2_CONFIG --cflags`
+-    else
+-      AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
+-    fi
+-  fi
+-
+-  dnl If xml2-config fails, try pkg-config
+   if test "$found_libxml" = "no"; then
+     if test -z "$PKG_CONFIG"; then
+       AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch
new file mode 100644
index 0000000..6ab101b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-fix-error-caused-by-a-new-variable-is-declared-after.patch
@@ -0,0 +1,45 @@
+From 0d88d735887c6f2fa00a743c27124c7a52006a41 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sun, 15 Apr 2018 19:17:27 -0700
+Subject: [PATCH] fix error caused by a new variable is declared after the
+ label
+
+There is a build failure on mips:
+...
+|sljitNativeMIPS_common.c: In function 'sljit_has_cpu_feature':
+|sljitNativeMIPS_common.c:506:3: error: a label can only be part
+of a statement and a declaration is not a statement
+|   sljit_sw fir;
+|   ^~~~~~~~
+...
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c b/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c
+index ee207fe..adfd342 100644
+--- a/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c
++++ b/ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c
+@@ -498,12 +498,14 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil
+ 
+ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type)
+ {
++#if defined(__GNUC__)
++	sljit_sw fir;
++#endif
+ 	switch (feature_type) {
+ 	case SLJIT_HAS_FPU:
+ #ifdef SLJIT_IS_FPU_AVAILABLE
+ 		return SLJIT_IS_FPU_AVAILABLE;
+ #elif defined(__GNUC__)
+-		sljit_sw fir;
+ 		asm ("cfc1 %0, $0" : "=r"(fir));
+ 		return (fir >> 22) & 0x1;
+ #else
+-- 
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch
new file mode 100644
index 0000000..fce9738
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch
@@ -0,0 +1,63 @@
+From 2842aa2a078eb1cad55540b61e7edf111395150d Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+Date: Mon, 26 Feb 2018 19:30:55 +0100
+Subject: [PATCH] main/php_ini.c: build empty php_load_zend_extension_cb() when
+ !HAVE_LIBDL
+
+Commit 0782a7fc6314c8bd3cbfd57f12d0479bf9cc8dc7 ("Fixed bug #74866
+extension_dir = "./ext" now use current directory for base") modified
+the php_load_zend_extension_cb() function to use php_load_shlib(), and
+pass a handle to the newly introduced zend_load_extension_handle()
+function instead of passing the extension path to
+zend_load_extension().
+
+While doing so, it introduced a call to php_load_shlib() from code
+that is built even when HAVE_LIBDL is not defined. However,
+php_load_shlib() is not implemented when HAVE_LIBDL is not defined,
+for obvious reasons.
+
+It turns out that zend_load_extension_handle() anyway doesn't do
+anything when ZEND_EXTENSIONS_SUPPORT is defined to 0, and
+ZEND_EXTENSIONS_SUPPORT is not defined when HAVE_LIBDL is not defined
+(Zend/zend_portability.h).
+
+Fixes the following build failure when building on a system that
+doesn't have libdl:
+
+main/php_ini.o: In function `php_load_zend_extension_cb':
+php_ini.c:(.text+0x478): undefined reference to `php_load_shlib'
+php_ini.c:(.text+0x4b0): undefined reference to `php_load_shlib'
+collect2: error: ld returned 1 exit status
+
+Upstream-Status: Backport [http://git.php.net/?p=php-src.git;a=commit;h=2842aa2a078eb1cad55540b61e7edf111395150d]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ main/php_ini.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/main/php_ini.c b/main/php_ini.c
+index ba58eb1..fca263e 100644
+--- a/main/php_ini.c
++++ b/main/php_ini.c
+@@ -350,6 +350,7 @@ static void php_load_php_extension_cb(void *arg)
+ 
+ /* {{{ php_load_zend_extension_cb
+  */
++#ifdef HAVE_LIBDL
+ static void php_load_zend_extension_cb(void *arg)
+ {
+ 	char *filename = *((char **) arg);
+@@ -409,6 +410,9 @@ static void php_load_zend_extension_cb(void *arg)
+ 		efree(libpath);
+ 	}
+ }
++#else
++static void php_load_zend_extension_cb(void *arg) { }
++#endif
+ /* }}} */
+ 
+ /* {{{ php_init_config
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
new file mode 100644
index 0000000..0d24d34
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
@@ -0,0 +1,385 @@
+From b2fb725dc404d471371731b663234e87cb0fca84 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Mon, 2 Apr 2018 17:54:52 +0800
+Subject: [PATCH] opcache/config.m4: enable opcache
+
+We can't use AC_TRY_RUN to run programs in a cross compile environment. Set
+the variables directly instead since we know that we'd be running on latest
+enough linux kernel.
+
+Upstream-Status: Inappropriate [Configuration]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ ext/opcache/config.m4 | 349 ++------------------------------------------------
+ 1 file changed, 8 insertions(+), 341 deletions(-)
+
+diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
+index 7b500f0..10bb99a 100644
+--- a/ext/opcache/config.m4
++++ b/ext/opcache/config.m4
+@@ -28,353 +28,20 @@ if test "$PHP_OPCACHE" != "no"; then
+ 
+   AC_CHECK_HEADERS([unistd.h sys/uio.h])
+ 
+-  AC_MSG_CHECKING(for sysvipc shared memory support)
+-  AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/ipc.h>
+-#include <sys/shm.h>
+-#include <unistd.h>
+-#include <string.h>
++  AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
+ 
+-int main() {
+-  pid_t pid;
+-  int status;
+-  int ipc_id;
+-  char *shm;
+-  struct shmid_ds shmbuf;
++  AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
+ 
+-  ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W));
+-  if (ipc_id == -1) {
+-    return 1;
+-  }
++  AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
+ 
+-  shm = shmat(ipc_id, NULL, 0);
+-  if (shm == (void *)-1) {
+-    shmctl(ipc_id, IPC_RMID, NULL);
+-    return 2;
+-  }
+-
+-  if (shmctl(ipc_id, IPC_STAT, &shmbuf) != 0) {
+-    shmdt(shm);
+-    shmctl(ipc_id, IPC_RMID, NULL);
+-    return 3;
+-  }
+-
+-  shmbuf.shm_perm.uid = getuid();
+-  shmbuf.shm_perm.gid = getgid();
+-  shmbuf.shm_perm.mode = 0600;
+-
+-  if (shmctl(ipc_id, IPC_SET, &shmbuf) != 0) {
+-    shmdt(shm);
+-    shmctl(ipc_id, IPC_RMID, NULL);
+-    return 4;
+-  }
+-
+-  shmctl(ipc_id, IPC_RMID, NULL);
+-
+-  strcpy(shm, "hello");
+-
+-  pid = fork();
+-  if (pid < 0) {
+-    return 5;
+-  } else if (pid == 0) {
+-    strcpy(shm, "bye");
+-    return 6;
+-  }
+-  if (wait(&status) != pid) {
+-    return 7;
+-  }
+-  if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+-    return 8;
+-  }
+-  if (strcmp(shm, "bye") != 0) {
+-    return 9;
+-  }
+-  return 0;
+-}
+-],dnl
+-    AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
+-    msg=yes,msg=no,msg=no)
+-  AC_MSG_RESULT([$msg])
+-
+-  AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support)
+-  AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/mman.h>
+-#include <unistd.h>
+-#include <string.h>
+-
+-#ifndef MAP_ANON
+-# ifdef MAP_ANONYMOUS
+-#  define MAP_ANON MAP_ANONYMOUS
+-# endif
+-#endif
+-#ifndef MAP_FAILED
+-# define MAP_FAILED ((void*)-1)
+-#endif
+-
+-int main() {
+-  pid_t pid;
+-  int status;
+-  char *shm;
+-
+-  shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+-  if (shm == MAP_FAILED) {
+-    return 1;
+-  }
+-
+-  strcpy(shm, "hello");
+-
+-  pid = fork();
+-  if (pid < 0) {
+-    return 5;
+-  } else if (pid == 0) {
+-    strcpy(shm, "bye");
+-    return 6;
+-  }
+-  if (wait(&status) != pid) {
+-    return 7;
+-  }
+-  if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+-    return 8;
+-  }
+-  if (strcmp(shm, "bye") != 0) {
+-    return 9;
+-  }
+-  return 0;
+-}
+-],dnl
+-    AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
+-    msg=yes,msg=no,msg=no)
+-  AC_MSG_RESULT([$msg])
+-
+-  AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support)
+-  AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/mman.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <string.h>
+-
+-#ifndef MAP_FAILED
+-# define MAP_FAILED ((void*)-1)
+-#endif
+-
+-int main() {
+-  pid_t pid;
+-  int status;
+-  int fd;
+-  char *shm;
+-
+-  fd = open("/dev/zero", O_RDWR, S_IRUSR | S_IWUSR);
+-  if (fd == -1) {
+-    return 1;
+-  }
+-
+-  shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+-  if (shm == MAP_FAILED) {
+-    return 2;
+-  }
+-
+-  strcpy(shm, "hello");
+-
+-  pid = fork();
+-  if (pid < 0) {
+-    return 5;
+-  } else if (pid == 0) {
+-    strcpy(shm, "bye");
+-    return 6;
+-  }
+-  if (wait(&status) != pid) {
+-    return 7;
+-  }
+-  if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+-    return 8;
+-  }
+-  if (strcmp(shm, "bye") != 0) {
+-    return 9;
+-  }
+-  return 0;
+-}
+-],dnl
+-    AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
+-    msg=yes,msg=no,msg=no)
+-  AC_MSG_RESULT([$msg])
+-
+-  AC_MSG_CHECKING(for mmap() using shm_open() shared memory support)
+-  AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/mman.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <string.h>
+-#include <stdlib.h>
+-#include <stdio.h>
+-
+-#ifndef MAP_FAILED
+-# define MAP_FAILED ((void*)-1)
+-#endif
+-
+-int main() {
+-  pid_t pid;
+-  int status;
+-  int fd;
+-  char *shm;
+-  char tmpname[4096];
+-
+-  sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
+-  if (mktemp(tmpname) == NULL) {
+-    return 1;
+-  }
+-  fd = shm_open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+-  if (fd == -1) {
+-    return 2;
+-  }
+-  if (ftruncate(fd, 4096) < 0) {
+-    close(fd);
+-    shm_unlink(tmpname);
+-    return 3;
+-  }
+-
+-  shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+-  if (shm == MAP_FAILED) {
+-    return 4;
+-  }
+-  shm_unlink(tmpname);
+-  close(fd);
+-
+-  strcpy(shm, "hello");
+-
+-  pid = fork();
+-  if (pid < 0) {
+-    return 5;
+-  } else if (pid == 0) {
+-    strcpy(shm, "bye");
+-    return 6;
+-  }
+-  if (wait(&status) != pid) {
+-    return 7;
+-  }
+-  if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+-    return 8;
+-  }
+-  if (strcmp(shm, "bye") != 0) {
+-    return 9;
+-  }
+-  return 0;
+-}
+-],dnl
+-    AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
+-    msg=yes,msg=no,msg=no)
+-  AC_MSG_RESULT([$msg])
++  AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
+ 
+   AC_MSG_CHECKING(for mmap() using regular file shared memory support)
+-  AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/mman.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <string.h>
+-#include <stdlib.h>
+-#include <stdio.h>
+-
+-#ifndef MAP_FAILED
+-# define MAP_FAILED ((void*)-1)
+-#endif
+-
+-int main() {
+-  pid_t pid;
+-  int status;
+-  int fd;
+-  char *shm;
+-  char tmpname[4096];
+-
+-  sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
+-  if (mktemp(tmpname) == NULL) {
+-    return 1;
+-  }
+-  fd = open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+-  if (fd == -1) {
+-    return 2;
+-  }
+-  if (ftruncate(fd, 4096) < 0) {
+-    close(fd);
+-    unlink(tmpname);
+-    return 3;
+-  }
+-
+-  shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+-  if (shm == MAP_FAILED) {
+-    return 4;
+-  }
+-  unlink(tmpname);
+-  close(fd);
+-
+-  strcpy(shm, "hello");
+-
+-  pid = fork();
+-  if (pid < 0) {
+-    return 5;
+-  } else if (pid == 0) {
+-    strcpy(shm, "bye");
+-    return 6;
+-  }
+-  if (wait(&status) != pid) {
+-    return 7;
+-  }
+-  if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+-    return 8;
+-  }
+-  if (strcmp(shm, "bye") != 0) {
+-    return 9;
+-  }
+-  return 0;
+-}
+-],dnl
+-    AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
+-    msg=yes,msg=no,msg=no)
+-  AC_MSG_RESULT([$msg])
+-
+-flock_type=unknown
+-AC_MSG_CHECKING("whether flock struct is linux ordered")
+-AC_TRY_RUN([
+-  #include <fcntl.h>
+-  struct flock lock = { 1, 2, 3, 4, 5 };
+-  int main() { 
+-    if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) {
+-		return 0;
+-    }
+-    return 1;
+-  } 
+-], [
+-	flock_type=linux
+-    AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
+-    AC_MSG_RESULT("yes")
+-], AC_MSG_RESULT("no") )
++  
++  AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
+ 
+-AC_MSG_CHECKING("whether flock struct is BSD ordered")
+-AC_TRY_RUN([
+-  #include <fcntl.h>
+-  struct flock lock = { 1, 2, 3, 4, 5 };
+-  int main() { 
+-    if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) {
+-		return 0;
+-    }
+-    return 1;
+-  } 
+-], [
+-	flock_type=bsd
+-    AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) 
+-    AC_MSG_RESULT("yes")
+-], AC_MSG_RESULT("no") )
++  flock_type=linux
++  AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
+ 
+ if test "$flock_type" = "unknown"; then
+ 	AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
new file mode 100644
index 0000000..3e90184
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
@@ -0,0 +1,61 @@
+From 3bfcc7fdd22261eaed10949714de0a90d31e10ab Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Thu, 20 Aug 2015 16:29:35 +0800
+Subject: [PATCH] [PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK
+
+Upstream-Status: Pending
+
+AC_TRY_RUN is not suitable for cross-compile
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
+%% original patch: change-AC_TRY_RUN-to-AC_TRY_LINK.patch
+---
+ ext/fileinfo/config.m4 | 31 ++++++-------------------------
+ 1 file changed, 6 insertions(+), 25 deletions(-)
+
+diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4
+index 523b4fd..0aaa4c8 100644
+--- a/ext/fileinfo/config.m4
++++ b/ext/fileinfo/config.m4
+@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then
+     libmagic/readcdf.c libmagic/softmagic.c libmagic/der.c"
+ 
+   AC_MSG_CHECKING([for strcasestr])
+-  AC_TRY_RUN([
+-#include <string.h>
+-#include <strings.h>
+-#include <stdlib.h>
+-
+-int main(void)
+-{
+-        char *s0, *s1, *ret;
+-
+-        s0 = (char *) malloc(42);
+-        s1 = (char *) malloc(8);
+-
+-        memset(s0, 'X', 42);
+-        s0[24] = 'Y';
+-        s0[26] = 'Z';
+-        s0[41] = '\0';
+-        memset(s1, 'x', 8);
+-        s1[0] = 'y';
+-        s1[2] = 'Z';
+-        s1[7] = '\0';
+-
+-        ret = strcasestr(s0, s1);
+-
+-        return !(NULL != ret);
+-}
++  AC_TRY_COMPILE([
++     #include <string.h>
++     #include <strings.h>
++     #include <stdlib.h>
++  ],[
++     strcasestr(NULL, NULL);
+   ],[
+     dnl using the platform implementation
+     AC_MSG_RESULT(yes)
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/configure.patch
deleted file mode 100644
index c5334c7..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/configure.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- php-5.1.6/configure.old	2006-09-12 07:54:14.000000000 -0700
-+++ php-5.1.6/configure	2006-09-12 07:54:37.000000000 -0700
-@@ -14715,8 +14715,6 @@
- 
- 
- 
--  unset ac_cv_func_dlopen
--  unset ac_cv_func___dlopen
-   unset found
-   
-   echo $ac_n "checking for dlopen""... $ac_c" 1>&6
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
index 255fbb0..b6e3ceb 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
@@ -1,10 +1,18 @@
-Upstream-status: Unknown
+From 17cc5645f3acf943a5a06465d09d0ebcfea987bd Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 2 Nov 2011 16:54:57 +0100
+Subject: [PATCH] Upstream-status: Unknown
+
+---
+ acinclude.m4        | 3 ++-
+ ext/iconv/config.m4 | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/acinclude.m4 b/acinclude.m4
-index a6c0d84..df11abd 100644
+index d32766a..ad5166e 100644
 --- a/acinclude.m4
 +++ b/acinclude.m4
-@@ -2452,7 +2452,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
+@@ -2445,7 +2445,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
    dnl Check libc first if no path is provided in --with-iconv
    dnl
  
@@ -15,7 +23,7 @@
      dnl -liconv in.
      LIBS_save="$LIBS"
 diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
-index d673b0a..1fbef13 100644
+index 6a05697..973e750 100644
 --- a/ext/iconv/config.m4
 +++ b/ext/iconv/config.m4
 @@ -15,7 +15,7 @@ if test "$PHP_ICONV" != "no"; then
@@ -27,6 +35,3 @@
          if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then
            PHP_ICONV_PREFIX="$i"
            break
--- 
-1.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
index da04c2d..b5fb7d4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
@@ -1,10 +1,18 @@
-Upstream-status: Unknown
+From c084c8349d1780980e232cb28b60a109e3d89438 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 2 Nov 2011 16:54:57 +0100
+Subject: [PATCH] Upstream-status: Unknown
+
+---
+ acinclude.m4       |  2 +-
+ ext/imap/config.m4 | 10 ++--------
+ 2 files changed, 3 insertions(+), 9 deletions(-)
 
 diff --git a/acinclude.m4 b/acinclude.m4
-index df11abd..06e7236 100644
+index ad5166e..f6a55ec 100644
 --- a/acinclude.m4
 +++ b/acinclude.m4
-@@ -2357,7 +2357,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
+@@ -2350,7 +2350,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
        PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
      fi
  
@@ -14,7 +22,7 @@
          OPENSSL_INCDIR=$i/include
        fi
 diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
-index 3fcf674..f08caf7 100644
+index badb6e2..8ff803c 100644
 --- a/ext/imap/config.m4
 +++ b/ext/imap/config.m4
 @@ -109,7 +109,7 @@ if test "$PHP_IMAP" != "no"; then
@@ -41,6 +49,3 @@
        IMAP_LIB=$lib
        IMAP_LIB_CHK($PHP_LIBDIR)
        IMAP_LIB_CHK(c-client)
--- 
-1.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pear-makefile.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pear-makefile.patch
index 9927d2d..4bc1025 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pear-makefile.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pear-makefile.patch
@@ -1,11 +1,18 @@
-Upstream-status: Unknown
+From edd575a546d56bb5683aff19782b16963d61fd0b Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 2 Nov 2011 16:54:57 +0100
+Subject: [PATCH] Upstream-status: Unknown
+
+---
+ pear/Makefile.frag | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/pear/Makefile.frag b/pear/Makefile.frag
-index 00bacae..739eeca 100644
+index bbe8ec3..16f43e2 100644
 --- a/pear/Makefile.frag
 +++ b/pear/Makefile.frag
-@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix}
- PEAR_SUFFIX = -ds a$(program_suffix)
+@@ -12,7 +12,7 @@ PEAR_SUFFIX = -ds a$(program_suffix)
+ PEAR_INSTALLER_URL = https://pear.php.net/install-pear-nozlib.phar
  
  install-pear-installer: $(SAPI_CLI_PATH)
 -	@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
@@ -13,6 +20,3 @@
  
  install-pear:
  	@echo "Installing PEAR environment:      $(INSTALL_ROOT)$(peardir)/"
--- 
-1.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
index 2f7fe34..336cf0d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
@@ -1,17 +1,24 @@
-Fix phar packaging
+From 08962a56f69963e01892d98ca5b75de8354bd3f5 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 2 Nov 2011 16:54:57 +0100
+Subject: [PATCH] Fix phar packaging
 
 Inherited from OE-Classic, with some additions to fix host paths leaking
 into the target package.
 
 Upstream-Status: Inappropriate [config]
 
+---
+ ext/phar/Makefile.frag | 17 +++--------------
+ 1 file changed, 3 insertions(+), 14 deletions(-)
+
 diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
-index 6516ddf..36e6cf4 100644
+index 0e3713f..22f7898 100644
 --- a/ext/phar/Makefile.frag
 +++ b/ext/phar/Makefile.frag
-@@ -5,20 +5,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
+@@ -10,20 +10,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
  
- PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
+ PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
  PHP_PHARCMD_EXECUTABLE = ` \
 -	if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
 -		$(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch
new file mode 100644
index 0000000..7be67ea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch
@@ -0,0 +1,387 @@
+From fafcfac0933c17e1bf551600080eb0541186caf5 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Mon, 2 Apr 2018 17:54:52 +0800
+Subject: [PATCH] opcache/config.m4: enable opcache
+
+We can't use AC_TRY_RUN to run programs in a cross compile environment. Set
+the variables directly instead since we know that we'd be running on latest
+enough linux kernel.
+
+Upstream-Status: Inappropriate [Configuration]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+%% original patch: php5-0001-opcache-config.m4-enable-opcache.patch
+---
+ ext/opcache/config.m4 | 349 ++------------------------------------------------
+ 1 file changed, 8 insertions(+), 341 deletions(-)
+
+diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
+index 5a8b86c..6e87fa5 100644
+--- a/ext/opcache/config.m4
++++ b/ext/opcache/config.m4
+@@ -11,353 +11,20 @@ if test "$PHP_OPCACHE" != "no"; then
+     AC_DEFINE(HAVE_MPROTECT, 1, [Define if you have mprotect() function])
+   ])
+ 
+-  AC_MSG_CHECKING(for sysvipc shared memory support)
+-  AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/ipc.h>
+-#include <sys/shm.h>
+-#include <unistd.h>
+-#include <string.h>
++  AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
+ 
+-int main() {
+-  pid_t pid;
+-  int status;
+-  int ipc_id;
+-  char *shm;
+-  struct shmid_ds shmbuf;
++  AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
+ 
+-  ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W));
+-  if (ipc_id == -1) {
+-    return 1;
+-  }
++  AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
+ 
+-  shm = shmat(ipc_id, NULL, 0);
+-  if (shm == (void *)-1) {
+-    shmctl(ipc_id, IPC_RMID, NULL);
+-    return 2;
+-  }
+-
+-  if (shmctl(ipc_id, IPC_STAT, &shmbuf) != 0) {
+-    shmdt(shm);
+-    shmctl(ipc_id, IPC_RMID, NULL);
+-    return 3;
+-  }
+-
+-  shmbuf.shm_perm.uid = getuid();
+-  shmbuf.shm_perm.gid = getgid();
+-  shmbuf.shm_perm.mode = 0600;
+-
+-  if (shmctl(ipc_id, IPC_SET, &shmbuf) != 0) {
+-    shmdt(shm);
+-    shmctl(ipc_id, IPC_RMID, NULL);
+-    return 4;
+-  }
+-
+-  shmctl(ipc_id, IPC_RMID, NULL);
+-
+-  strcpy(shm, "hello");
+-
+-  pid = fork();
+-  if (pid < 0) {
+-    return 5;
+-  } else if (pid == 0) {
+-    strcpy(shm, "bye");
+-    return 6;
+-  }
+-  if (wait(&status) != pid) {
+-    return 7;
+-  }
+-  if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+-    return 8;
+-  }
+-  if (strcmp(shm, "bye") != 0) {
+-    return 9;
+-  }
+-  return 0;
+-}
+-],dnl
+-    AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
+-    msg=yes,msg=no,msg=no)
+-  AC_MSG_RESULT([$msg])
+-
+-  AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support)
+-  AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/mman.h>
+-#include <unistd.h>
+-#include <string.h>
+-
+-#ifndef MAP_ANON
+-# ifdef MAP_ANONYMOUS
+-#  define MAP_ANON MAP_ANONYMOUS
+-# endif
+-#endif
+-#ifndef MAP_FAILED
+-# define MAP_FAILED ((void*)-1)
+-#endif
+-
+-int main() {
+-  pid_t pid;
+-  int status;
+-  char *shm;
+-
+-  shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+-  if (shm == MAP_FAILED) {
+-    return 1;
+-  }
+-
+-  strcpy(shm, "hello");
+-
+-  pid = fork();
+-  if (pid < 0) {
+-    return 5;
+-  } else if (pid == 0) {
+-    strcpy(shm, "bye");
+-    return 6;
+-  }
+-  if (wait(&status) != pid) {
+-    return 7;
+-  }
+-  if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+-    return 8;
+-  }
+-  if (strcmp(shm, "bye") != 0) {
+-    return 9;
+-  }
+-  return 0;
+-}
+-],dnl
+-    AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
+-    msg=yes,msg=no,msg=no)
+-  AC_MSG_RESULT([$msg])
+-
+-  AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support)
+-  AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/mman.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <string.h>
+-
+-#ifndef MAP_FAILED
+-# define MAP_FAILED ((void*)-1)
+-#endif
+-
+-int main() {
+-  pid_t pid;
+-  int status;
+-  int fd;
+-  char *shm;
+-
+-  fd = open("/dev/zero", O_RDWR, S_IRUSR | S_IWUSR);
+-  if (fd == -1) {
+-    return 1;
+-  }
+-
+-  shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+-  if (shm == MAP_FAILED) {
+-    return 2;
+-  }
+-
+-  strcpy(shm, "hello");
+-
+-  pid = fork();
+-  if (pid < 0) {
+-    return 5;
+-  } else if (pid == 0) {
+-    strcpy(shm, "bye");
+-    return 6;
+-  }
+-  if (wait(&status) != pid) {
+-    return 7;
+-  }
+-  if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+-    return 8;
+-  }
+-  if (strcmp(shm, "bye") != 0) {
+-    return 9;
+-  }
+-  return 0;
+-}
+-],dnl
+-    AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
+-    msg=yes,msg=no,msg=no)
+-  AC_MSG_RESULT([$msg])
+-
+-  AC_MSG_CHECKING(for mmap() using shm_open() shared memory support)
+-  AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/mman.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <string.h>
+-#include <stdlib.h>
+-#include <stdio.h>
+-
+-#ifndef MAP_FAILED
+-# define MAP_FAILED ((void*)-1)
+-#endif
+-
+-int main() {
+-  pid_t pid;
+-  int status;
+-  int fd;
+-  char *shm;
+-  char tmpname[4096];
+-
+-  sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
+-  if (mktemp(tmpname) == NULL) {
+-    return 1;
+-  }
+-  fd = shm_open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+-  if (fd == -1) {
+-    return 2;
+-  }
+-  if (ftruncate(fd, 4096) < 0) {
+-    close(fd);
+-    shm_unlink(tmpname);
+-    return 3;
+-  }
+-
+-  shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+-  if (shm == MAP_FAILED) {
+-    return 4;
+-  }
+-  shm_unlink(tmpname);
+-  close(fd);
+-
+-  strcpy(shm, "hello");
+-
+-  pid = fork();
+-  if (pid < 0) {
+-    return 5;
+-  } else if (pid == 0) {
+-    strcpy(shm, "bye");
+-    return 6;
+-  }
+-  if (wait(&status) != pid) {
+-    return 7;
+-  }
+-  if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+-    return 8;
+-  }
+-  if (strcmp(shm, "bye") != 0) {
+-    return 9;
+-  }
+-  return 0;
+-}
+-],dnl
+-    AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
+-    msg=yes,msg=no,msg=no)
+-  AC_MSG_RESULT([$msg])
++  AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
+ 
+   AC_MSG_CHECKING(for mmap() using regular file shared memory support)
+-  AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/mman.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <string.h>
+-#include <stdlib.h>
+-#include <stdio.h>
+-
+-#ifndef MAP_FAILED
+-# define MAP_FAILED ((void*)-1)
+-#endif
+-
+-int main() {
+-  pid_t pid;
+-  int status;
+-  int fd;
+-  char *shm;
+-  char tmpname[4096];
+-
+-  sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
+-  if (mktemp(tmpname) == NULL) {
+-    return 1;
+-  }
+-  fd = open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+-  if (fd == -1) {
+-    return 2;
+-  }
+-  if (ftruncate(fd, 4096) < 0) {
+-    close(fd);
+-    unlink(tmpname);
+-    return 3;
+-  }
+-
+-  shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+-  if (shm == MAP_FAILED) {
+-    return 4;
+-  }
+-  unlink(tmpname);
+-  close(fd);
+-
+-  strcpy(shm, "hello");
+-
+-  pid = fork();
+-  if (pid < 0) {
+-    return 5;
+-  } else if (pid == 0) {
+-    strcpy(shm, "bye");
+-    return 6;
+-  }
+-  if (wait(&status) != pid) {
+-    return 7;
+-  }
+-  if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+-    return 8;
+-  }
+-  if (strcmp(shm, "bye") != 0) {
+-    return 9;
+-  }
+-  return 0;
+-}
+-],dnl
+-    AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
+-    msg=yes,msg=no,msg=no)
+-  AC_MSG_RESULT([$msg])
+-
+-flock_type=unknown
+-AC_MSG_CHECKING("whether flock struct is linux ordered")
+-AC_TRY_RUN([
+-  #include <fcntl.h>
+-  struct flock lock = { 1, 2, 3, 4, 5 };
+-  int main() { 
+-    if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) {
+-		return 0;
+-    }
+-    return 1;
+-  } 
+-], [
+-	flock_type=linux
+-    AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
+-    AC_MSG_RESULT("yes")
+-], AC_MSG_RESULT("no") )
++  
++  AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
+ 
+-AC_MSG_CHECKING("whether flock struct is BSD ordered")
+-AC_TRY_RUN([
+-  #include <fcntl.h>
+-  struct flock lock = { 1, 2, 3, 4, 5 };
+-  int main() { 
+-    if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) {
+-		return 0;
+-    }
+-    return 1;
+-  } 
+-], [
+-	flock_type=bsd
+-    AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) 
+-    AC_MSG_RESULT("yes")
+-], AC_MSG_RESULT("no") )
++  flock_type=linux
++  AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
+ 
+ if test "$flock_type" = "unknown"; then
+ 	AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch
new file mode 100644
index 0000000..1d21f8c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch
@@ -0,0 +1,63 @@
+From 5f49987e88dfcbdb84be6e0c9025432fbd998709 Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Thu, 20 Aug 2015 16:29:35 +0800
+Subject: [PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK
+
+Upstream-Status: Pending
+
+AC_TRY_RUN is not suitable for cross-compile
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
+%% original patch: change-AC_TRY_RUN-to-AC_TRY_LINK.patch
+
+%% original patch: php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch
+---
+ ext/fileinfo/config.m4 | 31 ++++++-------------------------
+ 1 file changed, 6 insertions(+), 25 deletions(-)
+
+diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4
+index 7e98d62..8a8ea0e 100644
+--- a/ext/fileinfo/config.m4
++++ b/ext/fileinfo/config.m4
+@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then
+     libmagic/readcdf.c libmagic/softmagic.c"
+ 
+   AC_MSG_CHECKING([for strcasestr])
+-  AC_TRY_RUN([
+-#include <string.h>
+-#include <strings.h>
+-#include <stdlib.h>
+-
+-int main(void)
+-{
+-        char *s0, *s1, *ret;
+-
+-        s0 = (char *) malloc(42);
+-        s1 = (char *) malloc(8);
+-
+-        memset(s0, 'X', 42);
+-        s0[24] = 'Y';
+-        s0[26] = 'Z';
+-        s0[41] = '\0';
+-        memset(s1, 'x', 8);
+-        s1[0] = 'y';
+-        s1[2] = 'Z';
+-        s1[7] = '\0';
+-
+-        ret = strcasestr(s0, s1);
+-
+-        return !(NULL != ret);
+-}
++  AC_TRY_COMPILE([
++     #include <string.h>
++     #include <strings.h>
++     #include <stdlib.h>
++  ],[
++     strcasestr(NULL, NULL);
+   ],[
+     dnl using the platform implementation
+     AC_MSG_RESULT(yes)
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch
new file mode 100644
index 0000000..cff6426
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch
@@ -0,0 +1,26 @@
+From 79725e82d5981fc94eb657f0f46a499dbfc1cc40 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 2 Nov 2011 16:54:57 +0100
+Subject: [PATCH] Upstream-status: Unknown
+
+%% original patch: php5-pear-makefile.patch
+---
+ pear/Makefile.frag | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pear/Makefile.frag b/pear/Makefile.frag
+index 00bacae..739eeca 100644
+--- a/pear/Makefile.frag
++++ b/pear/Makefile.frag
+@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix}
+ PEAR_SUFFIX = -ds a$(program_suffix)
+ 
+ install-pear-installer: $(SAPI_CLI_PATH)
+-	@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
++	@$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
+ 
+ install-pear:
+ 	@echo "Installing PEAR environment:      $(INSTALL_ROOT)$(peardir)/"
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch
new file mode 100644
index 0000000..4e1efd4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch
@@ -0,0 +1,46 @@
+From 3ea626a8d081f56b01004b7992534d4e6b81a9cc Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 2 Nov 2011 16:54:57 +0100
+Subject: [PATCH] Fix phar packaging
+
+Inherited from OE-Classic, with some additions to fix host paths leaking
+into the target package.
+
+Upstream-Status: Inappropriate [config]
+
+%% original patch: php5-phar-makefile.patch
+---
+ ext/phar/Makefile.frag | 17 +++--------------
+ 1 file changed, 3 insertions(+), 14 deletions(-)
+
+diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
+index b8b1b42..1005b2d 100644
+--- a/ext/phar/Makefile.frag
++++ b/ext/phar/Makefile.frag
+@@ -5,20 +5,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
+ 
+ PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
+ PHP_PHARCMD_EXECUTABLE = ` \
+-	if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
+-		$(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
+-		if test "x$(PHP_MODULES)" != "x"; then \
+-		$(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
+-		for i in bz2 zlib phar; do \
+-			if test -f "$(top_builddir)/modules/$$i.la"; then \
+-				. $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
+-			fi; \
+-		done; \
+-		fi; \
+-	else \
+-		$(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
+-	fi;`
+-PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
++		$(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
++
++PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
+ 
+ $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
+ 	-@test -d $(builddir)/phar || mkdir $(builddir)/phar
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
index 0506bdd..6af0dc8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
@@ -1,10 +1,17 @@
-Upstream-status: Inappriate
+From d251b5aa3d23803d016ca16818e2e1d2f2b70a02 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed, 2 Nov 2011 16:54:57 +0100
+Subject: [PATCH] Upstream-status: Inappriate
+
+---
+ sapi/cli/config.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
-index cdfa1f7..0fe11e3 100644
+index 2168151..20a81db 100644
 --- a/sapi/cli/config.m4
 +++ b/sapi/cli/config.m4
-@@ -36,7 +36,7 @@ if test "$PHP_CLI" != "no"; then
+@@ -50,7 +50,7 @@ if test "$PHP_CLI" != "no"; then
    esac
  
    dnl Set executable for tests
@@ -13,6 +20,3 @@
    PHP_SUBST(PHP_EXECUTABLE)
  
    dnl Expose to Makefile
--- 
-1.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.31.bb
deleted file mode 100644
index dd8047b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.31.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
-
-SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
-            file://pthread-check-threads-m4.patch \
-            file://0001-Add-lpthread-to-link.patch \
-           "
-SRC_URI[md5sum] = "620abe25e0d6cd5f041a360a30ce5783"
-SRC_URI[sha256sum] = "8f397169cb65f0539f3bcb04060f97770d73e19074a37bd2c58b98ebf6ecb10f"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.35.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.35.bb
new file mode 100644
index 0000000..c17c0d6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.35.bb
@@ -0,0 +1,23 @@
+require php.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
+
+SRC_URI += "file://php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
+            file://pthread-check-threads-m4.patch \
+            file://0001-Add-lpthread-to-link.patch \
+            file://acinclude-xml2-config.patch \
+            file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \
+            "
+
+SRC_URI_append_class-target = " \
+                                file://php5-pear-makefile.patch \
+                                file://php5-phar-makefile.patch \
+                                file://php5-0001-opcache-config.m4-enable-opcache.patch \
+                                "
+
+SRC_URI[md5sum] = "905ae5f586351f3ca29d044c9484d475"
+SRC_URI[sha256sum] = "ee78a7e9ca21d8ea394d037c55effff477a49dbae31c7753c547036f5bd73b92"
+
+DEPENDS += "libmcrypt"
+EXTRA_OECONF += "--with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
+                 " 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.9.bb
deleted file mode 100644
index acf68a0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.1.9.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c0af599f66d0461c5837c695fcbc5c1e"
-
-SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
-            file://0001-Specify-tag-with-libtool.patch \
-            file://CVE-2017-16642.patch \
-           "
-SRC_URI[md5sum] = "2397be54f3281cdf30c7ef076b28f7d0"
-SRC_URI[sha256sum] = "314dcc10dfdd7c4443edb4fe1e133a44f2b2a8351be8c9eb6ab9222d45fd9bae"
-
-PACKAGECONFIG[mysql] = "--with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
-                        --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
-                        ,--without-mysqli --without-pdo-mysql \
-                        ,mysql5"
-
-FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.4.bb
new file mode 100644
index 0000000..2fd1e66
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_7.2.4.bb
@@ -0,0 +1,24 @@
+require php.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=67e369bc8d1f2e641236b8002039a6a2"
+
+SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
+            file://0001-acinclude.m4-skip-binconfig-check-for-libxml.patch \
+            file://0001-main-php_ini.c-build-empty-php_load_zend_extension_c.patch \
+            file://0001-fix-error-caused-by-a-new-variable-is-declared-after.patch \
+           "
+SRC_URI_append_class-target = " \
+                                file://pear-makefile.patch \
+                                file://phar-makefile.patch \
+                                file://0001-opcache-config.m4-enable-opcache.patch \
+                                "
+
+SRC_URI[md5sum] = "864c64ffd2f1686b035ef8ce6a6d8478"
+SRC_URI[sha256sum] = "11658a0d764dc94023b9fb60d4b5eb75d438ad17981efe70abb0d0d09a447ef3"
+
+PACKAGECONFIG[mysql] = "--with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
+                        --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
+                        ,--without-mysqli --without-pdo-mysql \
+                        ,mysql5"
+
+FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest
new file mode 100644
index 0000000..7c3a8d1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/run-ptest
@@ -0,0 +1,38 @@
+#!/bin/bash
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+TEST_FILE="/tmp/test.data"
+
+RETVAL=0
+# Test every writing test application
+for write_exe_full_path in ${DIR}/add_person_*; do
+	if [ -x "${write_exe_full_path}" ]; then
+		write_exe=`basename ${write_exe_full_path}`
+		echo "Generating new test file using ${write_exe}..."
+		${write_exe_full_path} "${TEST_FILE}"
+		RETVAL=$?
+		[ $RETVAL -eq 0 ] || exit $RETVAL
+
+		# Test every reading test application
+		for read_exe_full_path in ${DIR}/list_people_*; do
+			read_exe=`basename ${read_exe_full_path}`
+			echo "Test: Write with ${write_exe}; Read with ${read_exe}..."
+			if [ -x "${read_exe_full_path}" ]; then
+				${read_exe_full_path} "${TEST_FILE}"
+				RETVAL=$?
+				[ $RETVAL -eq 0 ] || exit $RETVAL
+			fi
+		done
+
+		# Cleanup...
+		if [ -e "${TEST_FILE}" ]; then
+			rm "${TEST_FILE}"
+		fi
+	fi
+done
+
+if [ $RETVAL -eq 0 ] ; then
+    echo "PASS: protobuf"
+else
+    echo "FAIL: protobuf"
+fi
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb
deleted file mode 100644
index fae7c18..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
-DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
-efficient yet extensible format. Google uses Protocol Buffers for almost \
-all of its internal RPC protocols and file formats."
-HOMEPAGE = "https://github.com/google/protobuf"
-SECTION = "console/tools"
-LICENSE = "BSD-3-Clause"
-
-PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite"
-
-DEPENDS = "zlib"
-RDEPENDS_${PN}-compiler = "${PN}"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=35953c752efc9299b184f91bef540095"
-
-SRCREV = "b04e5cba356212e4e8c66c61bbe0c3a20537c5b9"
-
-PV = "3.4.1+git${SRCPV}"
-
-SRC_URI = "git://github.com/google/protobuf.git;branch=3.4.x"
-
-EXTRA_OECONF += " --with-protoc=echo"
-
-inherit autotools-brokensep
-
-S = "${WORKDIR}/git"
-
-FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
-FILES_${PN}-lite = "${bindir} ${libdir}/libprotobuf-lite${SOLIBS}"
-
-MIPS_INSTRUCTION_SET = "mips"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb
new file mode 100644
index 0000000..1ffb79d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.5.1.bb
@@ -0,0 +1,84 @@
+SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
+DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
+efficient yet extensible format. Google uses Protocol Buffers for almost \
+all of its internal RPC protocols and file formats."
+HOMEPAGE = "https://github.com/google/protobuf"
+SECTION = "console/tools"
+LICENSE = "BSD-3-Clause"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite"
+
+DEPENDS = "zlib"
+DEPENDS_append_class-target  = " protobuf-native"
+RDEPENDS_${PN}-compiler = "${PN}"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+RDEPENDS_${PN}-ptest = "bash python-protobuf"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=35953c752efc9299b184f91bef540095"
+
+SRCREV = "106ffc04be1abf3ff3399f54ccf149815b287dd9"
+
+PV = "3.5.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/google/protobuf.git;branch=3.5.x \
+	   file://run-ptest \
+          "
+
+EXTRA_OECONF += " --with-protoc=echo"
+
+inherit autotools-brokensep pkgconfig ptest
+
+S = "${WORKDIR}/git"
+TEST_SRC_DIR="examples"
+LANG_SUPPORT="cpp python"
+
+do_compile_ptest() {
+	# Modify makefile to use the cross-compiler
+	sed -e "s|c++|${CXX} \$(LDFLAGS)|g" -i "${S}/${TEST_SRC_DIR}/Makefile"
+
+	mkdir -p "${B}/${TEST_SRC_DIR}"
+
+	# Add the location of the cross-compiled header and library files
+	# which haven't been installed yet.
+	cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
+	sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+	sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+	sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+	export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
+
+	# Save the pkgcfg sysroot variable, and update it to nothing so
+	# that it doesn't append the sysroot to the beginning of paths.
+	# The header and library files aren't installed to the target
+	# system yet.  So the absolute paths were specified above.
+	save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR
+	export PKG_CONFIG_SYSROOT_DIR=
+
+	# Compile the tests
+	for lang in ${LANG_SUPPORT}; do
+		oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang}
+	done
+
+	# Restore the pkgconfig sysroot variable
+	export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir
+}
+
+do_install_ptest() {
+	local olddir=`pwd`
+
+	cd "${S}/${TEST_SRC_DIR}"
+	install -d "${D}/${PTEST_PATH}"
+	for i in add_person* list_people*; do
+		if [ -x "$i" ]; then
+			install "$i" "${D}/${PTEST_PATH}"
+		fi
+	done
+	cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
+	cd "$olddir"
+}
+
+FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
+FILES_${PN}-lite = "${bindir} ${libdir}/libprotobuf-lite${SOLIBS}"
+
+MIPS_INSTRUCTION_SET = "mips"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb
index 8f6532c..156e52a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb
@@ -3,14 +3,9 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
-SRCNAME = "cpuset"
-
-SRC_URI = "https://github.com/lpechacek/${SRCNAME}/archive/v${PV}.tar.gz"
-
-SRC_URI[md5sum] = "6ad79b26ba03f559604d74513cc34392"
-SRC_URI[sha256sum] = "32334e164415ed5aec83c5ffc3dc01c418406eb02d96d881fdfd495587ff0c01"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
+S = "${WORKDIR}/git"
+SRCREV = "ae629aa1dc959342745ad97406adddf63bb6dbdd"
+SRC_URI = "git://github.com/lpechacek/cpuset.git;protocol=https;"
 
 inherit distutils
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb
deleted file mode 100644
index c85fc56..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "The concurrent.futures module provides a high-level interface for asynchronously executing callables."
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=3d78c5bb15ac641d34f2ddc3bd7f51fa"
-HOMEPAGE = "http://code.google.com/p/pythonfutures"
-DEPENDS = "python"
-
-SRC_URI = "https://pypi.python.org/packages/source/f/futures/futures-${PV}.tar.gz"
-SRC_URI[md5sum] = "ced2c365e518242512d7a398b515ff95"
-SRC_URI[sha256sum] = "0542525145d5afc984c88f914a0c85c77527f65946617edb5274f72406f981df"
-
-S = "${WORKDIR}/futures-${PV}"
-
-inherit setuptools
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb
new file mode 100644
index 0000000..3ee945f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "The concurrent.futures module provides a high-level interface for asynchronously executing callables."
+SECTION = "devel/python"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=834d982f973c48b6d662b5944c5ab567"
+HOMEPAGE = "https://github.com/agronholm/pythonfutures"
+DEPENDS = "python"
+
+SRC_URI[md5sum] = "d1b299a06b96ccb59f70324716dc0016"
+SRC_URI[sha256sum] = "9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265"
+
+inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch
index a391f7e..9a11442 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch
@@ -14,28 +14,15 @@
 index 2c0cfbd..cfcb3bf 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -194,7 +194,7 @@ PKG_CHECK_MODULES(GI,
-     gobject-introspection-1.0 >= introspection_required_version
- )
+@@ -155,7 +155,7 @@ PKG_CHECK_MODULES(GI,
+ 
+ GOBJECT_INTROSPECTION_CHECK(introspection_required_version)
  
 -GI_DATADIR=$($PKG_CONFIG --variable=gidatadir gobject-introspection-1.0)
 +GI_DATADIR=$PKG_CONFIG_SYSROOT_DIR$($PKG_CONFIG --variable=gidatadir gobject-introspection-1.0)
  AC_SUBST(GI_DATADIR)
  
  if test "$enable_cairo" != no; then
-@@ -219,12 +219,6 @@ AC_ARG_WITH(common,
-     with_common=yes)
- AM_CONDITIONAL(WITH_COMMON, test "$with_common" = "yes")
- 
--INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
--INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
--
--AC_SUBST(INTROSPECTION_SCANNER)
--AC_SUBST(INTROSPECTION_COMPILER)
--
- # compiler warnings, errors, required cflags, and code coverage support
- GNOME_COMPILE_WARNINGS([maximum])
- AC_MSG_CHECKING(for Gnome code coverage support)
 -- 
 2.1.4
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb
deleted file mode 100644
index 9d2e165..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.22.0.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Python GObject bindings"
-HOMEPAGE = "http://www.pygtk.org/"
-SECTION = "devel/python"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
-
-inherit autotools pkgconfig gnomebase distutils-base gobject-introspection
-
-PYTHON_BASEVERSION = "2.7"
-PYTHON_PN = "python"
-
-DEPENDS += "gnome-common-native python glib-2.0"
-
-SRCNAME="pygobject"
-SRC_URI = " \
-    http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
-    file://0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch \
-"
-
-SRC_URI[md5sum] = "ed4117ed5d554d25fd7718807fbf819f"
-SRC_URI[sha256sum] = "08b29cfb08efc80f7a8630a2734dec65a99c1b59f1e5771c671d2e4ed8a5cbe7"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-BBCLASSEXTEND = "native"
-
-EXTRA_OECONF = "--disable-cairo --with-python=${PYTHON}"
-
-RDEPENDS_${PN} += "python-setuptools python-importlib"
-RDEPENDS_${PN}_class-native = ""
-
-do_install_append() {
-    # Remove files that clash with python3-pygobject; their content is same
-    rm -rf ${D}${includedir}/pygobject-3.0//pygobject.h ${D}${libdir}/pkgconfig
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.0.bb
new file mode 100644
index 0000000..ab65ba1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Python GObject bindings"
+HOMEPAGE = "http://www.pygtk.org/"
+SECTION = "devel/python"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
+
+inherit autotools pkgconfig gnomebase distutils-base gobject-introspection
+
+PYTHON_BASEVERSION = "2.7"
+PYTHON_PN = "python"
+
+DEPENDS += "gnome-common-native python glib-2.0"
+
+SRCNAME="pygobject"
+SRC_URI = " \
+    http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
+    file://0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch \
+"
+
+SRC_URI[md5sum] = "b29d69edb63ae1f555afeb19f90b9996"
+SRC_URI[sha256sum] = "42b47b261b45aedfc77e02e3c90a01cd74d6f86c3273c1860a054d531d606e5a"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+BBCLASSEXTEND = "native"
+
+EXTRA_OECONF = "--disable-cairo --with-python=${PYTHON}"
+
+RDEPENDS_${PN} += "python-setuptools"
+RDEPENDS_${PN}_class-native = ""
+
+do_install_append() {
+    # Remove files that clash with python3-pygobject; their content is same
+    rm -rf ${D}${includedir}/pygobject-3.0//pygobject.h ${D}${libdir}/pkgconfig
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.2.bb
deleted file mode 100644
index 1d837c5..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.2.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "SIP is a C++/Python Wrapper Generator"
-HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
-SECTION = "devel"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
-
-inherit python-dir
-
-DEPENDS = "python"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz"
-SRC_URI[md5sum] = "4f48e212890ebe584e8d804cfbcfc61e"
-SRC_URI[sha256sum] = "432b4aad25254e6997913e33b1ca3cf5fd21d5729a50a3ce2edccbea82c80533"
-
-BBCLASSEXTEND = "native"
-
-PACKAGES += "python-sip"
-
-do_configure_prepend_class-target() {
-    echo "py_platform = linux" > sip.cfg
-    echo "py_inc_dir = %(sysroot)/${includedir}/python%(py_major).%(py_minor)" >> sip.cfg
-    echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
-    echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
-    echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
-    echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
-    python configure.py --configuration sip.cfg --sysroot ${STAGING_DIR_HOST} CC="${CC}" CXX="${CXX}" LINK="${CXX}" STRIP="" LINK_SHLIB="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LFLAGS="${LDFLAGS}"
-}
-do_configure_prepend_class-native() {
-    echo "py_platform = linux" > sip.cfg
-    echo "py_inc_dir = ${includedir}/python%(py_major).%(py_minor)" >> sip.cfg
-    echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
-    echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
-    echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
-    echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
-    python configure.py --configuration sip.cfg --sysroot ${STAGING_DIR_NATIVE}
-}
-do_install() {
-    oe_runmake install
-}
-
-FILES_python-sip = "${libdir}/${PYTHON_DIR}/site-packages/"
-FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.8.bb
new file mode 100644
index 0000000..ea944b3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/sip/sip_4.19.8.bb
@@ -0,0 +1,42 @@
+SUMMARY = "SIP is a C++/Python Wrapper Generator"
+HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
+SECTION = "devel"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
+
+inherit python-dir
+
+DEPENDS = "python"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz"
+SRC_URI[md5sum] = "0625fb20347d4ff1b5da551539be0727"
+SRC_URI[sha256sum] = "7eaf7a2ea7d4d38a56dd6d2506574464bddf7cf284c960801679942377c297bc"
+
+BBCLASSEXTEND = "native"
+
+PACKAGES += "python-sip"
+
+do_configure_prepend_class-target() {
+    echo "py_platform = linux" > sip.cfg
+    echo "py_inc_dir = %(sysroot)/${includedir}/python%(py_major).%(py_minor)" >> sip.cfg
+    echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
+    echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
+    echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
+    echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
+    python configure.py --configuration sip.cfg --sysroot ${STAGING_DIR_HOST} CC="${CC}" CXX="${CXX}" LINK="${CXX}" STRIP="" LINK_SHLIB="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LFLAGS="${LDFLAGS}"
+}
+do_configure_prepend_class-native() {
+    echo "py_platform = linux" > sip.cfg
+    echo "py_inc_dir = ${includedir}/python%(py_major).%(py_minor)" >> sip.cfg
+    echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
+    echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
+    echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
+    echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
+    python configure.py --configuration sip.cfg --sysroot ${STAGING_DIR_NATIVE}
+}
+do_install() {
+    oe_runmake install
+}
+
+FILES_python-sip = "${libdir}/${PYTHON_DIR}/site-packages/"
+FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
index c51e475..4dbd9a4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
@@ -4,29 +4,32 @@
 
 --- tk8.5-8.5.8.orig/unix/configure
 +++ tk8.5-8.5.8/unix/configure
-@@ -1431,6 +1431,7 @@
- 			`ls -d ${prefix}/lib 2>/dev/null` \
- 			`ls -d /usr/local/lib 2>/dev/null` \
+@@ -1431,7 +1431,8 @@
  			`ls -d /usr/contrib/lib 2>/dev/null` \
+ 			`ls -d /usr/local/lib 2>/dev/null` \
+ 			`ls -d /usr/pkg/lib 2>/dev/null` \
 +			`ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \
  			`ls -d /usr/lib 2>/dev/null` \
+ 			`ls -d /usr/lib64 2>/dev/null` \
  			; do
  		    if test -f "$i/tclConfig.sh" ; then
 --- tk8.5-8.5.8.orig/unix/tcl.m4
 +++ tk8.5-8.5.8/unix/tcl.m4
-@@ -93,6 +93,7 @@
- 			`ls -d ${prefix}/lib 2>/dev/null` \
- 			`ls -d /usr/local/lib 2>/dev/null` \
+@@ -93,7 +93,8 @@
  			`ls -d /usr/contrib/lib 2>/dev/null` \
+ 			`ls -d /usr/local/lib 2>/dev/null` \
+ 			`ls -d /usr/pkg/lib 2>/dev/null` \
 +			`ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \
  			`ls -d /usr/lib 2>/dev/null` \
+ 			`ls -d /usr/lib64 2>/dev/null` \
  			; do
  		    if test -f "$i/tclConfig.sh" ; then
-@@ -223,6 +224,7 @@
+@@ -223,7 +224,8 @@
  			`ls -d ${prefix}/lib 2>/dev/null` \
  			`ls -d /usr/local/lib 2>/dev/null` \
  			`ls -d /usr/contrib/lib 2>/dev/null` \
 +			`ls -d /usr/share/tcltk/tk8.5 2>/dev/null` \
  			`ls -d /usr/lib 2>/dev/null` \
+ 			`ls -d /usr/lib64 2>/dev/null` \
  			; do
  		    if test -f "$i/tkConfig.sh" ; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.6.bb
deleted file mode 100644
index d3bf397..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.6.bb
+++ /dev/null
@@ -1,79 +0,0 @@
-SUMMARY = "Tool Command Language ToolKit Extension"
-HOMEPAGE = "http://tcl.sourceforge.net"
-SECTION = "devel/tcltk"
-
-# http://www.tcl.tk/software/tcltk/license.html
-LICENSE = "tcl"
-LIC_FILES_CHKSUM = "file://../license.terms;md5=c88f99decec11afa967ad33d314f87fe \
-    file://../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
-    file://../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
-    file://../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
-    file://../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
-    file://../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
-    file://../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
-    file://../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
-    file://../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
-"
-
-DEPENDS = "tcl virtual/libx11 libxt"
-
-SRC_URI = "\
-    ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
-    file://confsearch.diff;striplevel=2 \
-    file://non-linux.diff;striplevel=2 \
-    file://tklibrary.diff;striplevel=2 \
-    file://tkprivate.diff;striplevel=2 \
-    file://fix-xft.diff \
-    file://configure.use.fontconfig.with.xft.patch \
-"
-SRC_URI[md5sum] = "dd7dbb3a6523c42d05f6ab6e86096e99"
-SRC_URI[sha256sum] = "d62c371a71b4744ed830e3c21d27968c31dba74dd2c45f36b9b071e6d88eb19d"
-
-S = "${WORKDIR}/${BPN}${PV}/unix"
-
-# Short version format: "8.6"
-VER = "${@os.path.splitext(d.getVar('PV'))[0]}"
-
-LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
-inherit autotools distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECONF = "\
-    --enable-threads \
-    --with-x \
-    --with-tcl=${STAGING_BINDIR_CROSS} \
-    --libdir=${libdir} \
-"
-
-do_install_append() {
-    ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0
-    oe_libinstall -so libtk${VER} ${D}${libdir}
-    ln -sf wish${VER} ${D}${bindir}/wish
-
-    # Even after passing libdir=${libdir} at config, some incorrect dirs are still generated for the multilib build
-    if [ "$libdir" != "/usr/lib" ]; then
-        # Move files to correct library directory
-        mv ${D}/usr/lib/tk${VER}/* ${D}/${libdir}/tk${VER}/
-        # Remove unneeded/incorrect dir ('usr/lib/')
-        rm -rf ${D}/usr/lib
-    fi
-}
-
-PACKAGECONFIG ??= "xft"
-PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft"
-PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext"
-
-PACKAGES =+ "${PN}-lib"
-
-FILES_${PN}-lib = "${libdir}/libtk${VER}.so*"
-FILES_${PN} += "${libdir}/tk*"
-
-# isn't getting picked up by shlibs code
-RDEPENDS_${PN} += "tk-lib"
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native"
-
-# Fix the path in sstate
-SSTATE_SCAN_FILES += "*Config.sh"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb
new file mode 100644
index 0000000..13dc4d7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.8.bb
@@ -0,0 +1,79 @@
+SUMMARY = "Tool Command Language ToolKit Extension"
+HOMEPAGE = "http://tcl.sourceforge.net"
+SECTION = "devel/tcltk"
+
+# http://www.tcl.tk/software/tcltk/license.html
+LICENSE = "tcl"
+LIC_FILES_CHKSUM = "file://../license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+"
+
+DEPENDS = "tcl virtual/libx11 libxt"
+
+SRC_URI = "\
+    ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
+    file://confsearch.diff;striplevel=2 \
+    file://non-linux.diff;striplevel=2 \
+    file://tklibrary.diff;striplevel=2 \
+    file://tkprivate.diff;striplevel=2 \
+    file://fix-xft.diff \
+    file://configure.use.fontconfig.with.xft.patch \
+"
+SRC_URI[md5sum] = "5e0faecba458ee1386078fb228d008ba"
+SRC_URI[sha256sum] = "49e7bca08dde95195a27f594f7c850b088be357a7c7096e44e1158c7a5fd7b33"
+
+S = "${WORKDIR}/${BPN}${PV}/unix"
+
+# Short version format: "8.6"
+VER = "${@os.path.splitext(d.getVar('PV'))[0]}"
+
+LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
+inherit autotools distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF = "\
+    --enable-threads \
+    --with-x \
+    --with-tcl=${STAGING_BINDIR_CROSS} \
+    --libdir=${libdir} \
+"
+
+do_install_append() {
+    ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0
+    oe_libinstall -so libtk${VER} ${D}${libdir}
+    ln -sf wish${VER} ${D}${bindir}/wish
+
+    # Even after passing libdir=${libdir} at config, some incorrect dirs are still generated for the multilib build
+    if [ "$libdir" != "/usr/lib" ]; then
+        # Move files to correct library directory
+        mv ${D}/usr/lib/tk${VER}/* ${D}/${libdir}/tk${VER}/
+        # Remove unneeded/incorrect dir ('usr/lib/')
+        rm -rf ${D}/usr/lib
+    fi
+}
+
+PACKAGECONFIG ??= "xft"
+PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft"
+PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext"
+
+PACKAGES =+ "${PN}-lib"
+
+FILES_${PN}-lib = "${libdir}/libtk${VER}.so*"
+FILES_${PN} += "${libdir}/tk*"
+
+# isn't getting picked up by shlibs code
+RDEPENDS_${PN} += "tk-lib"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native"
+
+# Fix the path in sstate
+SSTATE_SCAN_FILES += "*Config.sh"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/remove-policy-of-usr-local-sbin.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/remove-policy-of-usr-local-sbin.patch
deleted file mode 100644
index 3f8debc..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/remove-policy-of-usr-local-sbin.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Directory /usr/local is not used for us. Remove the policy that not to install
-binaries to /usr/local/sbin.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-diff --git a/cfe_internal/update/update_bins.cf b/cfe_internal/update/update_bins.cf
-index 1796caa..697af0d 100644
---- a/cfe_internal/update/update_bins.cf
-+++ b/cfe_internal/update/update_bins.cf
-@@ -55,16 +55,6 @@ bundle agent cfe_internal_bins
-       depth_search => u_recurse_basedir("inf"),
-       action => u_immediate;
- 
--      "/usr/local/sbin/$(agents)"
--      comment => "Create symlinks of CFE binaries in /usr/local/sbin",
--      handle => canonify("cfe_internal_bins_files_sbin_$(agents)"),
--      move_obstructions => "true",
--      link_from => u_ln_s("$(sys.workdir)/bin/$(agents)");
--
--      "/usr/local/sbin/$(agents).cfsaved"
--      comment => "Remove all .cfsaved file extension",
--      handle => canonify("cfe_internal_bins_files_remove_$(agent)_cfsaved"),
--      delete => u_tidy;
- }
- 
- bundle agent cfe_internal_update_bins
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.10.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.10.2.bb
new file mode 100644
index 0000000..b52e7cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.10.2.bb
@@ -0,0 +1,36 @@
+#
+# Copyright (C) 2014 - 2017 Wind River Systems, Inc.
+#
+SUMMARY = "Base policy for CFEngine"
+
+DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
+that helps engineers, system administrators and other stakeholders \
+in an IT system to manage and understand IT infrastructure throughout \
+its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit. \
+ \
+This package is intended to provide a stable base policy for \
+installations and upgrades, and is used by CFEngine 3.6 and newer. \
+ \
+The contents of this packge are intended to live in `/var/cfengine/masterfiles` \
+or wherever `$(sys.masterdir)` points. \
+"
+
+HOMEPAGE = "http://cfengine.com"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9f76426f9ef8c6f6739fadd21d817a4f"
+
+SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "1247ef4e8f3cee5efa98da50c326e5a4"
+SRC_URI[sha256sum] = "5d18a8d71f451d0b5dd1f5e579452b29b99b664f2bb0827dbba9a615f2764df6"
+
+inherit autotools
+
+export EXPLICIT_VERSION="${PV}"
+
+EXTRA_OECONF = "--prefix=${datadir}/cfengine"
+
+FILES_${PN} = "${datadir}/cfengine"
+
+RDEPENDS_${PN} += "python-core"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.9.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.9.0.bb
deleted file mode 100644
index 9d01c51..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.9.0.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Copyright (C) 2014 - 2016 Wind River Systems, Inc.
-#
-SUMMARY = "Base policy for CFEngine"
-
-DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
-that helps engineers, system administrators and other stakeholders \
-in an IT system to manage and understand IT infrastructure throughout \
-its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit. \
- \
-This package is intended to provide a stable base policy for \
-installations and upgrades, and is used by CFEngine 3.6 and newer. \
- \
-The contents of this packge are intended to live in `/var/cfengine/masterfiles` \
-or wherever `$(sys.masterdir)` points. \
-"
-
-HOMEPAGE = "http://cfengine.com"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=52cd3d13af93180822888ab0088e9328"
-
-SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
-           file://remove-policy-of-usr-local-sbin.patch \
-"
-SRC_URI[md5sum] = "b101ddcd546738af6ec91be5c297cb24"
-SRC_URI[sha256sum] = "63dec2f8649f5f2788cd463dccf47f8dbe941522acfcf3093517f983bbfa0606"
-
-inherit autotools
-
-export EXPLICIT_VERSION="${PV}"
-
-EXTRA_OECONF = "--prefix=${localstatedir}/cfengine"
-
-FILES_${PN} += "${localstatedir}/cfengine"
-
-RDEPENDS_${PN} += "python-core"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.10.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.10.2.bb
new file mode 100644
index 0000000..b86b0a1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.10.2.bb
@@ -0,0 +1,73 @@
+#
+# Copyright (C) 2014 - 2017 Wind River Systems, Inc.
+#
+SUMMARY = "CFEngine is an IT infrastructure automation framework"
+
+DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
+that helps engineers, system administrators and other stakeholders \
+in an IT system to manage and understand IT infrastructure throughout \
+its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit."
+
+HOMEPAGE = "http://cfengine.com"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f8b34828ab373d6b1bb4b0fc60a78494"
+
+DEPENDS = "attr tokyocabinet"
+
+SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
+           file://change-hard-coded-lib-path.patch \
+           file://set-path-of-default-config-file.patch \
+"
+
+SRC_URI[md5sum] = "c16baf08189a1af6fcf2e2ff61102992"
+SRC_URI[sha256sum] = "d4fa9ac7276dba7b85d6757aab2f0929ab8d3b115cb0e7b0cf984760347429d7"
+
+inherit autotools systemd
+
+export EXPLICIT_VERSION="${PV}"
+
+SYSTEMD_SERVICE_${PN} = "cfengine3.service cf-apache.service cf-hub.service cf-postgres.service \
+                         cf-runalerts.service cf-consumer.service cf-execd.service \
+                         cf-monitord.service  cf-redis-server.service  cf-serverd.service \
+"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+PACKAGECONFIG ??= "libpcre openssl \
+                   ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
+"
+PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2,"
+PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mysql,"
+PACKAGECONFIG[postgresql] = "--with-postgresql=yes,--with-postgresql=no,postgresql,"
+PACKAGECONFIG[acl] = "--with-libacl=yes,--with-libacl=no,acl,"
+PACKAGECONFIG[libvirt] = "--with-libvirt=yes,--with-libvirt=no,libvirt,"
+PACKAGECONFIG[libpcre] = "--with-pcre=yes,--with-pcre=no,libpcre,"
+PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl,"
+PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam,"
+PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml,"
+PACKAGECONFIG[systemd] = "--with-systemd-service=${systemd_system_unitdir},--without-systemd-service"
+PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl,"
+
+EXTRA_OECONF = "hw_cv_func_va_copy=yes --with-init-script=${sysconfdir}/init.d --with-tokyocabinet"
+
+do_install_append() {
+    install -d ${D}${localstatedir}/${BPN}/bin
+    for f in `ls ${D}${bindir}`; do
+        ln -s ${bindir}/`basename $f` ${D}${localstatedir}/${BPN}/bin/
+    done
+
+    install -d ${D}${sysconfdir}/default
+    cat << EOF > ${D}${sysconfdir}/default/cfengine3
+RUN_CF_SERVERD=1
+RUN_CF_EXECD=1
+RUN_CF_MONITORD=1
+RUN_CF_HUB=0
+EOF
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -m 0755 -D ${D}${sysconfdir}/init.d/cfengine3 ${D}${datadir}/${BPN}/cfengine3
+        sed -i -e 's#/etc/init.d#${datadir}/${BPN}#' ${D}${systemd_system_unitdir}/*.service
+    fi
+}
+
+RDEPENDS_${PN} += "${BPN}-masterfiles"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb
deleted file mode 100644
index 4aa8ded..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-# Copyright (C) 2014 - 2016 Wind River Systems, Inc.
-#
-SUMMARY = "CFEngine is an IT infrastructure automation framework"
-
-DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
-that helps engineers, system administrators and other stakeholders \
-in an IT system to manage and understand IT infrastructure throughout \
-its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit."
-
-HOMEPAGE = "http://cfengine.com"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cd59c3650c8b7ff36bab1cc6587b097a"
-
-DEPENDS = "attr tokyocabinet"
-
-SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
-           file://change-hard-coded-lib-path.patch \
-           file://set-path-of-default-config-file.patch \
-"
-
-SRC_URI[md5sum] = "63da39655cfca30ca885fcc4a1bf8aa4"
-SRC_URI[sha256sum] = "32a38aedf1199c2361e1335e0d4a1d98f9efa7cd591bcb647f35c7395bb66f2d"
-
-inherit autotools systemd
-
-export EXPLICIT_VERSION="${PV}"
-
-SYSTEMD_SERVICE_${PN} = "cfengine3.service cfengine3-web.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-PACKAGECONFIG ??= "libpcre openssl \
-                   ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
-"
-PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2,"
-PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mysql,"
-PACKAGECONFIG[postgresql] = "--with-postgresql=yes,--with-postgresql=no,postgresql,"
-PACKAGECONFIG[acl] = "--with-libacl=yes,--with-libacl=no,acl,"
-PACKAGECONFIG[libvirt] = "--with-libvirt=yes,--with-libvirt=no,libvirt,"
-PACKAGECONFIG[libpcre] = "--with-pcre=yes,--with-pcre=no,libpcre,"
-PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl,"
-PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam,"
-PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml,"
-PACKAGECONFIG[systemd] = "--with-systemd-service=${systemd_system_unitdir},--without-systemd-service"
-PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl,"
-
-EXTRA_OECONF = "hw_cv_func_va_copy=yes --with-init-script=${sysconfdir}/init.d --with-tokyocabinet"
-
-do_install_append() {
-    install -d ${D}${localstatedir}/${BPN}/bin
-    for f in `ls ${D}${bindir}`; do
-        ln -s ${bindir}/`basename $f` ${D}${localstatedir}/${BPN}/bin/
-    done
-
-    install -d ${D}${sysconfdir}/default
-    cat << EOF > ${D}${sysconfdir}/default/cfengine3
-RUN_CF_SERVERD=1
-RUN_CF_EXECD=1
-RUN_CF_MONITORD=1
-RUN_CF_HUB=0
-EOF
-
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -m 0755 -D ${D}${sysconfdir}/init.d/cfengine3 ${D}${datadir}/${BPN}/cfengine3
-        sed -i -e 's#/etc/init.d#${datadir}/${BPN}#' ${D}${systemd_system_unitdir}/*.service
-    fi
-}
-
-RDEPENDS_${PN} += "${BPN}-masterfiles"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_git.bb
index 25166ab..987c09f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_git.bb
@@ -24,6 +24,10 @@
 EXTRA_OECMAKE = "-DLIB='${baselib}' \
                  -DPYTHON_INCLUDE_PATH=${STAGING_INCDIR}/python${PYTHON_BASEVERSION}"
 
+# With Ninja it fails with:
+# ninja: error: build.ninja:282: bad $-escape (literal $ must be written as $$)
+OECMAKE_GENERATOR = "Unix Makefiles"
+
 do_configure_prepend() {
     export STAGING_LIBDIR=${STAGING_LIBDIR}
     export STAGING_INCDIR=${STAGING_INCDIR}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash_0.5.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash_0.5.8.bb
deleted file mode 100644
index 78ca60d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash_0.5.8.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Small and fast POSIX-compliant shell"
-HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/"
-SECTION = "System Environment/Shells"
-
-LICENSE = "BSD & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e"
-
-inherit autotools update-alternatives
-
-SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz \
-           file://0001-Fix-printf-format-errors-with-clang.patch \
-           "
-SRC_URI[md5sum] = "5c152209680dab3c319e8923f6c51378"
-SRC_URI[sha256sum] = "c6db3a237747b02d20382a761397563d813b306c020ae28ce25a1c3915fac60f"
-
-EXTRA_OECONF += "--bindir=${base_bindir}"
-
-ALTERNATIVE_${PN} = "sh"
-ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
-ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash"
-ALTERNATIVE_PRIORITY = "10"
-
-pkg_postinst_${PN} () {
-    grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells
-}
-
-pkg_postrm_${PN} () {
-    printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb
deleted file mode 100644
index 27e00a5..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Data recovery tool"
-DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
-    from one file or block device (hard disc, cdrom, etc) to another, \
-    trying hard to rescue data in case of read errors."
-HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
-SECTION = "console"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
-                    file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
-SRC_URI[md5sum] = "ed6b5b82d74cbd925db2b829350e74b1"
-SRC_URI[sha256sum] = "ed8d0c9d9aac80a9110e9cb0d0a91a7390d3bf9f816b67a62ca4eb140f4747b8"
-
-# This isn't already added by base.bbclass
-do_unpack[depends] += "lzip-native:do_populate_sysroot"
-
-CONFIGUREOPTS = "\
-    '--srcdir=${S}' \
-    '--prefix=${prefix}' \
-    '--exec-prefix=${exec_prefix}' \
-    '--bindir=${bindir}' \
-    '--datadir=${datadir}' \
-    '--infodir=${infodir}' \
-    '--sysconfdir=${sysconfdir}' \
-    'CXX=${CXX}' \
-    'CPPFLAGS=${CPPFLAGS}' \
-    'CXXFLAGS=${CXXFLAGS}' \
-    'LDFLAGS=${LDFLAGS}' \
-"
-EXTRA_OEMAKE = ""
-
-do_configure () {
-    ${S}/configure ${CONFIGUREOPTS}
-}
-
-do_install () {
-    oe_runmake 'DESTDIR=${D}' install
-    # Info dir listing isn't interesting at this point so remove it if it exists.
-    if [ -e "${D}${infodir}/dir" ]; then
-        rm -f ${D}${infodir}/dir
-    fi
-}
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb
new file mode 100644
index 0000000..2df7db9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Data recovery tool"
+DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
+    from one file or block device (hard disc, cdrom, etc) to another, \
+    trying hard to rescue data in case of read errors."
+HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
+SECTION = "console"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
+                    file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
+SRC_URI[md5sum] = "49c845ed89d25b534842e40366154cb4"
+SRC_URI[sha256sum] = "09857b2e8074813ac19da5d262890f722e5f7900e521a4c60354cef95eea10a7"
+
+# This isn't already added by base.bbclass
+do_unpack[depends] += "lzip-native:do_populate_sysroot"
+
+CONFIGUREOPTS = "\
+    '--srcdir=${S}' \
+    '--prefix=${prefix}' \
+    '--exec-prefix=${exec_prefix}' \
+    '--bindir=${bindir}' \
+    '--datadir=${datadir}' \
+    '--infodir=${infodir}' \
+    '--sysconfdir=${sysconfdir}' \
+    'CXX=${CXX}' \
+    'CPPFLAGS=${CPPFLAGS}' \
+    'CXXFLAGS=${CXXFLAGS}' \
+    'LDFLAGS=${LDFLAGS}' \
+"
+EXTRA_OEMAKE = ""
+
+do_configure () {
+    ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install () {
+    oe_runmake 'DESTDIR=${D}' install
+    # Info dir listing isn't interesting at this point so remove it if it exists.
+    if [ -e "${D}${infodir}/dir" ]; then
+        rm -f ${D}${infodir}/dir
+    fi
+}
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
deleted file mode 100644
index 85dede1..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "display dialog boxes from shell scripts"
-DESCRIPTION = "Dialog lets you to present a variety of questions \
-or display messages using dialog boxes from a shell \
-script (or any scripting language)."
-HOMEPAGE = "http://invisible-island.net/dialog/"
-SECTION = "console/utils"
-DEPENDS = "ncurses"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
-          "
-SRC_URI[md5sum] = "a39ec183517bc1feaff017d067300b8c"
-SRC_URI[sha256sum] = "453095abaec288bfbc1ca9faced917e17742cff1ea45ec46210071ac153562f9"
-
-# hardcoded here for use in dialog-static recipe
-S = "${WORKDIR}/dialog-${PV}"
-
-inherit autotools-brokensep pkgconfig
-
-EXTRA_OECONF = "--with-ncurses \
-                --disable-rpath-hack"
-
-do_configure() {
-    gnu-configize --force
-    sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
-    sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure
-    oe_runconf
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20171209.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20171209.bb
new file mode 100644
index 0000000..63c65c4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20171209.bb
@@ -0,0 +1,29 @@
+SUMMARY = "display dialog boxes from shell scripts"
+DESCRIPTION = "Dialog lets you to present a variety of questions \
+or display messages using dialog boxes from a shell \
+script (or any scripting language)."
+HOMEPAGE = "http://invisible-island.net/dialog/"
+SECTION = "console/utils"
+DEPENDS = "ncurses"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
+          "
+SRC_URI[md5sum] = "f66f28beca900b54f5fc90fdcce93508"
+SRC_URI[sha256sum] = "20139442119e2eff5c35236e8e5e313c901539008d9cccf8c8ab3851b41267e6"
+
+# hardcoded here for use in dialog-static recipe
+S = "${WORKDIR}/dialog-${PV}"
+
+inherit autotools-brokensep pkgconfig
+
+EXTRA_OECONF = "--with-ncurses \
+                --disable-rpath-hack"
+
+do_configure() {
+    gnu-configize --force
+    sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
+    sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure
+    oe_runconf
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb
new file mode 100644
index 0000000..e1a6d95
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Simple wrapper script which proxies signals to a child"
+HOMEPAGE = "https://github.com/Yelp/dumb-init/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5940d39995ea6857d01b8227109c2e9c"
+
+SRC_URI = "https://github.com/Yelp/dumb-init/archive/v${PV}.tar.gz"
+SRC_URI[md5sum] = "4eb7f43d7823686723ff7ac1bad097cb"
+SRC_URI[sha256sum] = "74486997321bd939cad2ee6af030f481d39751bc9aa0ece84ed55f864e309a3f"
+
+EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS} ${LDFLAGS}'"
+
+do_install() {
+    install -d ${D}${base_sbindir}
+    install ${S}/dumb-init ${D}${base_sbindir}/
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch
deleted file mode 100644
index 1b8815e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-efivar-dp.h-Add-Wunknown-attributes-when-using-clang.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 3d43c5efdb632da5d7387dcadce4e87b83929c64 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 24 Aug 2017 15:54:47 -0700
-Subject: [PATCH] efivar-dp.h: Add -Wunknown-attributes when using clang
-
-change !dp check to a comparision against NULL to silent clang warning
-nonnull parameter 'dp' will evaluate to 'true' on first encounter
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/include/efivar/efivar-dp.h | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-Index: git/src/include/efivar/efivar-dp.h
-===================================================================
---- git.orig/src/include/efivar/efivar-dp.h
-+++ git/src/include/efivar/efivar-dp.h
-@@ -783,9 +783,14 @@ extern int efidp_append_instance(const_e
-  * though older or other compilers might just ignore that attribute if they
-  * don't support it.  Ugh.
-  */
-+#pragma GCC diagnostic push
- #if defined(__GNUC__) && __GNUC__ >= 6
- #pragma GCC diagnostic ignored "-Wnonnull-compare"
- #endif
-+#if defined(__clang__)
-+#pragma GCC diagnostic ignored "-Wunknown-attributes"
-+#pragma GCC diagnostic ignored "-Wpointer-bool-conversion"
-+#endif
- 
- static inline int16_t
- __attribute__((__artificial__))
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
deleted file mode 100644
index 6f6ca64..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 9a3c480af653b37e62d1be04d49fe7a60a80168f Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Fri, 25 Sep 2015 18:14:31 +0800
-Subject: [PATCH 1/2] efivar: fix for cross compile
-
-It builds and calls elf file makeguids to generate a header file which
-doesn't work for cross compile. Fix it.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Upstream-Status: Pending
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- src/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 5fc7887..1829d22 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -29,8 +29,8 @@ all : deps $(TARGETS)
- ./guid-symbols.c : include/efivar/efivar-guids.h
- ./guids.bin : include/efivar/efivar-guids.h
- ./names.bin : include/efivar/efivar-guids.h
--include/efivar/efivar-guids.h : makeguids guids.txt
--	./makeguids guids.txt guids.bin names.bin \
-+include/efivar/efivar-guids.h : guids.txt
-+	makeguids guids.txt guids.bin names.bin \
- 		guid-symbols.c include/efivar/efivar-guids.h
- 
- makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT
--- 
-2.4.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch
deleted file mode 100644
index 73a7721..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 98b33d4193998687aa3a78c097f7bd4c393e0c85 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 15 Jul 2017 00:29:42 -0700
-Subject: [PATCH] makeguids: Do not use __bswap_constant_{16|32} macros
-
-not available on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/makeguids.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/makeguids.c b/src/makeguids.c
-index da2f5f7..daf821a 100644
---- a/src/makeguids.c
-+++ b/src/makeguids.c
-@@ -155,13 +155,13 @@ main(int argc, char *argv[])
- #if BYTE_ORDER == BIG_ENDIAN\n\
- #define cpu_to_be32(n) (n)\n\
- #define cpu_to_be16(n) (n)\n\
--#define cpu_to_le32(n) (__bswap_constant_32(n))\n\
--#define cpu_to_le16(n) (__bswap_constant_16(n))\n\
-+#define cpu_to_le32(n) ((uint32_t) ((n)>>24 | (n)>>8&0xff00 | (n)<<8&0xff0000 | (n)<<24))\n\
-+#define cpu_to_le16(n) ((uint16_t) ((n)<<8 | (n)>>8))\n\
- #else\n\
- #define cpu_to_le32(n) (n)\n\
- #define cpu_to_le16(n) (n)\n\
--#define cpu_to_be32(n) (__bswap_constant_32(n))\n\
--#define cpu_to_be16(n) (__bswap_constant_16(n))\n\
-+#define cpu_to_be32(n) ((uint32_t) ((n)>>24 | (n)>>8&0xff00 | (n)<<8&0xff0000 | (n)<<24))\n\
-+#define cpu_to_be16(n) ((uint16_t) ((n)<<8 | (n)>>8))\n\
- #endif\n\
- """);
- 
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch
deleted file mode 100644
index 3f43f2a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 7ead29ca6bb5e280ae07551cc3521281ecf73682 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sat, 7 May 2016 02:06:47 -0400
-Subject: [PATCH] Makefile: fix efivar.pc not found
-
-It fixes efivar.pc not found:
-...
-| install -d -m 755 efivar/0.23-r0/image/usr/lib/pkgconfig/
-| install -m 644 efivar.pc efivar/0.23-r0/image/usr/lib/pkgconfig/
-;  install -m 644 efiboot.pc efivar/0.23-r0/image/usr/lib/pkgconfig/
-;
-| install: cannot stat 'efivar.pc': No such file or directory
-| install: cannot stat 'efiboot.pc': No such file or directory
-| make[1]: *** [install] Error 1
-| make[1]: Leaving directory `efivar/0.23-r0/git/src'
-| make: *** [install] Error 2
-| ERROR: oe_runmake failed
-...
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/Makefile | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index c7a0ca3..ad9c427 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -78,7 +78,9 @@ install : all
- 		ln -fs $(x).$(VERSION) $(DESTDIR)$(libdir)/$(x).$(MAJOR_VERSION);\
- 		ln -fs $(x).$(VERSION) $(DESTDIR)$(libdir)/$(x); )
- 	$(INSTALL) -d -m 755 $(DESTDIR)$(PCDIR)
--	$(foreach x, $(PCTARGETS), $(INSTALL) -m 644 $(x) $(DESTDIR)$(PCDIR) ;)
-+	$(foreach x, $(PCTARGETS), $(INSTALL) -m 644 $(TOPDIR)/src/$(x).in $(DESTDIR)$(PCDIR)/$(x) ;\
-+		sed -i -e "s:@@LIBDIR@@:$(libdir):g" -e "s:@@VERSION@@:$(VERSION):g" \
-+			$(DESTDIR)$(PCDIR)/$(x); )
- 	$(INSTALL) -d -m 755 $(DESTDIR)$(includedir)/efivar
- 	$(foreach x, $(wildcard $(TOPDIR)/src/include/efivar/*.h), $(INSTALL) -m 644 $(x) $(DESTDIR)$(includedir)/efivar/$(notdir $(x));)
- 	$(INSTALL) -d -m 755 $(DESTDIR)$(bindir)
--- 
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch
deleted file mode 100644
index 87f5555..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Upstream-Status: Pending
-
-It fails to create .so file when build efivar-native:
-
-| lib.o:(*IND*+0x0): multiple definition of `efi_set_variable'
-| lib.o:lib.c:(.text+0xa0): first defined here
-
-Add link option '-z muldefs' to fix it.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-diff --git a/Make.rules b/Make.rules
-index d9c0609..874bce0 100644
---- a/Make.rules
-+++ b/Make.rules
-@@ -20,6 +20,7 @@ include $(TOPDIR)/Make.version
- 	$(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \
- 	  -Wl,-soname,$@.$(MAJOR_VERSION) \
- 	  -Wl,--version-script=$(MAP) \
-+	  -Wl,-z,muldefs \
- 	  -o $@ $^ $(LDLIBS)
- 
- %.o : %.c
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch
deleted file mode 100644
index e3fa2e1..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 1361225abbaba878960f970df39a4570bbc39553 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 26 May 2016 21:50:01 -0400
-Subject: [PATCH] fix compile failure with older host gcc (<=4.6)
-
-While host gcc version is 4.6.3 in ubuntu 1204, it
-did not recognize -std=gnu11 and -Wmaybe-uninitialized.
-
-While host gcc version is 4.4.7 in centos6, it
-did not recognize -std=gnu11, -Wmaybe-uninitialized,
-and -flto.
-
-For native build, use -std=gnu99 to replace -std=gnu11,
-and directly remove -Wmaybe-uninitialized and -flto.
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gcc.specs | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: git/gcc.specs
-===================================================================
---- git.orig/gcc.specs
-+++ git/gcc.specs
-@@ -2,13 +2,13 @@
- + -D_GNU_SOURCE
- 
- *efivar_cpp_options:
-- -Werror -Wall -std=gnu11 -Wextra
-+ -Werror -Wall -std=gnu99 -Wextra
- 
- *cpp_options:
- + %(efivar_cpp_options)
- 
- *cc1_options:
--+ %(efivar_cpp_options) -Wmaybe-uninitialized -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
-++ %(efivar_cpp_options) -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
- 
- *self_spec:
- + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch
deleted file mode 100644
index fc8f8c8..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Taken from void linux
-
-Index: git/src/linux.c
-===================================================================
---- git.orig/src/linux.c
-+++ git/src/linux.c
-@@ -40,6 +40,10 @@
- #include <efivar.h>
- #include <efiboot.h>
- 
-+#if !defined(__GLIBC__)
-+#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s)
-+#endif
-+
- #include "dp.h"
- #include "linux.h"
- #include "util.h"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Remove-undefined-behavior.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Remove-undefined-behavior.patch
deleted file mode 100644
index 51397dc..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Remove-undefined-behavior.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From d2a03b3e43043b596a79803bcb93f70e513bbb50 Mon Sep 17 00:00:00 2001
-From: Patrick Georgi <pgeorgi@google.com>
-Date: Mon, 13 Mar 2017 13:48:03 +0100
-Subject: [PATCH] Remove undefined behavior
-
-Per clang-3.9, the compiler fails on #define ...defined(...) statements
-as they're undefined behavior (apparently with different behavior
-between gcc/clang and msvc, too).
-
-See clang's cfe repo commit r258128 for details.
-
-Change-Id: I82b6235e11b425fae45eebbe06b08f81c5bdbb98
-Signed-off-by: Patrick Georgi <pgeorgi@google.com>
-Reviewed-on: https://review.coreboot.org/18792
-Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
----
- hwaccess.c | 18 +++++++++++++++---
- platform.h | 18 +++++++++++++++---
- 2 files changed, 30 insertions(+), 6 deletions(-)
-
-diff --git a/hwaccess.c b/hwaccess.c
-index aede7e3..2bf6f42 100644
---- a/hwaccess.c
-+++ b/hwaccess.c
-@@ -37,9 +37,21 @@
- #error "Unknown operating system"
- #endif
- 
--#define USE_IOPL	(IS_LINUX || IS_MACOSX || defined(__NetBSD__) || defined(__OpenBSD__))
--#define USE_DEV_IO	(defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__))
--#define USE_IOPERM	(defined(__gnu_hurd__))
-+#if IS_LINUX || IS_MACOSX || defined(__NetBSD__) || defined(__OpenBSD__)
-+#define USE_IOPL 1
-+#else
-+#define USE_IOPL 0
-+#endif
-+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
-+#define USE_DEV_IO 1
-+#else
-+#define USE_DEV_IO 0
-+#endif
-+#if defined(__gnu_hurd__)
-+#define USE_IOPERM 1
-+#else
-+#define USE_IOPERM 0
-+#endif
- 
- #if USE_IOPERM
- #include <sys/io.h>
-diff --git a/platform.h b/platform.h
-index c5a52ef..b2fdcd0 100644
---- a/platform.h
-+++ b/platform.h
-@@ -25,9 +25,21 @@
- #define __PLATFORM_H__ 1
- 
- // Helper defines for operating systems
--#define IS_LINUX	(defined(__gnu_linux__) || defined(__linux__))
--#define IS_MACOSX	(defined(__APPLE__) && defined(__MACH__)) /* yes, both. */
--#define IS_WINDOWS	(defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(__WINDOWS__))
-+#if defined(__gnu_linux__) || defined(__linux__)
-+#define IS_LINUX 1
-+#else
-+#define IS_LINUX 0
-+#endif
-+#if defined(__APPLE__) && defined(__MACH__) /* yes, both. */
-+#define IS_MACOSX 1
-+#else
-+#define IS_MACOSX 0
-+#endif
-+#if defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(__WINDOWS__)
-+#define IS_WINDOWS 1
-+#else
-+#define IS_WINDOWS 0
-+#endif
- 
- // Likewise for target architectures
- #if defined (__i386__) || defined (__x86_64__) || defined(__amd64__)
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch
deleted file mode 100644
index 4170fef..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 7c65a465a3ddeb7afb9a7c49d010ae7e5d5b1ad1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 18 Jul 2017 20:25:49 -0700
-Subject: [PATCH] spi: Define _XOPEN_SOURCE to enable ffs() libc API
-
-musl exposes this issue
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- spi.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/spi.c b/spi.c
-index 894f73f..aeb6518 100644
---- a/spi.c
-+++ b/spi.c
-@@ -21,7 +21,7 @@
- /*
-  * Contains the generic SPI framework
-  */
--
-+#define _XOPEN_SOURCE
- #include <strings.h>
- #include <string.h>
- #include "flash.h"
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb
deleted file mode 100644
index 4cdd8ad..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.9.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips"
-LICENSE = "GPLv2"
-HOMEPAGE = "http://flashrom.org"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "pciutils libusb libusb-compat"
-
-SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \
-           file://0001-spi-Define-_XOPEN_SOURCE-to-enable-ffs-libc-API.patch \
-           file://sst26.patch \
-           file://0001-Remove-undefined-behavior.patch \
-           "
-SRC_URI[md5sum] = "aab9c98925d9cfb5ffb28b67a6112530"
-SRC_URI[sha256sum] = "cb3156b0f63eb192024b76c0814135930297aac41f80761a5d293de769783c45"
-
-inherit pkgconfig
-
-do_install() {
-    oe_runmake PREFIX=${prefix} DESTDIR=${D} install
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb
index e2edd09..99f680f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.12.1.bb
@@ -21,6 +21,10 @@
 
 EXTRA_OECMAKE = "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1"
 
+# With Ninja it fails with:
+# ninja: error: build.ninja:134: bad $-escape (literal $ must be written as $$)
+OECMAKE_GENERATOR = "Unix Makefiles"
+
 SYSTEMD_SERVICE_${PN} = "td-agent-bit.service"
 
 TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot.inc b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot.inc
deleted file mode 100644
index 19ee874..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot.inc
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \
-(text or binary) and function plotting utility."
-HOMEPAGE = "http://www.gnuplot.info/"
-SECTION = "console/scientific"
-LICENSE = "gnuplot"
-LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f"
-DEPENDS = "virtual/libx11 gd readline"
-
-inherit autotools distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-acpaths = ""
-
-PACKAGECONFIG ??= "cairo"
-PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango"
-PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
-# there's compilation failure if qt4 is enabled
-PACKAGECONFIG[qt4] = "--with-qt,--without-qt,qt4-x11-free"
-
-EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \
-                --without-tutorial \
-                --disable-wxwidgets"
-
-do_compile_prepend() {
-    install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/
-}
-
-do_install_append() {
-    install -d ${D}${datadir}/applications/
-    install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/
-    install -d ${D}${datadir}/pixmaps/
-    install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/
-}
-
-PACKAGES =+ "${PN}-x11-dbg ${PN}-x11"
-DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot."
-SECTION_${PN}-x11 = "x11/scientific"
-FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 "
-
-FILES_${PN} += "${datadir}/texmf"
-FILES_${PN}-x11-dbg += "${libexecdir}/gnuplot/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch
new file mode 100644
index 0000000..f8f1fd0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch
@@ -0,0 +1,31 @@
+From a2ac966813fdc04b788be9c8474a4c5e36c109a0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 6 Mar 2018 21:53:26 +0100
+Subject: [PATCH] reduce build to conversion tools for native build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 9241ce5..b24e291 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,7 +1,7 @@
+ ## Process this file with automake to produce Makefile.in -*-Makefile-*-
+ AUTOMAKE_OPTIONS = foreign
+ 
+-SUBDIRS = config m4 term src docs man demo tutorial share
++SUBDIRS = docs
+ 
+ EXTRA_DIST = BUGS Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \
+ Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch
new file mode 100644
index 0000000..8e0b4a2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch
@@ -0,0 +1,31 @@
+From a2ac966813fdc04b788be9c8474a4c5e36c109a0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 6 Mar 2018 21:53:26 +0100
+Subject: [PATCH] Do not build demos
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 9241ce5..b24e291 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,7 +1,7 @@
+ ## Process this file with automake to produce Makefile.in -*-Makefile-*-
+ AUTOMAKE_OPTIONS = foreign
+ 
+-SUBDIRS = config m4 term src docs man demo tutorial share
++SUBDIRS = config m4 term src docs man tutorial share
+ 
+ EXTRA_DIST = BUGS Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \
+ Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch
new file mode 100644
index 0000000..a4039c3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch
@@ -0,0 +1,111 @@
+From 1128a98fd1676981e536d8773f363cb832cfa6bb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 6 Mar 2018 22:28:56 +0100
+Subject: [PATCH] Use native tools to build docs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ docs/Makefile.am | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/docs/Makefile.am b/docs/Makefile.am
+index 3baf0c4..e82f87d 100644
+--- a/docs/Makefile.am
++++ b/docs/Makefile.am
+@@ -152,7 +152,7 @@ gnuplot-groff.ps: gnuplot.ms $(srcdir)/titlepag.ms
+ 
+ ### doc2xxx dependencies
+ gnuplot.ms: doc2ms$(EXEEXT) $(srcdir)/gnuplot.doc
+-	$(AM_V_GEN) ./doc2ms$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.ms "$(srcdir)/titlepag.ms"
++	$(AM_V_GEN) doc2ms$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.ms "$(srcdir)/titlepag.ms"
+ 
+ doc2ms_SOURCES = doc2ms.c termdoc.c
+ doc2ms_CPPFLAGS = -DALL_TERM_DOC $(AM_CPPFLAGS)
+@@ -173,10 +173,10 @@ pdf_figures: $(GNUPLOT_EXE) $(srcdir)/plotstyles.gnu
+ 	$(AM_V_GEN)touch $@
+ 
+ figures.tex: allterm.h doc2tex$(EXEEXT) $(srcdir)/gnuplot.doc
+-	$(AM_V_GEN)./doc2tex$(EXEEXT) -figures $(srcdir)/gnuplot.doc $@
++	$(AM_V_GEN) doc2tex$(EXEEXT) -figures $(srcdir)/gnuplot.doc $@
+ 
+ nofigures.tex: allterm.h doc2tex$(EXEEXT) $(srcdir)/gnuplot.doc
+-	$(AM_V_GEN)./doc2tex$(EXEEXT) $(srcdir)/gnuplot.doc $@
++	$(AM_V_GEN) doc2tex$(EXEEXT) $(srcdir)/gnuplot.doc $@
+ 
+ pdf: gnuplot.pdf
+ pdf_nofig: nofigures.pdf
+@@ -256,7 +256,7 @@ gnuplot.ps: gnuplot.dvi
+ hlp: gnuplot.hlp
+ 
+ gnuplot.hlp: doc2hlp$(EXEEXT) $(srcdir)/gnuplot.doc
+-	$(AM_V_GEN)./doc2hlp$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.hlp
++	$(AM_V_GEN)doc2hlp$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.hlp
+ 
+ doc2hlp_SOURCES = doc2hlp.c termdoc.c
+ 
+@@ -264,14 +264,14 @@ doc2hlp_SOURCES = doc2hlp.c termdoc.c
+ gih: gnuplot.gih
+ 
+ gnuplot.gih: doc2gih$(EXEEXT) $(srcdir)/gnuplot.doc
+-	$(AM_V_GEN)./doc2gih$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.gih
++	$(AM_V_GEN)doc2gih$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.gih
+ 
+ doc2gih_SOURCES = doc2gih.c termdoc.c
+ 
+ # To include all terminals in the .gih file
+ allgih: alldoc2gih$(EXEEXT) $(srcdir)/gnuplot.doc
+ 	@echo "generate gnuplot.gih with all terminals"
+-	$(AM_V_at)./alldoc2gih$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.gih
++	$(AM_V_at)alldoc2gih$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.gih
+ 
+ alldoc2gih_SOURCES = doc2gih.c termdoc.c
+ alldoc2gih_CPPFLAGS = -DALL_TERM_DOC $(AM_CPPFLAGS)
+@@ -286,7 +286,7 @@ $(srcdir)/windows/wgnuplot.hhk
+ wxhelp/wgnuplot.hhc wxhelp/wgnuplot.hhk wxhelp/*.html windows/*.png
+ 
+ wxhelp/wgnuplot.html: doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc 
+-	$(AM_V_GEN) ./doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc wxhelp/
++	$(AM_V_GEN) doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc wxhelp/
+ 
+ #doc2wxhtml_SOURCES = windows/doc2html.c termdoc.c xref.c allterm.h
+ #doc2wxhtml_CPPFLAGS = -DALL_TERM_DOC -DWXHELP -I../src $(AM_CPPFLAGS)
+@@ -336,7 +336,7 @@ install-info: gnuplot.info
+ ipf: gnuplot.ipf
+ 
+ gnuplot.ipf: doc2ipf$(EXEEXT) $(srcdir)/gnuplot.doc
+-	$(AM_V_GEN) ./doc2ipf$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.ipf
++	$(AM_V_GEN) doc2ipf$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.ipf
+ 
+ doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c
+ 
+@@ -344,7 +344,7 @@ doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c
+ rtf: gnuplot.rtf
+ 
+ gnuplot.rtf: doc2rtf$(EXEEXT) $(srcdir)/gnuplot.doc
+-	$(AM_V_GEN) ./doc2rtf$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.rtf
++	$(AM_V_GEN) doc2rtf$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.rtf
+ 
+ doc2rtf_SOURCES = doc2rtf.c termdoc.c xref.c
+ 
+@@ -352,13 +352,13 @@ doc2rtf_SOURCES = doc2rtf.c termdoc.c xref.c
+ rnh: gnuplot.rnh
+ 
+ gnuplot.rnh: doc2rnh$(EXEEXT) $(srcdir)/gnuplot.doc
+-	$(AM_V_GEN) ./doc2rnh$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.rnh
++	$(AM_V_GEN) doc2rnh$(EXEEXT) $(srcdir)/gnuplot.doc gnuplot.rnh
+ 
+ doc2rnh_SOURCES = doc2rnh.c termdoc.c
+ 
+ # this is how to check the gnuplot.doc file
+ check-local: checkdoc$(EXEEXT)
+-	$(AM_V_at)./checkdoc$(EXEEXT) < $(srcdir)/gnuplot.doc; \
++	$(AM_V_at)checkdoc$(EXEEXT) < $(srcdir)/gnuplot.doc; \
+ 	if test $$? -eq 0; then \
+ 	  echo "PASS: gnuplot.doc"; \
+ 	else \
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0004-Add-configure-option-to-find-qt5-native-tools.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0004-Add-configure-option-to-find-qt5-native-tools.patch
new file mode 100644
index 0000000..7ed9e76
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0004-Add-configure-option-to-find-qt5-native-tools.patch
@@ -0,0 +1,42 @@
+From 577e21622475fa29fd471149cf2380c53fdbfcbd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 6 Mar 2018 22:26:48 +0100
+Subject: [PATCH] Add configure option to find qt5 native tools
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Pkg-config checks for target locations. With these qt5 tools as uic/moc..
+cannot be used.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ configure.ac | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index cdd831a..fdd192b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1133,11 +1133,15 @@ if test "${enable_qt}" = yes ; then
+   else
+     try_qt4=yes
+   fi
++  AC_ARG_WITH(qt5nativesysroot,
++    AC_HELP_STRING([--with-qt5nativesysroot=PATH], [prepend path - for native qt5 tools]),
++    [QT5NATIVESYSROOT="$withval"], [QT5NATIVESYSROOT=""])
++
+   if test "x${with_qt}" != "xqt4"; then
+     PKG_CHECK_MODULES_NOFAIL(QT, [Qt5Core Qt5Gui Qt5Network Qt5Svg Qt5PrintSupport])
+     if test $pkg_failed = no; then
+       try_qt4=no
+-      QT5LOC=`$PKG_CONFIG --variable=host_bins Qt5Core`
++      QT5LOC=${QT5NATIVESYSROOT}`$PKG_CONFIG --variable=host_bins Qt5Core`
+       if test "x${QT5LOC}" != "x"; then
+         UIC=${QT5LOC}/uic
+         MOC=${QT5LOC}/moc
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop
index f67df9e..1012e47 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop
@@ -1,8 +1,8 @@
 [Desktop Entry]
 Name=Gnuplot
 Comment=Plot data and function graphs
-Exec=x-terminal-emulator -e gnuplot
-Terminal=false
+Exec=gnuplot
+Terminal=true
 Type=Application
 Icon=gnuplot
 Categories=Science;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/lua-loadlibs-configure-in-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/lua-loadlibs-configure-in-fix.patch
deleted file mode 100644
index 23f2cd2..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/lua-loadlibs-configure-in-fix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: gnuplot-4.6.5/configure.in
-===================================================================
---- gnuplot-4.6.5.orig/configure.in
-+++ gnuplot-4.6.5/configure.in
-@@ -690,6 +690,11 @@ if test "${with_lua}" = yes ; then
-   fi
- 
-   if test "$with_lua" != no; then
-+    dnl check for dlopen/dl to fix loadlibs link failure
-+    AC_CHECK_FUNC([dlopen], [],
-+      AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
-+    AC_SUBST(DLOPEN_LIBS)
-+    LUA_LIBS="$LUA_LIBS $DLOPEN_LIBS"
-     TERMLIBS="$TERMLIBS $LUA_LIBS"
-     CPPFLAGS="$CPPFLAGS $LUA_CFLAGS"
-   else
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/qtopia.trm b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/qtopia.trm
deleted file mode 100644
index b52f9bb..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/qtopia.trm
+++ /dev/null
@@ -1,483 +0,0 @@
-/*
- * $Id: dumb.trm,v 1.16 2004/04/13 17:24:16 broeker Exp $
- *
- */
-
-/* GNUPLOT - qtopia.trm */
-
-/*[
- * Copyright 1991 - 1993, 1998, 2004   Thomas Williams, Colin Kelley
- *
- * Permission to use, copy, and distribute this software and its
- * documentation for any purpose with or without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.
- *
- * Permission to modify the software is granted, but not the right to
- * distribute the complete modified source code.  Modifications are to
- * be distributed as patches to the released version.  Permission to
- * distribute binaries produced by compiling modified sources is granted,
- * provided you
- *   1. distribute the corresponding source modifications from the
- *    released version in the form of a patch file along with the binaries,
- *   2. add special version identification to distinguish your version
- *    in addition to the base release version number,
- *   3. provide your name and address as the primary contact for the
- *    support of your modified version, and
- *   4. retain our contact information in regard to use of the base
- *    software.
- * Permission to distribute the released version of the source code along
- * with corresponding source modifications in the form of a patch file is
- * granted with same provisions 2 through 4 for binary distributions.
- *
- * This software is provided "as is" without express or implied warranty
- * to the extent permitted by applicable law.
-]*/
-
-/*
- * This file is included by ../term.c.
- *
- * This terminal driver supports:
- *   qtopia terminals
- *
- * AUTHORS
- *   Michael Neuroth, 2004-05-16
- *           INTERNET: michael.neuroth@freenet.de
- *
- * send your comments or suggestions to (gnuplot-info@lists.sourceforge.net).
- *
- */
-#include "driver.h"
-
-#define NO_QTOPIA_ENHANCED_SUPPORT
-
-#ifdef TERM_REGISTER
-register_term(qtopia_driver)
-#endif
-
-#ifdef TERM_PROTO
-TERM_PUBLIC void QTOPIA_options __PROTO((void));
-TERM_PUBLIC void QTOPIA_init __PROTO((void));
-TERM_PUBLIC void QTOPIA_graphics __PROTO((void));
-TERM_PUBLIC void QTOPIA_text __PROTO((void));
-TERM_PUBLIC void QTOPIA_reset __PROTO((void));
-TERM_PUBLIC void QTOPIA_linetype __PROTO((int linetype));
-TERM_PUBLIC void QTOPIA_move __PROTO((unsigned int x, unsigned int y));
-TERM_PUBLIC void QTOPIA_point __PROTO((unsigned int x, unsigned int y,
-				     int point));
-TERM_PUBLIC void QTOPIA_vector __PROTO((unsigned int x, unsigned int y));
-TERM_PUBLIC void QTOPIA_put_text __PROTO((unsigned int x, unsigned int y,
-					const char *str));
-TERM_PUBLIC void QTOPIA_arrow __PROTO((unsigned int sx, unsigned int sy,
-				     unsigned int ex, unsigned int ey,
-				     int head));
-
-#define ENHqtopia_put_text NULL
-
-
-#define QTOPIA_XMAX 4096
-#define QTOPIA_YMAX 4096
-
-#ifdef ZAURUS
-#define QTOPIA_VCHAR (QTOPIA_YMAX/25)
-#define QTOPIA_HCHAR (QTOPIA_XMAX/40)
-#define QTOPIA_VTIC (QTOPIA_YMAX/50)
-#define QTOPIA_HTIC (QTOPIA_XMAX/40)
-#else
-#define QTOPIA_VCHAR (QTOPIA_YMAX/25)
-#define QTOPIA_HCHAR (QTOPIA_XMAX/50)
-#define QTOPIA_VTIC (QTOPIA_YMAX/100)
-#define QTOPIA_HTIC (QTOPIA_XMAX/150)
-#endif
-
-#endif /* TERM_PROTO */
-
-#ifdef TERM_BODY
-
-/*#include <winsock2.h>*/
-/* needs: ws2_32.lib */
-#ifndef _MSC_VER
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#endif
-
-#define QTOPIA_MAX_BUFFER		512
-#define QTOPIA_MAX_DELAY_COUNT	20	/* * 100 ms = 2 s */
-
-#ifdef _MSC_VER
-#define QTOPIA_BAD_SOCKET		INVALID_SOCKET		/* -1 */
-#define QTOPIA_BAD_CONNECT		SOCKET_ERROR
-#else
-#define QTOPIA_BAD_SOCKET		-1
-#define QTOPIA_BAD_CONNECT		-1
-#endif
-#define QTOPIA_PORT_NO			5050
-
-static int qtopia_client_socket = QTOPIA_BAD_SOCKET;
-static unsigned short qtopia_port_no = QTOPIA_PORT_NO;
-static char qtopia_host_name[QTOPIA_MAX_BUFFER+1] = { "localhost" };
-
-static int OpenClient __PROTO(( int test));
-static void CloseClient();
-
-static void MySleep( delay )
-int delay;
-{
-#ifdef _MSC_VER
-	Sleep( delay );
-#else
-	usleep( delay );
-#endif
-}
-
-static void InitSockets()
-{
-#ifdef _MSC_VER
-	WORD wVersionRequested;
-	WSADATA wsaData;
-	int err;
-
-	wVersionRequested = MAKEWORD( 2, 2 );
-
-	err = WSAStartup( wVersionRequested, &wsaData );
-#endif
-}
-
-static void ExitSockets()
-{
-#ifdef _MSC_VER
-	WSACleanup();
-#endif
-}
-
-static int CheckForQtplot( count )
-int count;
-{
-	/* test (via sockets) if qtplot is allready running */
-	if( !OpenClient( 1 ) )
-	{
-		/* give qtplot a litle bit time to start... */
-		if( count < QTOPIA_MAX_DELAY_COUNT )
-		{
-			if( count == 0 )
-			{
-#ifdef _MSC_VER
-				system( "start qtplot" );
-#else
-				system( "qtplot&" );
-#endif
-			}
-		
-			MySleep(100);
-
-			return CheckForQtplot( count+1 );
-		}
-		else
-		{
-			return 0;
-		}
-	}
-	else
-	{
-		CloseClient();
-
-		return 1;
-	}
-}
-
-static int OpenClient( test )
-int test;
-{
-    int len;
-    struct sockaddr_in address;
-    int result;
-
-	/*  Create a socket for the client.  */
-
-    qtopia_client_socket = socket(AF_INET, SOCK_STREAM, 0);
-
-	if( qtopia_client_socket != QTOPIA_BAD_SOCKET )
-	{
-		/*  Name the socket, as agreed with the server.  */
-
-		address.sin_family = AF_INET;
-		address.sin_addr.s_addr = inet_addr(/*qtopia_host_name*/"127.0.0.1");	/* localhost */
-		address.sin_port = htons(qtopia_port_no);
-		len = sizeof(address);
-
-		/*  Now connect our socket to the server's socket.  */
-
-		result = connect(qtopia_client_socket, (struct sockaddr *)&address, len);
-		
-		if( result == QTOPIA_BAD_SOCKET )
-		{
-			/* mark this socket as bad */
-
-			close( qtopia_client_socket );
-
-			qtopia_client_socket = QTOPIA_BAD_SOCKET;
-
-			if( !test )
-			{
-				fprintf( gpoutfile, "error connecting to server !\n" );
-			}
-			return 0;	/* something went wrong */
-		}
-	}
-	else
-	{
-		if( !test )
-		{
-			fprintf( gpoutfile, "error creating socket !\n" );
-		}
-		return 0;	/* something went wrong */
-	}
-
-	return 1;	/* everything ist ok ! */
-}
-
-static void CloseClient()
-{
-    close( qtopia_client_socket );
-}
-
-static int IsClientOk()
-{
-	return qtopia_client_socket != QTOPIA_BAD_SOCKET;
-}
-
-static void SendDataToSocket( sLine )
-const char * sLine;
-{
-	if( IsClientOk() )
-	{
-		int send_count;
-
-		send_count = send( qtopia_client_socket, sLine, strlen( sLine ), 0 );
-
-		if( send_count <= 0 )
-		{
-			fprintf( gpoutfile, "error writing to socket str=%s!\n", sLine );
-		}
-		/*
-		else
-		{
-			fprintf( gpoutfile, "wrote %d bytes\n", send_count );
-		}
-		*/
-	}
-	else
-	{
-		/* for testing... */
-		/*fprintf( gpoutfile, sLine );*/
-	}
-}
-
-/* ************************************************** */
-
-enum QTOPIA_id { QTOPIA_PORT, QTOPIA_HOST, QTOPIA_OTHER };
-
-static struct gen_table QTOPIA_opts[] =
-{
-    { "po$rt", QTOPIA_PORT },
-    { "ho$st", QTOPIA_HOST },
-    { NULL, QTOPIA_OTHER }
-};
-
-TERM_PUBLIC void
-QTOPIA_options()
-{
-    /* this is not for the qtopia terminal ! */
-	/*SendDataToSocket( "qtd options\n" );*/
-
-    int x, y;
-    struct value a;
-
-    while (!END_OF_COMMAND) 
-	{
-		switch(lookup_table(&QTOPIA_opts[0],c_token)) 
-		{
-			case QTOPIA_PORT:
-				c_token++;
-				if (END_OF_COMMAND)
-					int_error(c_token, "expecting port number");
-				qtopia_port_no = (int) real(const_express(&a));
-				break;
-			case QTOPIA_HOST:
-				c_token++;
-				if (END_OF_COMMAND)
-					int_error(c_token, "expecting host name");
-				if (isstring(c_token))
-					quote_str( qtopia_host_name, c_token, sizeof(qtopia_host_name) );
-				else
- 					copy_str( qtopia_host_name, c_token, sizeof(qtopia_host_name) );
-				c_token++;
-				break;
-			case QTOPIA_OTHER:
-			default:
-				break;
-		}
-    }
-
-    sprintf(term_options, "host=%s port=%d",qtopia_host_name,qtopia_port_no);
-}
-
-
-TERM_PUBLIC void
-QTOPIA_init()
-{
-	/* initialize lib (if necassary) */
-	InitSockets();
-	CheckForQtplot( 0 );
-	OpenClient( 0 ); 
-
-	SendDataToSocket( "qtd init\n" );
-}
-
-
-TERM_PUBLIC void
-QTOPIA_graphics()
-{
-	SendDataToSocket( "qtd graphics\n" );
-}
-
-TERM_PUBLIC void
-QTOPIA_text()
-{
-	SendDataToSocket( "qtd text\n" );
-}
-
-
-TERM_PUBLIC void
-QTOPIA_reset()
-{
-	SendDataToSocket( "qtd reset\n" );
-
-	/* give the qtplot a litle bit time to shutdown */
-	MySleep(100);
-
-	CloseClient();
-	ExitSockets();
-}
-
-
-TERM_PUBLIC void
-QTOPIA_linetype(linetype)
-int linetype;
-{
-	char sBuffer[QTOPIA_MAX_BUFFER];
-
-	sprintf( sBuffer, "qtd linetype type=%d\n",linetype );
-
-	SendDataToSocket( sBuffer );
-}
-
-
-TERM_PUBLIC void
-QTOPIA_move(x, y)
-unsigned int x, y;
-{
-	char sBuffer[QTOPIA_MAX_BUFFER];
-
-	sprintf( sBuffer, "qtd move x=%d y=%d\n",x,y );
-
-	SendDataToSocket( sBuffer );
-}
-
-
-TERM_PUBLIC void
-QTOPIA_point(x, y, point)
-unsigned int x, y;
-int point;
-{
-	char sBuffer[QTOPIA_MAX_BUFFER];
-
-	sprintf( sBuffer, "qtd point x=%d y=%d point=%d\n",x,y,point );
-
-	SendDataToSocket( sBuffer );
-}
-
-
-TERM_PUBLIC void
-QTOPIA_vector(_x, _y)
-unsigned int _x, _y;
-{
-	char sBuffer[QTOPIA_MAX_BUFFER];
-
-	sprintf( sBuffer, "qtd vector x=%d y=%d\n",_x,_y );
-
-	SendDataToSocket( sBuffer );
-}
-
-
-TERM_PUBLIC void
-QTOPIA_put_text(x, y, str)
-unsigned int x, y;
-const char *str;
-{
-	char sBuffer[QTOPIA_MAX_BUFFER];
-
-	sprintf( sBuffer, "qtd put_text x=%d y=%d str=%s\n",x,y,str );
-
-	SendDataToSocket( sBuffer );
-}
-
-/* not suported yet ! */
-TERM_PUBLIC void
-QTOPIA_arrow(sx, sy, ex, ey, head)
-    unsigned int sx, sy, ex, ey;
-    int head;		/* ignored */
-{
-	char sBuffer[QTOPIA_MAX_BUFFER];
-
-	sprintf( sBuffer, "qtd arrow sx=%d sy=%d ex=%d ey=%d head=%d\n",sx,sy,ex,ey,head );
-
-	SendDataToSocket( sBuffer );
-}
-
-
-#endif /* TERM_BODY */
-
-#ifdef TERM_TABLE
-TERM_TABLE_START(qtopia_driver)
-    "qtopia", "qtopia or Qt",
-    QTOPIA_XMAX, QTOPIA_YMAX, QTOPIA_VCHAR, QTOPIA_HCHAR,
-    QTOPIA_VTIC, QTOPIA_HTIC, QTOPIA_options, QTOPIA_init, QTOPIA_reset,
-    QTOPIA_text, null_scale, QTOPIA_graphics, QTOPIA_move, QTOPIA_vector,
-    QTOPIA_linetype, QTOPIA_put_text, null_text_angle,
-    null_justify_text, QTOPIA_point, /*QTOPIA_arrow*/0, set_font_null,
-    0,				/* pointsize */
-    TERM_CAN_MULTIPLOT,
-    NULL, NULL, NULL, NULL
-#ifdef USE_MOUSE
-    , NULL, NULL, NULL, NULL, NULL
-#endif
-#ifdef PM3D
-    , NULL, NULL, NULL, NULL
-#endif
-TERM_TABLE_END(qtopia_driver)
-
-#undef LAST_TERM
-#define LAST_TERM qtopia_driver
-
-#endif /* TERM_TABLE */
-
-#ifdef TERM_HELP
-START_HELP(qtopia)
-"1 qtopia",
-"?commands set terminal qtopia",
-"?set terminal qtopia",
-"?set term qtopia",
-"?terminal qtopia",
-"?term qtopia",
-"?qtopia",
-" The `qtopia` terminal driver has no additional options.",
-"",
-" Syntax:",
-"       set terminal qtopia",
-""
-END_HELP(qtopia)
-#endif /* TERM_HELP */
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/subdirs.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/subdirs.patch
deleted file mode 100644
index 8c7d1f0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/subdirs.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- /tmp/Makefile.am	2007-08-23 13:10:15.560659023 +0200
-+++ gnuplot-4.2.0/Makefile.am	2007-08-23 13:10:34.961764629 +0200
-@@ -1,7 +1,7 @@
- ## Process this file with automake to produce Makefile.in -*-Makefile-*-
- AUTOMAKE_OPTIONS = foreign 1.2h
- 
--SUBDIRS = config m4 term src docs $(LISPDIR) man demo tutorial share
-+SUBDIRS = config m4 term src  $(LISPDIR) man share
- 
- EXTRA_DIST = BUGS CodeStyle Copyright FAQ GNUmakefile INSTALL INSTALL.gnu \
- Makefile.maint PATCHLEVEL PGPKEYS PORTING README README.1ST README.exp \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.0.5.bb
deleted file mode 100644
index 42308ba..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.0.5.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require gnuplot.inc
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \
-    http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
-    file://subdirs.patch \
-    file://lua-loadlibs-configure-in-fix.patch \
-    file://gnuplot.desktop \
-    file://gnuplot.png \
-"
-
-SRC_URI[archive.md5sum] = "c5e96fca73afbee4f57cbc1bfce6b3b8"
-SRC_URI[archive.sha256sum] = "25f3e0bf192e01115c580f278c3725d7a569eb848786e12b455a3fda70312053"
-SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6"
-SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb
new file mode 100644
index 0000000..4cc289d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.2.bb
@@ -0,0 +1,69 @@
+SUMMARY = "Gnuplot is a portable command-line driven graphing utility"
+DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \
+(text or binary) and function plotting utility."
+HOMEPAGE = "http://www.gnuplot.info/"
+SECTION = "console/scientific"
+LICENSE = "gnuplot"
+LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f"
+DEPENDS = "${BPN}-native virtual/libx11 gd readline"
+
+inherit autotools distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \
+    http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
+    file://gnuplot.desktop \
+    file://gnuplot.png \
+"
+SRC_URI_append_class-target = " \
+    file://0002-do-not-build-demos.patch \
+    file://0003-Use-native-tools-to-build-docs.patch \
+    file://0004-Add-configure-option-to-find-qt5-native-tools.patch \
+"
+
+SRC_URI[archive.md5sum] = "60aedd08998160593199459dea8467fe"
+SRC_URI[archive.sha256sum] = "a416d22f02bdf3873ef82c5eb7f8e94146795811ef808e12b035ada88ef7b1a1"
+SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6"
+SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132"
+
+# for building docs (they deserve it) we need *doc2* tools native
+BBCLASSEXTEND = "native"
+DEPENDS_class-native = "readline-native"
+PACKAGECONFIG_class-native = ""
+
+SRC_URI_append_class-native = "file://0001-reduce-build-to-conversion-tools-for-native-build.patch"
+
+do_install_class-native() {
+    install -d ${D}${bindir}
+	install ${B}/docs/*doc* ${D}${bindir}
+    rm ${D}${bindir}/*.o
+}
+
+PACKAGECONFIG ??= "cairo"
+PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango"
+PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
+PACKAGECONFIG[qt5] = "--with-qt --with-qt5nativesysroot=${STAGING_DIR_NATIVE},--without-qt,qtbase-native qtbase qtsvg qttools-native"
+
+EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \
+                --without-tutorial \
+                --disable-wxwidgets"
+
+do_compile_prepend() {
+    install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/
+}
+
+do_install_append_class-target() {
+    install -d ${D}${datadir}/applications/
+    install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/
+    install -d ${D}${datadir}/pixmaps/
+    install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/
+}
+
+PACKAGES =+ "${PN}-x11-dbg ${PN}-x11"
+DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot."
+SECTION_${PN}-x11 = "x11/scientific"
+FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 "
+
+FILES_${PN} += "${datadir}/texmf"
+FILES_${PN}-x11-dbg += "${libexecdir}/gnuplot/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
new file mode 100644
index 0000000..36fd57c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
@@ -0,0 +1,32 @@
+From b04eeea777df32364df74bd63fc5b7fb05d21c8d Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Tue, 27 Mar 2018 10:21:09 +0800
+Subject: [PATCH] init.d/Makefile.am: add missing dependency
+
+install-data-hook should epend on install-exec-hook, or the
+haveged.service might be installed incorrectly when build
+with -j option.
+
+Upstream-Status: Inappropriate [no upstream mailing list]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ init.d/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/init.d/Makefile.am b/init.d/Makefile.am
+index 5940f78..07bcdf7 100644
+--- a/init.d/Makefile.am
++++ b/init.d/Makefile.am
+@@ -33,7 +33,7 @@ if ENABLE_SYSTEMD
+ install-exec-hook:
+ 	$(do_subst) < $(srcdir)/$(src_tmpl) > haveged.service;
+ 
+-install-data-hook:
++install-data-hook: install-exec-hook
+ if ENABLE_SYSTEMD_LOOKUP
+ 	install -p -D -m644 haveged.service $(DESTDIR)`pkg-config --variable=systemdsystemunitdir systemd`/haveged.service;
+ else
+-- 
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch
deleted file mode 100644
index df27bcb..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/init.d/Makefile.am	2014-01-02 18:55:53.000000000 +0100
-+++ b/init.d/Makefile.am	2014-08-11 10:59:40.000000000 +0200
-@@ -34,11 +34,11 @@
- 	$(do_subst) < $(srcdir)/$(src_tmpl) > haveged.service;
- 
- install-data-hook:
--if ENABLE_SYSTEMD_LOOKUP
--	install -p -m644 haveged.service `pkg-config --variable=systemdsystemunitdir systemd`/haveged.service;
--else
--	install -p -m644 haveged.service ($unit_dir)/haveged.service;
--endif
--	systemctl enable haveged.service;
-+#if ENABLE_SYSTEMD_LOOKUP
-+#	install -p -m644 haveged.service `pkg-config --variable=systemdsystemunitdir systemd`/haveged.service;
-+#else
-+#	install -p -m644 haveged.service ($unit_dir)/haveged.service;
-+#endif
-+#	systemctl enable haveged.service;
- 
- endif
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb
deleted file mode 100644
index bb44c41..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "haveged - A simple entropy daemon"
-DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers."
-AUTHOR = "Gary Wuertz"
-HOMEPAGE = "http://www.issihosts.com/haveged/index.html"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://www.issihosts.com/haveged/haveged-${PV}.tar.gz \
-    file://remove-systemd-unit-503.patch \
-"
-
-SRC_URI[md5sum] = "015ff58cd10607db0e0de60aeca2f5f8"
-SRC_URI[sha256sum] = "9c2363ed9542a6784ff08e247182137e71f2ddb79e8e6c1ac4ad50d21ced3715"
-
-inherit autotools systemd
-
-EXTRA_OECONF = "\
-    --enable-init=service.redhat \
-    --enable-nistest=yes \
-    --enable-olt=yes \
-    --enable-threads=no \
-"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "haveged.service"
-
-do_install_append() {
-    mkdir -p ${D}${systemd_unitdir}/system
-    install -p -m644 ${B}/init.d/haveged.service ${D}${systemd_unitdir}/system
-}
-
-MIPS_INSTRUCTION_SET = "mips"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb
new file mode 100644
index 0000000..05ee842
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.2.bb
@@ -0,0 +1,40 @@
+SUMMARY = "haveged - A simple entropy daemon"
+DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers."
+AUTHOR = "Gary Wuertz"
+HOMEPAGE = "http://www.issihosts.com/haveged/index.html"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://www.issihosts.com/haveged/haveged-${PV}.tar.gz \
+           file://haveged-init.d-Makefile.am-add-missing-dependency.patch \
+"
+
+SRC_URI[md5sum] = "fb1d8b3dcbb9d06b30eccd8aa500fd31"
+SRC_URI[sha256sum] = "f77d9adbdf421b61601fa29faa9ce3b479d910f73c66b9e364ba8642ccbfbe70"
+
+inherit autotools update-rc.d systemd
+
+EXTRA_OECONF = "\
+    --enable-nistest=yes \
+    --enable-olt=yes \
+    --enable-threads=no \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--enable-init=service.redhat --enable-initdir=${systemd_system_unitdir}, --enable-init=sysv.redhat, systemd"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME = "haveged"
+INITSCRIPT_PARAMS_${PN} = "defaults 9"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "haveged.service"
+
+do_install_append() {
+    # The exit status is 143 when the service is stopped
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        sed -i '/ExecStart/a SuccessExitStatus=143' ${D}${systemd_system_unitdir}/haveged.service
+    fi
+}
+
+MIPS_INSTRUCTION_SET = "mips"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit/0001-don-t-strip-when-installing.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit/0001-don-t-strip-when-installing.patch
deleted file mode 100644
index a384b05..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit/0001-don-t-strip-when-installing.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From cc67246ca6839e5b3f6a286f10ed24c225b77a5e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
-Date: Thu, 4 Jul 2013 12:34:32 +0200
-Subject: [PATCH] don't strip when installing
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Eric Bénard <eric@eukrea.com>
-
-Upstream-Status: Inappropriate [configuration]
----
- Makefile.in |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 159463e..735cc72 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -42,6 +42,6 @@ distclean: clean
- 
- install: $(PRODUCT)
- 	$(INSTALL) -d -m 755 $(DESTDIR)$(bindir)
--	$(INSTALL) -s -m 755 $(PRODUCT) $(DESTDIR)$(bindir)
-+	$(INSTALL) -m 755 $(PRODUCT) $(DESTDIR)$(bindir)
- 	$(INSTALL) -d -m 755 $(DESTDIR)$(mandir)/man1
- 	$(INSTALL) -m 644 $(PRODUCT).1 $(DESTDIR)$(mandir)/man1
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb
deleted file mode 100644
index 39df5b2..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "view and edit files in hexadecimal or in ASCII"
-HOMEPAGE = "http://rigaux.org/hexedit.html"
-SECTION = "console/utils"
-LICENSE = "GPLv2+"
-DEPENDS = "ncurses"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "http://rigaux.org/${BP}.src.tgz \
-    file://0001-don-t-strip-when-installing.patch "
-
-SRC_URI[md5sum] = "a5af1378d028512a9cad27a5ba3e15f9"
-SRC_URI[sha256sum] = "6a126da30a77f5c0b08038aa7a881d910e3b65d13767fb54c58c983963b88dd7"
-
-inherit autotools-brokensep
-
-S = "${WORKDIR}/${BPN}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb
new file mode 100644
index 0000000..050b7da
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.4.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "view and edit files in hexadecimal or in ASCII"
+HOMEPAGE = "http://rigaux.org/hexedit.html"
+SECTION = "console/utils"
+LICENSE = "GPLv2+"
+DEPENDS = "ncurses"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "git://github.com/pixel/hexedit.git \
+    "
+
+SRCREV = "800e4b2e6280531a84fd23ee0b48e16baeb90878"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
index cbf0473..0f798d2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
@@ -20,8 +20,8 @@
 inherit cmake
 
 EXTRA_OECMAKE = "-DWITH_PYTHON=ON \
-                 ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
-                 ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
+                 ${@oe.utils.conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
+                 ${@oe.utils.conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
                 "
 
 LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch
index 914ee99..745883e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch
@@ -33,7 +33,7 @@
  1 file changed, 4 insertions(+), 6 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 0270c99..b7c7368 100644
+index d41a307..b036e04 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -9,6 +9,8 @@ AC_DISABLE_STATIC
@@ -45,7 +45,7 @@
  AM_PATH_PYTHON
  
  AM_PROG_AR
-@@ -129,7 +131,6 @@ LIBBLOCKDEV_PKG_CHECK_MODULES([UDEV], [libudev >= 216])
+@@ -154,7 +156,6 @@ LIBBLOCKDEV_PKG_CHECK_MODULES([KMOD], [libkmod >= 19])
  AS_IF([test "x$with_crypto" != "xno"],
        [LIBBLOCKDEV_PKG_CHECK_MODULES([CRYPTSETUP], [libcryptsetup >= 1.6.7])
         LIBBLOCKDEV_PKG_CHECK_MODULES([NSS], [nss >= 3.18.0])
@@ -53,7 +53,7 @@
        ],
        [])
  
-@@ -137,10 +138,6 @@ AS_IF([test "x$with_dm" != "xno" -o "x$with_lvm" != "xno" -o "x$with_lvm_dbus" !
+@@ -162,10 +163,6 @@ AS_IF([test "x$with_dm" != "xno" -o "x$with_lvm" != "xno" -o "x$with_lvm_dbus" !
        [LIBBLOCKDEV_PKG_CHECK_MODULES([DEVMAPPER], [devmapper >= 1.02.93])],
        [])
  
@@ -61,10 +61,10 @@
 -      [LIBBLOCKDEV_CHECK_HEADER([dmraid/dmraid.h], [], [dmraid.h not available])],
 -      [])
 -
- AS_IF([test "x$with_kbd" != "xno"],
-       [LIBBLOCKDEV_PKG_CHECK_MODULES([KMOD], [libkmod >= 19])],
+ AS_IF([test "x$with_part" != "xno" -o "x$with_fs" != "xno"],
+       [LIBBLOCKDEV_PKG_CHECK_MODULES([PARTED], [libparted >= 3.1])]
        [])
-@@ -154,7 +151,8 @@ AS_IF([test "x$with_fs" != "xno"],
+@@ -174,7 +171,8 @@ AS_IF([test "x$with_fs" != "xno"],
        [LIBBLOCKDEV_PKG_CHECK_MODULES([MOUNT], [mount >= 2.23.0])
         # new versions of libmount has some new functions we can use
         AS_IF([$PKG_CONFIG --atleast-version=2.30.0 mount],
@@ -75,5 +75,5 @@
         LIBBLOCKDEV_PKG_CHECK_MODULES([BLKID], [blkid >= 2.23.0])
         # older versions of libblkid don't support BLKID_SUBLKS_BADCSUM so let's just
 -- 
-1.8.3.1
+2.14.3
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch
index 3d9cb6d..ac5b5e2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0003-remove-dmraid-while-compiling-with-with-dm.patch
@@ -22,21 +22,22 @@
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
- src/lib/plugin_apis/dm.api          |  41 -----
+ src/lib/plugin_apis/dm.api          |  50 ------
  src/plugins/Makefile.am             |   2 +-
- src/plugins/dm.c                    | 318 ------------------------------------
+ src/plugins/dm.c                    | 330 ------------------------------------
  src/plugins/dm.h                    |   5 -
  src/python/gi/overrides/BlockDev.py |   6 -
- 5 files changed, 1 insertion(+), 371 deletions(-)
+ 5 files changed, 1 insertion(+), 392 deletions(-)
 
 diff --git a/src/lib/plugin_apis/dm.api b/src/lib/plugin_apis/dm.api
-index a885bba..ec86b80 100644
+index 04fd8d8..5d30b6a 100644
 --- a/src/lib/plugin_apis/dm.api
 +++ b/src/lib/plugin_apis/dm.api
-@@ -68,44 +68,3 @@ gchar* bd_dm_node_from_name (const gchar *map_name, GError **error);
+@@ -111,53 +111,3 @@ gchar* bd_dm_get_subsystem_from_name (const gchar *device_name, GError **error);
+  * Tech category: %BD_DM_TECH_MAP-%BD_DM_TECH_MODE_QUERY
   */
  gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean active_only, GError **error);
- 
+-
 -/**
 - * bd_dm_get_member_raid_sets:
 - * @name: (allow-none): name of the member
@@ -49,6 +50,8 @@
 - * the member or %NULL in case of error
 - *
 - * One of @name, @uuid or @major:@minor has to be given.
+- *
+- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_MODE_QUERY
 - */
 -gchar** bd_dm_get_member_raid_sets (const gchar *name, const gchar *uuid, gint major, gint minor, GError **error);
 -
@@ -58,6 +61,8 @@
 - * @error: (out): variable to store error (if any)
 - *
 - * Returns: whether the RAID set @name was successfully activate or not
+- *
+- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_CREATE_ACTIVATE
 - */
 -gboolean bd_dm_activate_raid_set (const gchar *name, GError **error);
 -
@@ -67,6 +72,8 @@
 - * @error: (out): variable to store error (if any)
 - *
 - * Returns: whether the RAID set @name was successfully deactivate or not
+- *
+- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_REMOVE_DEACTIVATE
 - */
 -gboolean bd_dm_deactivate_raid_set (const gchar *name, GError **error);
 -
@@ -76,13 +83,15 @@
 - * @error: (out): variable to store error (if any)
 - *
 - * Returns: string representation of the @name RAID set's type
+- *
+- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_QUERY
 - */
 -gchar* bd_dm_get_raid_set_type (const gchar *name, GError **error);
 diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
-index 6c4038f..59dc5e3 100644
+index b69c8f7..7575f4a 100644
 --- a/src/plugins/Makefile.am
 +++ b/src/plugins/Makefile.am
-@@ -76,7 +76,7 @@ endif
+@@ -75,7 +75,7 @@ endif
  
  if WITH_DM
  libbd_dm_la_CFLAGS = $(GLIB_CFLAGS) $(DEVMAPPER_CFLAGS) $(UDEV_CFLAGS) -Wall -Wextra -Werror
@@ -92,10 +101,10 @@
  # Dear author of libdmdraid, VERSION really is not a good name for an enum member!
  libbd_dm_la_CPPFLAGS = -I${builddir}/../../include/ -UVERSION
 diff --git a/src/plugins/dm.c b/src/plugins/dm.c
-index 9cee742..fd7c7ba 100644
+index 0e5466c..31ebe96 100644
 --- a/src/plugins/dm.c
 +++ b/src/plugins/dm.c
-@@ -21,16 +21,10 @@
+@@ -21,17 +21,11 @@
  #include <unistd.h>
  #include <blockdev/utils.h>
  #include <libdevmapper.h>
@@ -103,6 +112,7 @@
  #include <libudev.h>
  
  #include "dm.h"
+ #include "check_deps.h"
  
 -/* macros taken from the pyblock/dmraid.h file plus one more*/
 -#define for_each_raidset(_c, _n) list_for_each_entry(_n, LC_RS(_c), list)
@@ -112,10 +122,11 @@
  /**
   * SECTION: dm
   * @short_description: plugin for basic operations with device mapper
-@@ -286,315 +280,3 @@ gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean a
+@@ -380,327 +374,3 @@ gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean a
+ 
      return ret;
  }
- 
+-
 -/**
 - * init_dmraid_stack: (skip)
 - *
@@ -191,6 +202,9 @@
 -    /* if we don't have the name, we cannot check any match */
 -    g_return_val_if_fail (dev_name, FALSE);
 -
+-    /* g_return_val_if_fail above checks value of dev_name and returns FALSE if
+-     * it is NULL so we don't need to check it here */
+-    /* coverity[var_deref_model] */
 -    if (name && strcmp (dev_name, name) != 0) {
 -        return FALSE;
 -    }
@@ -220,8 +234,8 @@
 - * find_raid_sets_for_dev: (skip)
 - */
 -static void find_raid_sets_for_dev (const gchar *name, const gchar *uuid, gint major, gint minor, struct lib_context *lc, struct raid_set *rs, GPtrArray *ret_sets) {
--    struct raid_set *subset;
--    struct raid_dev *dev;
+-    struct raid_set *subset = NULL;
+-    struct raid_dev *dev = NULL;
 -
 -    if (T_GROUP(rs) || !list_empty(&(rs->sets))) {
 -        for_each_subset (rs, subset)
@@ -246,6 +260,8 @@
 - * the member or %NULL in case of error
 - *
 - * One of @name, @uuid or @major:@minor has to be given.
+- *
+- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_MODE_QUERY
 - */
 -gchar** bd_dm_get_member_raid_sets (const gchar *name, const gchar *uuid, gint major, gint minor, GError **error) {
 -    guint64 i = 0;
@@ -312,8 +328,8 @@
 -
 -static gboolean change_set_by_name (const gchar *name, enum activate_type action, GError **error) {
 -    gint rc = 0;
--    struct lib_context *lc;
--    struct raid_set *iter_rs;
+-    struct lib_context *lc = NULL;
+-    struct raid_set *iter_rs = NULL;
 -    struct raid_set *match_rs = NULL;
 -
 -    lc = init_dmraid_stack (error);
@@ -352,6 +368,8 @@
 - * @error: (out): variable to store error (if any)
 - *
 - * Returns: whether the RAID set @name was successfully activate or not
+- *
+- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_CREATE_ACTIVATE
 - */
 -gboolean bd_dm_activate_raid_set (const gchar *name, GError **error) {
 -    guint64 progress_id = 0;
@@ -372,6 +390,8 @@
 - * @error: (out): variable to store error (if any)
 - *
 - * Returns: whether the RAID set @name was successfully deactivate or not
+- *
+- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_REMOVE_DEACTIVATE
 - */
 -gboolean bd_dm_deactivate_raid_set (const gchar *name, GError **error) {
 -    guint64 progress_id = 0;
@@ -392,10 +412,12 @@
 - * @error: (out): variable to store error (if any)
 - *
 - * Returns: string representation of the @name RAID set's type
+- *
+- * Tech category: %BD_DM_TECH_RAID-%BD_DM_TECH_QUERY
 - */
 -gchar* bd_dm_get_raid_set_type (const gchar *name, GError **error) {
--    struct lib_context *lc;
--    struct raid_set *iter_rs;
+-    struct lib_context *lc = NULL;
+-    struct raid_set *iter_rs = NULL;
 -    struct raid_set *match_rs = NULL;
 -    const gchar *type = NULL;
 -
@@ -429,7 +451,7 @@
 -    return g_strdup (type);
 -}
 diff --git a/src/plugins/dm.h b/src/plugins/dm.h
-index 859fb80..80acd49 100644
+index 0dce6ac..1ee3788 100644
 --- a/src/plugins/dm.h
 +++ b/src/plugins/dm.h
 @@ -1,5 +1,4 @@
@@ -438,10 +460,10 @@
  
  #ifndef BD_DM
  #define BD_DM
-@@ -35,9 +34,5 @@ gboolean bd_dm_remove (const gchar *map_name, GError **error);
+@@ -48,9 +47,5 @@ gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean a
  gchar* bd_dm_name_from_node (const gchar *dm_node, GError **error);
  gchar* bd_dm_node_from_name (const gchar *map_name, GError **error);
- gboolean bd_dm_map_exists (const gchar *map_name, gboolean live_only, gboolean active_only, GError **error);
+ gchar* bd_dm_get_subsystem_from_name (const gchar *device_name, GError **error);
 -gchar** bd_dm_get_member_raid_sets (const gchar *name, const gchar *uuid, gint major, gint minor, GError **error);
 -gboolean bd_dm_activate_raid_set (const gchar *name, GError **error);
 -gboolean bd_dm_deactivate_raid_set (const gchar *name, GError **error);
@@ -466,5 +488,5 @@
  _loop_setup = BlockDev.loop_setup
  @override(BlockDev.loop_setup)
 -- 
-1.8.3.1
+2.14.3
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch
index f18b569..0b5b809 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0004-fix-compile-failure-against-musl-C-library.patch
@@ -12,7 +12,7 @@
  2 files changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c
-index 8fbce4f..66e11e5 100644
+index b961471..2d3d251 100644
 --- a/src/plugins/crypto.c
 +++ b/src/plugins/crypto.c
 @@ -22,7 +22,7 @@
@@ -25,7 +25,7 @@
  #include <linux/random.h>
  #include <locale.h>
 diff --git a/src/plugins/part.c b/src/plugins/part.c
-index 12d2ef7..3afe297 100644
+index 6b2a690..ab490d9 100644
 --- a/src/plugins/part.c
 +++ b/src/plugins/part.c
 @@ -25,6 +25,7 @@
@@ -33,10 +33,10 @@
  #include <unistd.h>
  #include <sys/file.h>
 +#include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <linux/fs.h>
  #include <blockdev/utils.h>
- #include <part_err.h>
- 
-@@ -1224,7 +1225,7 @@ static gboolean set_gpt_flags (const gchar *device, int part_num, guint64 flags,
+@@ -1354,7 +1355,7 @@ static gboolean set_gpt_flags (const gchar *device, int part_num, guint64 flags,
          real_flags |= 0x4000000000000000; /* 1 << 62 */
      if (flags & BD_PART_FLAG_GPT_NO_AUTOMOUNT)
          real_flags |= 0x8000000000000000; /* 1 << 63 */
@@ -46,5 +46,5 @@
      args[2] = g_strdup_printf ("%d:=:%s", part_num, mask_str);
      g_free (mask_str);
 -- 
-1.8.3.1
+2.14.3
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch
index 3818936..b214f0b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0005-fix-a-clang-compiling-issue.patch
@@ -19,17 +19,17 @@
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
- src/plugins/crypto.c | 6 +++---
- src/plugins/fs.c     | 4 ++--
- src/plugins/part.c   | 4 ++--
- src/utils/exec.c     | 2 +-
+ src/plugins/crypto.c  | 6 +++---
+ src/plugins/fs/vfat.c | 4 ++--
+ src/plugins/part.c    | 4 ++--
+ src/utils/exec.c      | 2 +-
  4 files changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c
-index 8fbce4f..7ee7cdc 100644
+index 563093e..b961471 100644
 --- a/src/plugins/crypto.c
 +++ b/src/plugins/crypto.c
-@@ -881,7 +881,7 @@ gboolean bd_crypto_tc_open (const gchar *device, const gchar *name, const guint8
+@@ -970,7 +970,7 @@ gboolean bd_crypto_tc_open (const gchar *device, const gchar *name, const guint8
      gint ret = 0;
      guint64 progress_id = 0;
      gchar *msg = NULL;
@@ -38,7 +38,7 @@
  
      msg = g_strdup_printf ("Started opening '%s' TrueCrypt/VeraCrypt device", device);
      progress_id = bd_utils_report_started (msg);
-@@ -999,7 +999,7 @@ static gchar *replace_char (gchar *str, gchar orig, gchar new) {
+@@ -1090,7 +1090,7 @@ static gchar *replace_char (gchar *str, gchar orig, gchar new) {
      return str;
  }
  
@@ -47,7 +47,7 @@
                                          CERTCertificate *cert, GError **error) {
      gpointer packet_data = NULL;
      gsize packet_data_size = 0;
-@@ -1008,7 +1008,7 @@ static gboolean write_escrow_data_file (struct libvk_volume *volume, struct libv
+@@ -1099,7 +1099,7 @@ static gboolean write_escrow_data_file (struct libvk_volume *volume, struct libv
      gsize bytes_written = 0;
      GError *tmp_error = NULL;
  
@@ -56,11 +56,11 @@
                                                                       ui, LIBVK_PACKET_FORMAT_ASYMMETRIC_WRAP_SECRET_ONLY, error);
  
      if (!packet_data) {
-diff --git a/src/plugins/fs.c b/src/plugins/fs.c
-index c4b6ac8..647096d 100644
---- a/src/plugins/fs.c
-+++ b/src/plugins/fs.c
-@@ -2614,8 +2614,8 @@ BDFSVfatInfo* bd_fs_vfat_get_info (const gchar *device, GError **error) {
+diff --git a/src/plugins/fs/vfat.c b/src/plugins/fs/vfat.c
+index 3ed7d4a..5ff7795 100644
+--- a/src/plugins/fs/vfat.c
++++ b/src/plugins/fs/vfat.c
+@@ -376,8 +376,8 @@ BDFSVfatInfo* bd_fs_vfat_get_info (const gchar *device, GError **error) {
   */
  gboolean bd_fs_vfat_resize (const gchar *device, guint64 new_size, GError **error) {
      PedDevice *ped_dev = NULL;
@@ -72,10 +72,10 @@
      PedSector start = 0;
      PedSector length = 0;
 diff --git a/src/plugins/part.c b/src/plugins/part.c
-index 12d2ef7..d277688 100644
+index fed8300..6b2a690 100644
 --- a/src/plugins/part.c
 +++ b/src/plugins/part.c
-@@ -849,7 +849,7 @@ static PedPartition* add_part_to_disk (PedDevice *dev, PedDisk *disk, BDPartType
+@@ -926,7 +926,7 @@ static PedPartition* add_part_to_disk (PedDevice *dev, PedDisk *disk, BDPartType
          return NULL;
      }
  
@@ -84,7 +84,7 @@
      if (!part) {
          set_parted_error (error, BD_PART_ERROR_FAIL);
          g_prefix_error (error, "Failed to create new partition on device '%s'", dev->path);
-@@ -1427,7 +1427,7 @@ gboolean bd_part_set_part_flags (const gchar *disk, const gchar *part, guint64 f
+@@ -1564,7 +1564,7 @@ gboolean bd_part_set_part_flags (const gchar *disk, const gchar *part, guint64 f
      PedPartition *ped_part = NULL;
      const gchar *part_num_str = NULL;
      gint part_num = 0;
@@ -94,7 +94,7 @@
      gboolean ret = FALSE;
      guint64 progress_id = 0;
 diff --git a/src/utils/exec.c b/src/utils/exec.c
-index 7ac44fd..0a3094c 100644
+index 11c1489..dcf87e5 100644
 --- a/src/utils/exec.c
 +++ b/src/utils/exec.c
 @@ -354,7 +354,7 @@ gboolean bd_utils_exec_and_report_progress (const gchar **argv, const BDExtraArg
@@ -107,5 +107,5 @@
      gboolean err_done = FALSE;
      GString *stdout_data = g_string_new (NULL);
 -- 
-1.8.3.1
+2.14.3
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.10.bb
deleted file mode 100644
index 2a92354..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.10.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
-block devices. It has a plugin-based architecture where each technology (like \
-LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
-with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
-HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
-LICENSE = "LGPLv2+"
-SECTION = "devel/lib"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "c1dda45001542edd7d7f1ffc6451c5a74623f805"
-SRC_URI = "git://github.com/rhinstaller/libblockdev;branch=master \
-           file://0001-fix-configure-and-compile-failures.patch \
-           file://0002-remove-python2-support.patch \
-           file://0003-remove-dmraid-while-compiling-with-with-dm.patch \
-           file://0005-fix-a-clang-compiling-issue.patch \
-"
-SRC_URI_append_libc-musl = " \
-           file://0004-fix-compile-failure-against-musl-C-library.patch \
-"
-
-inherit autotools python3native gobject-introspection
-
-DEPENDS += " \
-    cryptsetup \
-    nss \
-    volume-key \
-    libbytesize \
-    btrfs-tools \
-"
-RDEPENDS_${PN} += " \
-    lvm2 \
-"
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
-
-PACKAGECONFIG ??= "python3 lvm dm kmod parted fs"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
-PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools"
-PACKAGECONFIG[dm] = "--with-dm, --without-dm"
-PACKAGECONFIG[kmod] = "--with-kbd, --without-kbd, kmod"
-PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
-PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
-PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
-
-export STAGING_INCDIR
-export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.16.bb
new file mode 100644
index 0000000..0c954aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.16.bb
@@ -0,0 +1,51 @@
+DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
+block devices. It has a plugin-based architecture where each technology (like \
+LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
+with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
+HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
+LICENSE = "LGPLv2+"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+inherit autotools python3native gobject-introspection
+
+DEPENDS += " \
+    cryptsetup \
+    nss \
+    volume-key \
+    libbytesize \
+    btrfs-tools \
+"
+
+SRCREV = "e2e0899efe8dd3f111ff955fb6c1dc10b0bd2075"
+SRC_URI = " \
+    git://github.com/rhinstaller/libblockdev;branch=master \
+    file://0001-fix-configure-and-compile-failures.patch \
+    file://0002-remove-python2-support.patch \
+    file://0003-remove-dmraid-while-compiling-with-with-dm.patch \
+    file://0005-fix-a-clang-compiling-issue.patch \
+"
+SRC_URI_append_libc-musl = " \
+    file://0004-fix-compile-failure-against-musl-C-library.patch \
+"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS_${PN} += " \
+    lvm2 \
+"
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
+
+PACKAGECONFIG ??= "python3 lvm dm kmod parted fs"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools"
+PACKAGECONFIG[dm] = "--with-dm, --without-dm"
+PACKAGECONFIG[kmod] = "--with-kbd, --without-kbd, kmod"
+PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
+PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
+PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
+
+export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch
index cc3f5d4..f65d26a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch
@@ -2,11 +2,11 @@
  configure.ac |    1 +
  1 file changed, 1 insertion(+)
 
+Index: git/configure.ac
+===================================================================
 --- git.orig/configure.ac
 +++ git/configure.ac
-@@ -24,10 +24,11 @@ LT_INIT([win32-dll])
- LT_PROG_RC
- 
+@@ -56,6 +56,7 @@ AM_CONDITIONAL([ENABLE_EXAMPLES], [test
  # Checks for programs.
  AC_PROG_CC
  AC_PROG_CC_C99
@@ -14,5 +14,3 @@
  
  # Enable automake silent build rules.
  m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
- 
- # Checks for native Windows.
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
index 5bf7c6e..7e4c330 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
@@ -26,4 +26,6 @@
 EXTRA_OECONF = " --disable-static --disable-rebuilds --enable-compile-warnings=minimum"
 DEPENDS += "gtk+ glib-2.0 glib-2.0-native ruby-native intltool-native gnome-common-native"
 
-inherit autotools pkgconfig gettext
+inherit distro_features_check autotools pkgconfig gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-Remove-runtime-check-for-CLOCK_MONOTONIC.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-Remove-runtime-check-for-CLOCK_MONOTONIC.patch
deleted file mode 100644
index 28bc5c0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-Remove-runtime-check-for-CLOCK_MONOTONIC.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From e6fbad0c122ba8e87b67a9e2447505adcaafe204 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 29 Mar 2017 16:31:38 -0700
-Subject: [PATCH] Remove runtime check for CLOCK_MONOTONIC
-
-Does not work during cross compile
-
-use a compile-time check to detect whether the
-monotonic clock is available. This check can run just fine when we are
-cross-compiling.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index fa13ae6..f4f0f46 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -175,9 +175,17 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-                  )
- 
- AC_MSG_CHECKING(for a working clock_getres(CLOCK_MONOTONIC, &ts))
--AC_RUN_IFELSE([AC_LANG_PROGRAM(
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[#include <time.h>]],
--[[struct timespec ts; if(clock_getres(CLOCK_MONOTONIC, &ts)) return -1;]])],
-+[[
-+#include <unistd.h>
-+int main() {
-+#if !(defined(_POSIX_MONOTONIC_CLOCK) && _POSIX_MONOTONIC_CLOCK >= 0 && defined(CLOCK_MONOTONIC))
-+        #error No monotonic clock
-+#endif
-+    return 0;
-+
-+]])],
-                     [
-                       AC_MSG_RESULT([yes])
-                       AC_DEFINE_UNQUOTED([HAVE_CLOCK_GETRES_MONOTONIC], 1, [Define to 1 if clock_getres(CLOCK_MONOTONIC, &ts) works])
--- 
-2.12.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch
new file mode 100644
index 0000000..c82f3bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch
@@ -0,0 +1,56 @@
+From 73d2aea33e32272bac693550e8a3b0e3ad89707f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
+Date: Tue, 26 Dec 2017 00:02:26 +0100
+Subject: [PATCH] build: fix configure script neglecting, re-enable out-of-tree
+ builds
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+For the former, a prototype and the final code got (hm, mysteriously)
+intertwisted.  For the latter, I am clearly guilty of (rare, anyway)
+testing of the out-of-tree builds only with libqb-already-system-wide
+scenario, which is rather shortsighted.
+
+Thanks Fabio and his ci.kronosnet.org project for spotting that.
+
+X-mas-present-for: Fabio M. Di Nitto <fdinitto@redhat.com>
+Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
+---
+Upstream-Status: Backport
+
+ configure.ac    | 2 +-
+ lib/Makefile.am | 4 +++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9900310..f9761cc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -710,7 +710,7 @@ if test "x${GCC}" = xyes; then
+ 			                      | grep __stop___verbose | cut -d" " -f 3)
+ 			 test "${verbose_start_addr}" = "${verbose_stop_addr}" \
+ 			   && gcc_has_attribute_section_visible=no \
+-			   || { verbose_start_type=$(${READELF} -s backup \
++			   || { verbose_start_type=$(${READELF} -s "conftest${shrext_cmds}" \
+ 			                             | sed -n '/__start___verbose/{s/^\s*//p;q}' \
+ 			                             | tr -s ' ' \
+ 			                             | cut -d" " -f6)
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 6ca6b15..b035f0b 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -101,7 +101,9 @@ endif
+ endif
+ 
+ qblog_script.ld: %.ld: %.ld.in
+-	$(AM_V_GEN)$(CPP) -xc -I$(top_srcdir)/include -D_GNU_SOURCE -C -P $< \
++	$(AM_V_GEN)$(CPP) -C -D_GNU_SOURCE -P \
++	  -I$(top_srcdir)/include -I$(top_builddir)/include \
++	  -xc $< \
+ 	  | sed -n "/$$(sed -n '/^[^#]/{s/[*\/]/\\&/g;p;q;}' $<)/,$$ p" \
+ 	  > $@
+ 
+-- 
+2.16.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.2.bb
deleted file mode 100644
index 574f660..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "An IPC library for high performance servers"
-DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \
-It provides high performance logging, tracing, ipc, and poll."
-
-HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki"
-SECTION = "libs"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
-
-inherit autotools pkgconfig
-
-PV .= "+git${SRCPV}"
-
-SRCREV = "608de6d59a3de0eef0fbcbd8f284acbc018daa9a"
-SRC_URI = "git://github.com/ClusterLabs/${BPN}.git \
-           file://0001-Remove-runtime-check-for-CLOCK_MONOTONIC.patch \
-          "
-S = "${WORKDIR}/git"
-
-do_configure_prepend() {
-    ( cd ${S}
-    ${S}/autogen.sh )
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.3.bb
new file mode 100644
index 0000000..73cea5e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_1.0.3.bb
@@ -0,0 +1,25 @@
+SUMMARY = "An IPC library for high performance servers"
+DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \
+It provides high performance logging, tracing, ipc, and poll."
+
+HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki"
+SECTION = "libs"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
+
+inherit autotools pkgconfig
+
+PV .= "+git${SRCPV}"
+
+# v1.0.3
+SRCREV = "28dff090c74b6ba8609c4797294a5afe3fe73987"
+SRC_URI = "git://github.com/ClusterLabs/${BPN}.git \
+           file://0001-build-fix-configure-script-neglecting-re-enable-out-.patch \
+          "
+S = "${WORKDIR}/git"
+
+CFLAGS += "-pthread -D_REENTRANT"
+do_configure_prepend() {
+    ( cd ${S}
+    ${S}/autogen.sh )
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb
index 525437b..f2c661c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb
@@ -5,7 +5,7 @@
 LICENSE = "GPLv2+"
 DEPENDS = "xmlrpc-c xmlrpc-c-native intltool-native \
         json-c libtar libnewt libproxy rpm \
-        augeas satyr systemd gtk+3 \
+        augeas satyr systemd \
 "
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
@@ -26,6 +26,9 @@
 
 inherit gettext autotools python3native pkgconfig
 
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','x11','gtk','',d)}"
+PACKAGECONFIG[gtk] = "--with-gtk, --without-gtk, gtk+3,"
+
 RDEPENDS_python3-libreport += "${PN}"
 
 do_patch[prefuncs] += "do_gen_version"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
index 8ad5457..2c31a21 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
@@ -12,7 +12,9 @@
 
 BBCLASSEXTEND = "native"
 
-inherit autotools pkgconfig
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/${BPN}/${PV}/${BPN}-${PV}.tar.gz;name=tarball \
            file://libwmf-0.2.8.4-intoverflow.patch \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
index 15935c8..df82bef 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
@@ -17,7 +17,9 @@
 
 S = "${WORKDIR}/git"
 
-inherit autotools pkgconfig
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 do_configure_append() {
     # avoid host polution inf pkg-config files
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch
index 15ad03f..83f4543 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch
@@ -1,4 +1,4 @@
-From a0c0f32299419359b44ac0f880c1ea9073ae51e1 Mon Sep 17 00:00:00 2001
+From 1d1fa95c8ff7697e46343385a79a8f7e5c514a87 Mon Sep 17 00:00:00 2001
 From: Zheng Xu <zheng.xu@linaro.org>
 Date: Fri, 2 Sep 2016 17:40:05 +0800
 Subject: [PATCH] Bug 1143022 - Manually mmap on arm64 to ensure high 17 bits
@@ -16,11 +16,11 @@
  1 file changed, 71 insertions(+), 2 deletions(-)
 
 diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp
-index 5b386a2..38101cf 100644
+index e5ad018..4149adf 100644
 --- a/js/src/gc/Memory.cpp
 +++ b/js/src/gc/Memory.cpp
-@@ -306,6 +306,75 @@ InitMemorySubsystem()
-         MOZ_CRASH();
+@@ -309,6 +309,75 @@ InitMemorySubsystem()
+ #endif
  }
  
 +static inline void *
@@ -95,7 +95,7 @@
  void *
  MapAlignedPages(size_t size, size_t alignment)
  {
-@@ -319,12 +388,12 @@ MapAlignedPages(size_t size, size_t alignment)
+@@ -322,12 +391,12 @@ MapAlignedPages(size_t size, size_t alignment)
  
      /* Special case: If we want page alignment, no further work is needed. */
      if (alignment == PageSize) {
@@ -110,6 +110,3 @@
      if (region == MAP_FAILED)
          return NULL;
  
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
index 616048f..930c041 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
@@ -3,12 +3,13 @@
 SECTION = "libs"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=66493d54e65bfc12c7983ff2e884f37f"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4b92a3b497d7943042a6db40c088c3f2"
 
-SRCREV = "8ddbcde84e2d146bc0f9e38504d6c89c14291480"
-PV = "1.7.0-git${SRCPV}"
+SRCREV = "fbb7d9232067eac3f4508a37a8f7ea0c4fcebacb"
+PV = "1.9.0-git${SRCPV}"
 
-SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http"
+SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http \
+           "
 
 S = "${WORKDIR}/git"
 
@@ -31,7 +32,13 @@
 # override this in local.conf to get needed bindings.
 # BINDINGS_pn-mraa="python"
 # will result in only the python bindings being built/packaged.
-BINDINGS ??= "python ${@ 'nodejs' if oe.types.boolean(d.getVar('HAVE_NODEJS') or '0') else '' }"
+# Note: 'nodejs' is disabled by default because the bindings
+# generation currently fails with nodejs (>v7.x).
+BINDINGS ??= "python"
+
+# nodejs isn't available for armv4/armv5 architectures
+BINDINGS_armv4 ??= "python"
+BINDINGS_armv5 ??= "python"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
  ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb
index c4778ca..f618f02 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.3.bb
@@ -12,6 +12,9 @@
 
 DEPENDS = "curl libxml2 openssl libpam"
 
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
 SRCREV = "feb7ec9b004fcaea0dbe65ce8a1a79cc29dd994c"
 PV = "2.6.3"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch
new file mode 100644
index 0000000..ae27517
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch
@@ -0,0 +1,48 @@
+From b6b1782af4aa7f9084d32e4144738dc2535c8d6f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Apr 2018 23:07:21 -0700
+Subject: [PATCH] Fix narrowing errors -Wc++11-narrowing
+
+Clang 6.x finds these errors
+
+    ../../../../CPP/Windows/ErrorMsg.cpp:24:10: error: case value evaluates to -2147024809, which cannot be narrowed to type 'DWORD' (aka 'unsigned int') [-Wc++11-narrowing]
+        case E_INVALIDARG          : txt = "E_INVALIDARG"; break ;
+             ^
+
+HRESULT causes the macro to be parsed as a signed long, so we need to force it
+to be checked as an unsigned long instead.
+
+also reported here https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224930
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CPP/Windows/ErrorMsg.cpp | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/CPP/Windows/ErrorMsg.cpp b/CPP/Windows/ErrorMsg.cpp
+index 99684ae..78a64ba 100644
+--- a/CPP/Windows/ErrorMsg.cpp
++++ b/CPP/Windows/ErrorMsg.cpp
+@@ -15,13 +15,13 @@ UString MyFormatMessage(DWORD errorCode)
+ 
+   switch(errorCode) {
+     case ERROR_NO_MORE_FILES   : txt = "No more files"; break ;
+-    case E_NOTIMPL             : txt = "E_NOTIMPL"; break ;
+-    case E_NOINTERFACE         : txt = "E_NOINTERFACE"; break ;
+-    case E_ABORT               : txt = "E_ABORT"; break ;
+-    case E_FAIL                : txt = "E_FAIL"; break ;
+-    case STG_E_INVALIDFUNCTION : txt = "STG_E_INVALIDFUNCTION"; break ;
+-    case E_OUTOFMEMORY         : txt = "E_OUTOFMEMORY"; break ;
+-    case E_INVALIDARG          : txt = "E_INVALIDARG"; break ;
++    case (DWORD) E_NOTIMPL             : txt = "E_NOTIMPL"; break ;
++    case (DWORD) E_NOINTERFACE         : txt = "E_NOINTERFACE"; break ;
++    case (DWORD) E_ABORT               : txt = "E_ABORT"; break ;
++    case (DWORD) E_FAIL                : txt = "E_FAIL"; break ;
++    case (DWORD) STG_E_INVALIDFUNCTION : txt = "STG_E_INVALIDFUNCTION"; break ;
++    case (DWORD) E_OUTOFMEMORY         : txt = "E_OUTOFMEMORY"; break ;
++    case (DWORD) E_INVALIDARG          : txt = "E_INVALIDARG"; break ;
+     case ERROR_DIRECTORY          : txt = "Error Directory"; break ;
+     default:
+       txt = strerror(errorCode);
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch
new file mode 100644
index 0000000..177d145
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch
@@ -0,0 +1,31 @@
+p7zip: Fix CVE-2017-17969
+
+[No upstream tracking] -- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888297
+
+Heap-based buffer overflow in 7zip
+
+Compress/ShrinkDecoder.cpp: Heap-based buffer overflow
+in the NCompress::NShrink::CDecoder::CodeReal method
+in 7-Zip before 18.00 and p7zip allows remote attackers
+to cause a denial of service (out-of-bounds write)
+or potentially execute arbitrary code via a crafted ZIP archive. 
+
+Upstream-Status: Backport [https://sourceforge.net/p/p7zip/bugs/_discuss/thread/0920f369/8316/attachment/CVE-2017-17969.patch]
+CVE: CVE-2017-17969
+Signed-off-by: Radovan Scasny <radovan.scasny@siemens.com>
+
+--- a/CPP/7zip/Compress/ShrinkDecoder.cpp
++++ b/CPP/7zip/Compress/ShrinkDecoder.cpp
+@@ -121,7 +121,12 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream *
+     {
+       _stack[i++] = _suffixes[cur];
+       cur = _parents[cur];
++	  if (cur >= kNumItems || i >= kNumItems)
++	  	break;
+     }
++	
++	if (cur >= kNumItems || i >= kNumItems)
++		break;
+     
+     _stack[i++] = (Byte)cur;
+     lastChar2 = (Byte)cur;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
index 67ffbc6..d986da9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
@@ -6,7 +6,10 @@
                     file://DOC/License.txt;md5=879598edf1f54dddb6930d7581357f8b"
 
 SRC_URI = "http://downloads.sourceforge.net/p7zip/p7zip/${PV}/p7zip_${PV}_src_all.tar.bz2 \
-          file://do_not_override_compiler_and_do_not_strip.patch"
+           file://do_not_override_compiler_and_do_not_strip.patch \
+           file://CVE-2017-17969.patch \
+           file://0001-Fix-narrowing-errors-Wc-11-narrowing.patch \
+           "
 
 SRC_URI[md5sum] = "a0128d661cfe7cc8c121e73519c54fbf"
 SRC_URI[sha256sum] = "5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
index ff88533..1638c41 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
@@ -13,6 +13,9 @@
 
 DEPENDS += "libpam openssl"
 
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
 # This gets us ssh-agent, which we are almost certain to want.
 #
 RDEPENDS_${PN} += "openssh-misc"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/files/gtk-doc-check.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/files/gtk-doc-check.patch
deleted file mode 100644
index 4b6ad75..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/files/gtk-doc-check.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- polkit-gnome-0.105/configure.ac.org	2015-05-04 22:33:03.925977953 -0700
-+++ polkit-gnome-0.105/configure.ac	2015-05-04 22:33:16.862288030 -0700
-@@ -120,6 +120,9 @@
- # Check for required packages
- # ***************************
- 
-+# check for gtk-doc
-+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
-+
- POLKIT_AGENT_REQUIRED=0.97
- POLKIT_GOBJECT_REQUIRED=0.97
- GTK_REQUIRED=3.0.0
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-gnome_0.105.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-gnome_0.105.bb
deleted file mode 100644
index 8e99731..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-gnome_0.105.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "GNOME Authentication Agent for PolicyKit"
-DESCRIPTION = "PolicyKit-gnome provides an Authentication Agent for PolicyKit that integrates well with the GNOME desktop environment"
-HOMEPAGE = "http://www.packagekit.org/"
-BUGTRACKER = "http://bugzilla.gnome.org/"
-DEPENDS = "polkit dbus-glib gconf gtk+ intltool-native gnome-common"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=74579fab173e4c5e12aac0cd83ee98ec \
-                    file://src/main.c;beginline=1;endline=20;md5=aba145d1802f2329ba561e3e48ecb795"
-
-SRC_URI = "https://download.gnome.org/sources/polkit-gnome/${PV}/polkit-gnome-${PV}.tar.xz \
-           file://gtk-doc-check.patch \
-"
-SRC_URI[md5sum] = "50ecad37c8342fb4a52f590db7530621"
-SRC_URI[sha256sum] = "1784494963b8bf9a00eedc6cd3a2868fb123b8a5e516e66c5eda48df17ab9369"
-
-EXTRA_OECONF = "\
-    --disable-static \
-"
-
-DEPENDS += "gtk+3"
-
-inherit autotools gtk-doc pkgconfig
-
-FILES_${PN} += " ${datadir}/dbus-1 \
-                 ${datadir}/PolicyKit \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
index 4025b80..7c9f2df 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
@@ -38,13 +38,11 @@
     install -m 644 rarpd.8 ${D}${mandir}/man8/rarpd.8
     install -m 644 ${WORKDIR}/ethers.sample ${D}${sysconfdir}/ethers
 
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        install -d ${D}${systemd_unitdir}/system
-        install -m 0644 ${WORKDIR}/rarpd.service ${D}${systemd_unitdir}/system/
-    fi
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/rarpd.service ${D}${systemd_unitdir}/system/
 }
 
-inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
+inherit systemd
 
 SYSTEMD_PACKAGES = "${PN}"
 SYSTEMD_SERVICE_${PN} = "rarpd.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rocksdb/rocksdb_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rocksdb/rocksdb_git.bb
deleted file mode 100644
index 9b19c1a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rocksdb/rocksdb_git.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "RocksDB an embeddable, persistent key-value store"
-DESCRIPTION = "RocksDB is library that provides an embeddable, persistent key-value store for fast storage."
-HOMEPAGE = "http://rocksdb.org/"
-LICENSE = "(Apache-2.0 | GPL-2.0) & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-                    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
-
-SRCREV = "266ac245affd69555643b735d19d3715c4eff91a"
-PV = "5.8+git${SRCPV}"
-
-SRC_URI = "git://github.com/facebook/${BPN}.git"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-PACKAGECONFIG ??= "bzip2 zlib lz4"
-PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2"
-PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4"
-PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
-PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF"
-
-# Tools and tests currently don't compile on armv5 so we disable them
-EXTRA_OECMAKE = "\
-    -DPORTABLE=ON \
-    -DWITH_TESTS=OFF \
-    -DWITH_TOOLS=OFF \
-"
-
-FILES_${PN}-dev += "${libdir}/cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch
index 23c0f25..ca88dd3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Include-sys-time-h.patch
@@ -1,4 +1,4 @@
-From 3c3c21f4735eb215206273bc714c57c969926d3d Mon Sep 17 00:00:00 2001
+From 9739095de6ae5f844354756ae968f5f8864eb3e3 Mon Sep 17 00:00:00 2001
 From: Ming Liu <peter.x.liu@external.atlascopco.com>
 Date: Sun, 26 Feb 2017 14:10:21 +0100
 Subject: [PATCH] Include sys/time.h
@@ -8,6 +8,7 @@
 Upstream-Status: Inappropriate [musl libc specific]
 
 Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
+
 ---
  tests/msleep.c | 4 ----
  1 file changed, 4 deletions(-)
@@ -28,6 +29,3 @@
  
  int main(int argc, char *argv[])
  {
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch
deleted file mode 100644
index 7903bb1..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/0001-Undefine-GLOB_BRACE.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 6746e3a9615d1566bf228e9012d0841b15178810 Mon Sep 17 00:00:00 2001
-From: Ming Liu <liu.ming50@gmail.com>
-Date: Sun, 26 Feb 2017 13:50:33 +0100
-Subject: [PATCH] Undefine GLOB_BRACE
-
-GLOB_BRACE is not defined in posix and thus not implemented in musl libc.
-
-Fixed by defining it to 0 if it is undefined.
-
-Upstream-Status: Inappropriate [musl libc specific]
-
-Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
----
- plugins/imfile/imfile.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/plugins/imfile/imfile.c b/plugins/imfile/imfile.c
-index d20471f..f9aff81 100644
---- a/plugins/imfile/imfile.c
-+++ b/plugins/imfile/imfile.c
-@@ -85,6 +85,11 @@ static int bLegacyCnfModGlobalsPermitted;/* are legacy module-global config para
- 
- #define ADD_METADATA_UNSPECIFIED -1
- 
-+/* fixes build with musl libc */
-+#ifndef GLOB_BRACE
-+#define GLOB_BRACE 0
-+#endif
-+
- /* this structure is used in pure polling mode as well one of the support
-  * structures for inotify.
-  */
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch
index bdcb6e2..a248f75 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch
@@ -1,3 +1,8 @@
+From 07ad2a1905089b9124623324a9969e4522317110 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Fri, 12 Sep 2014 03:41:11 -0400
+Subject: [PATCH] rsyslog: update configure to fix ptest
+
 $MaxMessageSize doesn't work if before $IncludeConfig diag-common.conf, then
 test cases fall into infinite loop with error message:
 
@@ -6,13 +11,24 @@
 
 Update configure to fix it.
 
-Upstream-Status: pending
+Upstream-Status: Pending
 
-Kai Kang <kai.kang@windriver.com>
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
 ---
-diff -Nru rsyslog-7.4.4/tests/testsuites/complex1.conf rsyslog-7.4.4.new/tests/testsuites/complex1.conf
---- rsyslog-7.4.4/tests/testsuites/complex1.conf	2013-08-31 00:30:41.000000000 +0800
-+++ rsyslog-7.4.4.new/tests/testsuites/complex1.conf	2013-12-18 14:28:10.644004184 +0800
+ tests/testsuites/complex1.conf             | 2 +-
+ tests/testsuites/gzipwr_large.conf         | 2 +-
+ tests/testsuites/gzipwr_large_dynfile.conf | 2 +-
+ tests/testsuites/imptcp_conndrop.conf      | 2 +-
+ tests/testsuites/imptcp_large.conf         | 2 +-
+ tests/testsuites/imtcp_conndrop.conf       | 2 +-
+ tests/testsuites/wr_large.conf             | 2 +-
+ 7 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/tests/testsuites/complex1.conf b/tests/testsuites/complex1.conf
+index 9b6a9f3..e00caa4 100644
+--- a/tests/testsuites/complex1.conf
++++ b/tests/testsuites/complex1.conf
 @@ -1,7 +1,7 @@
  # complex test case with multiple actions in gzip mode
  # rgerhards, 2009-05-22
@@ -22,9 +38,10 @@
  
  $MainMsgQueueTimeoutEnqueue 5000
  
-diff -Nru rsyslog-7.4.4/tests/testsuites/gzipwr_large.conf rsyslog-7.4.4.new/tests/testsuites/gzipwr_large.conf
---- rsyslog-7.4.4/tests/testsuites/gzipwr_large.conf	2012-04-04 14:29:55.000000000 +0800
-+++ rsyslog-7.4.4.new/tests/testsuites/gzipwr_large.conf	2013-12-18 14:28:10.645004186 +0800
+diff --git a/tests/testsuites/gzipwr_large.conf b/tests/testsuites/gzipwr_large.conf
+index 54ad3bb..e8247a9 100644
+--- a/tests/testsuites/gzipwr_large.conf
++++ b/tests/testsuites/gzipwr_large.conf
 @@ -1,7 +1,7 @@
  # simple async writing test
  # rgerhards, 2010-03-09
@@ -34,9 +51,10 @@
  
  $ModLoad ../plugins/imtcp/.libs/imtcp
  $MainMsgQueueTimeoutShutdown 10000
-diff -Nru rsyslog-7.4.4/tests/testsuites/gzipwr_large_dynfile.conf rsyslog-7.4.4.new/tests/testsuites/gzipwr_large_dynfile.conf
---- rsyslog-7.4.4/tests/testsuites/gzipwr_large_dynfile.conf	2012-04-04 14:29:55.000000000 +0800
-+++ rsyslog-7.4.4.new/tests/testsuites/gzipwr_large_dynfile.conf	2013-12-18 14:28:10.645004186 +0800
+diff --git a/tests/testsuites/gzipwr_large_dynfile.conf b/tests/testsuites/gzipwr_large_dynfile.conf
+index 3a1b255..297cb70 100644
+--- a/tests/testsuites/gzipwr_large_dynfile.conf
++++ b/tests/testsuites/gzipwr_large_dynfile.conf
 @@ -1,7 +1,7 @@
  # simple async writing test
  # rgerhards, 2010-03-09
@@ -46,9 +64,10 @@
  
  $ModLoad ../plugins/imtcp/.libs/imtcp
  $MainMsgQueueTimeoutShutdown 10000
-diff -Nru rsyslog-7.4.4/tests/testsuites/imptcp_conndrop.conf rsyslog-7.4.4.new/tests/testsuites/imptcp_conndrop.conf
---- rsyslog-7.4.4/tests/testsuites/imptcp_conndrop.conf	2013-08-31 00:30:41.000000000 +0800
-+++ rsyslog-7.4.4.new/tests/testsuites/imptcp_conndrop.conf	2013-12-18 14:28:10.646004189 +0800
+diff --git a/tests/testsuites/imptcp_conndrop.conf b/tests/testsuites/imptcp_conndrop.conf
+index 77a5d79..d9a14a8 100644
+--- a/tests/testsuites/imptcp_conndrop.conf
++++ b/tests/testsuites/imptcp_conndrop.conf
 @@ -1,7 +1,7 @@
  # simple async writing test
  # rgerhards, 2010-03-09
@@ -58,9 +77,10 @@
  
  $ModLoad ../plugins/imptcp/.libs/imptcp
  $MainMsgQueueTimeoutShutdown 10000
-diff -Nru rsyslog-7.4.4/tests/testsuites/imptcp_large.conf rsyslog-7.4.4.new/tests/testsuites/imptcp_large.conf
---- rsyslog-7.4.4/tests/testsuites/imptcp_large.conf	2013-08-31 00:30:41.000000000 +0800
-+++ rsyslog-7.4.4.new/tests/testsuites/imptcp_large.conf	2013-12-18 14:28:10.646004189 +0800
+diff --git a/tests/testsuites/imptcp_large.conf b/tests/testsuites/imptcp_large.conf
+index 77a5d79..d9a14a8 100644
+--- a/tests/testsuites/imptcp_large.conf
++++ b/tests/testsuites/imptcp_large.conf
 @@ -1,7 +1,7 @@
  # simple async writing test
  # rgerhards, 2010-03-09
@@ -70,9 +90,10 @@
  
  $ModLoad ../plugins/imptcp/.libs/imptcp
  $MainMsgQueueTimeoutShutdown 10000
-diff -Nru rsyslog-7.4.4/tests/testsuites/imtcp_conndrop.conf rsyslog-7.4.4.new/tests/testsuites/imtcp_conndrop.conf
---- rsyslog-7.4.4/tests/testsuites/imtcp_conndrop.conf	2013-07-19 20:59:03.000000000 +0800
-+++ rsyslog-7.4.4.new/tests/testsuites/imtcp_conndrop.conf	2013-12-18 14:28:10.646004189 +0800
+diff --git a/tests/testsuites/imtcp_conndrop.conf b/tests/testsuites/imtcp_conndrop.conf
+index de41bc4..7844dc7 100644
+--- a/tests/testsuites/imtcp_conndrop.conf
++++ b/tests/testsuites/imtcp_conndrop.conf
 @@ -1,7 +1,7 @@
  # simple async writing test
  # rgerhards, 2010-03-09
@@ -82,9 +103,10 @@
  
  $ModLoad ../plugins/imtcp/.libs/imtcp
  $MainMsgQueueTimeoutShutdown 10000
-diff -Nru rsyslog-7.4.4/tests/testsuites/wr_large.conf rsyslog-7.4.4.new/tests/testsuites/wr_large.conf
---- rsyslog-7.4.4/tests/testsuites/wr_large.conf	2012-04-04 14:29:55.000000000 +0800
-+++ rsyslog-7.4.4.new/tests/testsuites/wr_large.conf	2013-12-18 14:28:10.647004190 +0800
+diff --git a/tests/testsuites/wr_large.conf b/tests/testsuites/wr_large.conf
+index b64f132..b0ae264 100644
+--- a/tests/testsuites/wr_large.conf
++++ b/tests/testsuites/wr_large.conf
 @@ -1,7 +1,7 @@
  # simple async writing test
  # rgerhards, 2010-03-09
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch
index 46eddd6..162d239 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch
@@ -1,5 +1,5 @@
-From 5c3ba79177f7d1763db33c4358af2af60ff214b7 Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com> 
+From d0852006bf3d305e8984b85b41997d43d4476937 Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
 Date: Wed, 18 Jun 2014 13:46:52 +0800
 Subject: [PATCH] use pkgconfig to check libgcrypt
 
@@ -10,15 +10,16 @@
 
 Signed-off-by: Roy Li <rongqing.li@windriver.com>
 Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+
 ---
  configure.ac | 15 +--------------
  1 file changed, 1 insertion(+), 14 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 0f31869..d35db42 100644
+index 62178c3..b56c9c7 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -777,20 +777,7 @@ AC_ARG_ENABLE(libgcrypt,
+@@ -889,20 +889,7 @@ AC_ARG_ENABLE(libgcrypt,
          [enable_libgcrypt=yes]
  )
  if test "x$enable_libgcrypt" = "xyes"; then
@@ -40,6 +41,3 @@
  fi
  AM_CONDITIONAL(ENABLE_LIBGCRYPT, test x$enable_libgcrypt = xyes)
  AC_SUBST(LIBGCRYPT_CFLAGS)
--- 
-2.8.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb
index 7056e1c..476540d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.29.0.bb
@@ -27,7 +27,6 @@
 "
 
 SRC_URI_append_libc-musl = " \
-    file://0001-Undefine-GLOB_BRACE.patch \
     file://0001-Include-sys-time-h.patch \
 "
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
index c6b9f10..10ffaaa 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
@@ -11,6 +11,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=f300afd598546add034364cd0a533261"
 DEPENDS = "curl libpam openssl sblim-sfc-common unzip-native"
 
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
 SRC_URI = "http://downloads.sourceforge.net/sblim/${BP}.tar.bz2 \
            file://sfcb.service \
            file://sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch \
@@ -28,7 +31,7 @@
 SRC_URI[sha256sum] = "634a67b2f7ac3b386a79160eb44413d618e33e4e7fc74ae68b0240484af149dd"
 
 inherit autotools
-inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
+inherit systemd
 
 SYSTEMD_PACKAGES = "${PN}"
 SYSTEMD_SERVICE_${PN} = "sblim-sfcb.service"
@@ -53,10 +56,8 @@
 
     oe_runmake DESTDIR=${D} install
 
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        install -d ${D}${systemd_unitdir}/system
-        install -m 0644 ${WORKDIR}/sfcb.service ${D}${systemd_unitdir}/system/sblim-sfcb.service
-    fi
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/sfcb.service ${D}${systemd_unitdir}/system/sblim-sfcb.service
 
     install -d ${D}${sysconfdir}/init.d
     mv ${D}${sysconfdir}/init.d/sfcb ${D}${sysconfdir}/init.d/sblim-sfcb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.5.bb
deleted file mode 100644
index 0970d2a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.5.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "Control and monitor storage systems using S.M.A.R.T"
-DESCRIPTION = \
-"The smartmontools package contains two utility programs (smartctl \
-and smartd) to control and monitor storage systems using the Self-\
-Monitoring, Analysis and Reporting Technology System (SMART) built \
-into most modern ATA and SCSI hard disks. In many cases, these \
-utilities will provide advanced warning of disk degradation and failure."
-
-HOMEPAGE = "http://smartmontools.sourceforge.net/"
-SECTION = "console/utils"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
-    file://initd.smartd \
-    file://smartmontools.default \
-    file://smartd.service \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}"
-PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng"
-PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
-
-SRC_URI[md5sum] = "093aeec3f8f39fa9a37593c4012d3156"
-SRC_URI[sha256sum] = "89e8bb080130bc6ce148573ba5bb91bfe30236b64b1b5bbca26515d4b5c945bc"
-
-inherit autotools update-rc.d systemd
-
-SYSTEMD_SERVICE_${PN} = "smartd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_install_append () {
-    #install the init.d/smartd
-    install -d ${D}${sysconfdir}/init.d
-    install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd
-    install -d ${D}${sysconfdir}/default
-    install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools
-
-    #install systemd service file
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system
-    sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-        -e 's,@SYSCONFDIR@,${sysconfdir},g' \
-        -e 's,@SBINDIR@,${sbindir},g' \
-        ${D}${systemd_unitdir}/system/smartd.service
-}
-
-INITSCRIPT_NAME = "smartd"
-INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ."
-
-RDEPENDS_${PN} += "mailx"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb
new file mode 100644
index 0000000..1a1767e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.6.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Control and monitor storage systems using S.M.A.R.T"
+DESCRIPTION = \
+"The smartmontools package contains two utility programs (smartctl \
+and smartd) to control and monitor storage systems using the Self-\
+Monitoring, Analysis and Reporting Technology System (SMART) built \
+into most modern ATA and SCSI hard disks. In many cases, these \
+utilities will provide advanced warning of disk degradation and failure."
+
+HOMEPAGE = "http://smartmontools.sourceforge.net/"
+SECTION = "console/utils"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
+    file://initd.smartd \
+    file://smartmontools.default \
+    file://smartd.service \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}"
+PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng"
+PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
+
+SRC_URI[md5sum] = "9ae2c6e7131cd2813edcc65cbe5f223f"
+SRC_URI[sha256sum] = "51f43d0fb064fccaf823bbe68cf0d317d0895ff895aa353b3339a3b316a53054"
+
+inherit autotools update-rc.d systemd
+
+SYSTEMD_SERVICE_${PN} = "smartd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install_append () {
+    #install the init.d/smartd
+    install -d ${D}${sysconfdir}/init.d
+    install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd
+    install -d ${D}${sysconfdir}/default
+    install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools
+
+    #install systemd service file
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system
+    sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+        -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+        -e 's,@SBINDIR@,${sbindir},g' \
+        ${D}${systemd_unitdir}/system/smartd.service
+}
+
+INITSCRIPT_NAME = "smartd"
+INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ."
+
+RDEPENDS_${PN} += "mailx"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
new file mode 100644
index 0000000..3c019eb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
@@ -0,0 +1,12 @@
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=72d977d697c3c05830fdff00a7448931"
+SRCREV = "d1248b0f22ea8dc3b9d84a61bd35a83309bdb4b4"
+PV = "1.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/hartkopp/can-isotp.git;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit module
+
+EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
index bc6fec0..4f58281 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
@@ -8,6 +8,8 @@
 
 inherit cmake pkgconfig
 
+OECMAKE_GENERATOR = "Unix Makefiles"
+
 DEPENDS = "luajit zlib ncurses"
 RDEPENDS_${PN} = "bash"
 
@@ -33,3 +35,7 @@
     ${datadir}/zsh/* \
     ${prefix}/src/*  \
 "
+
+# luajit not supported on Aarch64
+COMPATIBLE_HOST = "^(?!aarch64).*"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch
index 8b98707..976e038 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch
@@ -1,11 +1,21 @@
+From 81c1ba940415595584a837ab1078c64855072f0c Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Mon, 21 Nov 2011 12:00:54 +0100
+Subject: [PATCH] t1lib: add 5.1.2
 
 #
 # Patch managed by http://www.holgerschurig.de/patcher.html
 #
 
---- t1lib-5.0.2/configure.in~configure.patch
-+++ t1lib-5.0.2/configure.in
-@@ -75,9 +75,9 @@
+---
+ configure.in | 95 ++++++++++++++++++++++++------------------------------------
+ 1 file changed, 38 insertions(+), 57 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index eade4c0..e649ea9 100644
+--- a/configure.in
++++ b/configure.in
+@@ -74,9 +74,9 @@ T1LIB_PATCHLEVEL=builtin(eval, MACRO_T1LIB_LT_REVISION)
  T1LIB_VERSIONSTRING=\"MACRO_T1LIB_IDENTIFIER\"
  
  
@@ -18,7 +28,7 @@
  
  dnl We want these before the checks, so the checks can modify their values.
  test -z "$LDLIBS" && LDLIBS=-lm   AC_SUBST(LDLIBS)
-@@ -161,6 +161,7 @@
+@@ -162,6 +162,7 @@ fi
  
  dnl **** Check for underscore on external symbols ****
  
@@ -26,21 +36,12 @@
  AC_CACHE_CHECK("whether external symbols need an underscore prefix",
                 ac_cv_c_extern_prefix,
  [saved_libs=$LIBS
-@@ -178,68 +179,48 @@
+@@ -179,68 +180,48 @@ then
    AC_DEFINE(NEED_UNDERSCORE_PREFIX)
  fi
  
 -dnl **** Check which ANSI integer type is 16 bit 
-+dnl **** Check which ANSI integer type is 16 bit
-+T1_AA_TYPE16=""
-+for type in short int; do
-+	if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x2"; then
-+		T1_AA_TYPE16="-DT1_AA_TYPE16=$type"
-+		T1_INT16="$type"
-+		break
-+	fi
-+done
- 
+-
 -AC_CACHE_CHECK( "which ANSI integer type is 16 bit", ac_16bit_type,
 -		AC_TRY_RUN([
 -int main(void) {
@@ -58,21 +59,23 @@
 -else
 -  T1_AA_TYPE16="-DT1_AA_TYPE16=int"
 -  T1_INT16="int"
++dnl **** Check which ANSI integer type is 16 bit
++T1_AA_TYPE16=""
++for type in short int; do
++	if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x2"; then
++		T1_AA_TYPE16="-DT1_AA_TYPE16=$type"
++		T1_INT16="$type"
++		break
++	fi
++done
++
 +if test x"$T1_AA_TYPE16" = "x"; then
 +	AC_MSG_ERROR("Unable to determine which integer type is 16 bit.")
  fi
  
 -
  dnl **** Check which ANSI integer type is 32 bit 
-+T1_AA_TYPE32=""
-+for type in int long; do
-+	if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x4"; then
-+		T1_AA_TYPE32="-DT1_AA_TYPE32=$type"
-+		T1_INT32="$type"
-+		break
-+	fi
-+done
- 
+-
 -AC_CACHE_CHECK( "which ANSI integer type is 32 bit", ac_32bit_type,
 -		AC_TRY_RUN([
 -int main(void) {
@@ -90,21 +93,22 @@
 -else
 -  T1_AA_TYPE32="-DT1_AA_TYPE32=long"
 -  T1_INT32="long"
++T1_AA_TYPE32=""
++for type in int long; do
++	if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x4"; then
++		T1_AA_TYPE32="-DT1_AA_TYPE32=$type"
++		T1_INT32="$type"
++		break
++	fi
++done
++
 +if test x"$T1_AA_TYPE32" = "x"; then
 +	AC_MSG_ERROR("Unable to determine which integer type is 32 bit.")
  fi
  
 -
  dnl **** Check which ANSI integer type is 64 bit 
-+T1_AA_TYPE64=""
-+for type in long long_long; do
-+	if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x8"; then
-+		AC_MSG_WARN("$type is 64 bit")
-+		T1_AA_TYPE64="-DT1_AA_TYPE64=\"`echo $type|tr '_' ' '`\""
-+		break
-+	fi
-+done
- 
+-
 -AC_CACHE_CHECK( "which ANSI integer type is 64 bit", ac_64bit_type,
 -		AC_TRY_RUN([
 -int main(void) {
@@ -118,6 +122,15 @@
 -  T1_AA_TYPE64="-DT1_AA_TYPE64=long"
 -else
 -  T1_AA_TYPE64=
++T1_AA_TYPE64=""
++for type in long long_long; do
++	if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x8"; then
++		AC_MSG_WARN("$type is 64 bit")
++		T1_AA_TYPE64="-DT1_AA_TYPE64=\"`echo $type|tr '_' ' '`\""
++		break
++	fi
++done
++
 +if test x"$T1_AA_TYPE64" = "x"; then
 +	AC_MSG_ERROR("Unable to determine which integer type is 64 bit.")
  fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch
index 8b4ce40..bc2476b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch
@@ -1,3 +1,8 @@
+From cea83003de3ffebde92becd1e599fe3b28f0a7c4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Mar 2017 23:13:36 -0800
+Subject: [PATCH] t1lib: Fix printf format string errors
+
 Fix printf formats to use format qualifiers
 fixes
 
@@ -6,20 +11,17 @@
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
 
---- a/lib/type1/objects.c
-+++ b/lib/type1/objects.c
-@@ -957,7 +957,7 @@
-  
-        sprintf(typemsg, "Wrong object type in %s; expected %s, found %s.\n",
-                   name, TypeFmt(expect), TypeFmt(obj->type));
--       IfTrace0(TRUE,typemsg);
-+       IfTrace1(TRUE, "%s", typemsg);
-  
-        ObjectPostMortem(obj);
-  
+---
+ lib/t1lib/t1subset.c | 2 +-
+ lib/type1/objects.c  | 2 +-
+ lib/type1/objects.h  | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/lib/t1lib/t1subset.c b/lib/t1lib/t1subset.c
+index da427b2..e76974f 100644
 --- a/lib/t1lib/t1subset.c
 +++ b/lib/t1lib/t1subset.c
-@@ -759,7 +759,7 @@
+@@ -759,7 +759,7 @@ char *T1_SubsetFont( int FontID,
  	     tr_len);
      T1_PrintLog( "T1_SubsetFont()", err_warn_msg_buf,
  		 T1LOG_DEBUG);
@@ -28,9 +30,24 @@
    }
    
    /* compute size of output file */
+diff --git a/lib/type1/objects.c b/lib/type1/objects.c
+index c413a0f..f828e6a 100644
+--- a/lib/type1/objects.c
++++ b/lib/type1/objects.c
+@@ -957,7 +957,7 @@ struct xobject *TypeErr(name, obj, expect, ret) /* non-ANSI avoids overly strict
+  
+        sprintf(typemsg, "Wrong object type in %s; expected %s, found %s.\n",
+                   name, TypeFmt(expect), TypeFmt(obj->type));
+-       IfTrace0(TRUE,typemsg);
++       IfTrace1(TRUE, "%s", typemsg);
+  
+        ObjectPostMortem(obj);
+  
+diff --git a/lib/type1/objects.h b/lib/type1/objects.h
+index 13cbae7..3a1d337 100644
 --- a/lib/type1/objects.h
 +++ b/lib/type1/objects.h
-@@ -214,7 +214,7 @@
+@@ -214,7 +214,7 @@ struct xobject {
  /*SHARED*/
  /* NDW: personally, I want to see status and error messages! */
  #define IfTrace0(condition,model)                                 \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch
index e050025..da54f87 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch
@@ -1,12 +1,28 @@
+From bab41f5e1fc1fc809da1371e6a0222e0eb21e5f0 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Mon, 21 Nov 2011 12:00:54 +0100
+Subject: [PATCH] t1lib: add 5.1.2
 
 #
 # Patch managed by http://www.holgerschurig.de/patcher.html
 #
 
---- t1lib-5.0.2/Makefile.in~libtool
-+++ t1lib-5.0.2/Makefile.in
+---
+ Makefile.in           | 5 +++--
+ examples/Makefile.in  | 5 +++--
+ lib/Makefile.in       | 6 ++++--
+ lib/t1lib/Makefile.in | 6 ++++--
+ lib/type1/Makefile.in | 6 ++++--
+ type1afm/Makefile.in  | 6 ++++--
+ xglyph/Makefile.in    | 6 ++++--
+ 7 files changed, 26 insertions(+), 14 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 29c3468..396c020 100644
+--- a/Makefile.in
++++ b/Makefile.in
 @@ -18,7 +18,8 @@
- # Last modified:       2001-04-01
+ # Last modified:       2005-05-01
  #
  
 -SHELL     = /bin/sh
@@ -15,7 +31,7 @@
  CC        = @CC@
  CPP       = @CPP@
  CFLAGS    = @CFLAGS@
-@@ -150,7 +151,7 @@
+@@ -149,7 +150,7 @@ distclean: clean
  	$(RM) examples/Makefile
  	$(RM) xglyph/Makefile
  	$(RM) doc/Makefile
@@ -24,8 +40,10 @@
  
  
  # The following two targets are for building and cleaning the python-
---- t1lib-5.0.2/examples/Makefile.in~libtool
-+++ t1lib-5.0.2/examples/Makefile.in
+diff --git a/examples/Makefile.in b/examples/Makefile.in
+index b301db5..7a6a514 100644
+--- a/examples/Makefile.in
++++ b/examples/Makefile.in
 @@ -14,9 +14,10 @@
  # Last modified:       2001-04-01
  #
@@ -39,8 +57,10 @@
  CC        = @CC@
  CPP       = @CPP@
  CFLAGS    = @CFLAGS@
---- t1lib-5.0.2/lib/Makefile.in~libtool
-+++ t1lib-5.0.2/lib/Makefile.in
+diff --git a/lib/Makefile.in b/lib/Makefile.in
+index 89e5e86..6e0f960 100644
+--- a/lib/Makefile.in
++++ b/lib/Makefile.in
 @@ -15,8 +15,10 @@
  #
  # Contributions by H.Kakugawa to use libtool!
@@ -54,8 +74,10 @@
  CC        = @CC@
  CPP       = @CPP@
  CFLAGS    = @CFLAGS@
---- t1lib-5.0.2/lib/t1lib/Makefile.in~libtool
-+++ t1lib-5.0.2/lib/t1lib/Makefile.in
+diff --git a/lib/t1lib/Makefile.in b/lib/t1lib/Makefile.in
+index a6c2478..32434b3 100644
+--- a/lib/t1lib/Makefile.in
++++ b/lib/t1lib/Makefile.in
 @@ -14,8 +14,10 @@
  #
  # Modified by H.Kakugawa to use libtool
@@ -69,8 +91,10 @@
  CC        = @CC@
  CPP       = @CPP@
  CFLAGS    = @CFLAGS@
---- t1lib-5.0.2/lib/type1/Makefile.in~libtool
-+++ t1lib-5.0.2/lib/type1/Makefile.in
+diff --git a/lib/type1/Makefile.in b/lib/type1/Makefile.in
+index 241f124..42efa94 100644
+--- a/lib/type1/Makefile.in
++++ b/lib/type1/Makefile.in
 @@ -14,8 +14,10 @@
  #
  # Modified by H.Kakugawa to use libtool
@@ -84,8 +108,10 @@
  CC        = @CC@
  CPP       = @CPP@
  CFLAGS    = @CFLAGS@
---- t1lib-5.0.2/type1afm/Makefile.in~libtool
-+++ t1lib-5.0.2/type1afm/Makefile.in
+diff --git a/type1afm/Makefile.in b/type1afm/Makefile.in
+index 61611e1..9b51406 100644
+--- a/type1afm/Makefile.in
++++ b/type1afm/Makefile.in
 @@ -15,8 +15,10 @@
  #
  # Modified by H.Kakugawa to use libtool
@@ -99,8 +125,10 @@
  CC        = @CC@
  CPP       = @CPP@
  CFLAGS    = @CFLAGS@
---- t1lib-5.0.2/xglyph/Makefile.in~libtool
-+++ t1lib-5.0.2/xglyph/Makefile.in
+diff --git a/xglyph/Makefile.in b/xglyph/Makefile.in
+index 8da9b63..741334c 100644
+--- a/xglyph/Makefile.in
++++ b/xglyph/Makefile.in
 @@ -15,8 +15,10 @@
  #
  # Modified by H.Kakugawa to use libtool
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch
new file mode 100644
index 0000000..e495285
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch
@@ -0,0 +1,33 @@
+From 1ce892749e4f53bd0aeaa4c3ce45f80178799411 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 3 Mar 2018 17:52:51 -0800
+Subject: [PATCH] multicast_blast/tipcc: Fix struct type for TIPC_GROUP_JOIN
+
+Kernel defines it as tipc_group_req and not tipc_mreq
+this code was not excercised with older kernels so we
+never ran into the compiler failures since TIPC_GROUP_JOIN
+is only defined in kernel starting 4.15
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ multicast_blast/tipcc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/multicast_blast/tipcc.c b/multicast_blast/tipcc.c
+index 90644d3..911c759 100755
+--- a/multicast_blast/tipcc.c
++++ b/multicast_blast/tipcc.c
+@@ -213,7 +213,7 @@ int tipc_accept(int sd, struct tipc_addr *src)
+ int tipc_join(int sd, struct tipc_addr *member)
+ {
+ #ifdef TIPC_GROUP_JOIN
+-	struct tipc_mreq mreq = {
++	struct tipc_group_req mreq = {
+ 		.type = member->type,
+ 		.instance = member->instance,
+ 		.scope = domain2scope(member->domain)
+-- 
+2.16.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
index 720aa3c..54ed043 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
@@ -5,6 +5,7 @@
 SRC_URI = "git://git.code.sf.net/p/tipc/tipcutils \
            file://0001-include-sys-select.h-for-FD_-definitions.patch \
            file://0002-replace-non-standard-uint-with-unsigned-int.patch \
+           file://0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch \
            "
 SRCREV = "7ab2211b87414ba240b0b2e4af219c1057c9cf9a"
 PV = "2.2.0+git${SRCPV}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb
new file mode 100644
index 0000000..0a00a36
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Hardware performance monitoring counters"
+HOMEPAGE = "http://tiptop.gforge.inria.fr/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "ncurses libxml2"
+
+SRC_URI = "http://tiptop.gforge.inria.fr/releases/${BP}.tar.gz"
+SRC_URI[md5sum] = "46ca0fdf0236f02dd2b96d347626d2a2"
+SRC_URI[sha256sum] = "51c4449c95bba34f16b429729c2f58431490665d8093efaa8643b2e1d1084182"
+
+inherit autotools-brokensep
+EXTRA_OECONF = "CFLAGS="$CFLAGS -I${STAGING_INCDIR}/libxml2""
+COMPATIBLE_HOST = "(i.86|x86_64|arm|powerpc).*-linux"
+
+do_configure_prepend () {
+    # Two bugs in configure.ac when cross-compiling.
+    # 1. The path of libxml2. Specify it in EXTRA_OECONF.
+    # 2. hw's value on other platforms. Replace it if the target is
+    #    not i*86/x86_64.
+    if ( echo "${TARGET_ARCH}" | grep -q -e 'i.86' -e 'x86_64' ); then
+        sed -i 's= -I/usr/include/libxml2=='    ${S}/configure.ac
+    else
+        sed -i 's/hw=`uname -m`/hw="unknown"/'  ${S}/configure.ac
+        sed -i 's= -I/usr/include/libxml2=='    ${S}/configure.ac
+    fi
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tiptop/tiptop_2.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tiptop/tiptop_2.3.bb
deleted file mode 100644
index d729de9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tiptop/tiptop_2.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Hardware performance monitoring counters"
-HOMEPAGE = "http://tiptop.gforge.inria.fr/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "ncurses libxml2"
-
-SRC_URI = "http://tiptop.gforge.inria.fr/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "f1fba1e90465b0e5a3865b19133fa19d"
-SRC_URI[sha256sum] = "3f07e958b40acaeab98e9eb1326c9f91b0be0a782c1cc2bd7a9e18d31fab18ca"
-
-inherit autotools-brokensep
-EXTRA_OECONF = "CFLAGS="$CFLAGS -I${STAGING_INCDIR}/libxml2""
-COMPATIBLE_HOST = "(i.86|x86_64|arm|powerpc).*-linux"
-
-do_configure_prepend () {
-    # Two bugs in configure.ac when cross-compiling.
-    # 1. The path of libxml2. Specify it in EXTRA_OECONF.
-    # 2. hw's value on other platforms. Replace it if the target is
-    #    not i*86/x86_64.
-    if ( echo "${TARGET_ARCH}" | grep -q -e 'i.86' -e 'x86_64' ); then
-        sed -i 's= -I/usr/include/libxml2=='    ${S}/configure.ac
-    else
-        sed -i 's/hw=`uname -m`/hw="unknown"/'  ${S}/configure.ac
-        sed -i 's= -I/usr/include/libxml2=='    ${S}/configure.ac
-    fi
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.1.bb
deleted file mode 100644
index bf21de5..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Terminal multiplexer"
-HOMEPAGE = "http://tmux.sourceforge.net"
-SECTION = "console/utils"
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=8685b4455330a940fab1ff451aa941a0"
-
-DEPENDS = "ncurses libevent"
-
-
-SRC_URI = "git://github.com/tmux/tmux.git;branch=master"
-SRCREV ?= "310f0a960ca64fa3809545badc629c0c166c6cd2"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter,"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb
new file mode 100644
index 0000000..fba5156
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Terminal multiplexer"
+HOMEPAGE = "http://tmux.sourceforge.net"
+SECTION = "console/utils"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=f256b76d52e7b4d02bf19144bdaca107"
+
+DEPENDS = "ncurses libevent"
+
+SRC_URI = "https://github.com/tmux/tmux/releases/download/${PV}/tmux-${PV}.tar.gz"
+SRC_URI[md5sum] = "d541ff392249f94c4f3635793556f827"
+SRC_URI[sha256sum] = "b17cd170a94d7b58c0698752e1f4f263ab6dc47425230df7e53a6435cc7cd7e8"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter,"
+
+do_configure_prepend() {
+    # The 'compat' directory is needed for output during the build but it's
+    # not automatically created when building outside the source directory.
+    mkdir ${B}/compat
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/files/ads1x15-fixed-case-logic-in-getThresh-function.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/files/ads1x15-fixed-case-logic-in-getThresh-function.patch
deleted file mode 100644
index c617d14..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/files/ads1x15-fixed-case-logic-in-getThresh-function.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From c64d04d084f47b4cb3e1cdee6e96348fcc6a756e Mon Sep 17 00:00:00 2001
-From: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
-Date: Tue, 30 May 2017 15:14:09 -0700
-Subject: [PATCH 1/1] ads1x15: fixed case logic in getThresh() function
-
-Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
-
-Upstream-Status: Backported [c64d04d084f47b4cb3e1cdee6e96348fcc6a756e]
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
-
----
- src/ads1x15/ads1x15.cxx | 4 ++--
- src/ads1x15/ads1x15.hpp | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/ads1x15/ads1x15.cxx b/src/ads1x15/ads1x15.cxx
-index 35782709..47701b2a 100644
---- a/src/ads1x15/ads1x15.cxx
-+++ b/src/ads1x15/ads1x15.cxx
-@@ -116,7 +116,7 @@ ADS1X15::setContinuous(bool mode){
- 
- float
- ADS1X15::getThresh(ADSTHRESH reg){
--     if( THRESH_HIGH && THRESH_LOW) return getLastSample(reg);
-+     if(reg == THRESH_HIGH || reg == THRESH_LOW) return getLastSample(reg);
-      else return 0.0;
- }
- 
-@@ -137,7 +137,7 @@ ADS1X15::setThresh(ADSTHRESH reg, float value){
-      case 2:
-      case 3:
-           set_value = value / getMultiplier();
--         set_value = set_value << m_bitShift;
-+          set_value = set_value << m_bitShift;
-           if(i2c->writeWordReg(reg, swapWord(set_value)) != mraa::SUCCESS){
-             throw std::runtime_error(std::string(__FUNCTION__) + ": I2c.write() failed");
-             return;
-diff --git a/src/ads1x15/ads1x15.hpp b/src/ads1x15/ads1x15.hpp
-index 7524572d..efd8c8ec 100644
---- a/src/ads1x15/ads1x15.hpp
-+++ b/src/ads1x15/ads1x15.hpp
-@@ -390,7 +390,7 @@ namespace upm {
-              * @param reg ADSTHRES enum value.
-              * Returns 0.0 unless THRESH_HIGH or THRESH_LOW requested.
-              */
--            float getThresh(ADSTHRESH reg = THRESH_LOW);
-+            float getThresh(ADSTHRESH reg = THRESH_DEFAULT);
- 
-             /**
-              * Sets threshold levels or configures for conversion ready
--- 
-2.11.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
index 38065ce..d742a5e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
@@ -7,12 +7,11 @@
 
 DEPENDS = "libjpeg-turbo mraa"
 
-SRCREV = "106b6c706268522ab0168a4ddb19e89ce832e084"
-PV = "1.3.0-git${SRCPV}"
+SRCREV = "cc7fec9ae0228add9011bf1c2cd5e0ca2ba0d4f0"
+PV = "1.6.0-git${SRCPV}"
 
 SRC_URI = " \
     git://github.com/intel-iot-devkit/${BPN}.git;protocol=http \
-    file://ads1x15-fixed-case-logic-in-getThresh-function.patch \
 "
 
 S = "${WORKDIR}/git"
@@ -26,7 +25,13 @@
 # override this in local.conf to get needed bindings.
 # BINDINGS_pn-upm="python"
 # will result in only the python bindings being built/packaged.
-BINDINGS ??= "python ${@ 'nodejs' if oe.types.boolean(d.getVar('HAVE_NODEJS') or '0') else '' }"
+# Note: 'nodejs' is disabled by default because the bindings
+# generation currently fails with nodejs (>v7.x).
+BINDINGS ??= "python"
+
+# nodejs isn't available for armv4/armv5 architectures
+BINDINGS_armv4 ??= "python"
+BINDINGS_armv5 ??= "python"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
  ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch
index ee0d074..2412bb8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/disable_vlockrc.patch
@@ -1,13 +1,23 @@
+From f71cc920528c3496b0118964ebbcf5440cda4ed1 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 16 Aug 2017 13:37:40 +0800
+Subject: [PATCH] vlock: add new recipe
+
 Upstream-Status: Inappropriate [configuration]
 
 written by: Jeff Polk <jeff.polk@windriver.com>
 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
 
-Index: vlock-2.2.2/man/vlock.1
-===================================================================
---- vlock-2.2.2.orig/man/vlock.1	2010-07-26 14:12:42.000000000 -0400
-+++ vlock-2.2.2/man/vlock.1	2010-07-26 14:13:06.000000000 -0400
-@@ -111,11 +111,6 @@
+---
+ man/vlock.1  | 5 -----
+ src/vlock.sh | 5 -----
+ 2 files changed, 10 deletions(-)
+
+diff --git a/man/vlock.1 b/man/vlock.1
+index 0d29b49..01cb944 100644
+--- a/man/vlock.1
++++ b/man/vlock.1
+@@ -111,11 +111,6 @@ enter your password at the password prompt.  If this variable is unset or set
  to an invalid value or 0 no timeout is used.  \fBWarning\fR: If this value is
  too low, you may not be able to unlock your session.
  .PP
@@ -19,11 +29,11 @@
  .SH SECURITY
  See the SECURITY file in the \fBvlock\fR distribution for more information.
  .PP
-Index: vlock-2.2.2/src/vlock.sh
-===================================================================
---- vlock-2.2.2.orig/src/vlock.sh	2010-07-26 14:12:32.000000000 -0400
-+++ vlock-2.2.2/src/vlock.sh	2010-07-26 14:13:33.000000000 -0400
-@@ -35,11 +35,6 @@
+diff --git a/src/vlock.sh b/src/vlock.sh
+index 75f1369..f572776 100644
+--- a/src/vlock.sh
++++ b/src/vlock.sh
+@@ -35,11 +35,6 @@ This TTY is now locked.
  
  ${VLOCK_ENTER_PROMPT}"
  
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch
index 6e8a6a9..3a344b2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock-no_tally.patch
@@ -1,8 +1,21 @@
+From 17e5c8d32abc214aea408f0837be41e88bce7eb2 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 16 Aug 2017 13:37:40 +0800
+Subject: [PATCH] vlock: add new recipe
+
 Upstream-Status: Pending
 
 written by: Jeff Polk <jeff.polk@windriver.com>
 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
 
+---
+ Makefile         | 4 ++++
+ configure        | 9 +++++++++
+ src/vlock-main.c | 8 ++++++++
+ 3 files changed, 21 insertions(+)
+
+diff --git a/Makefile b/Makefile
+index 4eeb42a..834cd2c 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -126,6 +126,10 @@ ifeq ($(AUTH_METHOD),shadow)
@@ -16,6 +29,8 @@
  ifeq ($(ENABLE_PLUGINS),yes)
  vlock-main: plugins.o plugin.o module.o process.o script.o tsort.o list.o
  # -rdynamic is needed so that the all plugin can access the symbols from console_switch.o
+diff --git a/configure b/configure
+index d5d84d6..1303598 100755
 --- a/configure
 +++ b/configure
 @@ -44,6 +44,7 @@ Optional Features:
@@ -36,7 +51,7 @@
      pam|shadow)
        if [ "$2" = "yes" ] ; then
          if [ -n "$auth_method" ] && [ "$auth_method" != "$1" ] ; then
-@@ -232,6 +232,7 @@ set_defaults() {
+@@ -228,6 +232,7 @@ set_defaults() {
    AUTH_METHOD="pam"
    ENABLE_ROOT_PASSWORD="yes"
    ENABLE_PLUGINS="yes"
@@ -44,9 +59,7 @@
    SCRIPTS=""
  
    VLOCK_GROUP="vlock"
-@@ -356,10 +356,14 @@ ENABLE_PLUGINS = ${ENABLE_PLUGINS}
- # which plugins should be build
- MODULES = ${MODULES}
+@@ -353,6 +358,10 @@ MODULES = ${MODULES}
  # which scripts should be installed
  SCRIPTS = ${SCRIPTS}
  
@@ -57,12 +70,12 @@
  # root's group
  ROOT_GROUP = ${ROOT_GROUP}
  
- # group for privileged plugins
- VLOCK_GROUP = ${VLOCK_GROUP}
+diff --git a/src/vlock-main.c b/src/vlock-main.c
+index 008f6f0..108ce8b 100644
 --- a/src/vlock-main.c
 +++ b/src/vlock-main.c
-@@ -111,7 +111,9 @@ static void restore_terminal(void)
-   (void) tcsetattr(STDIN_FILENO, TCSANOW, &term);
+@@ -112,7 +112,9 @@ static void restore_terminal(void)
+   (void) tcsetattr(STDIN_FILENO, TCSANOW, &old_term);
  }
  
 +#ifdef ENABLE_FAIL_COUNT
@@ -71,7 +84,7 @@
  
  static void auth_loop(const char *username)
  {
-@@ -181,7 +183,9 @@ static void auth_loop(const char *userna
+@@ -182,7 +184,9 @@ static void auth_loop(const char *username)
      }
  #endif
  
@@ -81,7 +94,7 @@
    }
  
    /* Free timeouts memory. */
-@@ -189,11 +193,13 @@ static void auth_loop(const char *userna
+@@ -190,11 +194,13 @@ static void auth_loop(const char *username)
    free(prompt_timeout);
  }
  
@@ -95,7 +108,7 @@
  
  #ifdef USE_PLUGINS
  static void call_end_hook(void)
-@@ -216,7 +222,9 @@ int main(int argc, char *const argv[])
+@@ -217,7 +223,9 @@ int main(int argc, char *const argv[])
    if (username == NULL)
      fatal_perror("vlock: could not get username");
  
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch
index 4ce0abc..460b292 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/vlock/vlock-2.2.3/vlock_pam_tally2_reset.patch
@@ -1,13 +1,22 @@
+From fcec4e7fe899f8c0077b3004eeccb7292a945a67 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 16 Aug 2017 13:37:40 +0800
+Subject: [PATCH] vlock: add new recipe
+
 Upstream-Status: Pending
 
 written by: Jeff Polk <jeff.polk@windriver.com>
 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
 
-Index: vlock-2.2.2/src/auth-pam.c
-===================================================================
---- vlock-2.2.2.orig/src/auth-pam.c	2010-06-14 14:38:51.000000000 -0400
-+++ vlock-2.2.2/src/auth-pam.c	2010-06-14 14:39:12.000000000 -0400
-@@ -148,6 +148,9 @@
+---
+ src/auth-pam.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/auth-pam.c b/src/auth-pam.c
+index 5cf93f6..c5cc67a 100644
+--- a/src/auth-pam.c
++++ b/src/auth-pam.c
+@@ -148,6 +148,9 @@ bool auth(const char *user, struct timespec *timeout)
  
    if (pam_status != PAM_SUCCESS) {
      fprintf(stderr, "vlock: %s\n", pam_strerror(pamh, pam_status));
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/zram/zram/init b/import-layers/meta-openembedded/meta-oe/recipes-extended/zram/zram/init
index 7b6cbf4..a2c9c21 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/zram/zram/init
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/zram/zram/init
@@ -34,7 +34,7 @@
     mem_by_cpu=$(($memtotal/$num_cpus*$factor/100*1024))
 
     # load dependency modules
-    modprobe zram zram_num_devices=$num_cpus
+    modprobe zram num_devices=$num_cpus
     echo "zram devices probed successfully"
 
     # initialize the devices
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.3.1.bb
deleted file mode 100644
index 1f5e390..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/zsh/zsh_5.3.1.bb
+++ /dev/null
@@ -1,61 +0,0 @@
-SUMMARY = "UNIX Shell similar to the Korn shell"
-DESCRIPTION = "Zsh is a shell designed for interactive use, although it is also a \
-               powerful scripting language. Many of the useful features of bash, \
-               ksh, and tcsh were incorporated into zsh; many original features were added."
-HOMEPAGE = "http://www.zsh.org"
-SECTION = "base/shell"
-
-LICENSE = "zsh"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=b7bc853894664be455a922db9805288e"
-
-DEPENDS = "ncurses bison-native libcap libpcre gdbm groff-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
-SRC_URI[md5sum] = "d583fbca0c2410bf9542ce8a651c26ca"
-SRC_URI[sha256sum] = "3d94a590ff3c562ecf387da78ac356d6bea79b050a9ef81e3ecb9f8ee513040e"
-
-inherit autotools gettext update-alternatives
-
-EXTRA_OECONF = " \
-    --bindir=${base_bindir} \
-    --enable-etcdir=${sysconfdir} \
-    --enable-fndir=${datadir}/${PN}/${PV}/functions \
-    --enable-site-fndir=${datadir}/${PN}/site-functions \
-    --with-term-lib='ncursesw ncurses' \
-    --with-tcsetpgrp \
-    --enable-cap \
-    --enable-multibyte \
-    --disable-gdbm \
-    --disable-dynamic \
-    zsh_cv_shared_environ=yes \
-"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-ALTERNATIVE_${PN} = "sh"
-ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
-ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
-ALTERNATIVE_PRIORITY = "100"
-
-export AUTOHEADER = "true"
-
-do_configure () {
-    gnu-configize --force ${S}
-    oe_runconf
-}
-
-do_install_append () {
-    rm -fr ${D}/usr/share
-}
-
-pkg_postinst_${PN} () {
-    touch $D${sysconfdir}/shells
-    grep -q "bin/zsh" $D${sysconfdir}/shells || echo /bin/zsh >> $D${sysconfdir}/shells
-    grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells
-}
-
-FILES_${PN}-dbg += "\
-    ${libdir}/${PN}/${PV}/${PN}/.debug/*.so \
-    ${libdir}/${PN}/${PV}/${PN}/db/.debug/*.so \
-    ${libdir}/${PN}/${PV}/${PN}/net/.debug/*.so \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb
index 30ac90a..307774b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.24.2.bb
@@ -7,7 +7,9 @@
 
 DEPENDS = "atk glibmm"
 
-inherit gnome autotools pkgconfig
+inherit distro_features_check gnome autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[archive.md5sum] = "d53b60b0f1be597e86070954a49cf0c3"
 SRC_URI[archive.sha256sum] = "ff95385759e2af23828d4056356f25376cfabc41e690ac1df055371537e458bd"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
index 06f3bb3..d874164 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
@@ -14,6 +14,10 @@
 EXTRA_AUTORECONF = ""
 DEPENDS = ""
 
+# Default to enable autoconf-archive to avoid conflicts
+PACKAGECONFIG ??= "autoconf-archive"
+PACKAGECONFIG[autoconf-archive] = "--with-autoconf-archive, --without-autoconf-archive, autoconf-archive"
+
 FILES_${PN} += "${datadir}/aclocal"
 FILES_${PN}-dev = ""
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/files/0001-do-not-build-demos.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/files/0001-do-not-build-demos.patch
new file mode 100644
index 0000000..176e979
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/files/0001-do-not-build-demos.patch
@@ -0,0 +1,51 @@
+From 6914eccee34376f9067b0ee9f17039fe182125e8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sat, 31 Mar 2018 22:29:16 +0200
+Subject: [PATCH] do not build demos
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+They are not installed anyway and add libepoxy dependency
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ Makefile.am  | 3 ++-
+ configure.ac | 3 ---
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 984b6a7..6c754a6 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -28,7 +28,8 @@ doc_subdirs = docs
+ else
+ doc_subdirs =
+ endif
+-SUBDIRS = tools $(src_subdirs) gdk/gdkmm gtk/gtkmm tests demos $(doc_subdirs)
++
++SUBDIRS = tools $(src_subdirs) gdk/gdkmm gtk/gtkmm tests $(doc_subdirs)
+ 
+ gdkmm_includedir = $(includedir)/$(GDKMM_MODULE_NAME)
+ gdkmm_include_HEADERS = gdk/gdkmm.h
+diff --git a/configure.ac b/configure.ac
+index e5e82dc..c1c7658 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -109,11 +109,8 @@ AS_IF([test "x$gtkmm_enable_api_atkmm" != xno],
+       [GTKMM_MODULES="atkmm-1.6 >= 2.24.2 $GTKMM_MODULES"])
+ AC_SUBST([GTKMM_MODULES])
+ 
+-AC_SUBST([GTKMM_DEMOS_EXTRA_MODULES], ['epoxy >= 1.2'])
+-
+ PKG_CHECK_MODULES([GDKMM], [$GDKMM_MODULES])
+ PKG_CHECK_MODULES([GTKMM], [$GTKMM_MODULES])
+-PKG_CHECK_MODULES([GTKMM_DEMOS_EXTRA], [$GTKMM_DEMOS_EXTRA_MODULES])
+ 
+ MM_PKG_CONFIG_SUBST([GTHREAD_CFLAGS], [--cflags-only-other gthread-2.0])
+ MM_PKG_CONFIG_SUBST([GTHREAD_LIBS], [--libs gthread-2.0])
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.22.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.22.2.bb
new file mode 100644
index 0000000..96b54dd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.22.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "C++ bindings for the GTK+ toolkit V3"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+                    file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "atkmm pangomm glibmm gtk+3 cairomm"
+
+BPN = "gtkmm"
+
+inherit gnomebase distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "883e9046768b3a5afc8e365988823e77"
+SRC_URI[archive.sha256sum] = "91afd98a31519536f5f397c2d79696e3d53143b80b75778521ca7b48cb280090"
+SRC_URI += "file://0001-do-not-build-demos.patch"
+
+EXTRA_OECONF = " --disable-documentation "
+
+FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
index 195bb21..b780d09 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
@@ -8,12 +8,10 @@
 
 DEPENDS = "atkmm pangomm glibmm gtk+ cairomm"
 
-inherit gnome autotools pkgconfig distro_features_check
+inherit gnomebase distro_features_check
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-GNOME_COMPRESS_TYPE = "xz"
-
 SRC_URI[archive.md5sum] = "6c59ae8bbff48fad9132f23af347acf1"
 SRC_URI[archive.sha256sum] = "0680a53b7bf90b4e4bf444d1d89e6df41c777e0bacc96e9c09fc4dd2f5fe6b72"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/0001-configure.in-remove-deprecated-GNOME_COMMON_INIT.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/0001-configure.in-remove-deprecated-GNOME_COMMON_INIT.patch
deleted file mode 100644
index 4738274..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/0001-configure.in-remove-deprecated-GNOME_COMMON_INIT.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From ceefcb19cebf8bc3d45ee502f8eabd3bc5bd0aac Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Sat, 11 Feb 2017 16:42:12 +0100
-Subject: [PATCH] configure.in: remove deprecated GNOME_COMMON_INIT
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.in | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/configure.in b/configure.in
-index 8905f1c..3901398 100644
---- a/configure.in
-+++ b/configure.in
-@@ -15,7 +15,6 @@ AC_CONFIG_HEADERS([config.h])
- 
- AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-bzip2])
- 
--GNOME_COMMON_INIT
- 
- if test "$enable_debug" != "no"; then
-   AC_DEFINE([DEBUG],[1],[enable use of LIBGLADE_DEBUG environment variable])
--- 
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch
deleted file mode 100644
index c5d5864..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-Upstream-Status: Pending
-
-diff -ur libglade-2.4.0~/configure.in libglade-2.4.0/configure.in
---- libglade-2.4.0~/configure.in	2004-05-17 12:38:31.000000000 +0100
-+++ libglade-2.4.0/configure.in	2004-07-28 16:53:09.000000000 +0100
-@@ -147,6 +147,18 @@
- AM_CONDITIONAL(HAVE_PYTHON, $have_python)
- AC_SUBST(PYTHON)
- 
-+AC_MSG_CHECKING([for cruft in libgtk])
-+AC_TRY_LINK([
-+#include <gtk/gtk.h>
-+#include <stdio.h>
-+],      [ gtk_tree_get_type (); return 0; ],
-+        [ AC_MSG_RESULT(yes)
-+          have_cruft=yes ],
-+        [ AC_MSG_RESULT(no)
-+	  AC_DEFINE(DISABLE_CRUFT,,[leave out support for old, broken widgets])
-+          have_cruft=no ])
-+AC_SUBST(DISABLE_CRUFT)
-+
- dnl add debugging options ...
- changequote(,)dnl
- if test "x$GCC" = xyes; then
-Only in libglade-2.4.0: configure.in.orig
-diff -ur libglade-2.4.0~/glade/glade-gtk.c libglade-2.4.0/glade/glade-gtk.c
---- libglade-2.4.0~/glade/glade-gtk.c	2004-03-13 13:47:35.000000000 +0000
-+++ libglade-2.4.0/glade/glade-gtk.c	2004-07-28 16:53:52.000000000 +0100
-@@ -213,6 +213,8 @@
- 	gtk_clist_column_titles_hide (GTK_CLIST (w));
- }
- 
-+#ifndef DISABLE_CRUFT
-+
- static void
- tree_set_selection_mode (GladeXML *xml, GtkWidget *w,
- 			 const char *name, const char *value)
-@@ -238,6 +240,8 @@
-     gtk_tree_set_view_lines (GTK_TREE (w), BOOL (value));
- }
- 
-+#endif
-+
- static void
- list_set_selection_mode (GladeXML *xml, GtkWidget *w,
- 			 const char *name, const char *value)
-@@ -254,6 +258,7 @@
-     gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (w), BOOL (value));
- }
- 
-+#ifndef DISABLE_CRUFT
- static void
- text_set_text (GladeXML *xml, GtkWidget *w,
- 	       const char *name, const char *value)
-@@ -262,6 +267,7 @@
- 
-     gtk_editable_insert_text (GTK_EDITABLE (w), value, -1, &pos);
- }
-+#endif
- 
- static void
- radio_menu_item_set_group (GladeXML *xml, GtkWidget *w,
-@@ -1125,13 +1131,17 @@
-     glade_register_custom_prop (GTK_TYPE_CLIST, "selection_mode", clist_set_selection_mode);
-     glade_register_custom_prop (GTK_TYPE_CLIST, "shadow_type", clist_set_shadow_type);
-     glade_register_custom_prop (GTK_TYPE_CLIST, "show_titles", clist_set_show_titles);
-+#ifndef DISABLE_CRUFT
-     glade_register_custom_prop (GTK_TYPE_TREE, "selection_mode", tree_set_selection_mode);
-     glade_register_custom_prop (GTK_TYPE_TREE, "view_mode", tree_set_view_mode);
-     glade_register_custom_prop (GTK_TYPE_TREE, "view_line", tree_set_view_line);
-+#endif
-     glade_register_custom_prop (GTK_TYPE_LIST, "selection_mode", list_set_selection_mode);
-     glade_register_custom_prop (GTK_TYPE_CHECK_MENU_ITEM, "always_show_toggle",
- 				check_menu_item_set_always_show_toggle);
-+#ifndef DISABLE_CRUFT
-     glade_register_custom_prop (GTK_TYPE_TEXT, "text", text_set_text);
-+#endif
-     glade_register_custom_prop (GTK_TYPE_RADIO_MENU_ITEM, "group",
- 				radio_menu_item_set_group);
-     glade_register_custom_prop (GTK_TYPE_TOOLBAR, "tooltips", toolbar_set_tooltips);
-@@ -1288,8 +1298,10 @@
- 			   glade_standard_build_children, NULL);
-     glade_register_widget (GTK_TYPE_TEAROFF_MENU_ITEM, glade_standard_build_widget,
- 			   NULL, NULL);
-+#ifndef DISABLE_CRUFT
-     glade_register_widget (GTK_TYPE_TEXT, glade_standard_build_widget,
- 			   NULL, NULL);
-+#endif
-     glade_register_widget (GTK_TYPE_TEXT_VIEW, glade_standard_build_widget,
- 			   NULL, NULL);
-     glade_register_widget (GTK_TYPE_TIPS_QUERY, glade_standard_build_widget,
-@@ -1304,8 +1316,10 @@
- 			   glade_standard_build_children, NULL);
-     glade_register_widget (GTK_TYPE_TOOL_BUTTON, glade_standard_build_widget,
- 			   NULL, NULL);
-+#ifndef DISABLE_CRUFT
-     glade_register_widget (GTK_TYPE_TREE, glade_standard_build_widget,
- 			   NULL, NULL);
-+#endif
-     glade_register_widget (GTK_TYPE_TREE_VIEW, glade_standard_build_widget,
- 			   NULL, NULL);
-     glade_register_widget (GTK_TYPE_VBUTTON_BOX, glade_standard_build_widget,
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch
deleted file mode 100644
index dc4c092..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch
+++ /dev/null
@@ -1,501 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-diff -urN libglade-2.4.2.orig/configure.in libglade-2.4.2/configure.in
---- libglade-2.4.2.orig/configure.in	2005-02-11 12:42:58.000000000 +0100
-+++ libglade-2.4.2/configure.in	2005-03-22 01:22:00.000000000 +0100
-@@ -52,11 +52,33 @@
- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
- 
- PKG_CHECK_MODULES(LIBGLADE, [dnl
--  libxml-2.0 >= required_libxml_version dnl
-   atk >= required_atk_version dnl
-   gtk+-2.0 >= required_gtk_version dnl
-   glib-2.0 >= required_glib_version])
- 
-+disable_xml2=no
-+AC_ARG_WITH([libxml2],
-+  AC_HELP_STRING([--without-libxml2], [Don't use libxml2, use Glib's GMarkupParser instead]),
-+  [disable_xml2=yes],
-+  [disable_xml2=no])
-+
-+AC_MSG_CHECKING([if we are using libxml2])
-+if test "x$disable_xml2" == "xno"; then
-+  AC_MSG_RESULT(yes)
-+  PKG_CHECK_MODULES(XML2, libxml-2.0 >= 2.4.10)
-+  PKGCFG_REQUIRE_LIBXML2="libxml-2.0"
-+  LIBGLADE_CFLAGS="$LIBGLADE_CFLAGS $XML2_CFLAGS"
-+  LIBGLADE_LIBS="$LIBGLADE_LIBS $XML2_LIBS"
-+else
-+  LIBGLADE_CFLAGS="$LIBGLADE_CFLAGS -DUSE_GMARKUP_PARSER"
-+  PKGCFG_REQUIRE_LIBXML2=""
-+  AC_MSG_RESULT(no)
-+fi
-+
-+AC_SUBST(XML2_LIBS)
-+AC_SUBST(XML2_CFLAGS)
-+AC_SUBST(PKGCFG_REQUIRE_LIBXML2)
-+
- AC_MSG_CHECKING([for native Win32])
- case "$host" in
-   *-*-mingw*)
-@@ -116,6 +138,21 @@
-   fi
- fi
- 
-+if test "x$disable_xml2" == "xyes"; then
-+  echo "*****************************************************"
-+  echo "  You chose to disable libxml2 and use Glib's"
-+  echo "  GMarkupParser instead." 
-+  echo  
-+  echo "  Please bear in mind that using libglade with"
-+  echo "  GMarkupParser is an experimental feature only."
-+  echo
-+  echo "  Please post problems or success stories to"
-+  echo "  the glade-devel mailing list. Thank you."
-+  echo "*****************************************************"
-+fi
-+
-+
-+
- GTK_DOC_CHECK(1.0)
- 
- dnl gettext stuff ... there is no message catalog for libglade -- libglade
-diff -urN libglade-2.4.2.orig/glade/glade-parser.c libglade-2.4.2/glade/glade-parser.c
---- libglade-2.4.2.orig/glade/glade-parser.c	2004-11-11 11:56:13.000000000 +0100
-+++ libglade-2.4.2/glade/glade-parser.c	2005-03-22 01:20:00.000000000 +0100
-@@ -34,7 +34,15 @@
- #  define dgettext(Domain, String) (String)
- #endif
- 
--#include <libxml/parser.h>
-+#ifdef USE_GMARKUP_PARSER
-+#  include <zlib.h>
-+#else
-+#  include <libxml/parser.h>
-+#endif
-+
-+#ifdef USE_GMARKUP_PARSER
-+#  define xmlChar gchar
-+#endif
- 
- #include "glade-parser.h"
- #include "glade-private.h"
-@@ -508,7 +516,9 @@
-     case PARSER_START:
- 	if (!strcmp(name, "glade-interface")) {
- 	    state->state = PARSER_GLADE_INTERFACE;
--#if 0
-+
-+#ifndef USE_GMARKUP_PARSER
-+ #if 0
- 	    /* check for correct XML namespace */
- 	    for (i = 0; attrs && attrs[i] != NULL; i += 2) {
- 		if (!strcmp(attrs[i], "xmlns") &&
-@@ -518,7 +528,9 @@
- 		    g_warning("unknown attribute `%s' for <glade-interface>",
- 			      attrs[i]);
- 	    }
-+ #endif
- #endif
-+
- 	} else {
- 	    g_warning("Expected <glade-interface>.  Got <%s>.", name);
- 	    state->prev_state = state->state;
-@@ -1063,12 +1075,18 @@
-     }
- }
- 
-+#ifndef USE_GMARKUP_PARSER
-+
- static xmlEntityPtr
- glade_parser_get_entity(GladeParseState *state, const xmlChar *name)
- {
-     return xmlGetPredefinedEntity(name);
- }
- 
-+#endif /* !defined(USE_GMARKUP_PARSER) */
-+
-+#ifndef USE_GMARKUP_PARSER
-+
- static void
- glade_parser_warning(GladeParseState *state, const char *msg, ...)
- {
-@@ -1079,6 +1097,10 @@
-     va_end(args);
- }
- 
-+#endif /* !defined(USE_GMARKUP_PARSER) */
-+
-+#ifndef USE_GMARKUP_PARSER
-+
- static void
- glade_parser_error(GladeParseState *state, const char *msg, ...)
- {
-@@ -1089,6 +1111,10 @@
-     va_end(args);
- }
- 
-+#endif /* !defined(USE_GMARKUP_PARSER) */
-+
-+#ifndef USE_GMARKUP_PARSER
-+
- static void
- glade_parser_fatal_error(GladeParseState *state, const char *msg, ...)
- {
-@@ -1099,6 +1125,10 @@
-     va_end(args);
- }
- 
-+#endif /* !defined(USE_GMARKUP_PARSER) */
-+
-+#ifndef USE_GMARKUP_PARSER
-+
- static xmlSAXHandler glade_parser = {
-     (internalSubsetSAXFunc)NULL,                       /* internalSubset */
-     (isStandaloneSAXFunc)NULL,                         /* isStandalone */
-@@ -1126,6 +1156,82 @@
-     (fatalErrorSAXFunc)glade_parser_fatal_error,       /* fatalError */
- };
- 
-+#else /* USE_GMARKUP_PARSER */
-+
-+static void
-+glade_parser_start_element_wrapper(GMarkupParseContext *context,
-+                                   const gchar         *name, 
-+                                   const gchar        **attr_names,
-+                                   const gchar        **attr_values,
-+                                   gpointer             state,
-+                                   GError             **error)
-+{
-+    guint i = 0;
-+
-+    /* Pack attribute names/values from two separate
-+     *  arrays (GMarkupParser style) into one single
-+     *  array (libxml SAXParser style). This is not
-+     *  very efficient, but we do it to make the
-+     *  GMarkupParser code as little invasive as
-+     *  possible. */
-+
-+    while (attr_names[i] != NULL) {
-+      ++i;
-+    }
-+
-+    if (1)
-+    {
-+        const gchar *attr[(i*2)+1];
-+        guint j, k;
-+       
-+        for (j=0, k=0;  k < i;  j += 2)
-+        {
-+            attr[j] = attr_names[k];
-+            attr[j+1] = attr_values[k];
-+            ++k;
-+        }
-+        attr[i*2] = NULL;
-+
-+        glade_parser_start_element((GladeParseState*)state, name, attr);
-+    }
-+}
-+
-+static void
-+glade_parser_end_element_wrapper(GMarkupParseContext *context, 
-+                                 const gchar         *name,
-+                                 gpointer             state,
-+                                 GError             **err)
-+{
-+    glade_parser_end_element((GladeParseState*)state, name);
-+}
-+
-+static void
-+glade_parser_characters_wrapper(GMarkupParseContext *context, 
-+                                const gchar         *chars, 
-+                                gsize                len,
-+                                gpointer             state,
-+                                GError             **err)
-+{
-+    glade_parser_characters((GladeParseState*)state, chars, (int) len);
-+}
-+
-+static void
-+glade_parser_error(GMarkupParseContext *context, GError *err, gpointer data)
-+{
-+    g_log("Glade-Parser", G_LOG_LEVEL_CRITICAL, "%s", err->message);
-+}
-+
-+static const GMarkupParser   glade_parser = {
-+    glade_parser_start_element_wrapper,  /* element open   */
-+    glade_parser_end_element_wrapper,    /* element close  */
-+    glade_parser_characters_wrapper,     /* text content   */
-+    NULL,                                /* passthrough    */
-+    glade_parser_error,                  /* parse error    */
-+};
-+
-+#endif /* USE_GMARKUP_PARSER */
-+
-+
- static void
- widget_info_free(GladeWidgetInfo *info)
- {
-@@ -1191,6 +1297,9 @@
-  *
-  * Returns: the GladeInterface structure for the XML file.
-  */
-+
-+#ifndef USE_GMARKUP_PARSER
-+
- GladeInterface *
- glade_parser_parse_file(const gchar *file, const gchar *domain)
- {
-@@ -1222,6 +1331,31 @@
-     return state.interface;
- }
- 
-+#else /* defined(USE_GMARKUP_PARSER) */
-+
-+GladeInterface *
-+glade_parser_parse_file(const gchar *file, const gchar *domain)
-+{
-+    GladeInterface  *interface;
-+    GError          *err     = NULL;
-+    gchar           *content = NULL;
-+    gsize            clen;
-+
-+    if (!g_file_get_contents(file, &content, &clen, &err)) {
-+        g_warning("could not load glade file: %s", err->message);
-+        g_error_free(err);
-+        return NULL;
-+    }
-+
-+    interface = glade_parser_parse_buffer(content, (gint) clen, domain);
-+
-+    g_free(content);
-+
-+    return interface;
-+}
-+
-+#endif /* USE_GMARKUP_PARSER */
-+
- /**
-  * glade_parser_parse_buffer
-  * @buffer: a buffer in memory containing XML data.
-@@ -1237,6 +1371,9 @@
-  *
-  * Returns: the GladeInterface structure for the XML buffer.
-  */
-+
-+#ifndef USE_GMARKUP_PARSER
-+
- GladeInterface *
- glade_parser_parse_buffer(const gchar *buffer, gint len, const gchar *domain)
- {
-@@ -1263,6 +1400,161 @@
-     return state.interface;
- }
- 
-+#else /* defined(USE_GMARKUP_PARSER) */
-+
-+
-+static GladeInterface *
-+glade_parser_parse_buffer_internal(const gchar *buffer, gint len, const gchar *domain)
-+{
-+	GMarkupParseContext  *context;
-+	GladeParseState       state = { 0 };
-+	GError               *err   = NULL;
-+
-+	state.interface = NULL;
-+	if (domain)
-+		state.domain = domain;
-+	else
-+		state.domain = textdomain(NULL);
-+
-+	/* FIXME: This strstr() is not safe, as it ignores the len
-+	 *        argument and assumes the buffer is NUL-terminated */
-+	if (strstr(buffer, "<?xml") == NULL) {
-+		g_warning("No XML header found in document!");
-+		return NULL;
-+	}
-+
-+	context = g_markup_parse_context_new(&glade_parser, (GMarkupParseFlags) 0, &state, NULL);
-+
-+	glade_parser_start_document(&state);
-+
-+	if (!g_markup_parse_context_parse(context, buffer, (gssize) len, &err)) {
-+		g_warning("document not well formed: %s", err->message);
-+		g_error_free(err);
-+		if (state.interface)
-+			glade_interface_destroy (state.interface);
-+		return NULL;
-+	}
-+
-+	glade_parser_end_document(&state);
-+
-+	if (state.state != PARSER_FINISH) {
-+		g_warning("did not finish in PARSER_FINISH state!");
-+
-+		if (state.interface)
-+			glade_interface_destroy(state.interface);
-+
-+		return NULL;
-+	}
-+
-+	return state.interface;
-+}
-+
-+struct _gzip_rfc1952_hdr
-+{
-+	guint8	id1, id2, cm, flags;
-+	guint32 mtime;
-+	guint8  xflags;
-+	guint8  os;
-+};
-+
-+static GladeInterface *
-+glade_parser_parse_gzipped_buffer(const gchar *buffer, gint len, const gchar *domain)
-+{
-+	struct _gzip_rfc1952_hdr *hdr = (struct _gzip_rfc1952_hdr*)buffer;
-+	struct z_stream_s         zstream;
-+	GladeInterface           *interface;
-+	const guint8             *cbuf;              /* start of compressed data */
-+	guint8                   *decompress_buf;
-+	gulong                    decompress_len = 0;
-+	gint                      ret;
-+
-+	g_assert(hdr != NULL && hdr->id1 == 0x1f && hdr->id2 == 0x8b);
-+
-+	if (hdr->cm != Z_DEFLATED) {
-+		g_warning("Unknown decompression method %u", (guint) hdr->cm);
-+		return NULL;
-+	}
-+
-+	/* Uncompressed size (modulo 2^32) is last
-+	 *  4 bytes of gzipped file, and little endian.
-+	 *  See RFC 1952 */
-+	decompress_len = GUINT32_FROM_LE(*((guint32*)(((guint8*)buffer) + len - 4)));
-+
-+	/* paranoid mode: glade files > 5MB are unlikely */
-+	g_return_val_if_fail(decompress_len < 5*1024*1024, NULL);
-+
-+	decompress_buf = g_malloc0(decompress_len + 1); /* +1 for NUL-terminator */
-+
-+	/* find start of compressed data, skipping header stuff */
-+	cbuf = (guint8*)buffer + 10;
-+	if (hdr->flags & 0x04) {
-+		guint16 xlen = GUINT16_FROM_LE(*((guint16*)cbuf));
-+		cbuf += xlen + 2;
-+	}
-+	if (hdr->flags & 0x08) {
-+		guint16 onamelen = strlen(cbuf);
-+		cbuf += onamelen + 1;
-+	}
-+	if (hdr->flags & 0x10) {
-+		guint16 commentlen = strlen(cbuf);
-+		cbuf += commentlen + 1;
-+	}
-+	if (hdr->flags & 0x02)
-+	{
-+		cbuf += 2; /* skip header CRC16 */
-+	}
-+
-+	zstream.next_in  = (void*)cbuf;
-+	zstream.avail_in = (uLongf) len - ((void*)cbuf-(void*)buffer) - 4 - 4 +1; 
-+	zstream.next_out = decompress_buf;
-+	zstream.avail_out= decompress_len;
-+	zstream.zalloc   = Z_NULL;
-+	zstream.zfree    = Z_NULL;
-+	zstream.opaque   = Z_NULL;
-+
-+	ret = inflateInit2(&zstream, -MAX_WBITS);
-+
-+	if (ret != Z_OK) {
-+		g_warning("inflateInit2() failed. zlib error code: %d", ret);
-+		g_free(decompress_buf);
-+		return NULL;
-+	}
-+
-+	ret = inflate(&zstream, Z_FINISH);
-+
-+	if (ret != Z_STREAM_END) {
-+		g_warning("zlib decompression failed. zlib error code: %d", ret);
-+		g_free(decompress_buf);
-+		return NULL;
-+	}
-+
-+	interface = glade_parser_parse_buffer_internal(decompress_buf, decompress_len, domain);
-+
-+	g_free(decompress_buf);
-+
-+	return interface;
-+}
-+
-+GladeInterface *
-+glade_parser_parse_buffer(const gchar *buffer, gint len, const gchar *domain)
-+{
-+	g_return_val_if_fail(buffer != NULL, NULL);
-+	g_return_val_if_fail(len > 0, NULL);
-+
-+	/* Check if buffer is gzipped */
-+	if (buffer[0] == 0x1f && buffer[1] == (gchar)0x8b) {
-+		return glade_parser_parse_gzipped_buffer(buffer, len, domain);
-+	}
-+
-+	/* Buffer is cleartext. */
-+	return glade_parser_parse_buffer_internal(buffer, len, domain);
-+}
-+
-+#endif /* USE_GMARKUP_PARSER */
-+
-+
-+#ifndef USE_GMARKUP_PARSER
-+
- static void
- dump_widget(xmlNode *parent, GladeWidgetInfo *info, gint indent)
- {
-@@ -1382,6 +1674,8 @@
- 	xmlNodeAddContent(widget, "  ");
- }
- 
-+#endif /* !defined(USE_GMARKUP_PARSER) */
-+
- /**
-  * glade_interface_dump
-  * @interface: the GladeInterface
-@@ -1390,6 +1684,9 @@
-  * This function dumps the contents of a GladeInterface into a file as
-  * XML.  It is intended mainly as a debugging tool.
-  */
-+
-+#ifndef USE_GMARKUP_PARSER
-+
- void
- glade_interface_dump(GladeInterface *interface, const gchar *filename)
- {
-@@ -1428,6 +1725,17 @@
-     xmlFreeDoc(doc);
- }
- 
-+#else /* defined(USE_GMARKUP_PARSER) */
-+
-+void
-+glade_interface_dump(GladeInterface *interface, const gchar *filename)
-+{
-+    g_warning("glade_interface_dump() is only available with libxml2.");
-+}
-+
-+#endif /* USE_GMARKUP_PARSER */
-+
-+
- #if 0
- int
- main(int argc, char **argv) {
-diff -urN libglade-2.4.2.orig/libglade-2.0.pc.in libglade-2.4.2/libglade-2.0.pc.in
---- libglade-2.4.2.orig/libglade-2.0.pc.in	2001-12-12 15:28:23.000000000 +0100
-+++ libglade-2.4.2/libglade-2.0.pc.in	2005-03-22 01:20:00.000000000 +0100
-@@ -11,7 +11,7 @@
- Name: Libglade
- Description: a library for dynamically loading GLADE interface files
- Version: @VERSION@
--Requires: gtk+-2.0 libxml-2.0
-+Requires: gtk+-2.0 @PKGCFG_REQUIRE_LIBXML2@
- Libs: -L${libdir} -lglade-2.0
- Cflags: -I${includedir}/libglade-2.0
- 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch
deleted file mode 100644
index b5b2ec4..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Using @PYTHON@ for this path would result in the build system python being 
-referred to. Instead we want to locate python from the environment.
-
-Upstream-Status: Inappropriate [configuration]
-
-diff -ruN libglade-2.6.4-orig//libglade-convert.in libglade-2.6.4/libglade-convert.in
---- libglade-2.6.4-orig//libglade-convert.in	2011-09-22 10:18:28.991164003 +0800
-+++ libglade-2.6.4/libglade-convert.in	2011-09-22 10:18:55.431164003 +0800
-@@ -1,4 +1,4 @@
--#!@PYTHON@
-+#!/usr/bin/env python
- # -*- mode: python -*-
- 
- # yes, this requires python 2.x and an XML parser module (eg. PyExpat)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade_2.6.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade_2.6.4.bb
deleted file mode 100644
index fdb9f8a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade_2.6.4.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Runtime support for the GTK+ interface builder"
-HOMEPAGE = "http://library.gnome.org/devel/libglade/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2 & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \
-                    file://glade/glade.h;endline=22;md5=a04f461c964ba4b57a172d1fbcd8f8fc \
-                    file://glade/glade-gtk.c;endline=22;md5=766f993433e2642fec87936d319990ff"
-
-SECTION = "libs"
-PR = "r5"
-DEPENDS = "zlib gdk-pixbuf gtk+"
-
-inherit autotools pkgconfig gnomebase gtk-doc distro_features_check
-ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
-GNOME_COMPRESS_TYPE="bz2"
-
-SRC_URI += " \
-    file://glade-cruft.patch \
-    file://no-xml2.patch \
-    file://python_environment.patch \
-    file://0001-configure.in-remove-deprecated-GNOME_COMMON_INIT.patch \
-"
-
-SRC_URI[archive.md5sum] = "d1776b40f4e166b5e9c107f1c8fe4139"
-SRC_URI[archive.sha256sum] = "64361e7647839d36ed8336d992fd210d3e8139882269bed47dc4674980165dec"
-
-EXTRA_OECONF += "--without-libxml2 --disable-gtk-doc"
-
-CFLAGS += "-lz -lgmodule-2.0"
-
-PACKAGES += " ${PN}-data"
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-data = "${datadir}/xml/libglade/glade-2.0.dtd"
-FILES_${PN}-dev += "${bindir}/libglade-convert"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique_1.1.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique_1.1.6.bb
deleted file mode 100644
index 9133ccc..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique_1.1.6.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Library for supporting single instance GTK+ applications"
-DESCRIPTION = "Unique is a library for writing single instance GTK+ applications. If you launch a single instance application twice, the second instance will either just quit or will send a message to the running instance."
-HOMEPAGE = "https://wiki.gnome.org/Attic/LibUnique"
-BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=libunique"
-
-SRC_URI = "${GNOME_MIRROR}/libunique/1.1/libunique-${PV}.tar.bz2 \
-           file://fix_for_compile_with_gcc-4.6.0.patch \
-           file://noconst.patch \
-           file://build.patch \
-           file://0001-Makefile.am-use-LIBTOOL-instead-of-hardcoded-libtool.patch \
-           file://0001-test-unique-Add-format-qualifier-s-for-string.patch \
-           "
-
-SRC_URI[md5sum] = "7955769ef31f1bc4f83446dbb3625e6d"
-SRC_URI[sha256sum] = "e5c8041cef8e33c55732f06a292381cb345db946cf792a4ae18aa5c66cdd4fbb"
-
-PR = "r7"
-
-DEPENDS = "dbus-glib-native glib-2.0 gtk+"
-
-PACKAGECONFIG ??= "dbus"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-
-inherit autotools pkgconfig gobject-introspection distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
index bfbd9c2..bd66a28 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
@@ -41,16 +41,16 @@
 PACKAGECONFIG[tslib] = "--with-inputdrivers=tslib,,tslib"
 PACKAGECONFIG[linuxinput] = "--with-inputdrivers=linuxinput,,"
 PACKAGECONFIG[noinput] = "--with-inputdrivers=none,,"
+PACKAGECONFIG[mesa] = "--enable-mesa,--disable-mesa,virtual/mesa,"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,xserver-xorg,"
 
 EXTRA_OECONF = "\
   --with-gfxdrivers=none \
   --enable-freetype=yes \
   --enable-zlib \
   --disable-imlib2 \
-  --disable-mesa \
   --disable-sdl \
   --disable-vnc \
-  --disable-x11 \
   --disable-x11vdpau \
   --disable-xine-vdpau \
 "
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
new file mode 100644
index 0000000..46d4dbd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
@@ -0,0 +1,26 @@
+From 80179c297abb9de2829bd02356257241dd414d70 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Mon, 18 Dec 2017 16:25:54 +0900
+Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python.
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c66b39..1489ef6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -19,7 +19,7 @@ else(NOT SPHINX_EXECUTABLE-NOTFOUND)
+ 	message(STATUS "Could NOT find sphinx-build.")
+ endif(NOT SPHINX_EXECUTABLE-NOTFOUND)
+ 
+-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(), end='')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
++#execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(), end='')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
+ string(REGEX REPLACE "\n$" "" ${PYTHON_INSTALL_DIR} "${PYTHON_INSTALL_DIR}")
+ execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write('%s.%s' % (sys.version_info.major, sys.version_info.minor))" OUTPUT_VARIABLE PYTHON_MAJOR_DOT_MINOR_VERSION)
+ message(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch
new file mode 100644
index 0000000..75b6b8f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch
@@ -0,0 +1,25 @@
+From 15d0afcfa4868b7b072b3434bac0064617d61f99 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Tue, 19 Dec 2017 14:53:14 +0900
+Subject: [PATCH] Run python scripts using env
+
+Otherwise the build tools hardcode the python path into them.
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ bin/dnfdragora | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/dnfdragora b/bin/dnfdragora
+index b8e0550..cd80f7f 100755
+--- a/bin/dnfdragora
++++ b/bin/dnfdragora
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ # vim: set et ts=4 sw=4:
+ #    Copyright 2016-2017 Angelo Naselli <anaselli@linux.it>
+ #
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
new file mode 100644
index 0000000..90ce1d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
@@ -0,0 +1,31 @@
+From 56d9b838b3475729d7ed9c6c156d72c28943c2b6 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Tue, 19 Dec 2017 11:15:29 +0900
+Subject: [PATCH] To fix error when do_package
+
+QA Issue: nativesdk-dnfdragora: Files/directories were installed but not shipped in any package:
+  /etc
+  /etc/dnfdragora
+  /etc/dnfdragora/dnfdragora.yaml
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c66b39..a5659f7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -52,7 +52,7 @@ endif(ENABLE_COMPS)
+ set(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
+ set(CMAKE_INSTALL_DATAROOTDIR "${CMAKE_INSTALL_PREFIX}/share")
+ set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale")
+-set(CMAKE_INSTALL_FULL_SYSCONFDIR "/etc")
++set(CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/../etc")
+ 
+ # Configure files
+ configure_file(${CMAKE_SOURCE_DIR}/etc/dnfdragora.yaml.in ${CMAKE_BINARY_DIR}/etc/dnfdragora.yaml @ONLY)
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
new file mode 100644
index 0000000..88bb634
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
@@ -0,0 +1,25 @@
+From 2e6a0db24be373a5b7741dc5a0d322a28389fbf0 Mon Sep 17 00:00:00 2001
+From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+Date: Thu, 23 Nov 2017 16:35:44 +0900
+Subject: [PATCH] disable build manpages.
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c66b39..fc32750 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -65,7 +65,6 @@ endif(GETTEXT_FOUND)
+ 
+ # Build and install the man-pages
+ if(NOT SPHINX_EXECUTABLE-NOTFOUND)
+-	add_subdirectory(man)
+ endif(NOT SPHINX_EXECUTABLE-NOTFOUND)
+ 
+ # Installing application code
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb
new file mode 100644
index 0000000..9cd1efb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb
@@ -0,0 +1,30 @@
+SUMMARY = "dnfdragora is a DNF frontend, based on rpmdragora from Mageia (originally rpmdrake) Perl code."
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \
+                   "
+
+SRC_URI = "git://github.com/manatools/dnfdragora.git \
+           file://0001-disable-build-manpages.patch \
+           file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
+           file://0001-To-fix-error-when-do_package.patch \
+           file://0001-Run-python-scripts-using-env.patch \
+           "
+
+PV = "1.0.1+git${SRCPV}"
+SRCREV = "4fef4ce889b8e4fa03191d414f63bfd50796152a"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig python3-dir python3native distutils3-base
+
+DEPENDS += "dnf python3 "
+#DEPENDS_class-nativesdk += "nativesdk-python3"
+
+RDEPENDS_${PN}_class-target = " python3-core libyui libyui-ncurses "
+
+# manpages generation requires http://www.sphinx-doc.org/
+EXTRA_OECMAKE = " -DWITH_MAN=OFF -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
+
+BBCLASSEXTEND = "nativesdk"
+
+FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/ ${datadir}/ ${bindir}/ ${sysconfdir}/dnfdragora "
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
index d9f0867..481fedf 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
@@ -6,7 +6,7 @@
     file://LICENSE;md5=3f922b42ed0033fa0fd4cd3268f6429c \
 "
 
-DEPENDS = "glib-2.0 pango giflib tiff libxml2 jpeg python libtool uthash gnulib"
+DEPENDS = "glib-2.0 pango giflib tiff libxml2 jpeg python libtool uthash gnulib gettext-native"
 DEPENDS_append_class-target = " libxi"
 
 inherit autotools pkgconfig pythonnative distro_features_check gettext
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
new file mode 100644
index 0000000..5a76474
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
@@ -0,0 +1,69 @@
+From 60c17eb49121bf2aa485acd30750b2fc6c8eb61f Mon Sep 17 00:00:00 2001
+From: Jarmo Jaakkola <jarmo.jaakkola@vincit.fi>
+Date: Mon, 19 Jun 2017 16:41:36 +0300
+Subject: [PATCH] Fix compilation for Helix.
+
+Gnome support, including GNOME_INIT_HOOK, has been removed, but it was
+still being called.
+
+COMPAT_OLD_KEYSYMDEF is a check for a legacy system, which our system
+most definitely is not.  It is accomplished by trying to execute
+a program, which does not work when cross compiling.
+
+The fvwm(1) man page is created from Docbook XML which is set for
+a Windows code page that is not available when compiling.  Easiest is
+to just not create the man page as those are not needed on the monitor.
+
+Upstream-Status: inappropriate [OE specific]
+Signed-off-by: Jarmo Jaakkola <jarmo.jaakkola@vincit.fi>
+Signed-off-by: Riku Hämäläinen <riku.hamalainen@ge.com>
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
+---
+ configure.ac         | 20 ++++----------------
+ doc/fvwm/Makefile.am |  2 +-
+ 3 files changed, 7 insertions(+), 17 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 48ce264..fab7b44 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1413,23 +1413,7 @@ else
+   problem_gdkimlib=": Failed on gdk-imlib, see config.log"
+ fi
+ 
+-GNOME_INIT_HOOK
+-
+-# Unfortunately we have 2 gnome supports: WM hints and gnome libs.
+-# The $with_gnomehints below refers to the first, not GNOME_INIT_HOOK.
+-if test ! x"$enable_gnome_hints" = xno; then
+-  with_gnomehints=yes
+-  problem_gnomehints=""
+-else
+-  with_gnomehints=no
+-  problem_gnomehints=": Explicitly disabled"
+-fi
+-
+ # Define some compatibility macros needed for config.h.
+-mg_DEFINE_IF_NOT([#include <X11/keysym.h>],
+-  [defined XK_Page_Up && defined XK_Page_Down],
+-  [COMPAT_OLD_KEYSYMDEF], [$X_CFLAGS],
+-  [Old AIX systems (3.2.5) don't define some common keysyms.])
+ AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF],
+ [#ifdef COMPAT_OLD_KEYSYMDEF
+ #  define XK_Page_Up   XK_Prior
+diff --git a/doc/fvwm/Makefile.am b/doc/fvwm/Makefile.am
+index cddb102..ff00149 100755
+--- a/doc/fvwm/Makefile.am
++++ b/doc/fvwm/Makefile.am
+@@ -10,7 +10,7 @@ XSL_PROFILE = $(srcdir)/../docbook-xsl/profiling/profile.xsl
+ HTML_FILES = fvwm.man.html
+ XML_FILES = @DOC_SECTIONS_XML_PATH@
+ EXTRA_DIST = @DOC_SECTIONS_XML@ $(man_MANS) sections
+-man_MANS = fvwm.1
++man_MANS =
+ 
+ if FVWM_BUILD_HTMLDOC
+ doc_DATA = $(HTML_FILES)
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch
new file mode 100644
index 0000000..756cc86
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch
@@ -0,0 +1,27 @@
+From: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
+Date: Tue, 29 Auf 2017 16:08:42 +0200
+Subject: [PATCH] Avoid absolute symlinks
+
+Avoid usage of absolute symlinks, which breaks yocto builds
+since pyro.
+
+Upstream-Status: Pending
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
+
+diff --git a/default-config/Makefile.am b/default-config/Makefile.am
+index 5e16d095a137..5404145a742c 100644
+--- a/default-config/Makefile.am
++++ b/default-config/Makefile.am
+@@ -17,9 +17,9 @@ EXTRA_DIST  = images \
+ 
+ install-data-hook:
+ 	cp -r $(srcdir)/images $(inst_location)
+-	ln -sf $(inst_location)/FvwmScript-DateTime $(inst_location)/..
+-	ln -sf $(inst_location)/FvwmScript-ConfirmQuit $(inst_location)/..
+-	ln -sf $(inst_location)/FvwmScript-ConfirmCopyConfig $(inst_location)/..
++	ln -sf default-config/FvwmScript-DateTime $(inst_location)/..
++	ln -sf default-config/FvwmScript-ConfirmQuit $(inst_location)/..
++	ln -sf default-config/FvwmScript-ConfirmCopyConfig $(inst_location)/..
+ 
+ uninstall-hook:
+ 	rm -fr $(DESTDIR)/$(configdir)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb
new file mode 100644
index 0000000..cb851bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb
@@ -0,0 +1,114 @@
+SUMMARY = "F Virtual Window Manager "
+HOMEPAGE = "http://www.fvwm.org/"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=363fbcfb59124689af72c914560eaf6e"
+
+DEPENDS = " \
+    bison-native \
+    flex-native \
+    freetype-native \
+    gettext-native \
+    libxslt-native \
+    fontconfig \
+    libice \
+    libpng \
+    librsvg \
+    libsm \
+    libxau \
+    libxcb \
+    libxcursor \
+    libxdmcp \
+    libxext \
+    libxfixes \
+    libxft \
+    libxinerama \
+    libxml2 \
+    libxrender \
+    libxt \
+    virtual/libx11 \
+    xrandr \
+    zlib \
+"
+
+PV = "2.6.7+git${SRCPV}"
+
+SRC_URI = " \
+    git://github.com/fvwmorg/fvwm.git;protocol=https \
+    file://0001-Fix-compilation-for-disabled-gnome.patch \
+    file://0002-Avoid-absolute-symlinks.patch \
+"
+
+SRCREV = "597a4e296da4f21e71a17facab297e016a3a80a8"
+
+S = "${WORKDIR}/git"
+
+inherit autotools gettext update-alternatives pkgconfig pythonnative perlnative distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+ALTERNATIVE_${PN} = "x-window-manager"
+ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm"
+ALTERNATIVE_PRIORITY[x-window-manager] = "20"
+
+EXTRA_OECONF = " \
+    --disable-bidi \
+    --disable-fontconfigtest \
+    --disable-freetypetest \
+    --disable-htmldoc \
+    --disable-imlibtest \
+    --disable-mandoc \
+    --disable-nls \
+    --disable-perllib \
+    --disable-rsvg \
+    --disable-shape \
+    --disable-sm \
+    --disable-xfttest \
+    --with-imlib-exec-prefix=/nonexistent \
+    --with-imlib-prefix=/nonexistent \
+    --without-ncurses-library \
+    --without-readline-library \
+    --without-rplay-library \
+    --without-stroke-library \
+    --without-termcap-library \
+    --without-xpm-library \
+    ac_cv_func_mkstemp=no \
+    has_safety_mkstemp=yes \
+"
+
+# show the exact commands in the log file
+EXTRA_OEMAKE = " \
+    V=1 \
+"
+
+do_install_append() {
+    install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm
+    # You can install the config file here
+
+    install -d -m 0755 ${D}/${datadir}/fvwm
+    touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults
+}
+
+# the only needed packages (note: locale packages are automatically generated
+# as well)
+PACKAGES = " \
+    ${PN} \
+    ${PN}-dbg \
+"
+
+# minimal set of binaries
+FILES_${PN} = " \
+    ${bindir}/fvwm \
+    ${bindir}/fvwm-root \
+    ${datadir}/fvwm/ConfigFvwmDefaults \
+"
+
+RDEPENDS_${PN} = " \
+    xuser-account \
+"
+
+# by default a lot of stuff is installed and it's not easy to control what to
+# install, so install everything, but skip the check
+INSANE_SKIP_${PN} = " \
+    installed-vs-shipped \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
index 6cc20f5..0053c0c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
@@ -5,7 +5,9 @@
 
 EXTRA_OECONF = "--disable-docs"
 
-inherit gnomebase vala gobject-introspection
+inherit distro_features_check gnomebase vala gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
index cd7e27a..943986e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
@@ -24,7 +24,9 @@
 "
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}"
 
-inherit gnome gtk-doc
+inherit distro_features_check gnome gtk-doc
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \
            file://0001-configure-ac-do-not-check-for-freetype-config.patch \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch
new file mode 100644
index 0000000..d69c5af
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch
@@ -0,0 +1,860 @@
+From 99a9676a0193f6291d7202d7af72e24580abe565 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 16 Mar 2018 13:55:29 +0100
+Subject: [PATCH 1/2] Make GLM_ENABLE_EXPERIMENTAL a configurable option
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It seems that erroring out if GLM_ENABLE_EXPERIMENTAL is not set turns into
+packagers nightmare: There are packages around expecting glx headers. E.g
+libgltf [1] fails during configure checking for usable headers AND during
+compile. Paticularly fixing configure for those packages is time-consuming:
+The only way (correct me if I am wrong) is creating a patch adding
+
+AC_DEFINE([GLM_ENABLE_EXPERIMENTAL], [1], [glm needs this for gtx headers])
+
+By adding a configure option 'GLM_ENABLE_EXPERIMENTAL', the decision to use
+glm/glx is done at one (and the right) place.
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+[1] https://gerrit.libreoffice.org/gitweb?p=libgltf.git
+
+Uptream-Status: Submitted [2]
+
+[2] https://github.com/g-truc/glm/pull/741
+---
+ CMakeLists.txt                      | 6 ++++++
+ glm/CMakeLists.txt                  | 2 ++
+ glm/experimental.hpp.in             | 1 +
+ glm/ext.hpp                         | 1 +
+ glm/gtx/associated_min_max.hpp      | 1 +
+ glm/gtx/bit.hpp                     | 1 +
+ glm/gtx/closest_point.hpp           | 1 +
+ glm/gtx/color_space.hpp             | 1 +
+ glm/gtx/color_space_YCoCg.hpp       | 1 +
+ glm/gtx/common.hpp                  | 1 +
+ glm/gtx/compatibility.hpp           | 1 +
+ glm/gtx/component_wise.hpp          | 1 +
+ glm/gtx/dual_quaternion.hpp         | 1 +
+ glm/gtx/euler_angles.hpp            | 1 +
+ glm/gtx/extend.hpp                  | 1 +
+ glm/gtx/extended_min_max.hpp        | 1 +
+ glm/gtx/fast_exponential.hpp        | 1 +
+ glm/gtx/fast_square_root.hpp        | 1 +
+ glm/gtx/fast_trigonometry.hpp       | 1 +
+ glm/gtx/gradient_paint.hpp          | 1 +
+ glm/gtx/handed_coordinate_space.hpp | 1 +
+ glm/gtx/hash.hpp                    | 1 +
+ glm/gtx/integer.hpp                 | 1 +
+ glm/gtx/intersect.hpp               | 1 +
+ glm/gtx/io.hpp                      | 1 +
+ glm/gtx/log_base.hpp                | 1 +
+ glm/gtx/matrix_cross_product.hpp    | 1 +
+ glm/gtx/matrix_decompose.hpp        | 1 +
+ glm/gtx/matrix_factorisation.hpp    | 1 +
+ glm/gtx/matrix_interpolation.hpp    | 1 +
+ glm/gtx/matrix_major_storage.hpp    | 1 +
+ glm/gtx/matrix_operation.hpp        | 1 +
+ glm/gtx/matrix_query.hpp            | 1 +
+ glm/gtx/matrix_transform_2d.hpp     | 1 +
+ glm/gtx/mixed_product.hpp           | 1 +
+ glm/gtx/norm.hpp                    | 1 +
+ glm/gtx/normal.hpp                  | 1 +
+ glm/gtx/normalize_dot.hpp           | 1 +
+ glm/gtx/number_precision.hpp        | 1 +
+ glm/gtx/optimum_pow.hpp             | 1 +
+ glm/gtx/orthonormalize.hpp          | 1 +
+ glm/gtx/perpendicular.hpp           | 1 +
+ glm/gtx/polar_coordinates.hpp       | 1 +
+ glm/gtx/projection.hpp              | 1 +
+ glm/gtx/quaternion.hpp              | 1 +
+ glm/gtx/range.hpp                   | 1 +
+ glm/gtx/raw_data.hpp                | 1 +
+ glm/gtx/rotate_normalized_axis.hpp  | 1 +
+ glm/gtx/rotate_vector.hpp           | 1 +
+ glm/gtx/scalar_multiplication.hpp   | 1 +
+ glm/gtx/scalar_relational.hpp       | 1 +
+ glm/gtx/spline.hpp                  | 1 +
+ glm/gtx/std_based_type.hpp          | 1 +
+ glm/gtx/string_cast.hpp             | 1 +
+ glm/gtx/texture.hpp                 | 1 +
+ glm/gtx/transform.hpp               | 1 +
+ glm/gtx/transform2.hpp              | 1 +
+ glm/gtx/type_aligned.hpp            | 1 +
+ glm/gtx/type_trait.hpp              | 1 +
+ glm/gtx/vec_swizzle.hpp             | 1 +
+ glm/gtx/vector_angle.hpp            | 1 +
+ glm/gtx/vector_query.hpp            | 1 +
+ glm/gtx/wrap.hpp                    | 1 +
+ 63 files changed, 69 insertions(+)
+ create mode 100644 glm/experimental.hpp.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e5159b0f..bd4dd654 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -82,6 +82,11 @@ option(GLM_TEST_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF)
+ option(GLM_TEST_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF)
+ option(GLM_TEST_FORCE_PURE "Force 'pure' instructions" OFF)
+ 
++option(GLM_ENABLE_EXPERIMENTAL "Enable experimental GLM_GTX" OFF)
++configure_file(glm/experimental.hpp.in experimental.hpp @ONLY)
++include_directories(${CMAKE_BINARY_DIR}/glm)
++include_directories(${CMAKE_BINARY_DIR})
++
+ if(GLM_TEST_FORCE_PURE)
+ 	add_definitions(-DGLM_FORCE_PURE)
+ 
+@@ -167,6 +172,7 @@ option(GLM_INSTALL_ENABLE "GLM install" ON)
+ set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
+ if (GLM_INSTALL_ENABLE)
+ 	install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++	install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm)
+ endif()
+ 
+ write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake" VERSION ${GLM_VERSION} COMPATIBILITY AnyNewerVersion)
+diff --git a/glm/CMakeLists.txt b/glm/CMakeLists.txt
+index df9c9ee5..dc5db4bc 100644
+--- a/glm/CMakeLists.txt
++++ b/glm/CMakeLists.txt
+@@ -43,6 +43,8 @@ source_group("SIMD Files" FILES ${SIMD_INLINE})
+ source_group("SIMD Files" FILES ${SIMD_HEADER})
+ 
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
++# make out-of tree builds find experimental.hpp
++include_directories(${CMAKE_BINARY_DIR}/glm)
+ 
+ if(GLM_STATIC_LIBRARY_ENABLE OR GLM_DYNAMIC_LIBRARY_ENABLE)
+ 	if(GLM_STATIC_LIBRARY_ENABLE)
+diff --git a/glm/experimental.hpp.in b/glm/experimental.hpp.in
+new file mode 100644
+index 00000000..bfab5138
+--- /dev/null
++++ b/glm/experimental.hpp.in
+@@ -0,0 +1 @@
++#cmakedefine GLM_ENABLE_EXPERIMENTAL
+diff --git a/glm/ext.hpp b/glm/ext.hpp
+index d085bfd5..a2948447 100644
+--- a/glm/ext.hpp
++++ b/glm/ext.hpp
+@@ -39,6 +39,7 @@
+ #	include "./gtc/type_aligned.hpp"
+ #endif
+ 
++#include "experimental.hpp"
+ #ifdef GLM_ENABLE_EXPERIMENTAL
+ #include "./gtx/associated_min_max.hpp"
+ #include "./gtx/bit.hpp"
+diff --git a/glm/gtx/associated_min_max.hpp b/glm/gtx/associated_min_max.hpp
+index 0c9935f3..d00c2bc4 100644
+--- a/glm/gtx/associated_min_max.hpp
++++ b/glm/gtx/associated_min_max.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/bit.hpp b/glm/gtx/bit.hpp
+index 1447fa00..31957083 100644
+--- a/glm/gtx/bit.hpp
++++ b/glm/gtx/bit.hpp
+@@ -15,6 +15,7 @@
+ // Dependencies
+ #include "../gtc/bitfield.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_bit is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/closest_point.hpp b/glm/gtx/closest_point.hpp
+index 6859bb96..ebd9fe5a 100644
+--- a/glm/gtx/closest_point.hpp
++++ b/glm/gtx/closest_point.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/color_space.hpp b/glm/gtx/color_space.hpp
+index d1e655c3..51416819 100644
+--- a/glm/gtx/color_space.hpp
++++ b/glm/gtx/color_space.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_color_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/color_space_YCoCg.hpp b/glm/gtx/color_space_YCoCg.hpp
+index e82cbd8b..7ae71041 100644
+--- a/glm/gtx/color_space_YCoCg.hpp
++++ b/glm/gtx/color_space_YCoCg.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_color_space_YCoCg is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/common.hpp b/glm/gtx/common.hpp
+index 8081bff7..57a68a8d 100644
+--- a/glm/gtx/common.hpp
++++ b/glm/gtx/common.hpp
+@@ -18,6 +18,7 @@
+ #include "../vec4.hpp"
+ #include "../gtc/vec1.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_common is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/compatibility.hpp b/glm/gtx/compatibility.hpp
+index e5b60399..9876669c 100644
+--- a/glm/gtx/compatibility.hpp
++++ b/glm/gtx/compatibility.hpp
+@@ -16,6 +16,7 @@
+ #include "../glm.hpp"
+ #include "../gtc/quaternion.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_compatibility is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/component_wise.hpp b/glm/gtx/component_wise.hpp
+index 39bab5d5..4fe0e4e2 100644
+--- a/glm/gtx/component_wise.hpp
++++ b/glm/gtx/component_wise.hpp
+@@ -18,6 +18,7 @@
+ #include "../detail/setup.hpp"
+ #include "../detail/qualifier.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/dual_quaternion.hpp b/glm/gtx/dual_quaternion.hpp
+index c4343e9d..d59fb459 100644
+--- a/glm/gtx/dual_quaternion.hpp
++++ b/glm/gtx/dual_quaternion.hpp
+@@ -20,6 +20,7 @@
+ #include "../gtc/constants.hpp"
+ #include "../gtc/quaternion.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/euler_angles.hpp b/glm/gtx/euler_angles.hpp
+index e66e9281..ad5988c1 100644
+--- a/glm/gtx/euler_angles.hpp
++++ b/glm/gtx/euler_angles.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/extend.hpp b/glm/gtx/extend.hpp
+index eda4e470..cde6db63 100644
+--- a/glm/gtx/extend.hpp
++++ b/glm/gtx/extend.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/extended_min_max.hpp b/glm/gtx/extended_min_max.hpp
+index 3e767b0c..0bcffcc6 100644
+--- a/glm/gtx/extended_min_max.hpp
++++ b/glm/gtx/extended_min_max.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_extented_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/fast_exponential.hpp b/glm/gtx/fast_exponential.hpp
+index 2d4918e7..e6d11f0a 100644
+--- a/glm/gtx/fast_exponential.hpp
++++ b/glm/gtx/fast_exponential.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_fast_exponential is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/fast_square_root.hpp b/glm/gtx/fast_square_root.hpp
+index 1e1ec3cf..f758aeef 100644
+--- a/glm/gtx/fast_square_root.hpp
++++ b/glm/gtx/fast_square_root.hpp
+@@ -19,6 +19,7 @@
+ #include "../exponential.hpp"
+ #include "../geometric.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_fast_square_root is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/fast_trigonometry.hpp b/glm/gtx/fast_trigonometry.hpp
+index 739065fb..f1332958 100644
+--- a/glm/gtx/fast_trigonometry.hpp
++++ b/glm/gtx/fast_trigonometry.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../gtc/constants.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_fast_trigonometry is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/gradient_paint.hpp b/glm/gtx/gradient_paint.hpp
+index 2713cec0..d4703991 100644
+--- a/glm/gtx/gradient_paint.hpp
++++ b/glm/gtx/gradient_paint.hpp
+@@ -17,6 +17,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/optimum_pow.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_gradient_paint is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/handed_coordinate_space.hpp b/glm/gtx/handed_coordinate_space.hpp
+index 1d0d4104..3a52ddcf 100644
+--- a/glm/gtx/handed_coordinate_space.hpp
++++ b/glm/gtx/handed_coordinate_space.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_handed_coordinate_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/hash.hpp b/glm/gtx/hash.hpp
+index fe8a3efd..92bfc9b2 100644
+--- a/glm/gtx/hash.hpp
++++ b/glm/gtx/hash.hpp
+@@ -12,6 +12,7 @@
+ 
+ #pragma once
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_hash is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/integer.hpp b/glm/gtx/integer.hpp
+index 96637a13..5d1a16c6 100644
+--- a/glm/gtx/integer.hpp
++++ b/glm/gtx/integer.hpp
+@@ -16,6 +16,7 @@
+ #include "../glm.hpp"
+ #include "../gtc/integer.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_integer is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/intersect.hpp b/glm/gtx/intersect.hpp
+index 61e2226a..4895ba93 100644
+--- a/glm/gtx/intersect.hpp
++++ b/glm/gtx/intersect.hpp
+@@ -21,6 +21,7 @@
+ #include "../gtx/closest_point.hpp"
+ #include "../gtx/vector_query.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/io.hpp b/glm/gtx/io.hpp
+index 49a1ec11..ae39cd60 100644
+--- a/glm/gtx/io.hpp
++++ b/glm/gtx/io.hpp
+@@ -23,6 +23,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/quaternion.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/log_base.hpp b/glm/gtx/log_base.hpp
+index e873e356..45b8d53c 100644
+--- a/glm/gtx/log_base.hpp
++++ b/glm/gtx/log_base.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_log_base is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_cross_product.hpp b/glm/gtx/matrix_cross_product.hpp
+index 967743b8..52d6c173 100644
+--- a/glm/gtx/matrix_cross_product.hpp
++++ b/glm/gtx/matrix_cross_product.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_matrix_cross_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_decompose.hpp b/glm/gtx/matrix_decompose.hpp
+index b7ec0e83..6793fee2 100644
+--- a/glm/gtx/matrix_decompose.hpp
++++ b/glm/gtx/matrix_decompose.hpp
+@@ -20,6 +20,7 @@
+ #include "../gtc/quaternion.hpp"
+ #include "../gtc/matrix_transform.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_matrix_decompose is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_factorisation.hpp b/glm/gtx/matrix_factorisation.hpp
+index e30a7746..79c293be 100644
+--- a/glm/gtx/matrix_factorisation.hpp
++++ b/glm/gtx/matrix_factorisation.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_matrix_factorisation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_interpolation.hpp b/glm/gtx/matrix_interpolation.hpp
+index 89c4596c..799983bb 100644
+--- a/glm/gtx/matrix_interpolation.hpp
++++ b/glm/gtx/matrix_interpolation.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_matrix_interpolation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_major_storage.hpp b/glm/gtx/matrix_major_storage.hpp
+index 7f264a59..e68467cd 100644
+--- a/glm/gtx/matrix_major_storage.hpp
++++ b/glm/gtx/matrix_major_storage.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_matrix_major_storage is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_operation.hpp b/glm/gtx/matrix_operation.hpp
+index bce938bb..1e85bb5e 100644
+--- a/glm/gtx/matrix_operation.hpp
++++ b/glm/gtx/matrix_operation.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_matrix_operation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_query.hpp b/glm/gtx/matrix_query.hpp
+index 5df5f52f..eec1eec0 100644
+--- a/glm/gtx/matrix_query.hpp
++++ b/glm/gtx/matrix_query.hpp
+@@ -18,6 +18,7 @@
+ #include "../gtx/vector_query.hpp"
+ #include <limits>
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_matrix_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_transform_2d.hpp b/glm/gtx/matrix_transform_2d.hpp
+index 239ab9f4..3ca8d2f2 100644
+--- a/glm/gtx/matrix_transform_2d.hpp
++++ b/glm/gtx/matrix_transform_2d.hpp
+@@ -17,6 +17,7 @@
+ #include "../mat3x3.hpp"
+ #include "../vec2.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_matrix_transform_2d is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/mixed_product.hpp b/glm/gtx/mixed_product.hpp
+index 58562aab..5c7460d5 100644
+--- a/glm/gtx/mixed_product.hpp
++++ b/glm/gtx/mixed_product.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_mixed_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/norm.hpp b/glm/gtx/norm.hpp
+index 46474e07..3cf2c3ea 100644
+--- a/glm/gtx/norm.hpp
++++ b/glm/gtx/norm.hpp
+@@ -17,6 +17,7 @@
+ #include "../geometric.hpp"
+ #include "../gtx/quaternion.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/normal.hpp b/glm/gtx/normal.hpp
+index 15cec9c2..7bb4c096 100644
+--- a/glm/gtx/normal.hpp
++++ b/glm/gtx/normal.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_normal is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/normalize_dot.hpp b/glm/gtx/normalize_dot.hpp
+index 86048e70..c6604da4 100644
+--- a/glm/gtx/normalize_dot.hpp
++++ b/glm/gtx/normalize_dot.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../gtx/fast_square_root.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_normalize_dot is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/number_precision.hpp b/glm/gtx/number_precision.hpp
+index 3732a56c..b48845f7 100644
+--- a/glm/gtx/number_precision.hpp
++++ b/glm/gtx/number_precision.hpp
+@@ -18,6 +18,7 @@
+ #include "../glm.hpp"
+ #include "../gtc/type_precision.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_number_precision is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/optimum_pow.hpp b/glm/gtx/optimum_pow.hpp
+index eb09f1c3..94a6bbb2 100644
+--- a/glm/gtx/optimum_pow.hpp
++++ b/glm/gtx/optimum_pow.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_optimum_pow is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/orthonormalize.hpp b/glm/gtx/orthonormalize.hpp
+index 2a684ee4..4ff47e53 100644
+--- a/glm/gtx/orthonormalize.hpp
++++ b/glm/gtx/orthonormalize.hpp
+@@ -18,6 +18,7 @@
+ #include "../mat3x3.hpp"
+ #include "../geometric.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_orthonormalize is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/perpendicular.hpp b/glm/gtx/perpendicular.hpp
+index 35601ac7..17251ebe 100644
+--- a/glm/gtx/perpendicular.hpp
++++ b/glm/gtx/perpendicular.hpp
+@@ -17,6 +17,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/projection.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_perpendicular is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/polar_coordinates.hpp b/glm/gtx/polar_coordinates.hpp
+index b8421db4..5125215d 100644
+--- a/glm/gtx/polar_coordinates.hpp
++++ b/glm/gtx/polar_coordinates.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_polar_coordinates is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/projection.hpp b/glm/gtx/projection.hpp
+index 9a24abf9..4d5bf76f 100644
+--- a/glm/gtx/projection.hpp
++++ b/glm/gtx/projection.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../geometric.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_projection is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/quaternion.hpp b/glm/gtx/quaternion.hpp
+index c3d99a5c..808ba0fd 100644
+--- a/glm/gtx/quaternion.hpp
++++ b/glm/gtx/quaternion.hpp
+@@ -19,6 +19,7 @@
+ #include "../gtc/quaternion.hpp"
+ #include "../gtx/norm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/range.hpp b/glm/gtx/range.hpp
+index e0ef46af..03c797c3 100644
+--- a/glm/gtx/range.hpp
++++ b/glm/gtx/range.hpp
+@@ -15,6 +15,7 @@
+ // Dependencies
+ #include "../detail/setup.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_range is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/raw_data.hpp b/glm/gtx/raw_data.hpp
+index fb34c8cb..0084fec6 100644
+--- a/glm/gtx/raw_data.hpp
++++ b/glm/gtx/raw_data.hpp
+@@ -16,6 +16,7 @@
+ #include "../detail/setup.hpp"
+ #include "../detail/type_int.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_raw_data is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/rotate_normalized_axis.hpp b/glm/gtx/rotate_normalized_axis.hpp
+index eee90d6e..82612928 100644
+--- a/glm/gtx/rotate_normalized_axis.hpp
++++ b/glm/gtx/rotate_normalized_axis.hpp
+@@ -19,6 +19,7 @@
+ #include "../gtc/epsilon.hpp"
+ #include "../gtc/quaternion.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_rotate_normalized_axis is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/rotate_vector.hpp b/glm/gtx/rotate_vector.hpp
+index c8ace89e..e954b041 100644
+--- a/glm/gtx/rotate_vector.hpp
++++ b/glm/gtx/rotate_vector.hpp
+@@ -17,6 +17,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/transform.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_rotate_vector is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp
+index b73edf67..22baa52a 100644
+--- a/glm/gtx/scalar_multiplication.hpp
++++ b/glm/gtx/scalar_multiplication.hpp
+@@ -16,6 +16,7 @@
+ 
+ #include "../detail/setup.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_scalar_multiplication is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/scalar_relational.hpp b/glm/gtx/scalar_relational.hpp
+index 7fc8c1cc..f21f3b2b 100644
+--- a/glm/gtx/scalar_relational.hpp
++++ b/glm/gtx/scalar_relational.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/spline.hpp b/glm/gtx/spline.hpp
+index f96d7e07..76359cfd 100644
+--- a/glm/gtx/spline.hpp
++++ b/glm/gtx/spline.hpp
+@@ -16,6 +16,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/optimum_pow.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_spline is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/std_based_type.hpp b/glm/gtx/std_based_type.hpp
+index 55a2f074..92532b9e 100644
+--- a/glm/gtx/std_based_type.hpp
++++ b/glm/gtx/std_based_type.hpp
+@@ -17,6 +17,7 @@
+ #include "../glm.hpp"
+ #include <cstdlib>
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_std_based_type is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/string_cast.hpp b/glm/gtx/string_cast.hpp
+index 4b4e280f..dfcd5085 100644
+--- a/glm/gtx/string_cast.hpp
++++ b/glm/gtx/string_cast.hpp
+@@ -24,6 +24,7 @@
+ #include <string>
+ #include <cmath>
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_string_cast is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/texture.hpp b/glm/gtx/texture.hpp
+index 312bf398..7af185f6 100644
+--- a/glm/gtx/texture.hpp
++++ b/glm/gtx/texture.hpp
+@@ -17,6 +17,7 @@
+ #include "../gtc/integer.hpp"
+ #include "../gtx/component_wise.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_texture is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/transform.hpp b/glm/gtx/transform.hpp
+index d23b99ce..5a5d9619 100644
+--- a/glm/gtx/transform.hpp
++++ b/glm/gtx/transform.hpp
+@@ -19,6 +19,7 @@
+ #include "../glm.hpp"
+ #include "../gtc/matrix_transform.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/transform2.hpp b/glm/gtx/transform2.hpp
+index 85f5bea4..5d7c83fc 100644
+--- a/glm/gtx/transform2.hpp
++++ b/glm/gtx/transform2.hpp
+@@ -17,6 +17,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/transform.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_transform2 is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/type_aligned.hpp b/glm/gtx/type_aligned.hpp
+index 6ff9f276..6ad92fad 100644
+--- a/glm/gtx/type_aligned.hpp
++++ b/glm/gtx/type_aligned.hpp
+@@ -18,6 +18,7 @@
+ // Dependency:
+ #include "../gtc/type_precision.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/type_trait.hpp b/glm/gtx/type_trait.hpp
+index 637bbd19..65519cab 100644
+--- a/glm/gtx/type_trait.hpp
++++ b/glm/gtx/type_trait.hpp
+@@ -12,6 +12,7 @@
+ 
+ #pragma once
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/vec_swizzle.hpp b/glm/gtx/vec_swizzle.hpp
+index daebac38..13d523dc 100644
+--- a/glm/gtx/vec_swizzle.hpp
++++ b/glm/gtx/vec_swizzle.hpp
+@@ -14,6 +14,7 @@
+ 
+ #include "../glm.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_vec_swizzle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/vector_angle.hpp b/glm/gtx/vector_angle.hpp
+index 401a47eb..98c9d110 100644
+--- a/glm/gtx/vector_angle.hpp
++++ b/glm/gtx/vector_angle.hpp
+@@ -20,6 +20,7 @@
+ #include "../gtx/quaternion.hpp"
+ #include "../gtx/rotate_vector.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_vector_angle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/vector_query.hpp b/glm/gtx/vector_query.hpp
+index 6560eaa5..5ab1ffda 100644
+--- a/glm/gtx/vector_query.hpp
++++ b/glm/gtx/vector_query.hpp
+@@ -17,6 +17,7 @@
+ #include <cfloat>
+ #include <limits>
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_vector_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/wrap.hpp b/glm/gtx/wrap.hpp
+index 2c4b55df..5bf26a33 100644
+--- a/glm/gtx/wrap.hpp
++++ b/glm/gtx/wrap.hpp
+@@ -16,6 +16,7 @@
+ #include "../glm.hpp"
+ #include "../gtc/vec1.hpp"
+ 
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ #	error "GLM: GLM_GTX_wrap is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch
new file mode 100644
index 0000000..1be3318
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch
@@ -0,0 +1,46 @@
+From 7fdd36d7496238e03e43fcc32839f75588116c5d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 16 Mar 2018 15:44:48 +0100
+Subject: [PATCH 2/2] glm: install headers only
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Plausibility check in root source path
+
+$ find glm -type f ! -name '*.hpp' ! -name '*.h' ! -name '*.inl'
+glm/detail/glm.cpp
+glm/detail/dummy.cpp
+glm/experimental.hpp.in
+glm/CMakeLists.txt
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+Uptream-Status: Submitted [1]
+
+[1] https://github.com/g-truc/glm/pull/741
+---
+ CMakeLists.txt | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bd4dd654..113dd735 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -171,7 +171,12 @@ option(GLM_INSTALL_ENABLE "GLM install" ON)
+ 
+ set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
+ if (GLM_INSTALL_ENABLE)
+-	install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++	install(DIRECTORY glm
++		DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
++		FILES_MATCHING
++			PATTERN "*.h"
++			PATTERN "*.hpp"
++			PATTERN "*.inl")
+ 	install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm)
+ endif()
+ 
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.8.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.8.5.bb
deleted file mode 100644
index a174f2a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.8.5.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "OpenGL Mathematics Library"
-DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \
-mathematics library for graphics software based on the OpenGL \
-Shading Language (GLSL) specifications."
-HOMEPAGE = "https://glm.g-truc.net"
-BUGTRACKER = "https://github.com/g-truc/glm/issues"
-
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://copying.txt;md5=4431606d144252143c9c3df384a74cad"
-
-SRC_URI = "git://github.com/g-truc/glm;branch=0.9.8"
-SRCREV = "6fa203eeb7fbcbb6f620501fad40359c8a456049"
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-FILES_${PN}-dev += "${libdir}/cmake"
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
new file mode 100644
index 0000000..4e2ee23
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
@@ -0,0 +1,28 @@
+SUMMARY = "OpenGL Mathematics Library"
+DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \
+mathematics library for graphics software based on the OpenGL \
+Shading Language (GLSL) specifications."
+HOMEPAGE = "https://glm.g-truc.net"
+BUGTRACKER = "https://github.com/g-truc/glm/issues"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://readme.md;beginline=21;endline=22;md5=3075b5727d36f29edccf97b93e72b790"
+
+SRC_URI = " \
+    git://github.com/g-truc/glm;branch=master \
+    file://0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch \
+    file://0002-glm-install-headers-only.patch \
+"
+SRCREV = "fcbedf5058ef8613dd02aac62ef00d55dcfeadd7"
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DGLM_ENABLE_EXPERIMENTAL=ON"
+
+FILES_${PN}-dev += "${libdir}/cmake"
+RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2-2.5.8/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2-2.5.8/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2-2.5.8/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2-2.5.8/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb
new file mode 100644
index 0000000..75ad7f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb
@@ -0,0 +1,22 @@
+SUMMARY = "gphoto2 - a command-line frontend to libgphoto2"
+HOMEPAGE = "http://www.gphoto.com/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "libgphoto2 popt readline"
+RDEPENDS_gphoto2 = "libgphoto2"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \
+           file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
+           file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \
+"
+
+SRC_URI[gphoto2.md5sum] = "6c6a21b5e879330cdd71ef92dce36399"
+SRC_URI[gphoto2.sha256sum] = "9302d02fb472d4936988382b7277ccdc4edaf7ede56c490278912ffd0627699c"
+
+inherit autotools pkgconfig gettext
+
+EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \
+                 --without-cdk \
+"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.8.bb
deleted file mode 100644
index 62d283b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.8.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "gphoto2 - a command-line frontend to libgphoto2"
-HOMEPAGE = "http://www.gphoto.com/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "libgphoto2 popt readline"
-RDEPENDS_gphoto2 = "libgphoto2"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \
-           file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
-           file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \
-"
-
-SRC_URI[gphoto2.md5sum] = "bae369aee6881e590c5c91bdbb11a5f8"
-SRC_URI[gphoto2.sha256sum] = "a9abcd15d95f205318d17e3ac12af7ce523d2bc4943709d50b0a12c30cc5ee4d"
-
-inherit autotools pkgconfig gettext
-
-EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \
-                 --without-cdk \
-"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0001-scripts-remove-bashisms.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0001-scripts-remove-bashisms.patch
deleted file mode 100644
index 0e0dc87..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0001-scripts-remove-bashisms.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-From c00e63e97d8718836ba011d9172128732eecf001 Mon Sep 17 00:00:00 2001
-From: Ismo Puustinen <ismo.puustinen@intel.com>
-Date: Tue, 24 Jan 2017 22:24:05 +0200
-Subject: [PATCH] scripts: remove bashisms.
-
-Convert bash scripts to more generic shell scripts. This removes the
-strict bash dependency and the scripts should now run with any posix
-shell. Also fix the issues reported by shellcheck while at it.
-
-Upstream-status: Accepted [https://github.com/gphoto/libgphoto2/commit/39b4395532058c0edb9a56d0ff04e48a472e4743]
-
----
- packaging/generic/check-ptp-camera          | 12 ++++++------
- packaging/linux-hotplug/gphoto-set-procperm | 14 +++++++-------
- packaging/linux-hotplug/usbcam.console      |  4 ++--
- packaging/linux-hotplug/usbcam.group        |  2 +-
- packaging/linux-hotplug/usbcam.user         |  2 +-
- packaging/linux-hotplug/usbcam.x11-app      |  4 ++--
- 6 files changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/packaging/generic/check-ptp-camera b/packaging/generic/check-ptp-camera
-index 1793fc8..bc3c6ac 100644
---- a/packaging/generic/check-ptp-camera
-+++ b/packaging/generic/check-ptp-camera
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
- # License as published by the Free Software Foundation; either
-@@ -20,13 +20,13 @@ INTERFACE="${1:-06/01/01}"
- 
- BASENAME=${DEVPATH##*/}
- for d in /sys/${DEVPATH}/${BASENAME}:*; do
--	[[ -d ${d} ]] || continue
--	INTERFACEID="$(< ${d}/bInterfaceClass)"
--	INTERFACEID="${INTERFACEID}/$(< ${d}/bInterfaceSubClass)"
--	INTERFACEID="${INTERFACEID}/$(< ${d}/bInterfaceProtocol)"
-+	[ -d "${d}" ] || continue
-+	INTERFACEID="$(cat "${d}"/bInterfaceClass)"
-+	INTERFACEID="${INTERFACEID}/$(cat "${d}"/bInterfaceSubClass)"
-+	INTERFACEID="${INTERFACEID}/$(cat "${d}"/bInterfaceProtocol)"
- 
- 	#echo ${d}: ${INTERFACEID}
--	if [[ ${INTERFACE} == ${INTERFACEID} ]]; then
-+	if [ "${INTERFACE}" = "${INTERFACEID}" ]; then
- 		# Found interface
- 		exit 0
- 	fi
-diff --git a/packaging/linux-hotplug/gphoto-set-procperm b/packaging/linux-hotplug/gphoto-set-procperm
-index d72ee68..977cbf5 100644
---- a/packaging/linux-hotplug/gphoto-set-procperm
-+++ b/packaging/linux-hotplug/gphoto-set-procperm
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
- # License as published by the Free Software Foundation; either
-@@ -18,22 +18,22 @@
- # This is taken from Fedora Core gphoto2 package.
- # http://cvs.fedora.redhat.com/viewcvs/*checkout*/devel/gphoto2/gphoto-set-procperm
- 
--console_user=`cat /var/run/console/console.lock` 
-+console_user=$(cat /var/run/console/console.lock)
- 
- if [ -z "$console_user" ] ; then
-   exit 1 
- fi
- 
--if [ -z "$HAL_PROP_USB_BUS_NUMBER" -o -z "$HAL_PROP_USB_LINUX_DEVICE_NUMBER" ] ; then
-+if [ -z "$HAL_PROP_USB_BUS_NUMBER" ] || [ -z "$HAL_PROP_USB_LINUX_DEVICE_NUMBER" ] ; then
-   exit 1 
- fi
- 
--if [ $HAL_PROP_USB_BUS_NUMBER -lt 0 -o  $HAL_PROP_USB_LINUX_DEVICE_NUMBER -lt 0 ] ; then
-+if [ "$HAL_PROP_USB_BUS_NUMBER" -lt 0 ] || [ "$HAL_PROP_USB_LINUX_DEVICE_NUMBER" -lt 0 ] ; then
-   exit 1 
- fi
- 
- 
--bus_num=`printf %.3u $HAL_PROP_USB_BUS_NUMBER`
--dev_num=`printf %.3u $HAL_PROP_USB_LINUX_DEVICE_NUMBER`
-+bus_num=$(printf %.3u "$HAL_PROP_USB_BUS_NUMBER")
-+dev_num=$(printf %.3u "$HAL_PROP_USB_LINUX_DEVICE_NUMBER")
- 
--chown $console_user /proc/bus/usb/$bus_num/$dev_num 
-+chown "$console_user" /proc/bus/usb/"$bus_num"/"$dev_num"
-diff --git a/packaging/linux-hotplug/usbcam.console b/packaging/linux-hotplug/usbcam.console
-index d72128f..7ac6dc5 100755
---- a/packaging/linux-hotplug/usbcam.console
-+++ b/packaging/linux-hotplug/usbcam.console
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
- # License as published by the Free Software Foundation; either
-@@ -50,7 +50,7 @@ then
-         /var/lock/console.lock
-     do
-         if [ -f "$conlock" ]; then
--	    CONSOLEOWNER=`cat $conlock`
-+            CONSOLEOWNER=$(cat $conlock)
-         fi
-     done
-     if [ -n "$CONSOLEOWNER" ]
-diff --git a/packaging/linux-hotplug/usbcam.group b/packaging/linux-hotplug/usbcam.group
-index f96c33d..8761fac 100755
---- a/packaging/linux-hotplug/usbcam.group
-+++ b/packaging/linux-hotplug/usbcam.group
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
- # License as published by the Free Software Foundation; either
-diff --git a/packaging/linux-hotplug/usbcam.user b/packaging/linux-hotplug/usbcam.user
-index c46f155..a3ba71a 100644
---- a/packaging/linux-hotplug/usbcam.user
-+++ b/packaging/linux-hotplug/usbcam.user
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
- # License as published by the Free Software Foundation; either
-diff --git a/packaging/linux-hotplug/usbcam.x11-app b/packaging/linux-hotplug/usbcam.x11-app
-index 023ae9b..618e7db 100644
---- a/packaging/linux-hotplug/usbcam.x11-app
-+++ b/packaging/linux-hotplug/usbcam.x11-app
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
- # License as published by the Free Software Foundation; either
-@@ -69,7 +69,7 @@ then
-     if [ "${USER}" != "root" ]
-     then
- 	# we don't want to run this as root. definitely not.
--	cd "${DIRECTORY}"
-+	cd "${DIRECTORY}" || exit 1
- 	usrhome=~${USER}
- 	"${SU}" "${USER}" -c "${ENV} DISPLAY=${DISPLAY} HOME=${usrhome} ${X11_APP}"
-     fi
--- 
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0002-correct-jpeg-memsrcdest-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0002-correct-jpeg-memsrcdest-support.patch
deleted file mode 100644
index cf2d86d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0002-correct-jpeg-memsrcdest-support.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- libgphoto2-2.5.8/camlibs/ax203/jpeg_memsrcdest.h.orig	2016-06-15 09:03:20.625774684 -0400
-+++ libgphoto2-2.5.8/camlibs/ax203/jpeg_memsrcdest.h	2016-06-15 09:03:47.049774148 -0400
-@@ -1,5 +1,7 @@
- #include <jpeglib.h>
- 
-+#if JPEG_LIB_VERSION < 80 && !defined(MEM_SRCDST_SUPPORTED)
-+
- void
- jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer,
- 	unsigned long bufsize);
-@@ -7,3 +9,5 @@
- void
- jpeg_mem_dest (j_compress_ptr cinfo, unsigned char ** outbuffer,
- 	unsigned long * outsize);
-+
-+#endif
---- libgphoto2-2.5.8/camlibs/ax203/jpeg_memsrcdest.c.orig	2016-06-15 09:03:58.689773913 -0400
-+++ libgphoto2-2.5.8/camlibs/ax203/jpeg_memsrcdest.c	2016-06-15 09:04:17.769773526 -0400
-@@ -26,7 +26,7 @@
- 
- /* libjpeg8 and later come with their own (API compatible) memory source
-    and dest */
--#if JPEG_LIB_VERSION < 80
-+#if JPEG_LIB_VERSION < 80  && !defined(MEM_SRCDST_SUPPORTED)
- 
- /* Expanded data source object for memory input */
- 
---- libgphoto2-2.5.8/camlibs/jl2005c/jpeg_memsrcdest.h.orig	2016-06-15 09:05:01.893772632 -0400
-+++ libgphoto2-2.5.8/camlibs/jl2005c/jpeg_memsrcdest.h	2016-06-15 09:05:17.433772318 -0400
-@@ -1,5 +1,7 @@
- #include <jpeglib.h>
- 
-+#if JPEG_LIB_VERSION < 80 && !defined(MEM_SRCDST_SUPPORTED)
-+
- void
- jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer,
- 	unsigned long bufsize);
-@@ -7,3 +9,5 @@
- void
- jpeg_mem_dest (j_compress_ptr cinfo, unsigned char ** outbuffer,
- 	unsigned long * outsize);
-+
-+#endif
---- libgphoto2-2.5.8/camlibs/jl2005c/jpeg_memsrcdest.c.orig	2016-06-15 09:04:42.641773022 -0400
-+++ libgphoto2-2.5.8/camlibs/jl2005c/jpeg_memsrcdest.c	2016-06-15 09:04:48.657772901 -0400
-@@ -26,7 +26,7 @@
- 
- /* libjpeg8 and later come with their own (API compatible) memory source
-    and dest */
--#if JPEG_LIB_VERSION < 80
-+#if JPEG_LIB_VERSION < 80  && !defined(MEM_SRCDST_SUPPORTED)
- 
- /* Expanded data source object for memory input */
- 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/avoid_using_sprintf.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/avoid_using_sprintf.patch
deleted file mode 100644
index fba4c69..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/avoid_using_sprintf.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 4adfe5a6c9db07537df302f3c17713515bf23a2e Mon Sep 17 00:00:00 2001
-From: Marcus Meissner <marcus@jet.franken.de>
-Date: Sat, 11 Jul 2015 09:38:13 +0000
-Subject: [PATCH] avoid use of sprintf to convert %% to %, duplicate the macro
-
-git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@15490 67ed7778-7388-44ab-90cf-0a291f65f57c
----
- camlibs/ptp2/chdk.c     |  8 ++---
- camlibs/ptp2/chdk_ptp.h | 82 +++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 84 insertions(+), 6 deletions(-)
-
-diff --git a/camlibs/ptp2/chdk.c b/camlibs/ptp2/chdk.c
-index 5fb84ea..3b8a995 100644
---- a/camlibs/ptp2/chdk.c
-+++ b/camlibs/ptp2/chdk.c
-@@ -1119,18 +1119,14 @@ chdk_camera_capture (Camera *camera, CameraCaptureType type, CameraFilePath *pat
- 	int		ret, retint;
- 	char		*table, *s;
- 	PTPParams	*params = &camera->pl->params;
--	char		*lua;
--	const char	*luascript =	PTP_CHDK_LUA_SERIALIZE_MSGS \
-+	const char	*luascript = PTP_CHDK_LUA_SERIALIZE_MSGS_SIMPLEQUOTE \
- 				PTP_CHDK_LUA_RLIB_SHOOT	\
- 				"return rlib_shoot({info=true});\n";
- 
- 	ret =  camera_prepare_chdk_capture(camera, context);
- 	if (ret != GP_OK) return ret;
- 
--	lua = malloc(strlen(luascript)+1);
--	sprintf(lua,luascript); /* This expands the %q inside the string too ... do not optimize away. */
--	ret = chdk_generic_script_run (params, lua, &table, &retint, context);
--	free (lua);
-+	ret = chdk_generic_script_run (params, luascript, &table, &retint, context);
- 	GP_LOG_D("rlib_shoot returned table %s, retint %d\n", table, retint);
- 	s = strstr(table, "exp=");
- 	if (s) {
-diff --git a/camlibs/ptp2/chdk_ptp.h b/camlibs/ptp2/chdk_ptp.h
-index d11e0b7..65dcfd7 100644
---- a/camlibs/ptp2/chdk_ptp.h
-+++ b/camlibs/ptp2/chdk_ptp.h
-@@ -198,10 +198,92 @@ function serialize(v,opts)\n\
- 	return table.concat(r)\n\
- end\n"
- 
-+#define PTP_CHDK_LUA_SERIALIZE_SIMPLEQUOTE "\n\
-+serialize_r = function(v,opts,r,seen,depth)\n\
-+	local vt = type(v)\n\
-+	if vt == 'nil' or  vt == 'boolean' or vt == 'number' then\n\
-+		table.insert(r,tostring(v))\n\
-+		return\n\
-+	end\n\
-+	if vt == 'string' then\n\
-+		table.insert(r,string.format('%q',v))\n\
-+		return\n\
-+	end\n\
-+	if vt == 'table' then\n\
-+		if not depth then\n\
-+			depth = 1\n\
-+		end\n\
-+		if depth >= opts.maxdepth then\n\
-+			error('serialize: max depth')\n\
-+		end\n\
-+		if not seen then\n\
-+			seen={}\n\
-+		elseif seen[v] then\n\
-+			if opts.err_cycle then\n\
-+				error('serialize: cycle')\n\
-+			else\n\
-+				table.insert(r,'\"cycle:'..tostring(v)..'\"')\n\
-+				return\n\
-+			end\n\
-+		end\n\
-+		seen[v] = true;\n\
-+		table.insert(r,'{')\n\
-+		for k,v1 in pairs(v) do\n\
-+			if opts.pretty then\n\
-+				table.insert(r,'\\n'..string.rep(' ',depth))\n\
-+			end\n\
-+			if type(k) == 'string' and string.match(k,'^[_%a][%a%d_]*$') then\n\
-+				table.insert(r,k)\n\
-+			else\n\
-+				table.insert(r,'[')\n\
-+				serialize_r(k,opts,r,seen,depth+1)\n\
-+				table.insert(r,']')\n\
-+			end\n\
-+			table.insert(r,'=')\n\
-+			serialize_r(v1,opts,r,seen,depth+1)\n\
-+			table.insert(r,',')\n\
-+		end\n\
-+		if opts.pretty then\n\
-+			table.insert(r,'\\n'..string.rep(' ',depth-1))\n\
-+		end\n\
-+		table.insert(r,'}')\n\
-+		return\n\
-+	end\n\
-+	if opts.err_type then\n\
-+		error('serialize: unsupported type ' .. vt, 2)\n\
-+	else\n\
-+		table.insert(r,'\"'..tostring(v)..'\"')\n\
-+	end\n\
-+end\n\
-+serialize_defaults = {\n\
-+	maxdepth=10,\n\
-+	err_type=true,\n\
-+	err_cycle=true,\n\
-+	pretty=false,\n\
-+}\n\
-+function serialize(v,opts)\n\
-+	if opts then\n\
-+		for k,v in pairs(serialize_defaults) do\n\
-+			if not opts[k] then\n\
-+				opts[k]=v\n\
-+			end\n\
-+		end\n\
-+	else\n\
-+		opts=serialize_defaults\n\
-+	end\n\
-+	local r={}\n\
-+	serialize_r(v,opts,r)\n\
-+	return table.concat(r)\n\
-+end\n"
-+
- #define PTP_CHDK_LUA_SERIALIZE_MSGS \
- PTP_CHDK_LUA_SERIALIZE\
- "usb_msg_table_to_string=serialize\n"
- 
-+#define PTP_CHDK_LUA_SERIALIZE_MSGS_SIMPLEQUOTE \
-+PTP_CHDK_LUA_SERIALIZE_SIMPLEQUOTE\
-+"usb_msg_table_to_string=serialize\n"
-+
- #define PTP_CHDK_LUA_EXTEND_TABLE \
- "function extend_table(target,source,deep)\n\
- 	if type(target) ~= 'table' then\n\
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/10-camera-libgphoto2-device.fdi b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/10-camera-libgphoto2-device.fdi
rename to import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/10-camera-libgphoto2.fdi b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/10-camera-libgphoto2.fdi
rename to import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/40-libgphoto2.rules b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/40-libgphoto2.rules
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/40-libgphoto2.rules
rename to import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/40-libgphoto2.rules
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.16.bb
new file mode 100644
index 0000000..7a691c6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.16.bb
@@ -0,0 +1,54 @@
+SUMMARY = "libgphoto2 allows you to access digital cameras"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1"
+
+DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2"
+
+# The .fdi and .rules files were generated with:
+#  libgphoto2-2.5.8/packaging/generic$ qemu-arm -s 1048576 -r 2.6.24 -L /OE/angstrom-dev/staging/armv5te-angstrom-linux-gnueabi/ .libs/print-camera-list
+# They are release specific, so please regen when adding new releases
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \
+           file://10-camera-libgphoto2-device.fdi \
+           file://10-camera-libgphoto2.fdi \
+           file://40-libgphoto2.rules \
+           file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
+"
+
+SRC_URI[libgphoto2.md5sum] = "084d220d078d28c0c7a3ba13f4476128"
+SRC_URI[libgphoto2.sha256sum] = "e757416d1623e01a9d0d294b2e790162e434c0964f50d3b7ff1a3424b62a2906"
+
+inherit autotools pkgconfig gettext lib_package
+
+EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gd] = ",--without-gdlib,gd"
+PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev"
+
+do_configure_append() {
+    cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/
+    cd ${S}/libgphoto2_port/
+    autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
+    cd ${S}
+}
+
+do_install_append() {
+    install -d ${D}${datadir}/hal/fdi/information/20thirdparty
+    install -m 0644 ${WORKDIR}/*.fdi ${D}${datadir}/hal/fdi/information/20thirdparty/
+
+    install -d ${D}${sysconfdir}/udev/rules.d/
+    install -m 0755 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
+}
+
+PACKAGES =+ "libgphotoport libgphoto2-camlibs"
+FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
+RRECOMMENDS_${PN} = "libgphoto2-camlibs"
+
+FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*"
+
+FILES_${PN} += "${nonarch_base_libdir}/udev/* ${datadir}/hal"
+FILES_${PN}-dbg += "${libdir}/*/*/.debug"
+FILES_${PN}-dev += "${libdir}/*/*/*.la"
+FILES_${PN}-doc += "${datadir}/libgphoto2_port/0.12.0/vcamera/README.txt"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.8.bb
deleted file mode 100644
index 4434af9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.8.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "libgphoto2 allows you to access digital cameras"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1"
-
-DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2"
-
-# The .fdi and .rules files were generated with:
-#  libgphoto2-2.5.8/packaging/generic$ qemu-arm -s 1048576 -r 2.6.24 -L /OE/angstrom-dev/staging/armv5te-angstrom-linux-gnueabi/ .libs/print-camera-list
-# They are release specific, so please regen when adding new releases
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \
-           file://10-camera-libgphoto2-device.fdi \
-           file://10-camera-libgphoto2.fdi \
-           file://40-libgphoto2.rules \
-           file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
-           file://0002-correct-jpeg-memsrcdest-support.patch \
-           file://avoid_using_sprintf.patch \
-           file://0001-scripts-remove-bashisms.patch \
-"
-
-SRC_URI[libgphoto2.md5sum] = "873ab01aced49c6b92a98e515db5dcef"
-SRC_URI[libgphoto2.sha256sum] = "031a262e342fae43f724afe66787947ce1fb483277dfe5a8cf1fbe92c58e27b6"
-
-inherit autotools pkgconfig gettext lib_package
-
-EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gd] = ",--without-gdlib,gd"
-PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev"
-
-do_configure_append() {
-    cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/
-    cd ${S}/libgphoto2_port/
-    autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
-    cd ${S}
-}
-
-do_install_append() {
-    install -d ${D}${datadir}/hal/fdi/information/20thirdparty
-    install -m 0644 ${WORKDIR}/*.fdi ${D}${datadir}/hal/fdi/information/20thirdparty/
-
-    install -d ${D}${sysconfdir}/udev/rules.d/
-    install -m 0755 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
-}
-
-PACKAGES =+ "libgphotoport libgphoto2-camlibs"
-FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
-RRECOMMENDS_${PN} = "libgphoto2-camlibs"
-
-FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*"
-
-FILES_${PN} += "${nonarch_base_libdir}/udev/* ${datadir}/hal"
-FILES_${PN}-dbg += "${libdir}/*/*/.debug"
-FILES_${PN}-dev += "${libdir}/*/*/*.la"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
index 2db9190..4094513 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
@@ -16,7 +16,9 @@
 
 S = "${WORKDIR}/${BPN}"
 
-inherit autotools binconfig pkgconfig gettext
+inherit distro_features_check autotools binconfig pkgconfig gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 do_configure_prepend () {
     rm -f ${S}/m4/init.m4
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb
index 457d721..38dac06 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb
@@ -12,7 +12,9 @@
 
 RDEPENDS_${PN} += "libpng gtk+ libgcrypt"
 
-inherit autotools binconfig pkgconfig
+inherit distro_features_check autotools binconfig pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${PV}.tar.gz"
 SRC_URI[md5sum] = "7f06104d5c009813e95142932c4ddb06"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
new file mode 100644
index 0000000..045f3ca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
@@ -0,0 +1,101 @@
+From eb0086dc4ea8fe9cda069456287b3a29a2631d30 Mon Sep 17 00:00:00 2001
+From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+Date: Wed, 13 Dec 2017 16:18:45 +0900
+Subject: [PATCH] Fix the error of can't find header file
+
+Upstream-Status: Inappropriate [embedded specific]
+This fix is just for yocto.
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/NCApplication.cc | 2 +-
+ src/NCstyle.h        | 2 +-
+ src/NCurses.h        | 2 +-
+ src/ncursesp.h       | 2 +-
+ src/ncursesw.cc      | 2 +-
+ src/ncursesw.h       | 4 ++--
+ 6 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/NCApplication.cc b/src/NCApplication.cc
+index 5bcf969..510f034 100644
+--- a/src/NCApplication.cc
++++ b/src/NCApplication.cc
+@@ -23,7 +23,7 @@
+ 
+ /-*/
+ 
+-#include <ncursesw/curses.h>
++#include <curses.h>
+ 
+ #define  YUILogComponent "ncurses"
+ #include <yui/YUILog.h>
+diff --git a/src/NCstyle.h b/src/NCstyle.h
+index a40d5a8..3657917 100644
+--- a/src/NCstyle.h
++++ b/src/NCstyle.h
+@@ -25,7 +25,7 @@
+ #ifndef NCstyle_h
+ #define NCstyle_h
+ 
+-#include <ncursesw/ncurses.h>
++#include <ncurses.h>
+ 
+ #include <iosfwd>
+ #include <string>
+diff --git a/src/NCurses.h b/src/NCurses.h
+index a07c6bf..d17d3c3 100644
+--- a/src/NCurses.h
++++ b/src/NCurses.h
+@@ -34,7 +34,7 @@
+ #include <yui/YWidget.h>
+ #include <yui/YMenuItem.h>
+ 
+-#include <ncursesw/curses.h>	/* curses.h: #define  NCURSES_CH_T cchar_t */
++#include <curses.h>	/* curses.h: #define  NCURSES_CH_T cchar_t */
+ #include <wchar.h>
+ 
+ #include "ncursesw.h"
+diff --git a/src/ncursesp.h b/src/ncursesp.h
+index d478347..2fcfea5 100644
+--- a/src/ncursesp.h
++++ b/src/ncursesp.h
+@@ -28,7 +28,7 @@
+ #include <iosfwd>
+ 
+ #include "ncursesw.h"
+-#include <ncursesw/panel.h>
++#include <panel.h>
+ 
+ class NCursesPanel : public NCursesWindow
+ {
+diff --git a/src/ncursesw.cc b/src/ncursesw.cc
+index 3c771af..bb83210 100644
+--- a/src/ncursesw.cc
++++ b/src/ncursesw.cc
+@@ -47,7 +47,7 @@
+ #include <iostream>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <ncursesw/term.h>
++#include <term.h>
+ #undef line
+ #undef columns
+ 
+diff --git a/src/ncursesw.h b/src/ncursesw.h
+index d25923a..c140d37 100644
+--- a/src/ncursesw.h
++++ b/src/ncursesw.h
+@@ -27,8 +27,8 @@
+ 
+ #include <iosfwd>
+ 
+-#include <ncursesw/curses.h>
+-#include <ncursesw/etip.h>
++#include <curses.h>
++#include <etip.h>
+ #include <cstdio>
+ #include <cstdarg>
+ #include <climits>
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch
new file mode 100644
index 0000000..8e3774c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch
@@ -0,0 +1,40 @@
+From 4b84f243a70a8c07f6a38dad3c9411fa707f25c9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 4 Mar 2018 17:08:43 -0800
+Subject: [PATCH] use _nl_msg_cat_cntr only with glibc
+
+The musl libc provides libintl (similar to glibc)
+but does not use the same internals,
+so even though we are using the GNU gettext
+the libintl included with the libc does not define
+_nl_msg_cat_cntr and it does not need to.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/NCi18n.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/NCi18n.h b/src/NCi18n.h
+index 165b0e7..bfc4ed7 100644
+--- a/src/NCi18n.h
++++ b/src/NCi18n.h
+@@ -59,12 +59,13 @@ inline void setTextdomain( const char * domain )
+     bindtextdomain( domain,  YSettings::localeDir().c_str() );
+     bind_textdomain_codeset( domain, "UTF-8" );
+     textdomain( domain );
+-
++#if defined(__GLIBC__)
+     // Make change known
+     {
+ 	extern int _nl_msg_cat_cntr;
+ 	++_nl_msg_cat_cntr;
+     }
++#endif
+ }
+ 
+ 
+-- 
+2.16.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
new file mode 100644
index 0000000..578c713
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Character Based User Interface for libyui"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+    file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+"
+
+SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
+           file://0001-use-_nl_msg_cat_cntr-only-with-glibc.patch \
+          "
+
+SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
+
+PV = "2.48.3+git${SRCPV}"
+SRCREV = "79b804b45ffc6a0d92e28e793ff389a20b63b54b"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost libyui ncurses"
+
+BBCLASSEXTEND = "nativesdk"
+
+do_configure_prepend () {
+    cd ${S}
+    git checkout bootstrap.sh
+    sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" bootstrap.sh
+    ./bootstrap.sh
+    mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+    cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+    cd -
+    sed -i "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
+    sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${PKG_CONFIG_SYSROOT_DIR}${libdir}/cmake/libyui/LibyuiLibraryDepends-release.cmake
+}
+
+do_install_append () {
+    if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+        mv ${D}/usr/lib64 ${D}/usr/lib
+    fi
+}
+
+do_install_append_class-nativesdk () {
+    mkdir -p ${D}/${base_prefix}
+    mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES_${PN} += "${datadir}/*"
+
+FILES_${PN}-dev += "${libdir}/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch
new file mode 100644
index 0000000..c1ba42e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch
@@ -0,0 +1,48 @@
+From 1e6d40fec16a94d1a4bd40634405267200b7e969 Mon Sep 17 00:00:00 2001
+From: marxin <mliska@suse.cz>
+Date: Tue, 10 Apr 2018 15:21:40 +0200
+Subject: [PATCH] Fix GCC 8 warning:
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+/home/marxin/Programming/libyui/src/YDialog.cc: In static member function ‘static void YDialog::showText(const string&, bool)’:
+/home/marxin/Programming/libyui/src/YDialog.cc:690:26: error: catching polymorphic type ‘class YUIException’ by value [-Werror=catch-value=]
+     catch ( YUIException exception )
+                          ^~~~~~~~~
+/home/marxin/Programming/libyui/src/YDialog.cc: In static member function ‘static bool YDialog::showRelNotesText()’:
+/home/marxin/Programming/libyui/src/YDialog.cc:814:26: error: catching polymorphic type ‘class YUIException’ by value [-Werror=catch-value=]
+     catch ( YUIException exception )
+                          ^~~~~~~~~
+---
+Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/122]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ src/YDialog.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/YDialog.cc b/src/YDialog.cc
+index 92e5031..8ecff90 100644
+--- a/src/YDialog.cc
++++ b/src/YDialog.cc
+@@ -687,7 +687,7 @@ YDialog::showText( const std::string & text, bool useRichText )
+ 	dialog->waitForEvent();
+ 	dialog->destroy();
+     }
+-    catch ( YUIException exception )
++    catch ( YUIException &exception )
+     {
+ 	// Don't let the application die just because help couldn't be displayed.
+ 
+@@ -811,7 +811,7 @@ YDialog::showRelNotesText()
+ 	}
+         dialog->destroy();
+     }
+-    catch ( YUIException exception )
++    catch ( YUIException &exception )
+     {
+         // Don't let the application die just because RN couldn't be displayed.
+ 
+-- 
+2.17.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
new file mode 100644
index 0000000..4269018
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
@@ -0,0 +1,687 @@
+From 18562671982ad97549bccb444fdbb5905b6e9335 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 24 Apr 2018 15:06:14 -0700
+Subject: [PATCH] Fix build with clang
+
+Fix warnings found with clang
+
+error: class 'YButtonBoxPrivate' was previously declared as a struct [-Werror,-Wmismatched-tags]
+|     friend class YButtonBoxPrivate;
+
+YTimezoneSelector.cc:35:9: error: private field 'dummy' is not used [-Werror,-Wunused-private-field]
+   bool dummy;
+        ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/123]
+
+ src/YAlignment.h          | 2 +-
+ src/YBarGraph.h           | 2 +-
+ src/YBusyIndicator.h      | 2 +-
+ src/YButtonBox.h          | 4 ++--
+ src/YCheckBox.h           | 2 +-
+ src/YCheckBoxFrame.h      | 2 +-
+ src/YComboBox.h           | 2 +-
+ src/YCommandLine.h        | 2 +-
+ src/YContextMenu.h        | 2 +-
+ src/YDateField.h          | 2 +-
+ src/YDialog.h             | 2 +-
+ src/YDownloadProgress.h   | 2 +-
+ src/YDumbTab.h            | 2 +-
+ src/YEmpty.h              | 2 +-
+ src/YEventFilter.h        | 2 +-
+ src/YFrame.h              | 2 +-
+ src/YGraph.h              | 2 +-
+ src/YImage.h              | 2 +-
+ src/YInputField.h         | 2 +-
+ src/YIntField.h           | 2 +-
+ src/YLabel.h              | 2 +-
+ src/YLayoutBox.h          | 2 +-
+ src/YLogView.h            | 2 +-
+ src/YMenuButton.h         | 2 +-
+ src/YMultiLineEdit.h      | 2 +-
+ src/YMultiProgressMeter.h | 2 +-
+ src/YMultiSelectionBox.h  | 2 +-
+ src/YPartitionSplitter.h  | 2 +-
+ src/YProgressBar.h        | 2 +-
+ src/YPushButton.h         | 2 +-
+ src/YRadioButton.h        | 2 +-
+ src/YRadioButtonGroup.h   | 2 +-
+ src/YRichText.h           | 2 +-
+ src/YSelectionBox.h       | 2 +-
+ src/YSelectionWidget.h    | 2 +-
+ src/YSimpleInputField.h   | 2 +-
+ src/YSlider.h             | 2 +-
+ src/YSpacing.h            | 2 +-
+ src/YSquash.h             | 2 +-
+ src/YTable.h              | 2 +-
+ src/YTableHeader.h        | 2 +-
+ src/YTimeField.h          | 2 +-
+ src/YTimezoneSelector.cc  | 2 +-
+ src/YTree.h               | 2 +-
+ src/YUILog.h              | 2 +-
+ src/YWidget.h             | 2 +-
+ src/YWizard.h             | 2 +-
+ 47 files changed, 48 insertions(+), 48 deletions(-)
+
+diff --git a/src/YAlignment.h b/src/YAlignment.h
+index d716c77..7276944 100644
+--- a/src/YAlignment.h
++++ b/src/YAlignment.h
+@@ -28,7 +28,7 @@
+ #include "YSingleChildContainerWidget.h"
+ 
+ 
+-class YAlignmentPrivate;
++struct YAlignmentPrivate;
+ 
+ /**
+  * Implementation of all the alignment widgets:
+diff --git a/src/YBarGraph.h b/src/YBarGraph.h
+index 29f7f26..d7eaad2 100644
+--- a/src/YBarGraph.h
++++ b/src/YBarGraph.h
+@@ -29,7 +29,7 @@
+ #include "YColor.h"
+ 
+ 
+-class YBarGraphPrivate;
++struct YBarGraphPrivate;
+ class YBarGraphSegment;
+ 
+ /**
+diff --git a/src/YBusyIndicator.h b/src/YBusyIndicator.h
+index 9530fa5..75297d8 100644
+--- a/src/YBusyIndicator.h
++++ b/src/YBusyIndicator.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YWidget.h"
+ 
+-class YBusyIndicatorPrivate;
++struct YBusyIndicatorPrivate;
+ 
+ 
+ /**
+diff --git a/src/YButtonBox.h b/src/YButtonBox.h
+index 84f8dbb..ca51f57 100644
+--- a/src/YButtonBox.h
++++ b/src/YButtonBox.h
+@@ -30,7 +30,7 @@
+ #include "YWidget.h"
+ #include "YPushButton.h"
+ 
+-class YButtonBoxPrivate;
++struct YButtonBoxPrivate;
+ class YPushButton;
+ 
+ 
+@@ -147,7 +147,7 @@ struct YButtonBoxMargins
+  **/
+ class YButtonBox : public YWidget
+ {
+-    friend class YButtonBoxPrivate;
++    friend struct YButtonBoxPrivate;
+ 
+ protected:
+     /**
+diff --git a/src/YCheckBox.h b/src/YCheckBox.h
+index 793cc77..03f3faa 100644
+--- a/src/YCheckBox.h
++++ b/src/YCheckBox.h
+@@ -30,7 +30,7 @@
+ #include "YWidget.h"
+ #include "ImplPtr.h"
+ 
+-class YCheckBoxPrivate;
++struct YCheckBoxPrivate;
+ 
+ enum YCheckBoxState
+ {
+diff --git a/src/YCheckBoxFrame.h b/src/YCheckBoxFrame.h
+index 243f1a0..7017110 100644
+--- a/src/YCheckBoxFrame.h
++++ b/src/YCheckBoxFrame.h
+@@ -29,7 +29,7 @@
+ #include "YSingleChildContainerWidget.h"
+ #include "ImplPtr.h"
+ 
+-class YCheckBoxFramePrivate;
++struct YCheckBoxFramePrivate;
+ 
+ 
+ /**
+diff --git a/src/YComboBox.h b/src/YComboBox.h
+index 416359a..ad0e550 100644
+--- a/src/YComboBox.h
++++ b/src/YComboBox.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YSelectionWidget.h"
+ 
+-class YComboBoxPrivate;
++struct YComboBoxPrivate;
+ 
+ 
+ /**
+diff --git a/src/YCommandLine.h b/src/YCommandLine.h
+index 70cb4fe..f344a3b 100644
+--- a/src/YCommandLine.h
++++ b/src/YCommandLine.h
+@@ -28,7 +28,7 @@
+ #include <string>
+ #include "ImplPtr.h"
+ 
+-class YCommandLinePrivate;
++struct YCommandLinePrivate;
+ 
+ 
+ /**
+diff --git a/src/YContextMenu.h b/src/YContextMenu.h
+index a4acb1c..1253002 100644
+--- a/src/YContextMenu.h
++++ b/src/YContextMenu.h
+@@ -29,7 +29,7 @@
+ #include "YMenuItem.h"
+ 
+ class YMenuItem;
+-class YContextMenuPrivate;
++struct YContextMenuPrivate;
+ 
+ 
+ /**
+diff --git a/src/YDateField.h b/src/YDateField.h
+index e5a468d..6164fba 100644
+--- a/src/YDateField.h
++++ b/src/YDateField.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YSimpleInputField.h"
+ 
+-class YDateFieldPrivate;
++struct YDateFieldPrivate;
+ 
+ /**
+  * Input field for entering a date.
+diff --git a/src/YDialog.h b/src/YDialog.h
+index 66c25c0..371209b 100644
+--- a/src/YDialog.h
++++ b/src/YDialog.h
+@@ -32,7 +32,7 @@
+ 
+ class YShortcutManager;
+ class YPushButton;
+-class YDialogPrivate;
++struct YDialogPrivate;
+ class YEvent;
+ class YEventFilter;
+ 
+diff --git a/src/YDownloadProgress.h b/src/YDownloadProgress.h
+index c47ec4f..fe09a9d 100644
+--- a/src/YDownloadProgress.h
++++ b/src/YDownloadProgress.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+ 
+ 
+-class YDownloadProgressPrivate;
++struct YDownloadProgressPrivate;
+ 
+ /**
+  * DownloadProgress: A progress bar that monitors downloading a file by
+diff --git a/src/YDumbTab.h b/src/YDumbTab.h
+index aec17a3..f8fb250 100644
+--- a/src/YDumbTab.h
++++ b/src/YDumbTab.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YSelectionWidget.h"
+ 
+-class YDumbTabPrivate;
++struct YDumbTabPrivate;
+ 
+ /**
+  * DumbTab: A very simple tab widget that can display and switch between a
+diff --git a/src/YEmpty.h b/src/YEmpty.h
+index 9a3cb36..9b88fbc 100644
+--- a/src/YEmpty.h
++++ b/src/YEmpty.h
+@@ -29,7 +29,7 @@
+ #include "ImplPtr.h"
+ 
+ 
+-class YEmptyPrivate;
++struct YEmptyPrivate;
+ 
+ /**
+  * A widget with zero size, useful as a placeholder.
+diff --git a/src/YEventFilter.h b/src/YEventFilter.h
+index 3dc1803..74aa62d 100644
+--- a/src/YEventFilter.h
++++ b/src/YEventFilter.h
+@@ -32,7 +32,7 @@
+ class YEvent;
+ class YDialog;
+ 
+-class YEventFilterPrivate;
++struct YEventFilterPrivate;
+ 
+ 
+ /**
+diff --git a/src/YFrame.h b/src/YFrame.h
+index 111e8ec..4f8c61e 100644
+--- a/src/YFrame.h
++++ b/src/YFrame.h
+@@ -29,7 +29,7 @@
+ #include "YSingleChildContainerWidget.h"
+ #include "ImplPtr.h"
+ 
+-class YFramePrivate;
++struct YFramePrivate;
+ 
+ 
+ /**
+diff --git a/src/YGraph.h b/src/YGraph.h
+index d90d1ae..287d800 100644
+--- a/src/YGraph.h
++++ b/src/YGraph.h
+@@ -37,7 +37,7 @@
+  * For that reason a lot of functions simply take a void* instead of graph_t*.
+  */
+ 
+-class YGraphPrivate;
++struct YGraphPrivate;
+ 
+ /**
+  * A graph with nodes and edges, rendered with Graphviz.
+diff --git a/src/YImage.h b/src/YImage.h
+index 17bea21..84eb674 100644
+--- a/src/YImage.h
++++ b/src/YImage.h
+@@ -29,7 +29,7 @@
+ #include <string>
+ 
+ 
+-class YImagePrivate;
++struct YImagePrivate;
+ 
+ /**
+  * A picture, possibly animated, loaded from a file.
+diff --git a/src/YInputField.h b/src/YInputField.h
+index 70641ce..fa29b42 100644
+--- a/src/YInputField.h
++++ b/src/YInputField.h
+@@ -28,7 +28,7 @@
+ #include <string>
+ #include "YWidget.h"
+ 
+-class YInputFieldPrivate;
++struct YInputFieldPrivate;
+ 
+ 
+ 
+diff --git a/src/YIntField.h b/src/YIntField.h
+index 9da0537..8ad2949 100644
+--- a/src/YIntField.h
++++ b/src/YIntField.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YWidget.h"
+ 
+-class YIntFieldPrivate;
++struct YIntFieldPrivate;
+ 
+ 
+ 
+diff --git a/src/YLabel.h b/src/YLabel.h
+index d2fff61..bf06d8b 100644
+--- a/src/YLabel.h
++++ b/src/YLabel.h
+@@ -30,7 +30,7 @@
+ #include "ImplPtr.h"
+ 
+ 
+-class YLabelPrivate;
++struct YLabelPrivate;
+ 
+ /**
+  * Implementation of the Label, Heading and OutputField widgets
+diff --git a/src/YLayoutBox.h b/src/YLayoutBox.h
+index e652a45..070eaff 100644
+--- a/src/YLayoutBox.h
++++ b/src/YLayoutBox.h
+@@ -29,7 +29,7 @@
+ #include "YWidget.h"
+ 
+ 
+-class YLayoutBoxPrivate;
++struct YLayoutBoxPrivate;
+ 
+ /**
+  * A vertical or horizontal stacking of widgets, implementing HBox and VBox.
+diff --git a/src/YLogView.h b/src/YLogView.h
+index 53fb9ee..5b44229 100644
+--- a/src/YLogView.h
++++ b/src/YLogView.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YWidget.h"
+ 
+-class YLogViewPrivate;
++struct YLogViewPrivate;
+ 
+ 
+ /**
+diff --git a/src/YMenuButton.h b/src/YMenuButton.h
+index 205e730..5df7efb 100644
+--- a/src/YMenuButton.h
++++ b/src/YMenuButton.h
+@@ -29,7 +29,7 @@
+ #include "YMenuItem.h"
+ 
+ class YMenuItem;
+-class YMenuButtonPrivate;
++struct YMenuButtonPrivate;
+ 
+ 
+ /**
+diff --git a/src/YMultiLineEdit.h b/src/YMultiLineEdit.h
+index c52a6ae..1f792f8 100644
+--- a/src/YMultiLineEdit.h
++++ b/src/YMultiLineEdit.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YWidget.h"
+ 
+-class YMultiLineEditPrivate;
++struct YMultiLineEditPrivate;
+ 
+ /**
+  * A multi-line plain-text area
+diff --git a/src/YMultiProgressMeter.h b/src/YMultiProgressMeter.h
+index 57c758d..f6bec91 100644
+--- a/src/YMultiProgressMeter.h
++++ b/src/YMultiProgressMeter.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+ #include <vector>
+ 
+-class YMultiProgressMeterPrivate;
++struct YMultiProgressMeterPrivate;
+ 
+ 
+ /**
+diff --git a/src/YMultiSelectionBox.h b/src/YMultiSelectionBox.h
+index bbe5a20..f3a2947 100644
+--- a/src/YMultiSelectionBox.h
++++ b/src/YMultiSelectionBox.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YSelectionWidget.h"
+ 
+-class YMultiSelectionBoxPrivate;
++struct YMultiSelectionBoxPrivate;
+ 
+ 
+ /**
+diff --git a/src/YPartitionSplitter.h b/src/YPartitionSplitter.h
+index 2839bbc..9de1174 100644
+--- a/src/YPartitionSplitter.h
++++ b/src/YPartitionSplitter.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+ 
+ 
+-class YPartitionSplitterPrivate;
++struct YPartitionSplitterPrivate;
+ 
+ 
+ /**
+diff --git a/src/YProgressBar.h b/src/YProgressBar.h
+index 718352f..baab662 100644
+--- a/src/YProgressBar.h
++++ b/src/YProgressBar.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YWidget.h"
+ 
+-class YProgressBarPrivate;
++struct YProgressBarPrivate;
+ 
+ 
+ /**
+diff --git a/src/YPushButton.h b/src/YPushButton.h
+index 5b65c98..e288252 100644
+--- a/src/YPushButton.h
++++ b/src/YPushButton.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YWidget.h"
+ 
+-class YPushButtonPrivate;
++struct YPushButtonPrivate;
+ 
+ 
+ 
+diff --git a/src/YRadioButton.h b/src/YRadioButton.h
+index 9dc62de..5a7c0dd 100644
+--- a/src/YRadioButton.h
++++ b/src/YRadioButton.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+ 
+ class YRadioButtonGroup;
+-class YRadioButtonPrivate;
++struct YRadioButtonPrivate;
+ 
+ 
+ /**
+diff --git a/src/YRadioButtonGroup.h b/src/YRadioButtonGroup.h
+index 063a52e..671a257 100644
+--- a/src/YRadioButtonGroup.h
++++ b/src/YRadioButtonGroup.h
+@@ -28,7 +28,7 @@
+ #include "YSingleChildContainerWidget.h"
+ 
+ class YRadioButton;
+-class YRadioButtonGroupPrivate;
++struct YRadioButtonGroupPrivate;
+ 
+ typedef std::list<YRadioButton *> 		YRadioButtonList;
+ typedef YRadioButtonList::iterator		YRadioButtonListIterator;
+diff --git a/src/YRichText.h b/src/YRichText.h
+index 149bfb3..86b3f80 100644
+--- a/src/YRichText.h
++++ b/src/YRichText.h
+@@ -30,7 +30,7 @@
+ #include "ImplPtr.h"
+ 
+ 
+-class YRichTextPrivate;
++struct YRichTextPrivate;
+ 
+ 
+ /**
+diff --git a/src/YSelectionBox.h b/src/YSelectionBox.h
+index 7fc4fb8..9bbf9f3 100644
+--- a/src/YSelectionBox.h
++++ b/src/YSelectionBox.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YSelectionWidget.h"
+ 
+-class YSelectionBoxPrivate;
++struct YSelectionBoxPrivate;
+ 
+ 
+ /**
+diff --git a/src/YSelectionWidget.h b/src/YSelectionWidget.h
+index abbdfb4..cf05afd 100644
+--- a/src/YSelectionWidget.h
++++ b/src/YSelectionWidget.h
+@@ -29,7 +29,7 @@
+ #include "YItem.h"
+ #include "ImplPtr.h"
+ 
+-class YSelectionWidgetPrivate;
++struct YSelectionWidgetPrivate;
+ 
+ /**
+  * Base class for various kinds of multi-value widgets.
+diff --git a/src/YSimpleInputField.h b/src/YSimpleInputField.h
+index 6d926d4..b93fe6b 100644
+--- a/src/YSimpleInputField.h
++++ b/src/YSimpleInputField.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YWidget.h"
+ 
+-class YSimpleInputFieldPrivate;
++struct YSimpleInputFieldPrivate;
+ 
+ 
+ /**
+diff --git a/src/YSlider.h b/src/YSlider.h
+index d29f6b8..4bcd7d3 100644
+--- a/src/YSlider.h
++++ b/src/YSlider.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YIntField.h"
+ 
+-class YSliderPrivate;
++struct YSliderPrivate;
+ 
+ 
+ /**
+diff --git a/src/YSpacing.h b/src/YSpacing.h
+index e8aafd3..066cd68 100644
+--- a/src/YSpacing.h
++++ b/src/YSpacing.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+ #include "ImplPtr.h"
+ 
+-class YSpacingPrivate;
++struct YSpacingPrivate;
+ 
+ 
+ /**
+diff --git a/src/YSquash.h b/src/YSquash.h
+index 4bd0fb6..3804cc4 100644
+--- a/src/YSquash.h
++++ b/src/YSquash.h
+@@ -29,7 +29,7 @@
+ #include "ImplPtr.h"
+ 
+ 
+-class YSquashPrivate;
++struct YSquashPrivate;
+ 
+ /**
+  * HSquash, VSquash HVSquash: reduce child to its preferred size.
+diff --git a/src/YTable.h b/src/YTable.h
+index 6694f10..469b8ca 100644
+--- a/src/YTable.h
++++ b/src/YTable.h
+@@ -30,7 +30,7 @@
+ #include "YTableItem.h"
+ #include "YTableHeader.h"
+ 
+-class YTablePrivate;
++struct YTablePrivate;
+ 
+ 
+ 
+diff --git a/src/YTableHeader.h b/src/YTableHeader.h
+index 70166c2..4ae99b4 100644
+--- a/src/YTableHeader.h
++++ b/src/YTableHeader.h
+@@ -31,7 +31,7 @@
+ 
+ 
+ 
+-class YTableHeaderPrivate;
++struct YTableHeaderPrivate;
+ 
+ /**
+  * Helper class for YTable for table column properties:
+diff --git a/src/YTimeField.h b/src/YTimeField.h
+index ab2f9a3..f3a7b94 100644
+--- a/src/YTimeField.h
++++ b/src/YTimeField.h
+@@ -27,7 +27,7 @@
+ 
+ #include "YSimpleInputField.h"
+ 
+-class YTimeFieldPrivate;
++struct YTimeFieldPrivate;
+ 
+ 
+ /**
+diff --git a/src/YTimezoneSelector.cc b/src/YTimezoneSelector.cc
+index 9259b64..e2f9b6f 100644
+--- a/src/YTimezoneSelector.cc
++++ b/src/YTimezoneSelector.cc
+@@ -32,7 +32,7 @@
+ 
+ class YTimezoneSelectorPrivate
+ {
+-   bool dummy;
++//   bool dummy;
+ };
+ 
+ 
+diff --git a/src/YTree.h b/src/YTree.h
+index 14fa279..70e1364 100644
+--- a/src/YTree.h
++++ b/src/YTree.h
+@@ -28,7 +28,7 @@
+ #include "YSelectionWidget.h"
+ 
+ class YTreeItem;
+-class YTreePrivate;
++struct YTreePrivate;
+ 
+ 
+ /**
+diff --git a/src/YUILog.h b/src/YUILog.h
+index 0890bc5..4a927a7 100644
+--- a/src/YUILog.h
++++ b/src/YUILog.h
+@@ -64,7 +64,7 @@
+ 
+ 
+ 
+-class YUILogPrivate;
++struct YUILogPrivate;
+ 
+ enum YUILogLevel_t
+ {
+diff --git a/src/YWidget.h b/src/YWidget.h
+index 5b285d0..636a41b 100644
+--- a/src/YWidget.h
++++ b/src/YWidget.h
+@@ -45,7 +45,7 @@ typedef YChildrenManager<YWidget>	YWidgetChildrenManager;
+ typedef YSingleChildManager<YWidget>	YSingleWidgetChildManager;
+ typedef YChildrenRejector<YWidget>	YWidgetChildrenRejector;
+ 
+-class YWidgetPrivate;
++struct YWidgetPrivate;
+ 
+ 
+ /**
+diff --git a/src/YWizard.h b/src/YWizard.h
+index 7671cbf..975b597 100644
+--- a/src/YWizard.h
++++ b/src/YWizard.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+ 
+ class YMacroRecorder;
+-class YWizardPrivate;
++struct YWizardPrivate;
+ class YPushButton;
+ class YReplacePoint;
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
new file mode 100644
index 0000000..4294528
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
+                    file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+                    file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+                   "
+
+SRC_URI = "git://github.com/libyui/libyui.git \
+           file://0001-Fix-GCC-8-warning.patch \
+           file://0001-Fix-build-with-clang.patch \
+           "
+
+PV = "3.3.3+git"
+SRCREV = "2b634cb7821e2e79dd4b7a73caf8e67c50189376"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_configure_prepend () {
+        cd ${S}
+        ./bootstrap.sh
+        cd -
+}
+
+do_install_append () {
+        if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+            mv ${D}/usr/lib64 ${D}/usr/lib
+        fi
+}
+
+do_install_append_class-nativesdk () {
+        mkdir -p ${D}/${base_prefix}
+        mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES_${PN}-dev = "${libdir}/* ${includedir}/yui*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
index b354ae7..c35a0c7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
@@ -16,9 +16,11 @@
 # depends on virtual/libx11
 REQUIRED_DISTRO_FEATURES = "x11"
 
-ALTERNATIVE_${PN}-core = "x-window-manager"
+ALTERNATIVE_${PN}-core = "x-window-manager x-session-manager"
 ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/openbox"
 ALTERNATIVE_PRIORITY[x-window-manager] = "10"
+ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/openbox-session"
+ALTERNATIVE_PRIORITY[x-session-manager] = "100"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[imlib2] = "--enable-imlib2,--disable-imlib2,imlib2"
@@ -38,7 +40,7 @@
 }
 
 RDEPENDS_${PN} += "${PN}-core ${PN}-config ${PN}-theme-clearlooks"
-FILES_${PN}-core = "${bindir}/openbox ${libdir}/*${SOLIBS}"
+FILES_${PN}-core = "${bindir}/openbox ${bindir}/openbox-session ${libdir}/*${SOLIBS}"
 
 FILES_${PN}-lxde += "${datadir}/lxde/ \
                      ${datadir}/lxpanel \
@@ -46,6 +48,7 @@
                      ${datadir}/icons"
 
 FILES_${PN}-gnome += " \
+    ${bindir}/openbox-gnome-session \
     ${datadir}/gnome \
     ${datadir}/gnome-session \
 "
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
index 632e7d4..3069d2d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
@@ -5,7 +5,7 @@
 PV = "1.0"
 PR = "r2"
 
-inherit packagegroup allarch
+inherit packagegroup
 
 PACKAGES += "\
     ${PN}-core \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb
index 02bb1cc..e0f72cd 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb
@@ -12,7 +12,9 @@
 SRC_URI[md5sum] = "874eadd9434613dbacf0272c82c3ac23"
 SRC_URI[sha256sum] = "9762ee2a2d5781be6797448d4dd2383ce14907159b30bc12bf6b08e7227be3af"
 
-inherit autotools pkgconfig
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 EXTRA_OECONF = " --disable-documentation "
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
index 6a159a7..f539775 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
@@ -4,9 +4,9 @@
 SECTION = "libs"
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-PV = "3.4.4+git${SRCPV}"
+PV = "4.0.0+git${SRCPV}"
 
-SRCREV = "1b565c7b599029818fc596e7da4371a3083da36c"
+SRCREV = "07f3c5d4bf9136711422cc7dbf28aff469da220a"
 SRC_URI = "git://github.com/fukuchi/libqrencode.git"
 
 S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/Makefile.oe b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/Makefile.oe
deleted file mode 100644
index 2ee6934..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/Makefile.oe
+++ /dev/null
@@ -1,64 +0,0 @@
-# Makefile for slim - OpenEmbedded
-#######################################################
-
-
-SLIMLDFLAGS=-lXft -lX11 -lfreetype -lXrender -lfontconfig -lpng12 -lz -lm -lcrypt -lXmu -lpng -ljpeg -lrt -lpthread
-CUSTOM=-DHAVE_SHADOW
-
-USE_PAM=1
-ifdef USE_PAM
-SLIMLDFLAGS+= -lpam
-CUSTOM+= -DUSE_PAM
-endif
-
-#######################################################
-
-NAME=slim
-VERSION=1.3.2
-
-DEFINES=-DPACKAGE=\"$(NAME)\" -DVERSION=\"$(VERSION)\" \
-		-DPKGDATADIR=\"$(PREFIX)/share/slim\" -DSYSCONFDIR=\"$(CFGDIR)\"
-
-OBJECTS=jpeg.o png.o main.o image.o numlock.o cfg.o switchuser.o app.o \
-	panel.o util.o
-ifdef USE_PAM
-OBJECTS+=PAM.o
-endif
-
-all: slim
-
-slim: $(OBJECTS)
-	$(CXX) $(OBJECTS) $(LDFLAGS) $(SLIMLDFLAGS) -o $(NAME)
-
-.cpp.o:
-	$(CXX) $(CXXFLAGS) $(DEFINES) $(CUSTOM) -c $< -o $@
-
-.c.o:
-	$(CC) $(CFLAGS) $(DEFINES) $(CUSTOM) -c $< -o $@
-
-install: slim install-theme
-	install -D -m 755 slim $(DESTDIR)$(PREFIX)/bin/slim
-	install -D -m 644 slim.1 $(DESTDIR)$(MANDIR)/man1/slim.1
-	test -e $(DESTDIR)$(CFGDIR)/slim.conf || \
-		install -D -m 644 slim.conf $(DESTDIR)$(CFGDIR)/slim.conf
-
-clean:
-	@rm -f slim *.o
-
-dist:
-	@rm -rf $(NAME)-$(VERSION)
-	@mkdir $(NAME)-$(VERSION)
-	@cp -r *.cpp *.h *.c Makefile Makefile.* COPYING ChangeLog INSTALL README TODO \
-		xinitrc.sample slim.1 THEMES themes slim.conf $(NAME)-$(VERSION)
-	@rm -rf $(NAME)-$(VERSION)/themes/.svn	$(NAME)-$(VERSION)/themes/default/.svn
-	@tar cvzf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)
-	@rm -rf $(NAME)-$(VERSION)
-
-
-install-theme:
-	install -D -m 644 themes/default/slim.theme \
-		 $(DESTDIR)$(PREFIX)/share/slim/themes/default/slim.theme
-	install -D -m 644 themes/default/panel.png \
-		 $(DESTDIR)$(PREFIX)/share/slim/themes/default/panel.png
-	install -D -m 644 themes/default/background.jpg \
-		 $(DESTDIR)$(PREFIX)/share/slim/themes/default/background.jpg
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/slim-dynwm b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/slim-dynwm
deleted file mode 100644
index 49c9d47..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/slim-dynwm
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-update_slim_wmlist
-if [ "x$1" = "x-nodaemon" ]; then
-  shift
-  exec slim "$@"
-else
-  slim -d "$@"
-fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/slim.pamd b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/slim.pamd
deleted file mode 100644
index 80c34b1..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/slim.pamd
+++ /dev/null
@@ -1,19 +0,0 @@
-# Begin /etc/pam.d/slim
-
-auth       required     pam_shells.so
-auth       include      common-auth
-auth       optional     pam_securetty.so
-auth       optional     pam_gnome_keyring.so
-
-account    required     pam_nologin.so
-account    include      common-account
-
-password   include      common-password
-
-session    include      common-session
-session    required     pam_mkhomedir.so skel=/etc/skel/ umask=0022
-session    optional     pam_lastlog.so nowtmp
-session    optional     pam_mail.so dir=/var/mail standard
-session    optional     pam_gnome_keyring.so  auto_start
-
-# End /etc/pam.d/slim
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/slim.service b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/slim.service
deleted file mode 100644
index 341351a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/slim.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=SLiM Simple Login Manager
-Requires=dev-tty7.device
-After=dev-tty7.device systemd-user-sessions.service
-
-[Service]
-ExecStart=/usr/bin/slim -nodaemon
-StandardOutput=syslog
-
-[Install]
-WantedBy=graphical.target
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/update_slim_wmlist b/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/update_slim_wmlist
deleted file mode 100644
index 0f11653..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/slim/slim/update_slim_wmlist
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/perl -w
-#
-# update_slim_wmlist, based on:
-# update_wdm_wmlist, (c) 1998 Marcelo Magallón <mmagallo@debian.org>
-# rewriten to use the x-window-manager alternative
-# modified to also use the x-session-manager alternative by Arthur Korn
-# Copyright 2000 Wichert Akkerman <wakkerma@debian.org>
-# Modified to use the freedesktop.org .desktop like kdm and gdm
-#
-# This script will read the list of installed window managers from
-# the freedesktop .desktop files in <etc>/X11/sessions/:<etc>/dm/Sessions/:
-# <share>/xsessions/
-# and update the sessions line in /etc/slim.conf.
-# BEWARE: It doesn't ask any questions about this. It just does it. It
-# takes an optional list of window managers.
-
-use strict;
-use File::DesktopEntry;
-
-my $wm_list='';
-my %desktop_files;
-
-unless (@ARGV) {
-    #my @wm_list = ('default');
-    my @wm_list;
-    foreach my $dir ('/etc/X11/sessions/','/etc/dm/Sessions/','/usr/share/xsessions/') {
-	    next unless (opendir DIR, $dir);
-	    my @files;
-	    @files = grep { /\.desktop$/ && -r "$dir/$_" } readdir(DIR);
-	    foreach my $file (@files) {
-		   push @{$desktop_files{$file}}, "$dir/$file";
-	    }
-    }
-    DESKTOP: foreach my $desktop_file (keys(%desktop_files)) {
-	    foreach my $file (@{$desktop_files{$desktop_file}}) {
-		    my $entry = File::DesktopEntry->new_from_file($file);
-		    next DESKTOP if (defined($entry->get_value('Hidden'))
-			and $entry->get_value('Hidden') eq 'true');
-		    if ($entry->get_value('Name') =~ /^gnome$/i) {
-			    push (@wm_list, 'gnome');
-		    }
-		    elsif ($entry->get_value('Name') =~ /^kde$/i) {
-			    push (@wm_list, 'kde');
-		    }
-		    elsif (defined($entry->get_value('Exec'))) {
-			    push (@wm_list, $entry->get_value('Exec'));
-		    }
-		    else { # not found, go to next file
-			    next;
-		    }
-		    # found, proceed to next destop file
-		    next DESKTOP;
-	    }
-    }
-   $wm_list = join (',', sort @wm_list) . ',custom';
-} else {
-    $wm_list = join (',', sort @ARGV);
-}
-
-open (SLIM_CONFIG_FILE, '</etc/slim.conf')
-    or die "Can't open /etc/slim.conf for reading: $!";
-open (NEW_SLIM_CONFIG_FILE, '>/etc/slim.conf.new')
-    or die "Can't open /etc/slim.conf.new for writing: $!";
-
-while (<SLIM_CONFIG_FILE>) {
-    s|^(sessions\s*).*|$1$wm_list|;
-    print NEW_SLIM_CONFIG_FILE;
-}
-
-close(SLIM_CONFIG_FILE);
-close(NEW_SLIM_CONFIG_FILE);
-
-rename '/etc/slim.conf.new', '/etc/slim.conf'
-    or die "Can't rename /etc/slim.conf.new: $!";
-
-exit 0;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.1.bb
deleted file mode 100644
index e7c48ff..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.1.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "An abstraction layer for touchscreen panel events"
-DESCRIPTION = "Tslib is an abstraction layer for touchscreen panel \
-events, as well as a filter stack for the manipulation of those events. \
-Tslib is generally used on embedded devices to provide a common user \
-space interface to touchscreen functionality."
-HOMEPAGE = "http://tslib.org/"
-
-AUTHOR = "Russell King w/ plugins by Chris Larson et. al."
-SECTION = "base"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f30a9716ef3762e3467a2f62bf790f0a"
-
-SRC_URI = "https://github.com/kergoth/tslib/releases/download/${PV}/tslib-${PV}.tar.xz;downloadfilename=tslib-${PV}.tar.xz \
-           file://ts.conf \
-           file://tslib.sh \
-"
-
-SRC_URI[md5sum] = "14771f8607b341bb4b297819d37e837d"
-SRC_URI[sha256sum] = "fe35e5f710ea933b118f710e2ce4403ac076fe69926b570333867d4de082a51c"
-
-UPSTREAM_CHECK_URI = "https://github.com/kergoth/tslib/releases"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-shared --disable-h3600 --enable-input --disable-corgi --disable-collie --disable-mk712 --disable-arctic2 --disable-ucb1x00"
-
-do_install_prepend() {
-    install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf
-}
-
-do_install_append() {
-    install -d ${D}${sysconfdir}/profile.d/
-    install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/
-}
-
-# People should consider using udev's /dev/input/touchscreen0 symlink
-# instead of detect-stylus
-#RDEPENDS_tslib-conf_weird-machine = "detect-stylus"
-RPROVIDES_tslib-conf = "libts-0.0-conf"
-
-PACKAGES =+ "tslib-conf tslib-tests tslib-calibrate"
-DEBIAN_NOAUTONAME_tslib-conf = "1"
-DEBIAN_NOAUTONAME_tslib-tests = "1"
-DEBIAN_NOAUTONAME_tslib-calibrate = "1"
-
-RDEPENDS_${PN} = "tslib-conf"
-RRECOMMENDS_${PN} = "pointercal"
-
-FILES_${PN}-dev += "${libdir}/ts/*.la"
-FILES_tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
-FILES_${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*"
-FILES_tslib-calibrate += "${bindir}/ts_calibrate"
-FILES_tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_test"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.15.bb
new file mode 100644
index 0000000..7ae941a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.15.bb
@@ -0,0 +1,82 @@
+SUMMARY = "An abstraction layer for touchscreen panel events"
+DESCRIPTION = "Tslib is an abstraction layer for touchscreen panel \
+events, as well as a filter stack for the manipulation of those events. \
+Tslib is generally used on embedded devices to provide a common user \
+space interface to touchscreen functionality."
+HOMEPAGE = "http://tslib.org/"
+
+AUTHOR = "Martin Kepplinger <martink@posteo.de>"
+SECTION = "base"
+LICENSE = "LGPLv2+ & GPLv2+"
+LIC_FILES_CHKSUM = "\
+    file://COPYING;md5=fc178bcd425090939a8b634d1d6a9594 \
+    file://tests/COPYING;md5=a23a74b3f4caf9616230789d94217acb \
+"
+
+SRC_URI = "https://github.com/kergoth/tslib/releases/download/${PV}/tslib-${PV}.tar.xz;downloadfilename=tslib-${PV}.tar.xz \
+           file://ts.conf \
+           file://tslib.sh \
+"
+SRC_URI[md5sum] = "9ff36788c9ab76a10b58422227b9629e"
+SRC_URI[sha256sum] = "7ce48807cab655076d71a1ceef3ed0ab8a25df98074981d4a8fd1477ee5f710c"
+
+UPSTREAM_CHECK_URI = "https://github.com/kergoth/tslib/releases"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "debounce dejitter iir linear median pthres skip lowpass invert variance input touchkit waveshare"
+PACKAGECONFIG[debounce] = "--enable-debounce,--disable-debounce"
+PACKAGECONFIG[dejitter] = "--enable-dejitter,--disable-dejitter"
+PACKAGECONFIG[iir] = "--enable-iir,--disable-iir"
+PACKAGECONFIG[linear] = "--enable-linear,--disable-linear"
+PACKAGECONFIG[median] = "--enable-median,--disable-median"
+PACKAGECONFIG[pthres] = "--enable-pthres,--disable-pthres"
+PACKAGECONFIG[skip] = "--enable-skip,--disable-skip"
+PACKAGECONFIG[lowpass] = "--enable-lowpass,--disable-lowpass"
+PACKAGECONFIG[invert] = "--enable-invert,--disable-invert"
+PACKAGECONFIG[variance] = "--enable-variance,--disable-variance"
+PACKAGECONFIG[input] = "--enable-input,--disable-input"
+PACKAGECONFIG[tatung] = "--enable-tatung,--disable-tatung"
+PACKAGECONFIG[touchkit] = "--enable-touchkit,--disable-touchkit"
+PACKAGECONFIG[waveshare] = "--enable-waveshare,--disable-waveshare"
+PACKAGECONFIG[ucb1x00] = "--enable-ucb1x00,--disable-ucb1x00"
+PACKAGECONFIG[mk712] = "--enable-mk712,--disable-mk712"
+PACKAGECONFIG[h3600] = "--enable-h3600,--disable-h3600"
+PACKAGECONFIG[dmc] = "--enable-dmc,--disable-dmc"
+PACKAGECONFIG[linear-h2200] = "--enable-linear-h2200,--disable-linear-h2200"
+PACKAGECONFIG[corgi] = "--enable-corgi,--disable-corgi"
+PACKAGECONFIG[collie] = "--enable-collie,--disable-collie"
+PACKAGECONFIG[arctic2] = "--enable-arctic2,--disable-arctic2"
+PACKAGECONFIG[dmc_dus3000] = "--enable-dmc_dus3000,--disable-dmc_dus3000"
+PACKAGECONFIG[cy8mrln-palmpre] = "--enable-cy8mrln-palmpre,--disable-cy8mrln-palmpre"
+PACKAGECONFIG[galax] = "--enable-galax,--disable-galax"
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
+
+do_install_prepend() {
+    install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf
+}
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/profile.d/
+    install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/
+}
+
+RPROVIDES_tslib-conf = "libts-0.0-conf"
+
+PACKAGES =+ "tslib-conf tslib-tests tslib-calibrate tslib-uinput"
+DEBIAN_NOAUTONAME_tslib-conf = "1"
+DEBIAN_NOAUTONAME_tslib-tests = "1"
+DEBIAN_NOAUTONAME_tslib-calibrate = "1"
+DEBIAN_NOAUTONAME_tslib-uinput = "1"
+
+RDEPENDS_${PN} = "tslib-conf"
+RRECOMMENDS_${PN} = "pointercal"
+
+FILES_${PN}-dev += "${libdir}/ts/*.la"
+FILES_tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
+FILES_${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*"
+FILES_tslib-calibrate += "${bindir}/ts_calibrate"
+FILES_tslib-uinput += "${bindir}/ts_uinput"
+
+FILES_tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_print_mt \
+                     ${bindir}/ts_test ${bindir}/ts_test_mt ${bindir}/ts_verify ${bindir}/ts_finddev"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
index 31f4df4..31bcce0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
@@ -12,7 +12,9 @@
 
 S = "${WORKDIR}/git"
 
-inherit autotools pkgconfig
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 do_install_append() {
     rm -f ${D}${libdir}/*/*.la
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
index 27a38c1..a21dc42 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
@@ -7,6 +7,8 @@
 SRC_URI[md5sum] = "09f56978a62854534deacc8aa8ff3031"
 SRC_URI[sha256sum] = "bc7171a0fa212da866fca2301241630e2009aea8c4ddb75f21b51a31c2e4c581"
 
-inherit autotools pkgconfig
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.0.5.bb
deleted file mode 100644
index 35d5002..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.0.5.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "bdftopcf is a tool to convert BDF fonts to PCF fonts"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/bdftopcf/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f9a35333adf75edd1eaef84bca65a490"
-DEPENDS = "libxfont"
-
-SRC_URI[md5sum] = "53a48e1fdfec29ab2e89f86d4b7ca902"
-SRC_URI[sha256sum] = "38f447be0c61f94c473f128cf519dd0cff63b5d7775240a2e895a183a61e2026"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.1.bb
new file mode 100644
index 0000000..9116b5f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.1.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "bdftopcf is a tool to convert BDF fonts to PCF fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/bdftopcf/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f9a35333adf75edd1eaef84bca65a490"
+DEPENDS = "libxfont"
+
+SRC_URI[md5sum] = "2a455d3c02390597feb9cefb3fe97a45"
+SRC_URI[sha256sum] = "4b4df05fc53f1e98993638d6f7e178d95b31745c4568cee407e167491fd311a2"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb
deleted file mode 100644
index 3885d61..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "a simple program for managing utmp/wtmp entries"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
-SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
-SRC_URI[md5sum] = "e238c89dabc566e1835e1ecb61b605b9"
-SRC_URI[sha256sum] = "551177657835e0902b5eee7b19713035beaa1581bbd3c6506baa553e751e017c"
-
-CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb
new file mode 100644
index 0000000..d2afa78
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "a simple program for managing utmp/wtmp entries"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
+SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
+SRC_URI[md5sum] = "e475167a892b589da23edf8edf8c942d"
+SRC_URI[sha256sum] = "78a76ae3f3f6a26547a34630d1b740f42344848b5fb6d7c9c7f7da255e35a6e1"
+
+CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb
deleted file mode 100644
index 583a531..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsclients/"
-DESCRIPTION = "xlsclients is a utility for listing information about the \
-client applications running on a X11 server."
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "9fbf6b174a5138a61738a42e707ad8f5"
-SRC_URI[sha256sum] = "5d9666fcc6c3de210fc70d5a841a404955af709a616fde530fe4e8f7723e3d3d"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb
new file mode 100644
index 0000000..42bda7e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsclients/"
+DESCRIPTION = "xlsclients is a utility for listing information about the \
+client applications running on a X11 server."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "4fa92377e0ddc137cd226a7a87b6b29a"
+SRC_URI[sha256sum] = "773f2af49c7ea2c44fba4213bee64325875c1b3c9bc4bbcd8dac9261751809c1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.5.bb
deleted file mode 100644
index 9feed75..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "server font list displayer for X"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsfonts/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
-
-SRC_URI[md5sum] = "6f5711bef8c765857a0887a91476283b"
-SRC_URI[sha256sum] = "40295bec35077cee93be2e4c26cc00268ed6ace779ae6e97766a866c1e3927fa"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb
new file mode 100644
index 0000000..76b76e4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "server font list displayer for X"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsfonts/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
+
+SRC_URI[md5sum] = "5774fd4f518b3f338f2b28f270e04bfc"
+SRC_URI[sha256sum] = "89b80b3a030006ab6cef717be286c12f2477894b227158b1e6133274f6ebd368"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
index e3bb0fb..16f9b78 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
@@ -27,3 +27,8 @@
 }
 
 FILES_${PN} += "/usr/lib/X11"
+
+# busybox can supply resize too
+inherit update-alternatives
+
+ALTERNATIVE_${PN} = "resize"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb
deleted file mode 100644
index 33bd7f0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwud/"
-DESCRIPTION = "xwud allows X users to display in a window an image saved \
-in a specially formatted dump file, such as produced by xwd."
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=31e8892c80b7a0c1c5f37c8e8ae6d794"
-
-SRC_URI[md5sum] = "3025b152b4f13fdffd0c46d0be587be6"
-SRC_URI[sha256sum] = "d6b3a09ccfe750868e26bd2384900ab5ff0d434f7f40cd272a50eda8aaa1f8bd"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb
new file mode 100644
index 0000000..7cb550d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb
@@ -0,0 +1,12 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwud/"
+DESCRIPTION = "xwud allows X users to display in a window an image saved \
+in a specially formatted dump file, such as produced by xwd."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=31e8892c80b7a0c1c5f37c8e8ae6d794"
+
+SRC_URI[md5sum] = "79972093bb0766fcd0223b2bd6d11932"
+SRC_URI[sha256sum] = "99997051f8a892313f22edf41dab45864e86e7062ee9012d5dbb6a40fc6b10a9"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
index b230962..cb6b5ac 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
@@ -7,4 +7,6 @@
 SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.bz2"
 S = "${WORKDIR}/${XORG_PN}-${PV}"
 
-inherit autotools pkgconfig
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
index 29dd71a..2bfe85b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
@@ -1,7 +1,7 @@
-From 834fa06920f88ceedf752964c8e296c653d541e4 Mon Sep 17 00:00:00 2001
+From f919725918fad2b32504f89a28310fcae4ab0406 Mon Sep 17 00:00:00 2001
 From: Yu Ke <ke.yu@intel.com>
 Date: Wed, 11 Apr 2012 14:26:16 +0200
-Subject: [PATCH 01/12] COPYING: add GPLv2 license file
+Subject: [PATCH] COPYING: add GPLv2 license file
 
 this is a local file recipe and the license file is missing.In order
 to pass the license checksum checking, the license file is needed. So
@@ -9,9 +9,10 @@
 
 Signed-off-by: Yu Ke <ke.yu@intel.com>
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- COPYING |  339 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 339 insertions(+), 0 deletions(-)
+ COPYING | 339 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 339 insertions(+)
  create mode 100644 COPYING
 
 diff --git a/COPYING b/COPYING
@@ -359,6 +360,3 @@
 +consider it more useful to permit linking proprietary applications with the
 +library.  If this is what you want to do, use the GNU Lesser General
 +Public License instead of this License.
--- 
-1.7.8.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
index 26288d6..0ed12d1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
@@ -1,4 +1,4 @@
-From c92ce6a4b3622874f820b5ec487a2b63f519826c Mon Sep 17 00:00:00 2001
+From 1002a1137b140dad3319bf3206fec5b6c6b74fea Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Thu, 10 Nov 2016 14:33:05 +0200
 Subject: [PATCH] Don't install Xsession or Xserver
@@ -8,15 +8,16 @@
 be used as before.
 
 Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
 ---
- Makefile | 1 -
- 1 file changed, 1 deletion(-)
+ Makefile | 2 --
+ 1 file changed, 2 deletions(-)
 
 diff --git a/Makefile b/Makefile
-index caa5de1..7e36bbc 100644
+index caa5de1..9428205 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -20,7 +20,5 @@ install-program:
+@@ -20,8 +20,6 @@ install-program:
  	install -m 755 run-calibrate.sh $(DESTDIR)$(PREFIX)/bin/run-calibrate.sh
  	install -m 644 X11/Xdefaults $(DESTDIR)/etc/X11/Xdefaults
  	install -m 755 X11/Xinit $(DESTDIR)/etc/X11/Xinit
@@ -25,6 +26,3 @@
  	install -m 755 X11/xserver-common $(DESTDIR)/etc/X11/xserver-common
  	install -m 755 X11/functions $(DESTDIR)/etc/X11/functions
  	install -d $(DESTDIR)/etc/X11/xmodmap
--- 
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
index 23b5345..0be3fa5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
@@ -1,12 +1,13 @@
-From 3d1a1a8273112668927a6c6bb3e361e896f5b229 Mon Sep 17 00:00:00 2001
+From 3b5f431a370054bfc090796e8d55de8c8cea46f4 Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Wed, 11 Apr 2012 14:28:45 +0200
-Subject: [PATCH 02/12] add setdpi Xinit.d script
+Subject: [PATCH] add setdpi Xinit.d script
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- X11/Xinit.d/50setdpi |   92 ++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 92 insertions(+), 0 deletions(-)
+ X11/Xinit.d/50setdpi | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 92 insertions(+)
  create mode 100644 X11/Xinit.d/50setdpi
 
 diff --git a/X11/Xinit.d/50setdpi b/X11/Xinit.d/50setdpi
@@ -107,6 +108,3 @@
 +
 +set_dpi "$SET_SCREEN_DPI"
 +set_rxvt_font "$SCREEN_DPI"
--- 
-1.7.8.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
index 7ee8572..53a283f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
@@ -1,15 +1,16 @@
-From 0c42e1fb84cc2bfe768bed17f3b979aca868cf64 Mon Sep 17 00:00:00 2001
+From b60e364c35d56a2a3164254d98c9931bfa3feed4 Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Wed, 11 Apr 2012 14:34:43 +0200
-Subject: [PATCH 06/12] add support for /etc/X11/xserver-system
+Subject: [PATCH] add support for /etc/X11/xserver-system
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- X11/xserver-common |    5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
+ X11/xserver-common | 5 +++++
+ 1 file changed, 5 insertions(+)
 
 diff --git a/X11/xserver-common b/X11/xserver-common
-index 4c7ed6e..6d8c9df 100644
+index 52655cb..bb7c2ff 100644
 --- a/X11/xserver-common
 +++ b/X11/xserver-common
 @@ -204,3 +204,8 @@ fi
@@ -21,6 +22,3 @@
 +if [ -e /etc/X11/xserver-system ] ; then                    
 +       . /etc/X11/xserver-system                    
 +fi                    
--- 
-1.7.8.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
index 8791226..94a3540 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
@@ -1,17 +1,18 @@
-From 63e6b9a54e1f12dbf7ddbfe3376fff4c382421a5 Mon Sep 17 00:00:00 2001
+From 492c65a32a4ae44c34580ed8ac5d3f50a155cfef Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Wed, 11 Apr 2012 14:36:02 +0200
-Subject: [PATCH 07/12] use own functions file instead /etc/init.d/functions
+Subject: [PATCH] use own functions file instead /etc/init.d/functions
 
 * so we don't have to depend on initscripts
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- Makefile             |    1 +
- X11/Xinit.d/11zaurus |    2 +-
- X11/Xinit.d/12keymap |    2 +-
- X11/functions        |   11 +++++++++++
- X11/xserver-common   |    2 +-
+ Makefile             |  1 +
+ X11/Xinit.d/11zaurus |  2 +-
+ X11/Xinit.d/12keymap |  2 +-
+ X11/functions        | 11 +++++++++++
+ X11/xserver-common   |  2 +-
  5 files changed, 15 insertions(+), 3 deletions(-)
  create mode 100644 X11/functions
 
@@ -70,7 +71,7 @@
 +		{ gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo
 +}
 diff --git a/X11/xserver-common b/X11/xserver-common
-index 6d8c9df..de92bb7 100644
+index bb7c2ff..d622f2a 100644
 --- a/X11/xserver-common
 +++ b/X11/xserver-common
 @@ -30,7 +30,7 @@ if [ -f /etc/profile ]; then
@@ -82,6 +83,3 @@
  
  fallback_screen_arg() {
      geom=`fbset | grep geometry`
--- 
-1.7.8.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
index e35e4a7..90d0f25 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
@@ -1,16 +1,17 @@
-From 0ee7bf87e0c83abc79de3a99dfa3c87dd5c5b229 Mon Sep 17 00:00:00 2001
+From e2abbe110e71a7b4b56564e6b9d58ffa7f34a9e8 Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Wed, 11 Apr 2012 14:37:29 +0200
-Subject: [PATCH 08/12] xserver-common: add dpi and nocursor params for gta01
- and gta02
+Subject: [PATCH] xserver-common: add dpi and nocursor params for gta01 and
+ gta02
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- X11/xserver-common |    8 ++++++--
- 1 files changed, 6 insertions(+), 2 deletions(-)
+ X11/xserver-common | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
 
 diff --git a/X11/xserver-common b/X11/xserver-common
-index de92bb7..f76fa5f 100644
+index d622f2a..a2c0591 100644
 --- a/X11/xserver-common
 +++ b/X11/xserver-common
 @@ -133,15 +133,19 @@ else
@@ -35,6 +36,3 @@
              fi
              ;;
          "motorola_ezx_platform")
--- 
-1.7.8.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
index 1a0bde8..8fb69b3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
@@ -1,16 +1,16 @@
-From 6d6caecb7172b9b33e7364564b0e6eabf67b6e8b Mon Sep 17 00:00:00 2001
+From f2d808cea5b9f69158f82e16c06f882a6db10d63 Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Wed, 11 Apr 2012 14:40:14 +0200
-Subject: [PATCH 09/12] xserver-common: add support for n900 alias
- nokia_rx-51_board
+Subject: [PATCH] xserver-common: add support for n900 alias nokia_rx-51_board
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- X11/xserver-common |    7 +++++++
- 1 files changed, 7 insertions(+), 0 deletions(-)
+ X11/xserver-common | 7 +++++++
+ 1 file changed, 7 insertions(+)
 
 diff --git a/X11/xserver-common b/X11/xserver-common
-index f76fa5f..86ed17f 100644
+index a2c0591..b8c37e6 100644
 --- a/X11/xserver-common
 +++ b/X11/xserver-common
 @@ -132,6 +132,13 @@ else
@@ -27,6 +27,3 @@
          "gta01" )
              DPI="280"
              if [ "$XSERVER" != "Xorg" ] ; then
--- 
-1.7.8.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
index 688be40..d30c7bb 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
@@ -1,15 +1,16 @@
-From 52003e6b52b1417c1a0e57243d83349addcdacf6 Mon Sep 17 00:00:00 2001
+From a194ba2013f9e58cf73cd39b57be68386e501eda Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Wed, 11 Apr 2012 14:40:44 +0200
-Subject: [PATCH 10/12] xserver-common: add support for nexus S alias herring
+Subject: [PATCH] xserver-common: add support for nexus S alias herring
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- X11/xserver-common |    3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
+ X11/xserver-common | 3 +++
+ 1 file changed, 3 insertions(+)
 
 diff --git a/X11/xserver-common b/X11/xserver-common
-index 86ed17f..5c9a6eb 100644
+index b8c37e6..9aa6b24 100644
 --- a/X11/xserver-common
 +++ b/X11/xserver-common
 @@ -126,6 +126,9 @@ else
@@ -22,6 +23,3 @@
          "generic_omap1510/1610/1710")
              ARGS="$ARGS -screen ${SCREEN_SIZE}"
              DPI="225" ;;
--- 
-1.7.8.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
index f80456d..23e17f0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
@@ -1,16 +1,16 @@
-From 0ecc978b7d8cb6867646fb2a29523ebef3afa016 Mon Sep 17 00:00:00 2001
+From dfd832b35b6cb4cf2b6f2b51df7b0999f10c8ca1 Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Wed, 11 Apr 2012 14:41:06 +0200
-Subject: [PATCH 11/12] xserver-common: add support for nexus one alias
- mahimahi
+Subject: [PATCH] xserver-common: add support for nexus one alias mahimahi
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- X11/xserver-common |    3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
+ X11/xserver-common | 3 +++
+ 1 file changed, 3 insertions(+)
 
 diff --git a/X11/xserver-common b/X11/xserver-common
-index 5c9a6eb..55594fd 100644
+index 9aa6b24..8da926e 100644
 --- a/X11/xserver-common
 +++ b/X11/xserver-common
 @@ -129,6 +129,9 @@ else
@@ -23,6 +23,3 @@
          "generic_omap1510/1610/1710")
              ARGS="$ARGS -screen ${SCREEN_SIZE}"
              DPI="225" ;;
--- 
-1.7.8.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
index 54a0329..5e794f6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
@@ -1,16 +1,16 @@
-From d194f0302582f1ca599f2ea58c15e15f4fd6bdef Mon Sep 17 00:00:00 2001
+From d9e05e53b30c66705852256ff5c603252aa94b2c Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Wed, 11 Apr 2012 14:41:52 +0200
-Subject: [PATCH 12/12] xserver-common: add support for gta04 alias
- OpenPhoenux
+Subject: [PATCH] xserver-common: add support for gta04 alias OpenPhoenux
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- X11/xserver-common |    8 ++++++++
- 1 files changed, 8 insertions(+), 0 deletions(-)
+ X11/xserver-common | 8 ++++++++
+ 1 file changed, 8 insertions(+)
 
 diff --git a/X11/xserver-common b/X11/xserver-common
-index 55594fd..434333e 100644
+index 8da926e..d9325dd 100644
 --- a/X11/xserver-common
 +++ b/X11/xserver-common
 @@ -161,6 +161,14 @@ else
@@ -28,6 +28,3 @@
          "motorola_ezx_platform")
              ARGS="$ARGS -screen 240x320"
              DPI="170" ;;
--- 
-1.7.8.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
index 49321eb..78d2e40 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
@@ -1,13 +1,13 @@
-From 176c3bd3d86c223fd44b0f15b62d38526bb3b0d2 Mon Sep 17 00:00:00 2001
+From 57ab521ffc1024f21105ca14be2d041a477942b1 Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Fri, 17 Aug 2012 13:00:56 +0200
-Subject: [PATCH 13/13] xserver-common: add support for tuna alias Galaxy
- Nexus
+Subject: [PATCH] xserver-common: add support for tuna alias Galaxy Nexus
 
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- X11/xserver-common |    8 ++++++++
- 1 files changed, 8 insertions(+), 0 deletions(-)
+ X11/xserver-common | 8 ++++++++
+ 1 file changed, 8 insertions(+)
 
 diff --git a/X11/xserver-common b/X11/xserver-common
 index d9325dd..017e5ae 100644
@@ -28,6 +28,3 @@
          "motorola_ezx_platform")
              ARGS="$ARGS -screen 240x320"
              DPI="170" ;;
--- 
-1.7.8.6
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch
index 06df261..a731917 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch
@@ -1,3 +1,4 @@
+From 5236209e30e0f45113e140f0667c8ffcfe621536 Mon Sep 17 00:00:00 2001
 From: Javier Viguera <javier.viguera@digi.com>
 Date: Wed, 26 Nov 2014 09:24:44 +0100
 Subject: [PATCH] xserver-common: disable TCP connections
@@ -5,12 +6,13 @@
 Upstream-Status: Inappropriate [configuration]
 
 Signed-off-by: Javier Viguera <javier.viguera@digi.com>
+
 ---
  X11/xserver-common | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/X11/xserver-common b/X11/xserver-common
-index 017e5aee1ab0..4dc48c412741 100644
+index 017e5ae..4dc48c4 100644
 --- a/X11/xserver-common
 +++ b/X11/xserver-common
 @@ -44,7 +44,7 @@ SCREEN_SIZE=`fallback_screen_arg`
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
index cc30541..a5ed21d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
@@ -5,7 +5,9 @@
 PR = "r9"
 
 # we are using a gpe-style Makefile
-inherit gpe
+inherit distro_features_check gpe
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[md5sum] = "82f2f84cd96610e8f7b92c700cd31c14"
 SRC_URI[sha256sum] = "cd04c33418f776b1e13fcc7af3d6bd0c7cccd03fbabd7dbcd97f88166cc34210"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
index c963c8e..4abd273 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb
@@ -3,7 +3,7 @@
 saving related features of your processor."
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
-DEPENDS = "pciutils"
+DEPENDS = "pciutils gettext-native"
 PROVIDES = "virtual/cpupower"
 
 inherit kernelsrc kernel-arch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0004-crash-fix-build-failure-with-mips.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0004-crash-fix-build-failure-with-mips.patch
deleted file mode 100644
index 1e7ce6b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0004-crash-fix-build-failure-with-mips.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 423ebdce07aa9f398f32c0adf659353069d023c6 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 4 May 2017 07:14:13 +0000
-Subject: [PATCH] crash: fix build failure with mips
-
-When build crash with mips:
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mips-linux-nat.c:157:1: error: conflicting types for 'ps_get_thread_area'
- ps_get_thread_area (const struct ps_prochandle *ph,
- ^~~~~~~~~~~~~~~~~~
-In file included from gdb_proc_service.h:26:0,
-                 from mips-linux-nat.c:32:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This problem have been fixed on intel and arm plantform, we can use the
-similar approch to fix it on mips.
-
-Upstream-status: Submitted [https://github.com/crash-utility/crash/pull/11]
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- Makefile                                |  1 +
- crash-fix-build-failure-with-mips.patch | 39 +++++++++++++++++++++++++++++++++
- 2 files changed, 40 insertions(+)
- create mode 100644 crash-fix-build-failure-with-mips.patch
-
-diff --git a/Makefile b/Makefile
-index 5496523..2ec3325 100644
---- a/Makefile
-+++ b/Makefile
-@@ -268,6 +268,7 @@ gdb_patch:
- 		grep 'extern ps_err_e ps_get_thread_area (struct' ${RECIPE_SYSROOT}/usr/include/proc_service.h; \
- 		if [ $$? -eq 0 ]; then \
- 			patch -p0 < ${GDB}-proc_service.h.patch; \
-+			patch -p1 < crash-fix-build-failure-with-mips.patch; \
- 		fi; \
- 	fi
- 
-diff --git a/crash-fix-build-failure-with-mips.patch b/crash-fix-build-failure-with-mips.patch
-new file mode 100644
-index 0000000..0c70c5f
---- /dev/null
-+++ b/crash-fix-build-failure-with-mips.patch
-@@ -0,0 +1,39 @@
-+From 615c802d9c73fad48723b6567042cd54f6795849 Mon Sep 17 00:00:00 2001
-+From: Dengke Du <dengke.du@windriver.com>
-+Date: Thu, 4 May 2017 06:14:47 +0000
-+Subject: [PATCH] crash: fix build failure with mips
-+
-+When build crash with mips:
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+mips-linux-nat.c:157:1: error: conflicting types for 'ps_get_thread_area'
-+ ps_get_thread_area (const struct ps_prochandle *ph,
-+ ^~~~~~~~~~~~~~~~~~
-+In file included from gdb_proc_service.h:26:0,
-+                 from mips-linux-nat.c:32:
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+
-+This problem have been fixed on intel and arm plantform, we can use the
-+similar approch to fix it on mips.
-+
-+Signed-off-by: Dengke Du <dengke.du@windriver.com>
-+---
-+ gdb-7.6/gdb/mips-linux-nat.c | 2 +-
-+ 1 file changed, 1 insertion(+), 1 deletion(-)
-+
-+diff --git a/gdb-7.6/gdb/mips-linux-nat.c b/gdb-7.6/gdb/mips-linux-nat.c
-+index 61e83c6..d517e37 100644
-+--- a/gdb-7.6/gdb/mips-linux-nat.c
-++++ b/gdb-7.6/gdb/mips-linux-nat.c
-+@@ -154,7 +154,7 @@ mips64_linux_register_addr (struct gdbarch *gdbarch, int regno, int store)
-+ /* Fetch the thread-local storage pointer for libthread_db.  */
-+ 
-+ ps_err_e
-+-ps_get_thread_area (const struct ps_prochandle *ph,
-++ps_get_thread_area (struct ps_prochandle *ph,
-+                     lwpid_t lwpid, int idx, void **base)
-+ {
-+   if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
-+-- 
-+2.11.0
-+
--- 
-2.11.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.9.bb
deleted file mode 100644
index d40937e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.9.bb
+++ /dev/null
@@ -1,116 +0,0 @@
-SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
-DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
-investigate either live systems, kernel core dumps created from the\
-netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
-offered by Mission Critical Linux, or the LKCD kernel patch."
-
-HOMEPAGE = "http://people.redhat.com/anderson"
-SECTION = "devel"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "zlib readline coreutils-native"
-
-SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
-           http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=${BP} \
-           file://7001force_define_architecture.patch \
-           file://7003cross_ranlib.patch \
-           file://0001-cross_add_configure_option.patch \
-           file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
-           file://sim-common-sim-arange-fix-extern-inline-handling.patch \
-           file://donnot-extract-gdb-during-do-compile.patch \
-           file://gdb_build_jobs_and_not_write_crash_target.patch \
-           file://remove-unrecognized-gcc-option-m32-for-mips.patch \
-           file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
-           file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
-           file://0004-crash-fix-build-failure-with-mips.patch \
-           "
-SRC_URI[md5sum] = "f3b44a151dbe7046462b9caaa9847ca6"
-SRC_URI[sha256sum] = "c48e1269443a6a8e8337e328b21b03e4e50248f607eed83fbb27eb0d833d6aa4"
-
-SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
-SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
-
-inherit gettext
-
-BBCLASSEXTEND = "native cross"
-TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
-
-# crash 7.1.3 and before don't support mips64
-COMPATIBLE_HOST = "^(?!mips64).*"
-
-EXTRA_OEMAKE = 'RPMPKG="${PV}" \
-                GDB_TARGET="${TARGET_SYS}" \
-                GDB_HOST="${BUILD_SYS}" \
-                GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
-                LDFLAGS="${LDFLAGS}" \
-                '
-
-EXTRA_OEMAKE_class-cross = 'RPMPKG="${PV}" \
-                            GDB_TARGET="${BUILD_SYS} \
-                                        \${GDB_CONF_FLAGS} \
-                                        --target=${TARGET_SYS}" \
-                            GDB_HOST="${BUILD_SYS}" \
-                            GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
-                            '
-
-EXTRA_OEMAKE_append_class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
-EXTRA_OEMAKE_append_class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
-
-REMOVE_M32 = "sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c"
-
-REMOVE_M32_class-cross = ""
-
-do_configure() {
-    :
-}
-
-do_compile_prepend() {
-    case ${TARGET_ARCH} in
-        aarch64*)    ARCH=ARM64 ;;
-        arm*)        ARCH=ARM ;;
-        i*86*)       ARCH=X86 ;;
-        x86_64*)     ARCH=X86_64 ;;
-        powerpc64*)  ARCH=PPC64 ;;
-        powerpc*)    ARCH=PPC ;;
-        mips*)       ARCH=MIPS ;;
-    esac
-
-    sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
-    ${REMOVE_M32}
-    sed -i 's/&gt;/>/g' ${S}/Makefile
-}
-
-do_compile() {
-    oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
-}
-
-do_install_prepend () {
-    install -d ${D}${bindir}
-    install -d ${D}/${mandir}/man8
-    install -d ${D}${includedir}/crash
-
-    install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
-    install -m 0644 ${S}/defs.h ${D}${includedir}/crash
-}
-
-do_install_class-target () {
-    oe_runmake DESTDIR=${D} install
-}
-
-do_install_class-native () {
-    oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
-}
-
-do_install_class-cross () {
-    install -m 0755 ${S}/crash ${D}/${bindir}
-}
-
-RDEPENDS_${PN} += "liblzma"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-cross = ""
-
-# Causes gcc to get stuck and eat all available memory in qemuarm builds
-# jenkins  15161  100 12.5 10389596 10321284 ?   R    11:40  28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o -
-ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.0.bb
new file mode 100644
index 0000000..9bea48e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.0.bb
@@ -0,0 +1,115 @@
+SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
+DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
+investigate either live systems, kernel core dumps created from the\
+netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
+offered by Mission Critical Linux, or the LKCD kernel patch."
+
+HOMEPAGE = "http://people.redhat.com/anderson"
+SECTION = "devel"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "zlib readline coreutils-native"
+
+SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+           http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=${BP} \
+           file://7001force_define_architecture.patch \
+           file://7003cross_ranlib.patch \
+           file://0001-cross_add_configure_option.patch \
+           file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
+           file://sim-common-sim-arange-fix-extern-inline-handling.patch \
+           file://donnot-extract-gdb-during-do-compile.patch \
+           file://gdb_build_jobs_and_not_write_crash_target.patch \
+           file://remove-unrecognized-gcc-option-m32-for-mips.patch \
+           file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
+           file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
+           "
+SRC_URI[md5sum] = "48899de3118e04cfa40a2364f5618193"
+SRC_URI[sha256sum] = "5d076e1fefb41aa178ad3e1cef6511670efc47de5cb04d4af9bdd4e8f2f18cbc"
+
+SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
+SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
+
+inherit gettext
+
+BBCLASSEXTEND = "native cross"
+TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
+
+# crash 7.1.3 and before don't support mips64
+COMPATIBLE_HOST = "^(?!mips64).*"
+
+EXTRA_OEMAKE = 'RPMPKG="${PV}" \
+                GDB_TARGET="${TARGET_SYS}" \
+                GDB_HOST="${BUILD_SYS}" \
+                GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
+                LDFLAGS="${LDFLAGS}" \
+                '
+
+EXTRA_OEMAKE_class-cross = 'RPMPKG="${PV}" \
+                            GDB_TARGET="${BUILD_SYS} \
+                                        \${GDB_CONF_FLAGS} \
+                                        --target=${TARGET_SYS}" \
+                            GDB_HOST="${BUILD_SYS}" \
+                            GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
+                            '
+
+EXTRA_OEMAKE_append_class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
+EXTRA_OEMAKE_append_class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
+
+REMOVE_M32 = "sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c"
+
+REMOVE_M32_class-cross = ""
+
+do_configure() {
+    :
+}
+
+do_compile_prepend() {
+    case ${TARGET_ARCH} in
+        aarch64*)    ARCH=ARM64 ;;
+        arm*)        ARCH=ARM ;;
+        i*86*)       ARCH=X86 ;;
+        x86_64*)     ARCH=X86_64 ;;
+        powerpc64*)  ARCH=PPC64 ;;
+        powerpc*)    ARCH=PPC ;;
+        mips*)       ARCH=MIPS ;;
+    esac
+
+    sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
+    ${REMOVE_M32}
+    sed -i 's/&gt;/>/g' ${S}/Makefile
+}
+
+do_compile() {
+    oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
+}
+
+do_install_prepend () {
+    install -d ${D}${bindir}
+    install -d ${D}/${mandir}/man8
+    install -d ${D}${includedir}/crash
+
+    install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
+    install -m 0644 ${S}/defs.h ${D}${includedir}/crash
+}
+
+do_install_class-target () {
+    oe_runmake DESTDIR=${D} install
+}
+
+do_install_class-native () {
+    oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
+}
+
+do_install_class-cross () {
+    install -m 0755 ${S}/crash ${D}/${bindir}
+}
+
+RDEPENDS_${PN} += "liblzma"
+RDEPENDS_${PN}_class-native = ""
+RDEPENDS_${PN}_class-cross = ""
+
+# Causes gcc to get stuck and eat all available memory in qemuarm builds
+# jenkins  15161  100 12.5 10389596 10321284 ?   R    11:40  28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o -
+ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmitool/ipmitool_1.8.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/ipmitool/ipmitool_1.8.18.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil/fix_systemd_path.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil/fix_systemd_path.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_3.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_3.0.5.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.0.5.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc b/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc
new file mode 100644
index 0000000..b1e73e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc
@@ -0,0 +1,49 @@
+SUMMARY = "Linux dynamic kernel patching infrastructure"
+DESCRIPTION = "kpatch is a Linux dynamic kernel patching infrastructure which allows you to patch a running kernel without rebooting or restarting any processes."
+LICENSE = "GPLv2 & LGPLv2"
+DEPENDS = "elfutils bash"
+
+SRC_URI = "git://github.com/dynup/kpatch.git;protocol=https \
+	file://0001-kpatch-build-add-cross-compilation-support.patch \
+	file://0002-kpatch-build-allow-overriding-of-distro-name.patch \
+	"
+
+EXTRA_OEMAKE = " \
+	PREFIX=${prefix} \
+	BINDIR=${D}${bindir} \
+	SBINDIR=${D}${sbindir} \
+	LIBDIR=${D}${libdir} \
+	MANDIR=${D}${mandir}/man1 \
+	SYSTEMDDIR=${D}${systemd_system_unitdir} \
+	DESTDIR=${D} \
+	BUILDMOD=no \
+	CC='${CC}' \
+	"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+	oe_runmake install
+}
+
+PACKAGES =+ "kpatch-build"
+PROVIDES += "kpatch-build"
+
+COMPATIBLE_HOST = "(x86_64).*-linux"
+
+RDEPENDS_${PN} = "bash binutils"
+RDEPENDS_kpatch-build = "bash glibc-utils"
+
+FILES_${PN} = " \
+	${sbindir}/kpatch \
+	${systemd_system_unitdir}/kpatch.service \
+	${mandir}/man1/kpatch.1.gz \
+	"
+FILES_kpatch-build = " \
+	${bindir}/kpatch-build \
+	${libexecdir}/* \
+	${datadir}/kpatch \
+	${mandir}/man1/kpatch-build.1.gz \
+	"
+
+SYSTEMD_SERVICE_${PN} = "kpatch.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch
new file mode 100644
index 0000000..459fb21
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch
@@ -0,0 +1,103 @@
+From a9a80a1f4df65892a0269295ce8a64b06f2ff61d Mon Sep 17 00:00:00 2001
+From: Ruslan Bilovol <rbilovol@cisco.com>
+Date: Tue, 19 Dec 2017 15:59:04 +0200
+Subject: [PATCH] kpatch-build: add cross-compilation support
+
+This patch introduces new option for kpatch-build
+script "--cross-compile" which can be used for
+specifying cross-complier prefix.
+It allows to build live patches not only on
+target system, but also on hosts for a target other
+than the one on which the compiler is running
+
+Also removed quotes in exec lines, so it is
+possible to pass multy-component strings like
+"ccache x86_64-xelinux-linux-" as cross-compiler
+
+Upstream-Status: Pending
+
+Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
+---
+ kpatch-build/kpatch-build | 13 +++++++++++--
+ kpatch-build/kpatch-gcc   |  4 ++--
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build
+index 166ecbd..af24cc4 100755
+--- a/kpatch-build/kpatch-build
++++ b/kpatch-build/kpatch-build
+@@ -195,7 +195,7 @@ gcc_version_check() {
+ 	# gcc --version varies between distributions therefore extract version
+ 	# by compiling a test file and compare it to vmlinux's version.
+ 	echo 'void main(void) {}' > "$c"
+-	out="$(gcc -c -pg -ffunction-sections -o "$o" "$c" 2>&1)"
++	out="$(${KPATCH_CROSS_COMPILE}gcc -c -pg -ffunction-sections -o "$o" "$c" 2>&1)"
+ 	gccver="$(gcc_version_from_file "$o")"
+ 	kgccver="$(gcc_version_from_file "$VMLINUX")"
+ 	rm -f "$c" "$o"
+@@ -381,12 +381,14 @@ usage() {
+ 	echo "		-d, --debug        Enable 'xtrace' and keep scratch files" >&2
+ 	echo "		                   in <CACHEDIR>/tmp" >&2
+ 	echo "		                   (can be specified multiple times)" >&2
++	echo "		--cross-compile    Specify the prefix used for all executables" >&2
++	echo "		                   used during compilation" >&2
+ 	echo "		--skip-cleanup     Skip post-build cleanup" >&2
+ 	echo "		--skip-gcc-check   Skip gcc version matching check" >&2
+ 	echo "		                   (not recommended)" >&2
+ }
+ 
+-options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
++options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
+ 
+ eval set -- "$options"
+ 
+@@ -444,6 +446,10 @@ while [[ $# -gt 0 ]]; do
+ 			echo "DEBUG mode enabled"
+ 		fi
+ 		;;
++	--cross-compile)
++		KPATCH_CROSS_COMPILE="$2"
++		shift
++		;;
+ 	--skip-cleanup)
+ 		echo "Skipping cleanup"
+ 		SKIPCLEANUP=1
+@@ -691,6 +697,8 @@ if [[ $DEBUG -ge 4 ]]; then
+ 	export KPATCH_GCC_DEBUG=1
+ fi
+ 
++export KPATCH_CROSS_COMPILE
++
+ echo "Building original kernel"
+ ./scripts/setlocalversion --save-scmversion || die
+ make mrproper 2>&1 | logger || die
+@@ -840,6 +848,7 @@ cd "$TEMPDIR/patch" || die
+ KPATCH_BUILD="$SRCDIR" KPATCH_NAME="$MODNAME" \
+ KBUILD_EXTRA_SYMBOLS="$KBUILD_EXTRA_SYMBOLS" \
+ KPATCH_LDFLAGS="$KPATCH_LDFLAGS" \
++CROSS_COMPILE="$KPATCH_CROSS_COMPILE" \
+ 	make 2>&1 | logger || die
+ 
+ if ! "$KPATCH_MODULE"; then
+diff --git a/kpatch-build/kpatch-gcc b/kpatch-build/kpatch-gcc
+index 6ba133c..3937948 100755
+--- a/kpatch-build/kpatch-gcc
++++ b/kpatch-build/kpatch-gcc
+@@ -8,7 +8,7 @@ TOOLCHAINCMD="$1"
+ shift
+ 
+ if [[ -z "$KPATCH_GCC_TEMPDIR" ]]; then
+-	exec "$TOOLCHAINCMD" "$@"
++	exec ${KPATCH_CROSS_COMPILE}${TOOLCHAINCMD} "$@"
+ fi
+ 
+ declare -a args=("$@")
+@@ -80,4 +80,4 @@ elif [[ "$TOOLCHAINCMD" = "ld" ]] ; then
+ 	done
+ fi
+ 
+-exec "$TOOLCHAINCMD" "${args[@]}"
++exec ${KPATCH_CROSS_COMPILE}${TOOLCHAINCMD} "${args[@]}"
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch
new file mode 100644
index 0000000..a9d8a7f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch
@@ -0,0 +1,62 @@
+From d418d716dae1e2a05131dfb42a19a4da2fc8a85d Mon Sep 17 00:00:00 2001
+From: Ruslan Bilovol <rbilovol@cisco.com>
+Date: Tue, 2 Jan 2018 14:50:03 +0200
+Subject: [PATCH] kpatch-build: allow overriding of distro name
+
+It is sometimes useful to have ability to override
+distro name, for example during cross-compilation
+build when livepatch modules will be ran on the
+target which differs from host.
+
+This patch adds a new --distro option which
+implements all needed functionality
+
+Upstream-Status: Pending
+
+Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
+---
+ kpatch-build/kpatch-build | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build
+index af24cc4..4f9f78d 100755
+--- a/kpatch-build/kpatch-build
++++ b/kpatch-build/kpatch-build
+@@ -383,12 +383,13 @@ usage() {
+ 	echo "		                   (can be specified multiple times)" >&2
+ 	echo "		--cross-compile    Specify the prefix used for all executables" >&2
+ 	echo "		                   used during compilation" >&2
++	echo "		--distro           Override distro name" >&2
+ 	echo "		--skip-cleanup     Skip post-build cleanup" >&2
+ 	echo "		--skip-gcc-check   Skip gcc version matching check" >&2
+ 	echo "		                   (not recommended)" >&2
+ }
+ 
+-options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
++options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,cross-compile:,distro:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
+ 
+ eval set -- "$options"
+ 
+@@ -450,6 +451,10 @@ while [[ $# -gt 0 ]]; do
+ 		KPATCH_CROSS_COMPILE="$2"
+ 		shift
+ 		;;
++	--distro)
++		DISTRO="$2"
++		shift
++		;;
+ 	--skip-cleanup)
+ 		echo "Skipping cleanup"
+ 		SKIPCLEANUP=1
+@@ -526,7 +531,7 @@ fi
+ # Don't check external file.
+ # shellcheck disable=SC1091
+ source /etc/os-release
+-DISTRO="$ID"
++DISTRO="${DISTRO:-${ID}}"
+ if [[ "$DISTRO" = fedora ]] || [[ "$DISTRO" = rhel ]] || [[ "$DISTRO" = ol ]] || [[ "$DISTRO" = centos ]]; then
+ 	[[ -z "$VMLINUX" ]] && VMLINUX="/usr/lib/debug/lib/modules/$ARCHVERSION/vmlinux"
+ 	[[ -e "$VMLINUX" ]] || die "kernel-debuginfo-$ARCHVERSION not installed"
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb
new file mode 100644
index 0000000..e495e28
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb
@@ -0,0 +1,11 @@
+require kpatch.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV = "db6efbb8c7e90d2b761272cf563047119072768f"
+
+PV = "0.5.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/linux/linux.inc b/import-layers/meta-openembedded/meta-oe/recipes-kernel/linux/linux.inc
index e200127..9f14370 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/linux/linux.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/linux/linux.inc
@@ -16,7 +16,7 @@
 
 # Kernel bootlogo is distro-specific (default is OE logo).
 # Logo resolution (qvga, vga, ...) is machine-specific.
-LOGO_SIZE ?= '${@base_conditional("MACHINE_GUI_CLASS", "bigscreen", "vga", "qvga", d)}'
+LOGO_SIZE ?= '${@oe.utils.conditional("MACHINE_GUI_CLASS", "bigscreen", "vga", "qvga", d)}'
 # To use this, add file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 or similar
 # to your kernel recipe, and then structure your logos for each resolution
 # accordingly.
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init
index 90ef7fa..9c96e31 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init
@@ -22,7 +22,7 @@
 
 case "$1" in
     start)
-        echo "|/usr/bin/minicoredumper %p %u %g %s %t %h %e" > /proc/sys/kernel/core_pattern
+        echo "|/usr/sbin/minicoredumper %p %u %g %s %t %h %e" > /proc/sys/kernel/core_pattern
         ;;
     stop)
         echo "core" > /proc/sys/kernel/core_pattern
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service
index 851b54c..45d098f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service
@@ -4,7 +4,7 @@
 [Service]
 Type=oneshot
 RemainAfterExit=yes
-ExecStart=/bin/sh -c '/bin/echo "|/usr/bin/minicoredumper %%p %%u %%g %%s %%t %%h %%e" > /proc/sys/kernel/core_pattern'
+ExecStart=/bin/sh -c '/bin/echo "|/usr/sbin/minicoredumper %%p %%u %%g %%s %%t %%h %%e" > /proc/sys/kernel/core_pattern'
 ExecStop=/bin/sh -c '/bin/echo "core" > /proc/sys/kernel/core_pattern'
 
 [Install]
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
index 1858e10..0d3c66b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb
@@ -38,4 +38,8 @@
     install -m 0644 ${WORKDIR}/minicoredumper.service ${D}${systemd_system_unitdir}
     install -d ${D}${sysconfdir}/init.d
     install -m 0644 ${WORKDIR}/minicoredumper.init ${D}${sysconfdir}/init.d/minicoredumper
+
+    # correct path of minicoredumper
+    sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${sysconfdir}/init.d/minicoredumper
+    sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${systemd_system_unitdir}/minicoredumper.service
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss-1.0.17/libio.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss-1.0.17/libio.patch
deleted file mode 100644
index a053e4c..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss-1.0.17/libio.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Index: alsa-oss-1.0.15/alsa/stdioemu.c
-===================================================================
---- alsa-oss-1.0.15.orig/alsa/stdioemu.c	2007-10-15 10:50:40.000000000 +0200
-+++ alsa-oss-1.0.15/alsa/stdioemu.c	2008-07-21 22:17:06.303161438 +0200
-@@ -37,7 +37,9 @@
- #endif
- 
- #include <stdio.h>
-+#ifdef HAVE_LIBIO_H
- #include <libio.h>
-+#endif
- 
- struct fd_cookie {
- 	int fd;
-@@ -99,7 +101,11 @@
- 
- 	if (open_mode && fdc->fd > 0) {
- 		result = fopencookie (fdc,"w", fns);
-+#ifdef HAVE_FILENO
- 		result->_fileno = fdc->fd;		/* ugly patchy slimy kludgy hack */
-+#else
-+		result->__filedes = fdc->fd;
-+#endif
- 	}
- 	return result;
- }
-Index: alsa-oss-1.0.15/configure.in
-===================================================================
---- alsa-oss-1.0.15.orig/configure.in	2007-10-15 10:50:40.000000000 +0200
-+++ alsa-oss-1.0.15/configure.in	2008-07-21 22:16:11.719837298 +0200
-@@ -33,6 +33,12 @@
-   LIBS="$OLD_LIBS"
- fi
- 
-+AC_CHECK_HEADERS_ONCE([libio.h])
-+
-+AC_CHECK_MEMBER([struct _IO_FILE._fileno],
-+		[AC_DEFINE([HAVE_FILENO], [1],[Define if _fileno exists.])],
-+		[],[])
-+
- AC_OUTPUT(Makefile alsa/Makefile alsa/aoss alsa/aoss.old \
- 	  oss-redir/Makefile test/Makefile \
-           alsa/testaoss test/testaoss)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch
new file mode 100644
index 0000000..5299945
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch
@@ -0,0 +1,43 @@
+Index: alsa-oss-1.0.28/alsa/stdioemu.c
+===================================================================
+--- alsa-oss-1.0.28.orig/alsa/stdioemu.c
++++ alsa-oss-1.0.28/alsa/stdioemu.c
+@@ -37,7 +37,9 @@
+ #endif
+ 
+ #include <stdio.h>
++#ifdef HAVE_LIBIO_H
+ #include <libio.h>
++#endif
+ 
+ struct fd_cookie {
+ 	int fd;
+@@ -99,7 +101,11 @@ static FILE *fake_fopen(const char *path
+ 
+ 	if (open_mode && fdc->fd > 0) {
+ 		result = fopencookie (fdc,"w", fns);
++#ifdef HAVE_FILENO
+ 		result->_fileno = fdc->fd;		/* ugly patchy slimy kludgy hack */
++#else
++		result->__filedes = fdc->fd;
++#endif
+ 	}
+ 	return result;
+ }
+Index: alsa-oss-1.0.28/configure.ac
+===================================================================
+--- alsa-oss-1.0.28.orig/configure.ac
++++ alsa-oss-1.0.28/configure.ac
+@@ -35,6 +35,12 @@ if test "$with_aoss" = "yes"; then
+   LIBS="$OLD_LIBS"
+ fi
+ 
++AC_CHECK_HEADERS_ONCE([libio.h])
++
++AC_CHECK_MEMBER([struct _IO_FILE._fileno],
++		[AC_DEFINE([HAVE_FILENO], [1],[Define if _fileno exists.])],
++		[],[])
++
+ AC_OUTPUT(Makefile alsa/Makefile alsa/aoss alsa/aoss.old \
+ 	  oss-redir/Makefile test/Makefile \
+           alsa/testaoss test/testaoss)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.0.17.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.0.17.bb
deleted file mode 100644
index 8966dbb..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.0.17.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Alsa OSS Compatibility Package"
-SECTION = "libs/multimedia"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-DEPENDS = "alsa-lib"
-PR = "r1"
-
-SRC_URI = "ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-${PV}.tar.bz2 \
-    file://libio.patch \
-"
-
-inherit autotools
-
-LEAD_SONAME = "libaoss.so.0"
-
-do_configure_prepend () {
-    touch NEWS README AUTHORS ChangeLog
-    sed -i "s/libaoss.so/${LEAD_SONAME}/" ${S}/alsa/aoss.in
-}
-
-SRC_URI[md5sum] = "1b1850c2fc91476a73d50f537cbd402f"
-SRC_URI[sha256sum] = "8d009e23e2cbee1691ec3c95d1838056a804d98440eae7715d6c3aebc710f9ca"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.0.28.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.0.28.bb
new file mode 100644
index 0000000..0c4a9f5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.0.28.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Alsa OSS Compatibility Package"
+SECTION = "libs/multimedia"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+DEPENDS = "alsa-lib"
+
+SRC_URI = "ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-${PV}.tar.bz2 \
+    file://libio.patch \
+"
+SRC_URI[md5sum] = "91f57e8cee1ad4cc956caa8b62ac5d43"
+SRC_URI[sha256sum] = "3ae62caa88a0bc7b30ed836dcb794dc6ef4d3650439e2260db54cace7d5c6ad5"
+
+inherit autotools
+
+LEAD_SONAME = "libaoss.so.0"
+
+do_configure_prepend () {
+    touch NEWS README AUTHORS ChangeLog
+    sed -i "s/libaoss.so/${LEAD_SONAME}/" ${S}/alsa/aoss.in
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
index c0f220f..3b10e97 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
@@ -18,3 +18,7 @@
 
 DEPENDS = "libcap file bzip2"
 RDEPENDS_${PN} = "perl"
+
+do_install_append() {
+    ln -sf ${bindir}/genisoimage ${D}${bindir}/mkisofs
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch
index 6c7f3bd..130f3c2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch
@@ -1,9 +1,10 @@
-From a860fe0796c43e35eac9783140fcb563cab9f55a Mon Sep 17 00:00:00 2001
+From 945df2da87a412758ceab4ac5711abbb269a47c1 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 8 Jun 2017 23:09:51 -0700
-Subject: [PATCH 1/3] audio_alsa09.c: alsa drain fix
+Subject: [PATCH] audio_alsa09.c: alsa drain fix
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  audio_alsa09.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -21,6 +22,3 @@
    
  	if (alsadbg) 
  		print_state();
--- 
-2.13.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch
index 337546a..10a6ba0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch
@@ -1,11 +1,12 @@
-From 1fbee6e96384f340b816e221fe1c2f3ff0b487bf Mon Sep 17 00:00:00 2001
+From e218d5a0a545ebb9623d62da5cfca478f9c90fce Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 8 Jun 2017 23:11:31 -0700
-Subject: [PATCH 2/3] Undefine open64 and fopen64
+Subject: [PATCH] Undefine open64 and fopen64
 
 Since the signatures do not match with libc
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  esddsp.c | 2 ++
  1 file changed, 2 insertions(+)
@@ -30,6 +31,3 @@
  FILE *
  fopen64 (const char *path, const char *mode)
  {
--- 
-2.13.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch
index 62c880d..83365b4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch
@@ -1,12 +1,13 @@
-From 979a02d9ec9c28686021cd2b49ca55d2195c9dce Mon Sep 17 00:00:00 2001
+From 89c62db54716d514e639f9e1bfd3c1f7d82641dd Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 8 Jun 2017 23:12:36 -0700
-Subject: [PATCH 3/3] Use -I=<path> in configure
+Subject: [PATCH] Use -I=<path> in configure
 
 This helps to use proper sysroot in
 cross build environment
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  configure.ac | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
@@ -33,6 +34,3 @@
  	SOUND_LIBS=-lmme
        esac
     fi
--- 
-2.13.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch
index fc69f1a..8a546e6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch
@@ -1,11 +1,19 @@
-Index: esound-0.2.36/Makefile.am
-===================================================================
---- esound-0.2.36.orig/Makefile.am
-+++ esound-0.2.36/Makefile.am
+From bfcaa9bdc70440db96f10afc0c2a792870f75acb Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Fri, 3 Jun 2011 19:39:02 +0200
+
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 08c4c94..ede9d26 100644
+--- a/Makefile.am
++++ b/Makefile.am
 @@ -1,5 +1,5 @@
  
 -SUBDIRS = docs
 +SUBDIRS = 
  
- ACLOCAL_FLAGS = -I m4
+ ACLOCAL_AMFLAGS = -I m4
  
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch
deleted file mode 100644
index c119f19..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/0001-typecast-input-parameter-to-int-for-abs.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 8ec6f75bf7a318a3a1e352df7c97630cfaba537a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 21 Apr 2017 16:18:39 -0700
-Subject: [PATCH] typecast input parameter to int for abs()
-
-Fixes
-../tests/test.cpp:482:73: error: call of overloaded 'abs(jack_nframes_t)' is ambiguous
-
-because the signature is int abs(int) and its passing
-unsigned int to it.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tests/test.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/test.cpp b/tests/test.cpp
-index 8a8a8117..9655742e 100644
---- a/tests/test.cpp
-+++ b/tests/test.cpp
-@@ -479,7 +479,7 @@ int process4(jack_nframes_t nframes, void *arg)
- 	jack_nframes_t delta_time = cur_time - last_time;
- 
- 	Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time);
--	if (delta_time > 0  && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) {
-+	if (delta_time > 0  && (jack_nframes_t)abs(int(delta_time - cur_buffer_size)) > tolerance) {
- 		printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance);
- 	}
- 
--- 
-2.12.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
index b85ba8a..11da6b1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
@@ -14,11 +14,9 @@
 
 DEPENDS = "libsamplerate0 libsndfile1 readline"
 
-SRC_URI = "git://github.com/jackaudio/jack2.git \
-           file://0001-typecast-input-parameter-to-int-for-abs.patch \
-          "
-SRCREV = "2d1d323505585d406a7e64fb932953baefc5945e"
-PV = "1.9.10+git${SRCPV}"
+SRC_URI = "git://github.com/jackaudio/jack2.git"
+SRCREV = "c1647819eed6d11f94b21981d9c869629299f357"
+PV = "1.9.12"
 S = "${WORKDIR}/git"
 
 inherit waf pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc
deleted file mode 100644
index 4bc3db0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. It is mostly compatible with VSFilter."
-HOMEPAGE = "https://github.com/libass/libass"
-SECTION = "libs/multimedia"
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a42532a0684420bdb15556c3cdd49a75"
-
-DEPENDS = "enca fontconfig freetype libpng fribidi"
-
-SRC_URI = "https://github.com/libass/libass/releases/download/${PV}/libass-${PV}.tar.xz"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[harfbuzz] = "--enable-harfbuzz,--disable-harfbuzz,harfbuzz"
-
-EXTRA_OECONF = " \
-    --enable-fontconfig \
-"
-
-# Disable compiling with ASM for x86 to avoid textrel
-EXTRA_OECONF_append_x86 = " --disable-asm"
-
-PACKAGES =+ "${PN}-tests"
-
-FILES_${PN}-tests = " \
-    ${libdir}/test/test \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb
deleted file mode 100644
index 40ac0f8..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.6.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require recipes-multimedia/${BPN}/${BPN}.inc
-
-SRC_URI[md5sum] = "daa6cfca437c0776af5f79750cdd9b4e"
-SRC_URI[sha256sum] = "f8a874d104e3e72e2cc057e5a1710c650b10367486845a26e5ff28ed7a912c2d"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.14.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.14.0.bb
new file mode 100644
index 0000000..3454a5c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.14.0.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. It is mostly compatible with VSFilter."
+HOMEPAGE = "https://github.com/libass/libass"
+SECTION = "libs/multimedia"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a42532a0684420bdb15556c3cdd49a75"
+
+DEPENDS = "enca fontconfig freetype libpng fribidi"
+
+SRC_URI = "git://github.com/libass/libass.git"
+SRCREV = "73284b676b12b47e17af2ef1b430527299e10c17"
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[harfbuzz] = "--enable-harfbuzz,--disable-harfbuzz,harfbuzz"
+
+EXTRA_OECONF = " \
+    --enable-fontconfig \
+"
+
+# Disable compiling with ASM for x86 to avoid textrel
+EXTRA_OECONF_append_x86 = " --disable-asm"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES_${PN}-tests = " \
+    ${libdir}/test/test \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb
deleted file mode 100644
index 99e6a84..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_0.93.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access."
-HOMEPAGE = "http://www.gnu.org/software/libcdio/"
-SECTION = "libs"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
-SRC_URI[md5sum] = "d154476feaac5a7b5f180e83eaf3d689"
-SRC_URI[sha256sum] = "4972cd22fd8d0e8bff922d35c7a645be0db0ab0e7b3dfaecc9cd8272429d6975"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "cdda-player"
-PACKAGECONFIG[cdda-player] = "--with-cdda-player,--without-cdda-player,ncurses"
-PACKAGECONFIG[cddb] = "--enable-cddb,--disable-cddb,libcddb"
-PACKAGECONFIG[vcd-info] = "--enable-vcd-info,--disable-vcd-info,vcdimager"
-
-PACKAGES += "${PN}-utils"
-
-FILES_${PN} = "${libdir}/${BPN}${SOLIB}"
-FILES_${PN}-utils = "${bindir}/*"
-
-python libcdio_split_packages() {
-    libdir = d.expand('${libdir}')
-    do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
-}
-
-PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.0.0.bb
new file mode 100644
index 0000000..6bf64d6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.0.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access."
+HOMEPAGE = "http://www.gnu.org/software/libcdio/"
+SECTION = "libs"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "0cb25905113b930e4539d2f4eb6574b0"
+SRC_URI[sha256sum] = "1b481b5da009bea31db875805665974e2fc568e2b2afa516f4036733657cf958"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "cdda-player"
+PACKAGECONFIG[cdda-player] = "--with-cdda-player,--without-cdda-player,ncurses"
+PACKAGECONFIG[cddb] = "--enable-cddb,--disable-cddb,libcddb"
+PACKAGECONFIG[vcd-info] = "--enable-vcd-info,--disable-vcd-info,vcdimager"
+
+PACKAGES += "${PN}-utils"
+
+FILES_${PN} = "${libdir}/${BPN}${SOLIB}"
+FILES_${PN}-utils = "${bindir}/*"
+
+python libcdio_split_packages() {
+    libdir = d.expand('${libdir}')
+    do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
+}
+
+PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb
deleted file mode 100644
index 8276b44..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Simple DirectMedia Layer mixer library V2"
-SECTION = "libs"
-DEPENDS = "virtual/libsdl2 flac libmikmod libvorbis"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=29d8bc7c38aa44b1cf3a633a46589917"
-
-SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "c6c4f556d4415871f526248f5c9a627d"
-SRC_URI[sha256sum] = "5a24f62a610249d744cbd8d28ee399d8905db7222bf3bdbc8a8b4a76e597695f"
-
-S = "${WORKDIR}/SDL2_mixer-${PV}"
-
-inherit autotools-brokensep pkgconfig
-
-EXTRA_AUTORECONF += "--include=acinclude"
-EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}"
-
-PACKAGECONFIG[mad] = "--enable-music-mp3-mad-gpl,--disable-music-mp3-mad-gpl,libmad"
-
-do_configure_prepend () {
-    # Remove old libtool macros.
-    MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
-    for i in ${MACROS}; do
-        rm -f acinclude/$i
-    done
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.2.bb
new file mode 100644
index 0000000..718f3f5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libsdl-mixer/libsdl2-mixer_2.0.2.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Simple DirectMedia Layer mixer library V2"
+SECTION = "libs"
+DEPENDS = "virtual/libsdl2 flac libmikmod libvorbis"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=95e0c3cf63f71b950911e698a54b7fc5"
+
+SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "aaa0551393993c14a13f72b339c0ed6c"
+SRC_URI[sha256sum] = "4e615e27efca4f439df9af6aa2c6de84150d17cbfd12174b54868c12f19c83bb"
+
+S = "${WORKDIR}/SDL2_mixer-${PV}"
+
+inherit autotools-brokensep pkgconfig
+
+EXTRA_AUTORECONF += "--include=acinclude"
+EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}"
+
+PACKAGECONFIG[mad] = "--enable-music-mp3-mad-gpl,--disable-music-mp3-mad-gpl,libmad"
+
+do_configure_prepend () {
+    # Remove old libtool macros.
+    MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+    for i in ${MACROS}; do
+        rm -f acinclude/$i
+    done
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
index 44d92a0..de78de2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
@@ -16,7 +16,7 @@
 
 SRC_URI = " \
     https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz;name=mpv \
-    http://www.freehackers.org/~tnagy/release/waf-1.8.12;name=waf;subdir=${BPN}-${PV} \
+    http://www.freehackers.org/~tnagy/release/waf-1.8.12;name=waf;downloadfilename=waf;subdir=${BPN}-${PV} \
 "
 SRC_URI[mpv.md5sum] = "038d0b660de07ff645ad6a741704ecab"
 SRC_URI[mpv.sha256sum] = "daf3ef358d5f260f2269f7caabce27f446c291457ec330077152127133b71b46"
@@ -64,9 +64,10 @@
     ${PACKAGECONFIG_CONFARGS} \
 "
 
-do_configure_prepend () {
-    ln -sf waf-1.8.12 ${S}/waf
+adjust_waf_perms() {
     chmod +x ${S}/waf
 }
 
+do_patch[postfuncs] += "adjust_waf_perms"
+
 FILES_${PN} += "${datadir}/icons"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
index 7413094..eb294b3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
@@ -1,4 +1,4 @@
-From 2d6bfa75b2e16b4d764f1bf00bb902fb4b5e507b Mon Sep 17 00:00:00 2001
+From 67a6e919b8263d6d2b7150e62f26fb06bbc526ef Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 27 Feb 2015 21:55:36 +0000
 Subject: [PATCH] Revert "media-ctl: Don't install libmediactl and
@@ -10,6 +10,7 @@
 
 Conflicts:
 	utils/media-ctl/Makefile.am
+
 ---
  utils/media-ctl/Makefile.am | 10 +++-------
  1 file changed, 3 insertions(+), 7 deletions(-)
@@ -40,6 +41,3 @@
  mediactl_includedir=$(includedir)/mediactl
  noinst_HEADERS = mediactl.h v4l2subdev.h
  
--- 
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch
index 54161f9..12609d3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-buildsystem-do-not-assume-building-in-source-tree.patch
@@ -1,7 +1,7 @@
-From 806822f5acb756d5acda0f9063c84b28b38b3ffb Mon Sep 17 00:00:00 2001
+From 75372b8088c20474497b79ec6cf1e99f2d17f56d Mon Sep 17 00:00:00 2001
 From: Ismo Puustinen <ismo.puustinen@intel.com>
 Date: Mon, 3 Apr 2017 13:23:38 +0300
-Subject: [PATCH v4l-utils] buildsystem: do not assume building in source tree.
+Subject: [PATCH] buildsystem: do not assume building in source tree.
 
 Use $(top_srcdir) as reference for include paths and buildtime scripts.
 Otherwise compilation outside of project root directory will fail
@@ -12,6 +12,7 @@
 Upstream-status: Accepted [https://git.linuxtv.org//v4l-utils.git/commit/?id=bd98c9a99bffc8d44c54859345e4dfee0ada4275]
 
 Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
+
 ---
  utils/cec-compliance/Makefile.am  | 2 +-
  utils/cec-ctl/Makefile.am         | 2 +-
@@ -22,7 +23,7 @@
  6 files changed, 7 insertions(+), 7 deletions(-)
 
 diff --git a/utils/cec-compliance/Makefile.am b/utils/cec-compliance/Makefile.am
-index ec5de51..8331aa0 100644
+index f05fe6c..f7d1535 100644
 --- a/utils/cec-compliance/Makefile.am
 +++ b/utils/cec-compliance/Makefile.am
 @@ -7,7 +7,7 @@ cec_compliance_LDFLAGS = -lrt
@@ -35,10 +36,10 @@
  cec-compliance.cpp: version.h
  
 diff --git a/utils/cec-ctl/Makefile.am b/utils/cec-ctl/Makefile.am
-index 0a7ef22..6afb6c9 100644
+index 4a6eae5..570a070 100644
 --- a/utils/cec-ctl/Makefile.am
 +++ b/utils/cec-ctl/Makefile.am
-@@ -7,7 +7,7 @@ cec_ctl_LDFLAGS = -lrt
+@@ -6,7 +6,7 @@ cec_ctl_SOURCES = cec-ctl.cpp
  cec-ctl.cpp: cec-ctl-gen.h
  
  cec-ctl-gen.h: msg2ctl.pl ../../include/linux/cec.h ../../include/linux/cec-funcs.h
@@ -48,7 +49,7 @@
  clean-local:
  	-rm -vf cec-ctl-gen.h
 diff --git a/utils/cec-follower/Makefile.am b/utils/cec-follower/Makefile.am
-index 538edb2..fdbf3d9 100644
+index d8ad292..e3553eb 100644
 --- a/utils/cec-follower/Makefile.am
 +++ b/utils/cec-follower/Makefile.am
 @@ -7,12 +7,12 @@ cec_follower_LDFLAGS = -lrt
@@ -65,7 +66,7 @@
 +	$(top_srcdir)/utils/cec-ctl/msg2ctl.pl 2 $(top_srcdir)/include/linux/cec.h $(top_srcdir)/include/linux/cec-funcs.h >$@
  
  version.h:
- 	@if git rev-parse HEAD >/dev/null 2>&1; then \
+ 	@if git show-ref -s HEAD >/dev/null 2>&1; then \
 diff --git a/utils/qv4l2/Makefile.am b/utils/qv4l2/Makefile.am
 index fd58486..ccd1a2a 100644
 --- a/utils/qv4l2/Makefile.am
@@ -80,7 +81,7 @@
  if WITH_QTGL
  qv4l2_CPPFLAGS += $(QTGL_CFLAGS)
 diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am
-index 03db8df..18b9892 100644
+index c2b5919..fb8d12e 100644
 --- a/utils/v4l2-compliance/Makefile.am
 +++ b/utils/v4l2-compliance/Makefile.am
 @@ -5,7 +5,7 @@ DEFS :=
@@ -105,6 +106,3 @@
  
  if WITH_V4L2_CTL_LIBV4L
  v4l2_ctl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread
--- 
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch
index f1e11da..82fc3e1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-ir-ctl-Define-TEMP_FAILURE_RETRY-if-undefined.patch
@@ -1,7 +1,7 @@
-From e60aea50e41ae8a17672beb5859beecb66e7a305 Mon Sep 17 00:00:00 2001
+From b2efcc20617d6317f74c4acb2a6af5b765f20b34 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 14 Jul 2017 13:11:25 -0700
-Subject: [PATCH 1/3] ir-ctl: Define TEMP_FAILURE_RETRY if undefined
+Subject: [PATCH] ir-ctl: Define TEMP_FAILURE_RETRY if undefined
 
 use strndup() instead of strndupa() which is not
 universally available in C libraries
@@ -9,6 +9,7 @@
 Taken from AlpineLinux
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  utils/ir-ctl/ir-ctl.c | 14 +++++++++++++-
  1 file changed, 13 insertions(+), 1 deletion(-)
@@ -50,6 +51,3 @@
  
  	if (!strtoscancode(p + 1, &scancode)) {
  		fprintf(stderr, _("error: invalid scancode '%s'\n"), p + 1);
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
index 2fb4057..a779a30 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
@@ -1,11 +1,12 @@
-From b3acc4c6407f9553f32582a9aee6a11b5fcd1d8a Mon Sep 17 00:00:00 2001
+From 49f865a17d62db7bbd333a9b83fadeea55686e35 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 14 Jul 2017 13:17:19 -0700
-Subject: [PATCH 2/3] contrib/test: Link mc_nextgen_test with libargp if needed
+Subject: [PATCH] contrib/test: Link mc_nextgen_test with libargp if needed
 
 musl depends on external argp implementation e.g.
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  contrib/test/Makefile.am | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -23,6 +24,3 @@
  
  
  ioctl_test_SOURCES = ioctl-test.c ioctl-test.h ioctl_32.h ioctl_64.h
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch
index 0a986ae..5b84af2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-v4l2-ctl-Do-not-use-getsubopt.patch
@@ -1,7 +1,7 @@
-From d04aa6866cbea57c4a81b033cd60586a9436ac6b Mon Sep 17 00:00:00 2001
+From f7a4b79b3323534460a63b3e6c58ebaf06adf207 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 14 Jul 2017 13:20:05 -0700
-Subject: [PATCH 3/3] v4l2-ctl: Do not use getsubopt
+Subject: [PATCH] v4l2-ctl: Do not use getsubopt
 
 POSIX says that behavior when subopts list is empty is undefined.
 musl libs will set value to NULL which leads to crash.
@@ -9,6 +9,7 @@
 Taken from AlpineLinux
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  utils/v4l2-ctl/v4l2-ctl-common.cpp | 19 ++++++++++---------
  1 file changed, 10 insertions(+), 9 deletions(-)
@@ -44,6 +45,3 @@
  }
  
  void common_cmd(int ch, char *optarg)
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/export-mediactl-headers.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/export-mediactl-headers.patch
index c610e7e..55a5cdc 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/export-mediactl-headers.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/export-mediactl-headers.patch
@@ -1,9 +1,17 @@
-Index: v4l-utils-1.6.2/utils/media-ctl/Makefile.am
-===================================================================
---- v4l-utils-1.6.2.orig/utils/media-ctl/Makefile.am
-+++ v4l-utils-1.6.2/utils/media-ctl/Makefile.am
-@@ -4,8 +4,8 @@ libmediactl_la_CFLAGS = $(LIBUDEV_CFLAGS
- libmediactl_la_LDFLAGS = $(LIBUDEV_LIBS)
+From b82e509c10659a4647961a6da3adf4d285dea2dd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 1 Mar 2015 22:25:07 +0000
+
+---
+ utils/media-ctl/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am
+index 7c520a2..748353d 100644
+--- a/utils/media-ctl/Makefile.am
++++ b/utils/media-ctl/Makefile.am
+@@ -17,8 +17,8 @@ CLEANFILES = $(BUILT_SOURCES)
+ nodist_libv4l2subdev_la_SOURCES = $(BUILT_SOURCES)
  libv4l2subdev_la_SOURCES = libv4l2subdev.c
  libv4l2subdev_la_LIBADD = libmediactl.la
 -mediactl_includedir=$(includedir)/mediactl
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/mediactl-pkgconfig.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/mediactl-pkgconfig.patch
index 34fb3cf..9fcf611 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/mediactl-pkgconfig.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/mediactl-pkgconfig.patch
@@ -1,8 +1,16 @@
-Index: v4l-utils-1.6.2/utils/media-ctl/Makefile.am
-===================================================================
---- v4l-utils-1.6.2.orig/utils/media-ctl/Makefile.am
-+++ v4l-utils-1.6.2/utils/media-ctl/Makefile.am
-@@ -7,6 +7,7 @@ libv4l2subdev_la_LIBADD = libmediactl.la
+From 480c04ac6a9d11bfef9d4aca073052fdcee4fdea Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 1 Mar 2015 22:25:07 +0000
+
+---
+ utils/media-ctl/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am
+index d11fa2e..7c520a2 100644
+--- a/utils/media-ctl/Makefile.am
++++ b/utils/media-ctl/Makefile.am
+@@ -20,6 +20,7 @@ libv4l2subdev_la_LIBADD = libmediactl.la
  mediactl_includedir=$(includedir)/mediactl
  noinst_HEADERS = mediactl.h v4l2subdev.h
  
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx/libvpx-configure-support-blank-prefix.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx/libvpx-configure-support-blank-prefix.patch
index c7a6e51..6ad7f2b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx/libvpx-configure-support-blank-prefix.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx/libvpx-configure-support-blank-prefix.patch
@@ -1,19 +1,28 @@
-Upstream: not yet
+From dc0a5c3d2dd4e79d12a150a246a95c4dc88326f1 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Tue, 16 Aug 2011 16:04:35 +0200
+Subject: [PATCH] Upstream: not yet
 
 Fix configure to accept "--prefix=" (a blank prefix).
 
---- libvpx-0.9.1/build/make/configure.sh.orig	2010-06-17 09:08:56.000000000 -0400
-+++ libvpx-0.9.1/build/make/configure.sh	2010-09-23 14:27:48.000000000 -0400
-@@ -444,6 +444,8 @@
+---
+ build/make/configure.sh | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/build/make/configure.sh b/build/make/configure.sh
+index 007e020..04d5cbf 100644
+--- a/build/make/configure.sh
++++ b/build/make/configure.sh
+@@ -581,6 +581,8 @@ process_common_cmdline() {
          ;;
-         --prefix=*)
+       --prefix=*)
          prefix="${optval}"
 +        # Distinguish between "prefix not set" and "prefix set to ''"
 +        prefixset=1
          ;;
-         --libdir=*)
+       --libdir=*)
          libdir="${optval}"
-@@ -587,13 +587,23 @@ process_cmdline() {
+@@ -614,13 +616,23 @@ process_cmdline() {
  }
  
  post_process_common_cmdline() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
index 1d531ae..b31d8eb 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
@@ -8,9 +8,9 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=8114b83a0435d8136b47bd70111ce5cd"
 
-DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native gobject-introspection-native"
+DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native"
 
-inherit autotools pkgconfig gtk-doc
+inherit autotools pkgconfig gtk-doc gobject-introspection
 
 SRC_URI = " \
     http://www.freedesktop.org/software/geoclue/releases/2.4/geoclue-${PV}.tar.xz \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
deleted file mode 100644
index 2ea3226..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 1e2cea8945bc2183fbe1a012dcd633a352125952 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 24 Apr 2012 18:45:14 +0200
-Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot
- from python_lib_dir
-
-* without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix
-  and with PYTHONPATH from OE it's pointing to native python dir
-
-    $ export PYTHONPATH=/OE/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib/python2.7/
-    $ python
-    Python 2.7.2 (default, Apr 18 2012, 09:19:59)
-    [GCC 4.6.2] on linux2
-    Type "help", "copyright", "credits" or "license" for more information.
-    >>> from distutils import sysconfig
-    >>> sysconfig.get_config_vars('INCLUDEPY')
-    ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
-    >>>
-    $ unset PYTHONPATH
-    $ python
-    Python 2.7.2 (default, Apr 18 2012, 09:19:59)
-    [GCC 4.6.2] on linux2
-    Type "help", "copyright", "credits" or "license" for more information.
-    >>> from distutils import sysconfig
-    >>> sysconfig.get_config_vars('INCLUDEPY')
-    ['/python2.7']
-    >>> import sysconfig
-    >>> sysconfig.get_config_vars('INCLUDEPY')
-    ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
-* python_lib_dir = python_lib_dir.replace(env['sysroot'], '')
-  returns path to target sysroot
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
----
- SConstruct | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/SConstruct b/SConstruct
-index 6c93311..cde8b3d 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1148,6 +1148,12 @@ else:
-         basecflags += ' -coverage'
-         ldflags += ' -coverage'
-         ldshared += ' -coverage'
-+
-+    if env['sysroot']:
-+        print "Prefixing includepy '%s' with sysroot prefix" % includepy
-+        includepy = os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], includepy))
-+        print "'%s'" % includepy
-+
-     # in case CC/CXX was set to the scan-build wrapper,
-     # ensure that we build the python modules with scan-build, too
-     if env['CC'] is None or env['CC'].find('scan-build') < 0:
-@@ -1408,11 +1414,14 @@ if not env['python']:
-     python_install = []
- else:
-     python_lib_dir = env['python_libdir']
-+    python_lib_dir = python_lib_dir.replace(env['sysroot'], '')
-     python_module_dir = python_lib_dir + os.sep + 'gps'
-     python_extensions_install = python_env.Install( DESTDIR + python_module_dir,
-                                                     python_built_extensions)
-     if not env['debug'] and not env['profiling'] and not env['nostrip'] and not sys.platform.startswith('darwin'):
-         python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET')
-+    env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \
-+                     % (python_lib_dir, ))
- 
-     python_modules_install = python_env.Install( DESTDIR + python_module_dir,
-                                                 python_modules)
--- 
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-include-sys-ttydefaults.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-include-sys-ttydefaults.h.patch
deleted file mode 100644
index f496b5e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-include-sys-ttydefaults.h.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From f221fa959c80b43c65426500a6836a1b5cf6fe0c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 17 Aug 2016 02:16:12 +0000
-Subject: [PATCH] include sys/ttydefaults.h
-
-This is needed for CTRL definition, as exposed by musl on glibc
-this include file gets pulled indirectly.
-
-/usr/src/debug/gpsd/3.14-r0/gpsd-3.14/gpsmon.c:605: undefined reference to `CTRL'
-clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)
-scons: *** [gpsmon] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Foreward port to gpsd 3.16
-Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
----
- gpsmon.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gpsmon.c b/gpsmon.c
-index ead84d0..f205cb1 100644
---- a/gpsmon.c
-+++ b/gpsmon.c
-@@ -20,6 +20,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/select.h>
-+#include <sys/ttydefaults.h>
- #include <fcntl.h>
- #include <unistd.h>
- 
--- 
-2.12.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
deleted file mode 100644
index 8527f0d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 697e2e9ff97487266d817cdd41bacc83f681e3d7 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 29 Apr 2012 00:05:59 +0200
-Subject: [PATCH 4/4] SConstruct: disable html and man docs building because
- xmlto-native from OE is broken
-
-It will try to load dtd and fail:
-| xmlto man gpsctl.xml; mv `basename gpsctl.1` gpsctl.1
-| xmlto: /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate (status 3)
-| xmlto: Fix document syntax or use --skip-validation option
-| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-| /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml:8: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-|    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-|                                                               ^
-| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-| warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| Document /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate
-| mv: cannot stat `gpsctl.1': No such file or directory
-| scons: *** [gpsctl.1] Error 1
-| scons: building terminated because of errors.
-
-Upstream-Status: Inappropriate [disable feature]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
----
- SConstruct | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 0e518e7..c01a71b 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -704,12 +704,12 @@ size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size);
- 
-     manbuilder = mangenerator = htmlbuilder = None
-     if env['manbuild']:
--        if config.CheckXsltproc():
-+        if False and config.CheckXsltproc():
-             mangenerator = 'xsltproc'
-             build = "xsltproc --nonet %s $SOURCE >$TARGET"
-             htmlbuilder = build % docbook_html_uri
-             manbuilder = build % docbook_man_uri
--        elif WhereIs("xmlto"):
-+        elif False and WhereIs("xmlto"):
-             mangenerator = 'xmlto'
-             xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` `dirname $TARGET`"
-             htmlbuilder = xmlto % "html-nochunks"
--- 
-1.8.5.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
new file mode 100644
index 0000000..1fa27c2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
@@ -0,0 +1,81 @@
+From 1e2cea8945bc2183fbe1a012dcd633a352125952 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 24 Apr 2012 18:45:14 +0200
+Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot
+ from python_lib_dir
+
+* without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix
+  and with PYTHONPATH from OE it's pointing to native python dir
+
+    $ export PYTHONPATH=/OE/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib/python2.7/
+    $ python
+    Python 2.7.2 (default, Apr 18 2012, 09:19:59)
+    [GCC 4.6.2] on linux2
+    Type "help", "copyright", "credits" or "license" for more information.
+    >>> from distutils import sysconfig
+    >>> sysconfig.get_config_vars('INCLUDEPY')
+    ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
+    >>>
+    $ unset PYTHONPATH
+    $ python
+    Python 2.7.2 (default, Apr 18 2012, 09:19:59)
+    [GCC 4.6.2] on linux2
+    Type "help", "copyright", "credits" or "license" for more information.
+    >>> from distutils import sysconfig
+    >>> sysconfig.get_config_vars('INCLUDEPY')
+    ['/python2.7']
+    >>> import sysconfig
+    >>> sysconfig.get_config_vars('INCLUDEPY')
+    ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
+* python_lib_dir = python_lib_dir.replace(env['sysroot'], '')
+  returns path to target sysroot
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Peter A. Bigot <pab@pabigot.com>
+---
+ SConstruct | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/SConstruct b/SConstruct
+index 3318bb48..e1c4f963 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -934,7 +934,7 @@ else:
+ 
+ # Set up configuration for target Python
+ 
+-PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib()'
++PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib(plat_specific=1)'
+ 
+ PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'BASECFLAGS',
+                        'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS']
+@@ -1364,7 +1364,7 @@ else:
+                        LINK=ldshared,
+                        SHLIBPREFIX="",
+                        SHLIBSUFFIX=python_config['SO'],
+-                       CPPPATH=[python_config['INCLUDEPY']],
++                       CPPPATH=[os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], python_config['INCLUDEPY']))] if env['sysroot'] else [python_config['INCLUDEPY']],
+                        CPPFLAGS=python_config['OPT'],
+                        CFLAGS=python_config['BASECFLAGS'],
+                        CXXFLAGS=python_config['BASECFLAGS'])
+@@ -1662,12 +1662,15 @@ if ((not env['debug'] and not env['profiling'] and not env['nostrip']
+ if not env['python']:
+     python_install = []
+ else:
++    python_libdir = python_libdir.replace(env['sysroot'], '')
+     python_module_dir = python_libdir + os.sep + 'gps'
+     python_extensions_install = python_env.Install(DESTDIR + python_module_dir,
+                                                    python_built_extensions)
+     if ((not env['debug'] and not env['profiling']
+          and not env['nostrip'] and not sys.platform.startswith('darwin'))):
+         python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET')
++    env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \
++                     % (python_libdir, ))
+ 
+     python_modules_install = python_env.Install(DESTDIR + python_module_dir,
+                                                 python_modules)
+-- 
+2.1.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch
new file mode 100644
index 0000000..e91e4e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch
@@ -0,0 +1,35 @@
+From f221fa959c80b43c65426500a6836a1b5cf6fe0c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 17 Aug 2016 02:16:12 +0000
+Subject: [PATCH] include sys/ttydefaults.h
+
+This is needed for CTRL definition, as exposed by musl on glibc
+this include file gets pulled indirectly.
+
+/usr/src/debug/gpsd/3.14-r0/gpsd-3.14/gpsmon.c:605: undefined reference to `CTRL'
+clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)
+scons: *** [gpsmon] Error 1
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Foreward port to gpsd 3.16
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ gpsmon.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gpsmon.c b/gpsmon.c
+index 89c43ee2..5cc0dabd 100644
+--- a/gpsmon.c
++++ b/gpsmon.c
+@@ -24,6 +24,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/select.h>
++#include <sys/ttydefaults.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+ 
+-- 
+2.12.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
new file mode 100644
index 0000000..ba3d205
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
@@ -0,0 +1,51 @@
+From 697e2e9ff97487266d817cdd41bacc83f681e3d7 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 29 Apr 2012 00:05:59 +0200
+Subject: [PATCH 4/4] SConstruct: disable html and man docs building because
+ xmlto-native from OE is broken
+
+It will try to load dtd and fail:
+| xmlto man gpsctl.xml; mv `basename gpsctl.1` gpsctl.1
+| xmlto: /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate (status 3)
+| xmlto: Fix document syntax or use --skip-validation option
+| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
+| /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml:8: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
+|    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+|                                                               ^
+| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
+| warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
+| validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
+| Document /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate
+| mv: cannot stat `gpsctl.1': No such file or directory
+| scons: *** [gpsctl.1] Error 1
+| scons: building terminated because of errors.
+
+Upstream-Status: Inappropriate [disable feature]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Peter A. Bigot <pab@pabigot.com>
+---
+ SConstruct | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 3318bb48..a5bb756d 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -889,11 +889,11 @@ else:
+ 
+     manbuilder = htmlbuilder = None
+     if env['manbuild']:
+-        if config.CheckXsltproc():
++        if False and config.CheckXsltproc():
+             build = "xsltproc --nonet %s $SOURCE >$TARGET"
+             htmlbuilder = build % docbook_html_uri
+             manbuilder = build % docbook_man_uri
+-        elif WhereIs("xmlto"):
++        elif False and WhereIs("xmlto"):
+             xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` " \
+                     "`dirname $TARGET`"
+             htmlbuilder = xmlto % "html-nochunks"
+-- 
+1.8.5.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/60-gpsd.rules b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/60-gpsd.rules
deleted file mode 100644
index 61143b8..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/60-gpsd.rules
+++ /dev/null
@@ -1,47 +0,0 @@
-# udev rules for gpsd
-# $Id$
-#
-# GPSes don't have their own USB device class.  They're serial-over-USB
-# devices, so what you see is actually the ID of the serial-over-USB chip.
-# Fortunately, just two of these account for over 80% of consumer-grade
-# GPS sensors.  The gpsd.hotplug.wrapper script will tell a running gpsd
-# that it should look at the device that just went active, because it
-# might be a GPS.
-#
-# The following setup works on Debian - something similar will apply on 
-# other distributions:
-# 
-#   /etc/udev/gpsd.rules
-#   /etc/udev/rules.d/025_gpsd.rules -> ../gpsd.rules
-#   /lib/udev/gpsd.hotplug.wrapper
-#   /lib/udev/gpsd.hotplug
-# 
-# Setting the link in /etc/udev/rules.d activates the rule and determines
-# when to run it on boot (similar to init.d processing).
-
-SUBSYSTEM!="tty", GOTO="gpsd_rules_end"
-
-# Prolific Technology, Inc. PL2303 Serial Port
-ATTR{idVendor}=="067b", ATTR{idProduct}=="2303", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-# ATEN International Co., Ltd UC-232A Serial Port [pl2303]
-ATTR{idVendor}=="0557", ATTR{idProduct}=="2008", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-# FTDI 8U232AM
-ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-# Cypress M8/CY7C64013 (DeLorme uses these)
-ATTR{idVendor}=="1163", ATTR{idProduct}=="0100", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-# PS-360 OEM (Microsoft GPS sold with Street and Trips 2005)
-ATTR{idVendor}=="067b", ATTR{idProduct}=="aaa0", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-# Garmin International GPSmap, various models (tested with Garmin GPS 18 USB)
-ATTR{idVendor}=="091e", ATTR{idProduct}=="0003", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-# Cygnal Integrated Products, Inc. CP210x Composite Device (Used by Holux m241)
-ATTR{idVendor}=="10c4", ATTR{idProduct}=="ea60", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-# u-blox AG, u-blox 5 (tested with Navilock NL-402U)
-ATTR{idVendor}=="1546", ATTR{idProduct}=="01a5", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-# FTDI FT232
-ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-# u-blox 4
-ATTR{idVendor}=="1546", ATTR{idProduct}=="01a4", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-
-ACTION=="remove", RUN+="/lib/udev/gpsd.hotplug.wrapper"
-
-LABEL="gpsd_rules_end"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/gpsd b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/gpsd
deleted file mode 100755
index ba73daf..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/gpsd
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/bin/sh
-### BEGIN INIT INFO
-# Provides:          gpsd
-# Required-Start:    $remote_fs $network
-# Should-Start:      bluetooth dbus udev
-# Required-Stop:     $remote_fs $network
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: GPS (Global Positioning System) daemon start/stop script
-# Description:       Start/Stop script for the gpsd service daemon,
-#                    which is able to monitor one or more GPS devices
-#                    connected to a host computer, making all data on
-#                    the location and movements of the sensors available
-#                    to be queried on TCP port 2947.
-### END INIT INFO
-
-# Author: Bernd Zeimetz <bzed@debian.org>
-#
-# Please remove the "Author" lines above and replace them
-# with your own name if you copy and modify this script.
-
-# Do NOT "set -e"
-
-# PATH should only include /usr/* if it runs after the mountnfs.sh script
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DESC="GPS (Global Positioning System) daemon"
-NAME=gpsd
-DAEMON=/usr/sbin/$NAME
-PIDFILE=/var/run/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-
-# Exit if the package is not installed
-[ -x "$DAEMON" ] || exit 0
-
-# Read configuration, if present
-[ -r /etc/default/$NAME ] && . /etc/default/$NAME
-
-if [ -z "$GPSD_SOCKET" ] && [ -z "$DEVICES" ]; then
-	GPSD_SOCKET=/var/run/gpsd.sock
-fi
-
-if [ -n "$GPSD_SOCKET" ]; then
-        GPSD_OPTIONS="$GPSD_OPTIONS -F $GPSD_SOCKET"
-fi
-
-#
-# Function that starts the daemon/service
-#
-do_start()
-{
-	# Return
-	#   0 if daemon has been started
-	#   1 if daemon was already running
-	#   2 if daemon could not be started
-	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test \
-        -- $GPSD_OPTIONS -P $PIDFILE $GPS_DEVICES > /dev/null \
-		|| return 1
-	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
-		$GPSD_OPTIONS -P $PIDFILE $GPS_DEVICES \
-		|| return 2
-}
-
-#
-# Function that stops the daemon/service
-#
-do_stop()
-{
-	# Return
-	#   0 if daemon has been stopped
-	#   1 if daemon was already stopped
-	#   2 if daemon could not be stopped
-	#   other if a failure occurred
-	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
-	RETVAL="$?"
-	[ "$RETVAL" = 2 ] && return 2
-	# Many daemons don't delete their pidfiles when they exit.
-	rm -f $PIDFILE
-	return "$RETVAL"
-}
-
-#
-# Function that sends a SIGHUP to the daemon/service
-#
-do_reload() {
-	#
-	# If the daemon can reload its configuration without
-	# restarting (for example, when it is sent a SIGHUP),
-	# then implement that here.
-	#
-	start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
-	return 0
-}
-
-case "$1" in
-  start)
-		echo "Starting $DESC" "$NAME"
-		do_start
-		exit $?
-	;;
-  stop)
-	echo "Stopping $DESC" "$NAME"
-	do_stop
-	exit $?
-	;;
-  status)
-       ;;
-  reload|force-reload)
-	echo "Reloading $DESC" "$NAME"
-	do_reload
-	exit $?
-	;;
-  restart)
-	#
-	# If the "reload" option is implemented then remove the
-	# 'force-reload' alias
-	#
-	echo "Restarting $DESC" "$NAME"
-	do_stop
-	case "$?" in
-	  0|1)
-		do_start
-		exit $?
-		;;
-	  *)
-	 	# Failed to stop
-		exit 1
-		;;
-	esac
-	;;
-  *)
-	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
-	exit 3
-	;;
-esac
-
-:
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/gpsd-default b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/gpsd-default
deleted file mode 100644
index 0ceff03..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/gpsd-default
+++ /dev/null
@@ -1,5 +0,0 @@
-# If you must specify a non-NMEA driver, uncomment and modify the next line
-GPSD_SOCKET="/var/run/gpsd.sock"
-GPSD_OPTIONS="" 
-GPS_DEVICES=""
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/gpsd.service b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/gpsd.service
deleted file mode 100644
index 7131a58..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/gpsd.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=GPS (Global Positioning System) Daemon
-Requires=gpsd.socket
-
-[Service]
-EnvironmentFile=/etc/default/gpsd
-ExecStart=/usr/sbin/gpsd -N $GPS_DEVICES
-
-[Install]
-Also=gpsd.socket
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb
deleted file mode 100644
index 26d7486..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb
+++ /dev/null
@@ -1,140 +0,0 @@
-SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
-SECTION = "console/network"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
-DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
-PROVIDES = "virtual/gpsd"
-
-EXTRANATIVEPATH += "chrpath-native"
-
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
-    file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
-    file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
-    file://0001-include-sys-ttydefaults.h.patch \
-    file://gpsd-default \
-    file://gpsd \
-    file://60-gpsd.rules \
-    file://gpsd.service \
-"
-SRC_URI[md5sum] = "68691b5de4c94f82ec4062b042b5eb63"
-SRC_URI[sha256sum] = "03579af13a4d3fe0c5b79fa44b5f75c9f3cac6749357f1d99ce5d38c09bc2029"
-
-inherit scons update-rc.d python-dir pythonnative systemd bluetooth update-alternatives
-
-INITSCRIPT_PACKAGES = "gpsd-conf"
-INITSCRIPT_NAME = "gpsd"
-INITSCRIPT_PARAMS = "defaults 35"
-
-SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
-
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
-PACKAGECONFIG[bluez] = "bluez='true',bluez='false',${BLUEZ}"
-PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free"
-EXTRA_OESCONS = " \
-    sysroot=${STAGING_DIR_TARGET} \
-    libQgpsmm='false' \
-    debug='true' \
-    strip='false' \
-    chrpath='yes' \
-    systemd='${SYSTEMD_OESCONS}' \
-    libdir='${libdir}' \
-    ${PACKAGECONFIG_CONFARGS} \
-"
-# this cannot be used, because then chrpath is not found and only static lib is built
-# target=${HOST_SYS}
-
-do_compile_prepend() {
-    export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
-    export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
-    export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
-    export LINKFLAGS="${LDFLAGS}"
-}
-
-do_install() {
-    export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
-    export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
-    export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
-    export LINKFLAGS="${LDFLAGS}"
-
-    export DESTDIR="${D}"
-    # prefix is used for RPATH and DESTDIR/prefix for instalation
-    ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \
-      bbfatal "scons install execution failed."
-}
-
-do_install_append() {
-    install -d ${D}/${sysconfdir}/init.d
-    install -m 0755 ${WORKDIR}/gpsd ${D}/${sysconfdir}/init.d/
-    install -d ${D}/${sysconfdir}/default
-    install -m 0644 ${WORKDIR}/gpsd-default ${D}/${sysconfdir}/default/gpsd.default
-
-    #support for udev
-    install -d ${D}/${sysconfdir}/udev/rules.d
-    install -m 0644 ${WORKDIR}/60-gpsd.rules ${D}/${sysconfdir}/udev/rules.d
-    install -d ${D}${base_libdir}/udev/
-    install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
-
-    #support for python
-    install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
-    install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
-
-    #support for systemd
-    install -d ${D}${systemd_unitdir}/system/
-    install -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
-    install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
-}
-
-PACKAGES =+ "libgps libgpsd python-pygps-dbg python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
-
-FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
-                    ${libdir}/libQgpsmm.prl"
-
-FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug"
-
-RDEPENDS_${PN} = "gpsd-gpsctl"
-RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
-
-SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
-FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
-RDEPENDS_gpsd-udev += "udev gpsd-conf"
-
-SUMMARY_libgpsd = "C service library used for communicating with gpsd"
-FILES_libgpsd = "${libdir}/libgpsd.so.*"
-
-SUMMARY_libgps = "C service library used for communicating with gpsd"
-FILES_libgps = "${libdir}/libgps.so.*"
-
-SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
-FILES_gpsd-conf = "${sysconfdir}"
-CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
-
-SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
-FILES_gpsd-gpsctl = "${bindir}/gpsctl"
-
-SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
-FILES_gps-utils = "${bindir}/*"
-RDEPENDS_gps-utils = "python-pygps"
-
-SUMMARY_python-pygps = "Python bindings to gpsd"
-FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-pygps = " \
-    python-core \
-    python-io \
-    python-threading \
-    python-terminal \
-    python-curses \
-    gpsd \
-    python-json"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${PN}.socket"
-
-
-ALTERNATIVE_${PN} = "gpsd-defaults"
-ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
-ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb
new file mode 100644
index 0000000..d526db2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb
@@ -0,0 +1,137 @@
+SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
+SECTION = "console/network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
+DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
+PROVIDES = "virtual/gpsd"
+
+EXTRANATIVEPATH += "chrpath-native"
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+    file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
+    file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
+    file://0001-include-sys-ttydefaults.h.patch \
+"
+SRC_URI[md5sum] = "e0cfadcf4a65dfbdd2afb11c58f4e4a1"
+SRC_URI[sha256sum] = "68e0dbecfb5831997f8b3d6ba48aed812eb465d8c0089420ab68f9ce4d85e77a"
+
+inherit scons update-rc.d python-dir pythonnative systemd bluetooth update-alternatives
+
+INITSCRIPT_PACKAGES = "gpsd-conf"
+INITSCRIPT_NAME = "gpsd"
+INITSCRIPT_PARAMS = "defaults 35"
+
+SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
+PACKAGECONFIG[bluez] = "bluez='true',bluez='false',${BLUEZ}"
+PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free"
+EXTRA_OESCONS = " \
+    sysroot=${STAGING_DIR_TARGET} \
+    libQgpsmm='false' \
+    debug='true' \
+    strip='false' \
+    chrpath='yes' \
+    systemd='${SYSTEMD_OESCONS}' \
+    libdir='${libdir}' \
+    ${PACKAGECONFIG_CONFARGS} \
+"
+# this cannot be used, because then chrpath is not found and only static lib is built
+# target=${HOST_SYS}
+
+do_compile_prepend() {
+    export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+    export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+    export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+    export LINKFLAGS="${LDFLAGS}"
+}
+
+do_install() {
+    export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+    export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+    export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+    export LINKFLAGS="${LDFLAGS}"
+
+    export DESTDIR="${D}"
+    # prefix is used for RPATH and DESTDIR/prefix for instalation
+    ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \
+      bbfatal "scons install execution failed."
+}
+
+do_install_append() {
+    install -d ${D}/${sysconfdir}/init.d
+    install -m 0755 ${S}/packaging/deb/etc_init.d_gpsd ${D}/${sysconfdir}/init.d/gpsd
+    install -d ${D}/${sysconfdir}/default
+    install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default
+
+    #support for udev
+    install -d ${D}/${sysconfdir}/udev/rules.d
+    install -m 0644 ${S}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d/
+    install -d ${D}${base_libdir}/udev/
+    install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
+
+    #support for python
+    install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+    install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+
+    #support for systemd
+    install -d ${D}${systemd_unitdir}/system/
+    install -m 0644 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
+    install -m 0644 ${S}/systemd/${BPN}ctl@.service ${D}${systemd_unitdir}/system/${BPN}ctl@.service
+    install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
+}
+
+PACKAGES =+ "libgps libgpsd python-pygps-dbg python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
+
+FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
+                    ${libdir}/libQgpsmm.prl"
+
+FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug"
+
+RDEPENDS_${PN} = "gpsd-gpsctl"
+RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
+
+SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
+FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
+RDEPENDS_gpsd-udev += "udev gpsd-conf"
+
+SUMMARY_libgpsd = "C service library used for communicating with gpsd"
+FILES_libgpsd = "${libdir}/libgpsd.so.*"
+
+SUMMARY_libgps = "C service library used for communicating with gpsd"
+FILES_libgps = "${libdir}/libgps.so.*"
+
+SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
+FILES_gpsd-conf = "${sysconfdir}"
+CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
+
+SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
+FILES_gpsd-gpsctl = "${bindir}/gpsctl"
+
+SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
+FILES_gps-utils = "${bindir}/*"
+RDEPENDS_gps-utils = "python-pygps"
+
+SUMMARY_python-pygps = "Python bindings to gpsd"
+FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python-pygps = " \
+    python-core \
+    python-io \
+    python-threading \
+    python-terminal \
+    python-curses \
+    gpsd \
+    python-json"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${BPN}.socket ${BPN}ctl@.service"
+
+
+ALTERNATIVE_${PN} = "gpsd-defaults"
+ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
+ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
index 1a00b08..010f65f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
@@ -5,7 +5,9 @@
 LIC_FILES_CHKSUM = "file://orrery.c;endline=25;md5=d792bdf2b591972da175aecc38d88cfe"
 DEPENDS = "gtk+"
 
-inherit autotools-brokensep pkgconfig
+inherit distro_features_check autotools-brokensep pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "http://projects.openmoko.org/frs/download.php/923/orrery_2.7_clean.tar.gz \
            file://orrery.png \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc/makefile-add-ldflags.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc/makefile-add-ldflags.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc/makefile-add-ldflags.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
new file mode 100644
index 0000000..8fc0b35
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
@@ -0,0 +1,66 @@
+SUMMARY = "A password/passphrase strength checking and enforcement toolset"
+DESCRIPTION = "\
+passwdqc is a password/passphrase strength checking and policy enforcement \
+toolset, including an optional PAM module (pam_passwdqc), command-line \
+programs (pwqcheck and pwqgen), and a library (libpasswdqc). \
+pam_passwdqc is normally invoked on password changes by programs such as \
+passwd(1).  It is capable of checking password or passphrase strength, \
+enforcing a policy, and offering randomly-generated passphrases, with \
+all of these features being optional and easily (re-)configurable. \
+\
+pwqcheck and pwqgen are standalone password/passphrase strength checking \
+and random passphrase generator programs, respectively, which are usable \
+from scripts. \
+\
+libpasswdqc is the underlying library, which may also be used from \
+third-party programs. \
+"
+
+HOMEPAGE = "http://www.openwall.com/passwdqc"
+SECTION = "System Environment/Base"
+
+DEPENDS += "libpam"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1b4af6f3d4ee079a38107366e93b334d"
+
+SRC_URI = "http://www.openwall.com/${BPN}/${BP}.tar.gz \
+           file://makefile-add-ldflags.patch \
+          "
+SRC_URI[md5sum] = "3878b57bcd3fdbcf3d4b362dbc6228b9"
+SRC_URI[sha256sum] = "d1fedeaf759e8a0f32d28b5811ef11b5a5365154849190f4b7fab670a70ffb14"
+
+# explicitly define LINUX_PAM in case DISTRO_FEATURES no pam
+# this package's pam_passwdqc.so needs pam
+CFLAGS_append += "-Wall -fPIC -DHAVE_SHADOW -DLINUX_PAM"
+
+# -e is no longer default setting in bitbake.conf
+EXTRA_OEMAKE = "-e"
+
+do_compile() {
+    # make sure sub make use environment to override variables in Makefile
+    # Linux)    $(MAKE), there is a tab between
+    sed -i -e 's/Linux)	$(MAKE) CFLAGS_lib/Linux)	$(MAKE) -e CFLAGS_lib/' ${S}/Makefile
+
+    # LD_lib and LD must be CC because of Makefile
+    oe_runmake LD="${CC}"
+}
+
+do_install() {
+    oe_runmake install DESTDIR=${D} SHARED_LIBDIR=${base_libdir} \
+           DEVEL_LIBDIR=${libdir} SECUREDIR=${base_libdir}/security \
+           INSTALL="install -p"
+}
+
+PROVIDES += "pam-${BPN}"
+PACKAGES =+ "lib${BPN} pam-${BPN}"
+
+FILES_lib${BPN} = "${base_libdir}/libpasswdqc.so.0"
+FILES_pam-${BPN} = "${base_libdir}/security/pam_passwdqc.so"
+FILES_${PN}-dbg += "${base_libdir}/security/.debug"
+
+RDEPENDS_${PN} = "lib${BPN} pam-${BPN}"
+RDEPENDS_pam-${BPN} = "lib${BPN}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb
new file mode 100644
index 0000000..f362775
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "TOMOYO Linux tools"
+DESCRIPTION = "TOMOYO Linux is a Mandatory Access Control (MAC) implementation \
+for Linux that can be used to increase the security of a system, while also \
+being useful purely as a system analysis tool."
+HOMEPAGE = "http://tomoyo.sourceforge.jp/"
+SECTION = "System Environment/Kernel"
+
+SRC_URI = "http://jaist.dl.sourceforge.jp/tomoyo/53357/${BP}-20170102.tar.gz"
+SRC_URI[md5sum] = "888804d58742452fe213a68f7eadd0ad"
+SRC_URI[sha256sum] = "00fedfac5e514321250bbe69eaccc732c8a8158596f77a785c2e3ae9f9968283"
+
+S = "${WORKDIR}/${BPN}"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.tomoyo;md5=751419260aa954499f7abaabaa882bbe"
+
+FILES_${PN}     += "${libdir}/tomoyo"
+FILES_${PN}-dbg += "${libdir}/tomoyo/.debug"
+
+DEPENDS = "linux-libc-headers ncurses"
+
+EXTRA_OEMAKE = "-e USRLIBDIR=${libdir}"
+
+do_compile () {
+    oe_runmake 'CC=${CC}'
+}
+
+do_install() {
+    oe_runmake install INSTALLDIR=${D}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash/0001-Fix-printf-format-errors-with-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-shells/dash/dash/0001-Fix-printf-format-errors-with-clang.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/dash/dash/0001-Fix-printf-format-errors-with-clang.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-shells/dash/dash/0001-Fix-printf-format-errors-with-clang.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.9.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.9.1.bb
new file mode 100644
index 0000000..6dee66f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.9.1.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Small and fast POSIX-compliant shell"
+HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/"
+SECTION = "System Environment/Shells"
+
+LICENSE = "BSD & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e"
+
+inherit autotools update-alternatives
+
+SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz \
+           file://0001-Fix-printf-format-errors-with-clang.patch \
+           "
+SRC_URI[md5sum] = "6472702a8d9760d166ef8333dcb527a6"
+SRC_URI[sha256sum] = "5ecd5bea72a93ed10eb15a1be9951dd51b52e5da1d4a7ae020efd9826b49e659"
+
+EXTRA_OECONF += "--bindir=${base_bindir}"
+
+ALTERNATIVE_${PN} = "sh"
+ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash"
+ALTERNATIVE_PRIORITY = "10"
+
+pkg_postinst_${PN} () {
+    grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells
+}
+
+pkg_postrm_${PN} () {
+    printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch b/import-layers/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0002-Add-debian-csh-scripts.patch b/import-layers/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh/0002-Add-debian-csh-scripts.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh/0002-Add-debian-csh-scripts.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh/0002-Add-debian-csh-scripts.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.20.00.bb b/import-layers/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.20.00.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.20.00.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.20.00.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb
new file mode 100644
index 0000000..100c449
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb
@@ -0,0 +1,64 @@
+SUMMARY = "UNIX Shell similar to the Korn shell"
+DESCRIPTION = "Zsh is a shell designed for interactive use, although it is also a \
+               powerful scripting language. Many of the useful features of bash, \
+               ksh, and tcsh were incorporated into zsh; many original features were added."
+HOMEPAGE = "http://www.zsh.org"
+SECTION = "base/shell"
+
+LICENSE = "zsh"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=1a4c4cda3e8096d2fd483ff2f4514fec"
+
+DEPENDS = "ncurses bison-native libcap libpcre gdbm groff-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
+SRC_URI[md5sum] = "dfe156fd69b0d8d1745ecf6d6e02e047"
+SRC_URI[sha256sum] = "957bcdb2c57f64c02f673693ea5a7518ef24b6557aeb3a4ce222cefa6d74acc9"
+
+inherit autotools gettext update-alternatives
+
+EXTRA_OECONF = " \
+    --bindir=${base_bindir} \
+    --enable-etcdir=${sysconfdir} \
+    --enable-fndir=${datadir}/${PN}/${PV}/functions \
+    --enable-site-fndir=${datadir}/${PN}/site-functions \
+    --with-term-lib='ncursesw ncurses' \
+    --with-tcsetpgrp \
+    --enable-cap \
+    --enable-multibyte \
+    --disable-gdbm \
+    --disable-dynamic \
+    zsh_cv_shared_environ=yes \
+"
+
+# Configure respects --bindir from EXTRA_OECONF, but then Src/Makefile will read bindir from environment
+export bindir="${base_bindir}"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+ALTERNATIVE_${PN} = "sh"
+ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
+ALTERNATIVE_PRIORITY = "100"
+
+export AUTOHEADER = "true"
+
+do_configure () {
+    gnu-configize --force ${S}
+    oe_runconf
+}
+
+do_install_append () {
+    rm -fr ${D}/usr/share
+}
+
+pkg_postinst_${PN} () {
+    touch $D${sysconfdir}/shells
+    grep -q "bin/zsh" $D${sysconfdir}/shells || echo /bin/zsh >> $D${sysconfdir}/shells
+    grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells
+}
+
+FILES_${PN}-dbg += "\
+    ${libdir}/${PN}/${PV}/${PN}/.debug/*.so \
+    ${libdir}/${PN}/${PV}/${PN}/db/.debug/*.so \
+    ${libdir}/${PN}/${PV}/${PN}/net/.debug/*.so \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy/native-helpers.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy/native-helpers.patch
index 291b66b..47ce007 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy/native-helpers.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy/native-helpers.patch
@@ -3,20 +3,24 @@
 comment: Stage the native anthy helpers mkfiledic, mkdepgraph, mkworddic, 
 comment: calctrans and proccorpus.
 
---- anthy-7811/mkanthydic/Makefile.am~	2006-05-13 18:28:35.000000000 +0900
-+++ anthy-7811/mkanthydic/Makefile.am	2006-06-18 10:56:25.770000000 +0900
-@@ -3,7 +3,7 @@
+Index: anthy-9100h/mkanthydic/Makefile.am
+===================================================================
+--- anthy-9100h.orig/mkanthydic/Makefile.am
++++ anthy-9100h/mkanthydic/Makefile.am
+@@ -3,7 +3,7 @@ noinst_SCRIPTS =
  CLEANFILES = anthy.dic
- INCLUDES = -I$(top_srcdir)/include -DSRCDIR=\"$(srcdir)\"
+ INCLUDES = -I$(top_srcdir)/ -DSRCDIR=\"$(srcdir)\"
  
 -noinst_PROGRAMS = mkfiledic
 +bin_PROGRAMS = mkfiledic
  mkfiledic_SOURCES = mkfiledic.c
  mkfiledic_LDADD = ../src-diclib/libdiclib.la
  
---- anthy-7811/depgraph/Makefile.am~	2006-06-02 00:20:54.000000000 +0900
-+++ anthy-7811/depgraph/Makefile.am	2006-06-18 10:57:19.420000000 +0900
-@@ -9,7 +9,7 @@
+Index: anthy-9100h/depgraph/Makefile.am
+===================================================================
+--- anthy-9100h.orig/depgraph/Makefile.am
++++ anthy-9100h/depgraph/Makefile.am
+@@ -9,7 +9,7 @@ CLEANFILES = anthy.dep
  EXTRA_DIST = indepword.txt $(DEPWORDS)
  
  # Generate the dictionary
@@ -25,10 +29,12 @@
  mkdepgraph_SOURCES = mkdepgraph.c
  mkdepgraph_LDADD =  ../src-main/libanthy.la ../src-worddic/libanthydic.la
  
---- anthy-7811/mkworddic/Makefile.am~	2006-05-13 18:29:07.000000000 +0900
-+++ anthy-7811/mkworddic/Makefile.am	2006-06-18 11:21:56.300000000 +0900
-@@ -16,7 +16,8 @@
-  udict dict.args.in
+Index: anthy-9100h/mkworddic/Makefile.am
+===================================================================
+--- anthy-9100h.orig/mkworddic/Makefile.am
++++ anthy-9100h/mkworddic/Makefile.am
+@@ -26,7 +26,8 @@ DIC_FILES = @top_srcdir@/alt-cannadic/gc
+ 	    @top_srcdir@/mkworddic/udict
  
  # Generate the dictionary
 -noinst_PROGRAMS = mkworddic
@@ -36,10 +42,12 @@
 +bin_PROGRAMS = mkworddic
  mkworddic_SOURCES = mkdic.c writewords.c mkudic.c calcfreq.c mkdic.h
  mkworddic_LDADD = ../src-worddic/libanthydic.la
-
---- anthy-9100e.orig/calctrans/Makefile.am	2008-05-08 15:04:13.000000000 +0200
-+++ anthy-9100e/calctrans/Makefile.am	2008-05-08 15:04:24.000000000 +0200
-@@ -3,7 +3,7 @@
+ 
+Index: anthy-9100h/calctrans/Makefile.am
+===================================================================
+--- anthy-9100h.orig/calctrans/Makefile.am
++++ anthy-9100h/calctrans/Makefile.am
+@@ -3,7 +3,7 @@ EXTRA_DIST =\
   corpus.3.txt corpus.4.txt corpus.5.txt\
   corpus_info weak_words
  
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy/not_build_elc.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy/not_build_elc.patch
index bf748f3..1c5c494 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy/not_build_elc.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy/not_build_elc.patch
@@ -1,12 +1,13 @@
 upstream: not applicable
 source: stolen from debian
 
-diff -Naur anthy-7811/src-util.orig/Makefile.am anthy-7811/src-util/Makefile.am
---- anthy-7811/src-util.orig/Makefile.am	2006-06-18 10:47:55.790000000 +0900
-+++ anthy-7811/src-util/Makefile.am	2006-06-18 10:48:23.860000000 +0900
-@@ -6,7 +6,8 @@
+Index: anthy-9100h/src-util/Makefile.am
+===================================================================
+--- anthy-9100h.orig/src-util/Makefile.am
++++ anthy-9100h/src-util/Makefile.am
+@@ -8,7 +8,8 @@ ELISP_FILES = anthy.el anthy-dic.el anth
   anthy-isearch.el anthy-azik.el anthy-kyuri.el
- EXTRA_DIST = $(ELISP_FILES) typetab dic-tool-usage.txt rcsize.rb
+ EXTRA_DIST = $(ELISP_FILES) typetab dic-tool-usage.txt anthy.i
  bin_PROGRAMS = anthy-dic-tool anthy-agent anthy-morphological-analyzer
 -ELCFILES = anthy.elc anthy-dic.elc anthy-azik.elc anthy-conf.elc anthy-isearch.elc anthy-kyuri.elc leim-list.elc
 +#ELCFILES = anthy.elc anthy-dic.elc anthy-azik.elc anthy-conf.elc anthy-isearch.elc anthy-kyuri.elc leim-list.elc
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/0001-Unset-need_charset_alias-when-building-for-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/0001-Unset-need_charset_alias-when-building-for-musl.patch
index 9a19876..0ba7c76 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/0001-Unset-need_charset_alias-when-building-for-musl.patch
@@ -1,4 +1,4 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
+From 32b15332e2130a54b25f4fbf6f58b407b851dd8f Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 13 Apr 2015 17:02:13 -0700
 Subject: [PATCH] Unset need_charset_alias when building for musl
@@ -11,14 +11,15 @@
 Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
- lib/gnulib.mk | 2 +-
+ gnulib/lib/Makefile.am | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: augeas-1.2.0/gnulib/lib/Makefile.am
-===================================================================
---- augeas-1.2.0.orig/gnulib/lib/Makefile.am
-+++ augeas-1.2.0/gnulib/lib/Makefile.am
+diff --git a/gnulib/lib/Makefile.am b/gnulib/lib/Makefile.am
+index 963b22d..75788d2 100644
+--- a/gnulib/lib/Makefile.am
++++ b/gnulib/lib/Makefile.am
 @@ -463,7 +463,7 @@ install-exec-localcharset: all-local
  	  case '$(host_os)' in \
  	    darwin[56]*) \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/add-missing-argz-conditional.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/add-missing-argz-conditional.patch
index abbdbaa..368bb41 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/add-missing-argz-conditional.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/add-missing-argz-conditional.patch
@@ -1,14 +1,21 @@
-Add missing GL_GENERATE_ARGZ_H conditional
+From 9a6e6374da7d7056db0950f0f7d6b8b905009775 Mon Sep 17 00:00:00 2001
+From: Constantin Musca <constantinx.musca@intel.com>
+Date: Fri, 15 Jul 2016 10:04:48 +0300
+Subject: [PATCH] Add missing GL_GENERATE_ARGZ_H conditional
 
 - GL_GENERATE_ARGZ_H is used in gnulib/lib/Makefile.am
 
 Upstream-Status: Pending
 Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
 
-Index: augeas-1.0.0/configure.ac
-===================================================================
---- augeas-1.0.0.orig/configure.ac
-+++ augeas-1.0.0/configure.ac
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 72b6984..fb9653e 100644
+--- a/configure.ac
++++ b/configure.ac
 @@ -55,6 +55,8 @@ AC_ARG_WITH([failmalloc],
  
  AM_CONDITIONAL([WITH_FAILMALLOC], [test x$with_failmalloc != xno])
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/sepbuildfix.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/sepbuildfix.patch
index b82a3ee..2b18618 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/sepbuildfix.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/sepbuildfix.patch
@@ -1,15 +1,24 @@
-Ensure that builds in separate builddirs (${B} != ${S}) correctly install the 
+From 8a277957a2579e7149c1850675441b288192077c Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Fri, 15 Jul 2016 10:04:48 +0300
+Subject: [PATCH] augeas: fix separate builddirs
+
+Ensure that builds in separate builddirs (${B} != ${S}) correctly install the
 lenses files.
 
 Upstream-Status: Pending
 
 RP 2013/4/17
 
-Index: augeas-1.0.0/Makefile.am
-===================================================================
---- augeas-1.0.0.orig/Makefile.am	2012-11-02 15:20:11.000000000 +0000
-+++ augeas-1.0.0/Makefile.am	2013-04-17 10:36:24.033400125 +0000
-@@ -5,8 +5,8 @@
+---
+ Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 87d511a..7710b3b 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -5,8 +5,8 @@ ACLOCAL_AMFLAGS = -I gnulib/m4
  lensdir=$(datadir)/augeas/lenses/dist
  lenstestdir=$(datadir)/augeas/lenses/dist/tests
  
@@ -18,5 +27,5 @@
 +dist_lens_DATA=$(wildcard $(top_srcdir)/lenses/*.aug)
 +dist_lenstest_DATA=$(wildcard $(top_srcdir)lenses/tests/*.aug)
  
- EXTRA_DIST=augeas.spec build/aux/move-if-change Makefile.am HACKING
+ EXTRA_DIST=augeas.spec build/ac-aux/move-if-change Makefile.am HACKING.md
  
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
index 976aafb..30d41a1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
@@ -30,7 +30,6 @@
 
 FILES_${PN}-bin = "${bindir}"
 RDEPENDS_${PN}-bin = " \
-    python3-argparse \
     python3-compression \
     python3-core \
     python3-crypt \
@@ -40,8 +39,6 @@
     python3-pickle \
     python3-shell \
     python3-stringold \
-    python3-subprocess \
-    python3-textutils \
     python3-threading \
 "
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.13.bb
deleted file mode 100644
index e883c70..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.13.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
-AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
-HOMEPAGE = "http://ceres-solver.org/"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=35e00f0c4c96a0820a03e0b31e6416be"
-
-SRC_URI = "git://github.com/ceres-solver/ceres-solver.git"
-SRCREV = "19333b0f55c8462381038e70d42af43b52941128"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "libeigen glog"
-
-inherit cmake
-
-# Only a static library and headers are created
-ALLOW_EMPTY_${PN} = "1"
-
-FILES_${PN}-dev += "${libdir}/cmake/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb
new file mode 100644
index 0000000..29917c8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
+AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
+HOMEPAGE = "http://ceres-solver.org/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=35e00f0c4c96a0820a03e0b31e6416be"
+
+SRC_URI = "git://github.com/ceres-solver/ceres-solver.git"
+SRCREV = "facb199f3eda902360f9e1d5271372b7e54febe1"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libeigen glog"
+
+inherit cmake
+
+# Only a static library and headers are created
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-dev += "${libdir}/cmake/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest-2.10.2/fix-cmake-install.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest-2.10.2/fix-cmake-install.patch
new file mode 100644
index 0000000..0feafef
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest-2.10.2/fix-cmake-install.patch
@@ -0,0 +1,17 @@
+Description: install cmake files into /usr/lib/cmake/cpprestsdk
+Author: Gianfranco Costamagna <locutusofborg@debian.org>
+Upstream-Status: https://github.com/Microsoft/cpprestsdk/pull/737
+Forwarded: https://github.com/Microsoft/cpprestsdk/pull/737
+Last-Update: 2018-04-19
+
+--- cpprest-2.10.2.orig/CMakeLists.txt
++++ cpprest-2.10.2/CMakeLists.txt
+@@ -18,7 +18,7 @@ enable_testing()
+ set(WERROR ON CACHE BOOL "Treat Warnings as Errors.")
+ set(CPPREST_EXCLUDE_WEBSOCKETS OFF CACHE BOOL "Exclude websockets functionality.")
+ set(CPPREST_EXCLUDE_COMPRESSION OFF CACHE BOOL "Exclude compression functionality.")
+-set(CPPREST_EXPORT_DIR lib/cpprestsdk CACHE STRING "Directory to install CMake config files.")
++set(CPPREST_EXPORT_DIR lib/cmake/cpprestsdk CACHE STRING "Directory to install CMake config files.")
+ set(CPPREST_INSTALL_HEADERS ON CACHE BOOL "Install header files.")
+ set(CPPREST_INSTALL ON CACHE BOOL "Add install commands.")
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb
new file mode 100644
index 0000000..2ba6fc6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design."
+SECTION = "libs/network"
+HOMEPAGE = "https://github.com/Microsoft/cpprestsdk/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/../license.txt;md5=a2e15b954769218ff912468eecd6a02f"
+DEPENDS = "openssl websocketpp zlib boost"
+
+SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master"
+
+SRC_URI += "file://fix-cmake-install.patch"
+
+# tag 2.10.2
+SRCREV= "fea848e2a77563cf2a6f28f8eab396fd6e787fbf"
+
+S = "${WORKDIR}/git/Release"
+
+inherit cmake
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/dos2unix/dos2unix_7.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/dos2unix/dos2unix_7.3.4.bb
deleted file mode 100644
index abf7d1c..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/dos2unix/dos2unix_7.3.4.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Convert text file line endings between CRLF and LF"
-DESCRIPTION = "The Dos2unix package includes utilities dos2unix and \
-unix2dos to convert plain text files in DOS or Mac format to Unix \
-format and vice versa."
-HOMEPAGE = "http://waterlan.home.xs4all.nl/dos2unix.html"
-SECTION = "support"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=1b78fca784db24f4a40e30b300787f3f"
-
-SRC_URI = "git://git.code.sf.net/p/dos2unix/dos2unix"
-
-# Release 7.3.4
-SRCREV = "8381ba4e1c4cd5ce98ebd9c24726d51cb203cde0"
-
-S = "${WORKDIR}/git/dos2unix"
-
-inherit gettext perlnative
-
-# The dos2unix NLS relies on po4a-native, while po4a recipe is
-# provided by meta-perl layer, so make it optional here, you
-# need have meta-perl in bblayers.conf before enabling nls in
-# PACKAGECONFIG.
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[nls] = "ENABLE_NLS=1,ENABLE_NLS=,po4a-native"
-
-EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS} LDFLAGS_USER='${LDFLAGS}'"
-EXTRA_OEMAKE_class-native = "ENABLE_NLS="
-
-do_install () {
-    oe_runmake DESTDIR="${D}${base_prefix}" install
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/dos2unix/dos2unix_7.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/dos2unix/dos2unix_7.4.0.bb
new file mode 100644
index 0000000..8d3c578
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/dos2unix/dos2unix_7.4.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Convert text file line endings between CRLF and LF"
+DESCRIPTION = "The Dos2unix package includes utilities dos2unix and \
+unix2dos to convert plain text files in DOS or Mac format to Unix \
+format and vice versa."
+HOMEPAGE = "http://waterlan.home.xs4all.nl/dos2unix.html"
+SECTION = "support"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=1b78fca784db24f4a40e30b300787f3f"
+
+SRC_URI = "git://git.code.sf.net/p/dos2unix/dos2unix"
+
+# Release 7.4.0
+SRCREV = "1182533bde3c1fe65be2ead465e87671faa2c027"
+
+S = "${WORKDIR}/git/dos2unix"
+
+inherit gettext perlnative
+
+# The dos2unix NLS relies on po4a-native, while po4a recipe is
+# provided by meta-perl layer, so make it optional here, you
+# need have meta-perl in bblayers.conf before enabling nls in
+# PACKAGECONFIG.
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[nls] = "ENABLE_NLS=1,ENABLE_NLS=,po4a-native"
+
+EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS} LDFLAGS_USER='${LDFLAGS}'"
+EXTRA_OEMAKE_class-native = "ENABLE_NLS="
+
+do_install () {
+    oe_runmake DESTDIR="${D}${base_prefix}" install
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.2.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.2.2.bb
deleted file mode 100644
index 047f701..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.2.2.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "A PKCS"
-DESCRIPTION = "\
-Engine_pkcs11 is an implementation of an engine for OpenSSL. It can be \
-loaded using code, config file or command line and will pass any function \
-call by openssl to a PKCS cards and software for using smart cards in PKCS"
-HOMEPAGE = "https://github.com/OpenSC/engine_pkcs11"
-SECTION = "Development/Libraries"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://src/engine_pkcs11.h;startline=1;endline=26;md5=973a19f8a6105de047f2adfbbfc04c33"
-DEPENDS = "openssl libp11"
-
-SRC_URI = "git://github.com/OpenSC/engine_pkcs11.git"
-SRCREV = "132fcf2c8b319f9f4b2ebdc8dcb54ff496dc0519"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "\
-    --disable-static \
-    --libdir ${libdir}/engines \
-"
-
-do_install_append () {
-    rm -f ${D}${libdir}/engines/libpkcs11.la
-}
-
-FILES_${PN} += "${libdir}/engines/libpkcs11${SOLIBSDEV}"
-FILES_${PN}-dbg += "${libdir}/engines/.debug/"
-
-RDEPENDS_${PN} += "openssl libp11 opensc"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb
index 59b01b6..13eb794 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb
@@ -13,7 +13,7 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b8ba8e77bcda9a53fac0fe39fe957767"
 
-SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.4.2/source/${BPN}_${PV}.tar.gz"
+SRC_URI = "https://www.balabit.com/downloads/syslog-ng/open-source-edition/3.4.2/source/${BPN}_${PV}.tar.gz"
 
 inherit autotools pkgconfig
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.6.bb
deleted file mode 100644
index ed14e16..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.6.bb
+++ /dev/null
@@ -1,81 +0,0 @@
-DESCRIPTION = "FFTW"
-SECTION = "libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-SRC_URI = " \
-    http://www.fftw.org/fftw-${PV}-pl1.tar.gz \
-    file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \
-"
-SRC_URI[md5sum] = "682a0e78d6966ca37c7446d4ab4cc2a1"
-SRC_URI[sha256sum] = "1ef4aa8427d9785839bc767f3eb6a84fcb5e9a37c31ed77a04e7e047519a183d"
-
-S = "${WORKDIR}/fftw-${PV}-pl1"
-
-inherit autotools pkgconfig
-
-# we had multiple recipes in the past
-PROVIDES = "fftwl fftwf"
-
-EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-FFTW_NEON = "${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}"
-FFTW_NEON_class-native = ""
-
-do_configure() {
-    # configure fftw
-    rm -rf ${WORKDIR}/build-fftw
-	mkdir -p ${B}
-    cd ${B}
-    # full (re)configure
-    autotools_do_configure
-    mv ${B} ${WORKDIR}/build-fftw
-
-    # configure fftwl
-    rm -rf ${WORKDIR}/build-fftwl
-	mkdir -p ${B}
-    cd ${B}
-    # configure only
-    oe_runconf  --enable-long-double
-    mv ${B} ${WORKDIR}/build-fftwl 
-
-    # configure fftwf
-    rm -rf ${WORKDIR}/build-fftwf
-	mkdir -p ${B}
-    cd ${B}
-    # configure only
-    oe_runconf --enable-single ${FFTW_NEON}
-    mv ${B} ${WORKDIR}/build-fftwf
-}
-
-do_compile() {
-    for lib in fftw fftwl fftwf; do
-        cd ${WORKDIR}/build-$lib
-        autotools_do_compile
-    done
-}
-
-do_install() {
-    for lib in fftw fftwl fftwf; do
-        cd ${WORKDIR}/build-$lib
-        autotools_do_install
-    done
-}
-
-
-PACKAGES =+ "libfftw libfftwl libfftwf"
-FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*"
-FILES_libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*"
-FILES_libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*"
-
-PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf"
-FILES_fftw-wisdom = "${bindir}/fftw-wisdom"
-FILES_fftwl-wisdom = "${bindir}/fftwl-wisdom"
-FILES_fftwf-wisdom = "${bindir}/fftwf-wisdom"
-FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf"
-
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.7.bb
new file mode 100644
index 0000000..aae6ec9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.7.bb
@@ -0,0 +1,80 @@
+DESCRIPTION = "FFTW"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+SRC_URI = " \
+    http://www.fftw.org/fftw-${PV}.tar.gz \
+    file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \
+"
+SRC_URI[md5sum] = "0d5915d7d39b3253c1cc05030d79ac47"
+SRC_URI[sha256sum] = "3b609b7feba5230e8f6dd8d245ddbefac324c5a6ae4186947670d9ac2cd25573"
+
+inherit autotools pkgconfig
+
+# we had multiple recipes in the past
+PROVIDES = "fftwl fftwf"
+
+EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+FFTW_NEON = "${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}"
+FFTW_NEON_class-native = ""
+
+do_configure() {
+    # configure fftw
+    rm -rf ${WORKDIR}/build-fftw
+	mkdir -p ${B}
+    cd ${B}
+    # full (re)configure
+    autotools_do_configure
+    mv ${B} ${WORKDIR}/build-fftw
+
+    # configure fftwl
+    rm -rf ${WORKDIR}/build-fftwl
+	mkdir -p ${B}
+    cd ${B}
+    # configure only
+    oe_runconf  --enable-long-double
+    mv ${B} ${WORKDIR}/build-fftwl 
+
+    # configure fftwf
+    rm -rf ${WORKDIR}/build-fftwf
+	mkdir -p ${B}
+    cd ${B}
+    # configure only
+    oe_runconf --enable-single ${FFTW_NEON}
+    mv ${B} ${WORKDIR}/build-fftwf
+}
+
+do_compile() {
+    for lib in fftw fftwl fftwf; do
+        cd ${WORKDIR}/build-$lib
+        autotools_do_compile
+    done
+}
+
+do_install() {
+    for lib in fftw fftwl fftwf; do
+        cd ${WORKDIR}/build-$lib
+        autotools_do_install
+    done
+}
+
+
+PACKAGES =+ "libfftw libfftwl libfftwf"
+FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*"
+FILES_libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*"
+FILES_libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*"
+
+PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf"
+FILES_fftw-wisdom = "${bindir}/fftw-wisdom"
+FILES_fftwl-wisdom = "${bindir}/fftwl-wisdom"
+FILES_fftwf-wisdom = "${bindir}/fftwf-wisdom"
+FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf"
+
+FILES_${PN}-dev += "${libdir}/cmake"
+RDEPENDS_${PN}-dev = "libfftw libfftwl libfftwf"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-1.3-alsa_support-1.2.diff b/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-1.3-alsa_support-1.2.diff
deleted file mode 100644
index b3e4b7a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-1.3-alsa_support-1.2.diff
+++ /dev/null
@@ -1,6615 +0,0 @@
-Index: lang/usenglish/Makefile
-===================================================================
---- flite-1.3-release/lang/usenglish/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/lang/usenglish/Makefile	(.../release-1.2)	(revision 7)
-@@ -38,6 +38,7 @@
- DIRNAME=lang/usenglish
- BUILD_DIRS = 
- ALL_DIRS= 
-+include $(TOP)/config/config
- H = usenglish.h us_int_accent_cart.h us_int_tone_cart.h us_durz_cart.h \
-     us_ffeatures.h us_phrasing_cart.h us_text.h us_f0.h us_nums_cart.h
- SRCS = us_int_accent_cart.c us_int_tone_cart.c us_f0_model.c \
-@@ -45,7 +46,11 @@
-        us_phoneset.c us_ffeatures.c us_phrasing_cart.c \
-        us_gpos.c us_text.c us_expand.c us_postlex.c \
-        us_nums_cart.c us_aswd.c usenglish.c 
--OBJS = $(SRCS:.c=.o)
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- SCM=
- FILES = Makefile $(SCM) $(SRCS) $(H)
- LIBNAME = flite_usenglish
-Index: lang/cmu_us_kal/Makefile
-===================================================================
---- flite-1.3-release/lang/cmu_us_kal/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/lang/cmu_us_kal/Makefile	(.../release-1.2)	(revision 7)
-@@ -43,7 +43,12 @@
-        cmu_us_kal_lpc.c \
-        cmu_us_kal_res.c \
-        cmu_us_kal_residx.c
--OBJS = $(SRCS:.c=.o)
-+include $(TOP)/config/config
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- SCM=
- FILES = Makefile $(SCM) $(SRCS) $(H)
- LIBNAME = flite_cmu_us_kal
-Index: lang/cmu_us_kal16/Makefile
-===================================================================
---- flite-1.3-release/lang/cmu_us_kal16/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/lang/cmu_us_kal16/Makefile	(.../release-1.2)	(revision 7)
-@@ -44,7 +44,12 @@
-        cmu_us_kal16_lpc.c \
-        cmu_us_kal16_res.c \
-        cmu_us_kal16_residx.c
--OBJS = $(SRCS:.c=.o)
-+include $(TOP)/config/config
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- SCM=
- FILES = Makefile $(SCM) $(SRCS) $(H)
- LIBNAME = flite_cmu_us_kal16
-Index: lang/cmu_time_awb/Makefile
-===================================================================
---- flite-1.3-release/lang/cmu_time_awb/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/lang/cmu_time_awb/Makefile	(.../release-1.2)	(revision 7)
-@@ -45,7 +45,12 @@
- 	cmu_time_awb_mcep.c \
- 	cmu_time_awb_lpc.c \
- 	cmu_time_awb_lex_entry.c
--OBJS = $(SRCS:.c=.o)
-+include $(TOP)/config/config
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- SCM=
- FILES = Makefile $(SCM) $(SRCS) $(H)
- LIBNAME = flite_cmu_time_awb
-Index: lang/cmulex/Makefile
-===================================================================
---- flite-1.3-release/lang/cmulex/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/lang/cmulex/Makefile	(.../release-1.2)	(revision 7)
-@@ -38,13 +38,20 @@
- DIRNAME=lang/cmulex
- BUILD_DIRS = 
- ALL_DIRS= 
-+
- H = cmu_lts_model.h cmulex.h
- SRCS = cmu_lts_rules.c cmu_lts_model.c \
-        cmu_lex.c cmu_lex_entries.c cmu_lex_data.c
- LEX_DATA_INCLUDES = cmu_lex_data_raw.c cmu_lex_num_bytes.c \
-      cmu_lex_phones_huff_table.c cmu_lex_entries_huff_table.c
- 
--OBJS = $(SRCS:.c=.o)
-+include $(TOP)/config/config
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
-+
- SCRIPTS=make_cmulex  
- 
- SCM=
-Index: configure
-===================================================================
---- flite-1.3-release/configure	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/configure	(.../release-1.2)	(revision 7)
-@@ -1,324 +1,38 @@
- #! /bin/sh
-+
- # Guess values for system-dependent variables and create Makefiles.
--# Generated by GNU Autoconf 2.57.
-+# Generated automatically using autoconf version 2.13 
-+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
- #
--# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
--# Free Software Foundation, Inc.
- # This configure script is free software; the Free Software Foundation
- # gives unlimited permission to copy, distribute and modify it.
--## --------------------- ##
--## M4sh Initialization.  ##
--## --------------------- ##
- 
--# Be Bourne compatible
--if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
--  emulate sh
--  NULLCMD=:
--  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
--  # is contrary to our usage.  Disable this feature.
--  alias -g '${1+"$@"}'='"$@"'
--elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
--  set -o posix
--fi
--
--# Support unset when possible.
--if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
--  as_unset=unset
--else
--  as_unset=false
--fi
--
--
--# Work around bugs in pre-3.0 UWIN ksh.
--$as_unset ENV MAIL MAILPATH
--PS1='$ '
--PS2='> '
--PS4='+ '
--
--# NLS nuisances.
--for as_var in \
--  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
--  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
--  LC_TELEPHONE LC_TIME
--do
--  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
--    eval $as_var=C; export $as_var
--  else
--    $as_unset $as_var
--  fi
--done
--
--# Required to use basename.
--if expr a : '\(a\)' >/dev/null 2>&1; then
--  as_expr=expr
--else
--  as_expr=false
--fi
--
--if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
--  as_basename=basename
--else
--  as_basename=false
--fi
--
--
--# Name of the executable.
--as_me=`$as_basename "$0" ||
--$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
--	 X"$0" : 'X\(//\)$' \| \
--	 X"$0" : 'X\(/\)$' \| \
--	 .     : '\(.\)' 2>/dev/null ||
--echo X/"$0" |
--    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
--  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
--  	  /^X\/\(\/\).*/{ s//\1/; q; }
--  	  s/.*/./; q'`
--
--
--# PATH needs CR, and LINENO needs CR and PATH.
--# Avoid depending upon Character Ranges.
--as_cr_letters='abcdefghijklmnopqrstuvwxyz'
--as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
--as_cr_Letters=$as_cr_letters$as_cr_LETTERS
--as_cr_digits='0123456789'
--as_cr_alnum=$as_cr_Letters$as_cr_digits
--
--# The user is always right.
--if test "${PATH_SEPARATOR+set}" != set; then
--  echo "#! /bin/sh" >conf$$.sh
--  echo  "exit 0"   >>conf$$.sh
--  chmod +x conf$$.sh
--  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
--    PATH_SEPARATOR=';'
--  else
--    PATH_SEPARATOR=:
--  fi
--  rm -f conf$$.sh
--fi
--
--
--  as_lineno_1=$LINENO
--  as_lineno_2=$LINENO
--  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
--  test "x$as_lineno_1" != "x$as_lineno_2" &&
--  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
--  # Find who we are.  Look in the path if we contain no path at all
--  # relative or not.
--  case $0 in
--    *[\\/]* ) as_myself=$0 ;;
--    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
--done
--
--       ;;
--  esac
--  # We did not find ourselves, most probably we were run as `sh COMMAND'
--  # in which case we are not to be found in the path.
--  if test "x$as_myself" = x; then
--    as_myself=$0
--  fi
--  if test ! -f "$as_myself"; then
--    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
--   { (exit 1); exit 1; }; }
--  fi
--  case $CONFIG_SHELL in
--  '')
--    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for as_base in sh bash ksh sh5; do
--	 case $as_dir in
--	 /*)
--	   if ("$as_dir/$as_base" -c '
--  as_lineno_1=$LINENO
--  as_lineno_2=$LINENO
--  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
--  test "x$as_lineno_1" != "x$as_lineno_2" &&
--  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
--	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
--	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
--	     CONFIG_SHELL=$as_dir/$as_base
--	     export CONFIG_SHELL
--	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
--	   fi;;
--	 esac
--       done
--done
--;;
--  esac
--
--  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
--  # uniformly replaced by the line number.  The first 'sed' inserts a
--  # line-number line before each line; the second 'sed' does the real
--  # work.  The second script uses 'N' to pair each line-number line
--  # with the numbered line, and appends trailing '-' during
--  # substitution so that $LINENO is not a special case at line end.
--  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
--  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
--  sed '=' <$as_myself |
--    sed '
--      N
--      s,$,-,
--      : loop
--      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
--      t loop
--      s,-$,,
--      s,^['$as_cr_digits']*\n,,
--    ' >$as_me.lineno &&
--  chmod +x $as_me.lineno ||
--    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
--   { (exit 1); exit 1; }; }
--
--  # Don't try to exec as it changes $[0], causing all sort of problems
--  # (the dirname of $[0] is not the place where we might find the
--  # original and so on.  Autoconf is especially sensible to this).
--  . ./$as_me.lineno
--  # Exit status is that of the last command.
--  exit
--}
--
--
--case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
--  *c*,-n*) ECHO_N= ECHO_C='
--' ECHO_T='	' ;;
--  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
--  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
--esac
--
--if expr a : '\(a\)' >/dev/null 2>&1; then
--  as_expr=expr
--else
--  as_expr=false
--fi
--
--rm -f conf$$ conf$$.exe conf$$.file
--echo >conf$$.file
--if ln -s conf$$.file conf$$ 2>/dev/null; then
--  # We could just check for DJGPP; but this test a) works b) is more generic
--  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
--  if test -f conf$$.exe; then
--    # Don't use ln at all; we don't have any links
--    as_ln_s='cp -p'
--  else
--    as_ln_s='ln -s'
--  fi
--elif ln conf$$.file conf$$ 2>/dev/null; then
--  as_ln_s=ln
--else
--  as_ln_s='cp -p'
--fi
--rm -f conf$$ conf$$.exe conf$$.file
--
--if mkdir -p . 2>/dev/null; then
--  as_mkdir_p=:
--else
--  as_mkdir_p=false
--fi
--
--as_executable_p="test -f"
--
--# Sed expression to map a string onto a valid CPP name.
--as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
--
--# Sed expression to map a string onto a valid variable name.
--as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
--
--
--# IFS
--# We need space, tab and new line, in precisely that order.
--as_nl='
--'
--IFS=" 	$as_nl"
--
--# CDPATH.
--$as_unset CDPATH
--
--
--# Name of the host.
--# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
--# so uname gets run too.
--ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
--
--exec 6>&1
--
--#
--# Initializations.
--#
-+# Defaults:
-+ac_help=
- ac_default_prefix=/usr/local
--ac_config_libobj_dir=.
--cross_compiling=no
--subdirs=
--MFLAGS=
--MAKEFLAGS=
--SHELL=${CONFIG_SHELL-/bin/sh}
-+# Any additions from configure.in:
-+ac_help="$ac_help
-+  --disable-shared     without shared library support"
-+ac_help="$ac_help
-+  --disable-sockets     without socket support"
-+ac_help="$ac_help
-+  --with-audio          with specific audio support (none linux freebsd etc) "
-+ac_help="$ac_help
-+  --with-lang           with language "
-+ac_help="$ac_help
-+  --with-vox            with vox "
-+ac_help="$ac_help
-+  --with-lex            with lexicon "
- 
--# Maximum number of lines to put in a shell here document.
--# This variable seems obsolete.  It should probably be removed, and
--# only ac_max_sed_lines should be used.
--: ${ac_max_here_lines=38}
--
--# Identity of this package.
--PACKAGE_NAME=
--PACKAGE_TARNAME=
--PACKAGE_VERSION=
--PACKAGE_STRING=
--PACKAGE_BUGREPORT=
--
--ac_unique_file="include/flite.h"
--# Factoring default headers for most tests.
--ac_includes_default="\
--#include <stdio.h>
--#if HAVE_SYS_TYPES_H
--# include <sys/types.h>
--#endif
--#if HAVE_SYS_STAT_H
--# include <sys/stat.h>
--#endif
--#if STDC_HEADERS
--# include <stdlib.h>
--# include <stddef.h>
--#else
--# if HAVE_STDLIB_H
--#  include <stdlib.h>
--# endif
--#endif
--#if HAVE_STRING_H
--# if !STDC_HEADERS && HAVE_MEMORY_H
--#  include <memory.h>
--# endif
--# include <string.h>
--#endif
--#if HAVE_STRINGS_H
--# include <strings.h>
--#endif
--#if HAVE_INTTYPES_H
--# include <inttypes.h>
--#else
--# if HAVE_STDINT_H
--#  include <stdint.h>
--# endif
--#endif
--#if HAVE_UNISTD_H
--# include <unistd.h>
--#endif"
--
--ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR ac_ct_AR TARGET_OS TARGET_CPU M68KCC LEXDEFS VOXDEFS HOST_OS HOST_CPU OTHERLIBS SHFLAGS MMAPTYPE STDIOTYPE CPP EGREP AUDIODRIVER AUDIODEFS AUDIOLIBS FL_LANG FL_VOX FL_LEX LIBOBJS LTLIBOBJS'
--ac_subst_files=''
--
- # Initialize some variables set by options.
--ac_init_help=
--ac_init_version=false
- # The variables have the same names as the options, with
- # dashes changed to underlines.
--cache_file=/dev/null
-+build=NONE
-+cache_file=./config.cache
- exec_prefix=NONE
-+host=NONE
- no_create=
-+nonopt=NONE
- no_recursion=
- prefix=NONE
- program_prefix=NONE
-@@ -327,15 +41,10 @@
- silent=
- site=
- srcdir=
-+target=NONE
- verbose=
- x_includes=NONE
- x_libraries=NONE
--
--# Installation directory options.
--# These are left unexpanded so users can "make install exec_prefix=/foo"
--# and all the variables that are supposed to be based on exec_prefix
--# by default will actually change.
--# Use braces instead of parens because sh, perl, etc. also accept them.
- bindir='${exec_prefix}/bin'
- sbindir='${exec_prefix}/sbin'
- libexecdir='${exec_prefix}/libexec'
-@@ -349,9 +58,17 @@
- infodir='${prefix}/info'
- mandir='${prefix}/man'
- 
-+# Initialize some other variables.
-+subdirs=
-+MFLAGS= MAKEFLAGS=
-+SHELL=${CONFIG_SHELL-/bin/sh}
-+# Maximum number of lines to put in a shell here document.
-+ac_max_here_lines=12
-+
- ac_prev=
- for ac_option
- do
-+
-   # If the previous option needs an argument, assign it.
-   if test -n "$ac_prev"; then
-     eval "$ac_prev=\$ac_option"
-@@ -359,59 +76,59 @@
-     continue
-   fi
- 
--  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-+  case "$ac_option" in
-+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-+  *) ac_optarg= ;;
-+  esac
- 
-   # Accept the important Cygnus configure options, so we can diagnose typos.
- 
--  case $ac_option in
-+  case "$ac_option" in
- 
-   -bindir | --bindir | --bindi | --bind | --bin | --bi)
-     ac_prev=bindir ;;
-   -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
--    bindir=$ac_optarg ;;
-+    bindir="$ac_optarg" ;;
- 
-   -build | --build | --buil | --bui | --bu)
--    ac_prev=build_alias ;;
-+    ac_prev=build ;;
-   -build=* | --build=* | --buil=* | --bui=* | --bu=*)
--    build_alias=$ac_optarg ;;
-+    build="$ac_optarg" ;;
- 
-   -cache-file | --cache-file | --cache-fil | --cache-fi \
-   | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-     ac_prev=cache_file ;;
-   -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-   | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
--    cache_file=$ac_optarg ;;
-+    cache_file="$ac_optarg" ;;
- 
--  --config-cache | -C)
--    cache_file=config.cache ;;
--
-   -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
-     ac_prev=datadir ;;
-   -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-   | --da=*)
--    datadir=$ac_optarg ;;
-+    datadir="$ac_optarg" ;;
- 
-   -disable-* | --disable-*)
--    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
--      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
--   { (exit 1); exit 1; }; }
--    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
--    eval "enable_$ac_feature=no" ;;
-+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
-+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-+    fi
-+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-+    eval "enable_${ac_feature}=no" ;;
- 
-   -enable-* | --enable-*)
--    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
--      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
--   { (exit 1); exit 1; }; }
--    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
--    case $ac_option in
--      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
-+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-+    fi
-+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-+    case "$ac_option" in
-+      *=*) ;;
-       *) ac_optarg=yes ;;
-     esac
--    eval "enable_$ac_feature='$ac_optarg'" ;;
-+    eval "enable_${ac_feature}='$ac_optarg'" ;;
- 
-   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-@@ -420,47 +137,95 @@
-   -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-   | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-   | --exec=* | --exe=* | --ex=*)
--    exec_prefix=$ac_optarg ;;
-+    exec_prefix="$ac_optarg" ;;
- 
-   -gas | --gas | --ga | --g)
-     # Obsolete; use --with-gas.
-     with_gas=yes ;;
- 
--  -help | --help | --hel | --he | -h)
--    ac_init_help=long ;;
--  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
--    ac_init_help=recursive ;;
--  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
--    ac_init_help=short ;;
-+  -help | --help | --hel | --he)
-+    # Omit some internal or obsolete options to make the list less imposing.
-+    # This message is too long to be a string in the A/UX 3.1 sh.
-+    cat << EOF
-+Usage: configure [options] [host]
-+Options: [defaults in brackets after descriptions]
-+Configuration:
-+  --cache-file=FILE       cache test results in FILE
-+  --help                  print this message
-+  --no-create             do not create output files
-+  --quiet, --silent       do not print \`checking...' messages
-+  --version               print the version of autoconf that created configure
-+Directory and file names:
-+  --prefix=PREFIX         install architecture-independent files in PREFIX
-+                          [$ac_default_prefix]
-+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-+                          [same as prefix]
-+  --bindir=DIR            user executables in DIR [EPREFIX/bin]
-+  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
-+  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
-+  --datadir=DIR           read-only architecture-independent data in DIR
-+                          [PREFIX/share]
-+  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
-+  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
-+                          [PREFIX/com]
-+  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
-+  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
-+  --includedir=DIR        C header files in DIR [PREFIX/include]
-+  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
-+  --infodir=DIR           info documentation in DIR [PREFIX/info]
-+  --mandir=DIR            man documentation in DIR [PREFIX/man]
-+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
-+  --program-prefix=PREFIX prepend PREFIX to installed program names
-+  --program-suffix=SUFFIX append SUFFIX to installed program names
-+  --program-transform-name=PROGRAM
-+                          run sed PROGRAM on installed program names
-+EOF
-+    cat << EOF
-+Host type:
-+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
-+  --host=HOST             configure for HOST [guessed]
-+  --target=TARGET         configure for TARGET [TARGET=HOST]
-+Features and packages:
-+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-+  --x-includes=DIR        X include files are in DIR
-+  --x-libraries=DIR       X library files are in DIR
-+EOF
-+    if test -n "$ac_help"; then
-+      echo "--enable and --with options recognized:$ac_help"
-+    fi
-+    exit 0 ;;
- 
-   -host | --host | --hos | --ho)
--    ac_prev=host_alias ;;
-+    ac_prev=host ;;
-   -host=* | --host=* | --hos=* | --ho=*)
--    host_alias=$ac_optarg ;;
-+    host="$ac_optarg" ;;
- 
-   -includedir | --includedir | --includedi | --included | --include \
-   | --includ | --inclu | --incl | --inc)
-     ac_prev=includedir ;;
-   -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-   | --includ=* | --inclu=* | --incl=* | --inc=*)
--    includedir=$ac_optarg ;;
-+    includedir="$ac_optarg" ;;
- 
-   -infodir | --infodir | --infodi | --infod | --info | --inf)
-     ac_prev=infodir ;;
-   -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
--    infodir=$ac_optarg ;;
-+    infodir="$ac_optarg" ;;
- 
-   -libdir | --libdir | --libdi | --libd)
-     ac_prev=libdir ;;
-   -libdir=* | --libdir=* | --libdi=* | --libd=*)
--    libdir=$ac_optarg ;;
-+    libdir="$ac_optarg" ;;
- 
-   -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-   | --libexe | --libex | --libe)
-     ac_prev=libexecdir ;;
-   -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-   | --libexe=* | --libex=* | --libe=*)
--    libexecdir=$ac_optarg ;;
-+    libexecdir="$ac_optarg" ;;
- 
-   -localstatedir | --localstatedir | --localstatedi | --localstated \
-   | --localstate | --localstat | --localsta | --localst \
-@@ -469,19 +234,19 @@
-   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-   | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-   | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
--    localstatedir=$ac_optarg ;;
-+    localstatedir="$ac_optarg" ;;
- 
-   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-     ac_prev=mandir ;;
-   -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
--    mandir=$ac_optarg ;;
-+    mandir="$ac_optarg" ;;
- 
-   -nfp | --nfp | --nf)
-     # Obsolete; use --without-fp.
-     with_fp=no ;;
- 
-   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
--  | --no-cr | --no-c | -n)
-+  | --no-cr | --no-c)
-     no_create=yes ;;
- 
-   -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-@@ -495,26 +260,26 @@
-   -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-   | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-   | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
--    oldincludedir=$ac_optarg ;;
-+    oldincludedir="$ac_optarg" ;;
- 
-   -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-     ac_prev=prefix ;;
-   -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
--    prefix=$ac_optarg ;;
-+    prefix="$ac_optarg" ;;
- 
-   -program-prefix | --program-prefix | --program-prefi | --program-pref \
-   | --program-pre | --program-pr | --program-p)
-     ac_prev=program_prefix ;;
-   -program-prefix=* | --program-prefix=* | --program-prefi=* \
-   | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
--    program_prefix=$ac_optarg ;;
-+    program_prefix="$ac_optarg" ;;
- 
-   -program-suffix | --program-suffix | --program-suffi | --program-suff \
-   | --program-suf | --program-su | --program-s)
-     ac_prev=program_suffix ;;
-   -program-suffix=* | --program-suffix=* | --program-suffi=* \
-   | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
--    program_suffix=$ac_optarg ;;
-+    program_suffix="$ac_optarg" ;;
- 
-   -program-transform-name | --program-transform-name \
-   | --program-transform-nam | --program-transform-na \
-@@ -531,7 +296,7 @@
-   | --program-transfo=* | --program-transf=* \
-   | --program-trans=* | --program-tran=* \
-   | --progr-tra=* | --program-tr=* | --program-t=*)
--    program_transform_name=$ac_optarg ;;
-+    program_transform_name="$ac_optarg" ;;
- 
-   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-   | -silent | --silent | --silen | --sile | --sil)
-@@ -541,7 +306,7 @@
-     ac_prev=sbindir ;;
-   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-   | --sbi=* | --sb=*)
--    sbindir=$ac_optarg ;;
-+    sbindir="$ac_optarg" ;;
- 
-   -sharedstatedir | --sharedstatedir | --sharedstatedi \
-   | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-@@ -552,57 +317,58 @@
-   | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-   | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-   | --sha=* | --sh=*)
--    sharedstatedir=$ac_optarg ;;
-+    sharedstatedir="$ac_optarg" ;;
- 
-   -site | --site | --sit)
-     ac_prev=site ;;
-   -site=* | --site=* | --sit=*)
--    site=$ac_optarg ;;
-+    site="$ac_optarg" ;;
- 
-   -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-     ac_prev=srcdir ;;
-   -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
--    srcdir=$ac_optarg ;;
-+    srcdir="$ac_optarg" ;;
- 
-   -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-   | --syscon | --sysco | --sysc | --sys | --sy)
-     ac_prev=sysconfdir ;;
-   -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-   | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
--    sysconfdir=$ac_optarg ;;
-+    sysconfdir="$ac_optarg" ;;
- 
-   -target | --target | --targe | --targ | --tar | --ta | --t)
--    ac_prev=target_alias ;;
-+    ac_prev=target ;;
-   -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
--    target_alias=$ac_optarg ;;
-+    target="$ac_optarg" ;;
- 
-   -v | -verbose | --verbose | --verbos | --verbo | --verb)
-     verbose=yes ;;
- 
--  -version | --version | --versio | --versi | --vers | -V)
--    ac_init_version=: ;;
-+  -version | --version | --versio | --versi | --vers)
-+    echo "configure generated by autoconf version 2.13"
-+    exit 0 ;;
- 
-   -with-* | --with-*)
--    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
--      { echo "$as_me: error: invalid package name: $ac_package" >&2
--   { (exit 1); exit 1; }; }
-+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
-+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-+    fi
-     ac_package=`echo $ac_package| sed 's/-/_/g'`
--    case $ac_option in
--      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-+    case "$ac_option" in
-+      *=*) ;;
-       *) ac_optarg=yes ;;
-     esac
--    eval "with_$ac_package='$ac_optarg'" ;;
-+    eval "with_${ac_package}='$ac_optarg'" ;;
- 
-   -without-* | --without-*)
--    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
--      { echo "$as_me: error: invalid package name: $ac_package" >&2
--   { (exit 1); exit 1; }; }
--    ac_package=`echo $ac_package | sed 's/-/_/g'`
--    eval "with_$ac_package=no" ;;
-+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
-+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-+    fi
-+    ac_package=`echo $ac_package| sed 's/-/_/g'`
-+    eval "with_${ac_package}=no" ;;
- 
-   --x)
-     # Obsolete; use --with-x.
-@@ -613,110 +379,99 @@
-     ac_prev=x_includes ;;
-   -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-   | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
--    x_includes=$ac_optarg ;;
-+    x_includes="$ac_optarg" ;;
- 
-   -x-libraries | --x-libraries | --x-librarie | --x-librari \
-   | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-     ac_prev=x_libraries ;;
-   -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
--    x_libraries=$ac_optarg ;;
-+    x_libraries="$ac_optarg" ;;
- 
--  -*) { echo "$as_me: error: unrecognized option: $ac_option
--Try \`$0 --help' for more information." >&2
--   { (exit 1); exit 1; }; }
-+  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
-     ;;
- 
--  *=*)
--    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
--    # Reject names that are not valid shell variable names.
--    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
--      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
--   { (exit 1); exit 1; }; }
--    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
--    eval "$ac_envvar='$ac_optarg'"
--    export $ac_envvar ;;
--
-   *)
--    # FIXME: should be removed in autoconf 3.0.
--    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
--    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
--      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
--    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
-+      echo "configure: warning: $ac_option: invalid host type" 1>&2
-+    fi
-+    if test "x$nonopt" != xNONE; then
-+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
-+    fi
-+    nonopt="$ac_option"
-     ;;
- 
-   esac
- done
- 
- if test -n "$ac_prev"; then
--  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
--  { echo "$as_me: error: missing argument to $ac_option" >&2
--   { (exit 1); exit 1; }; }
-+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
- fi
- 
--# Be sure to have absolute paths.
--for ac_var in exec_prefix prefix
--do
--  eval ac_val=$`echo $ac_var`
--  case $ac_val in
--    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
--    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
--   { (exit 1); exit 1; }; };;
--  esac
--done
-+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
- 
--# Be sure to have absolute paths.
--for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
--              localstatedir libdir includedir oldincludedir infodir mandir
-+# File descriptor usage:
-+# 0 standard input
-+# 1 file creation
-+# 2 errors and warnings
-+# 3 some systems may open it to /dev/tty
-+# 4 used on the Kubota Titan
-+# 6 checking for... messages and results
-+# 5 compiler messages saved in config.log
-+if test "$silent" = yes; then
-+  exec 6>/dev/null
-+else
-+  exec 6>&1
-+fi
-+exec 5>./config.log
-+
-+echo "\
-+This file contains any messages produced by compilers while
-+running configure, to aid debugging if configure makes a mistake.
-+" 1>&5
-+
-+# Strip out --no-create and --no-recursion so they do not pile up.
-+# Also quote any args containing shell metacharacters.
-+ac_configure_args=
-+for ac_arg
- do
--  eval ac_val=$`echo $ac_var`
--  case $ac_val in
--    [\\/$]* | ?:[\\/]* ) ;;
--    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
--   { (exit 1); exit 1; }; };;
-+  case "$ac_arg" in
-+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-+  | --no-cr | --no-c) ;;
-+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
-+  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
-   esac
- done
- 
--# There might be people who depend on the old broken behavior: `$host'
--# used to hold the argument of --host etc.
--# FIXME: To remove some day.
--build=$build_alias
--host=$host_alias
--target=$target_alias
-+# NLS nuisances.
-+# Only set these to C if already set.  These must not be set unconditionally
-+# because not all systems understand e.g. LANG=C (notably SCO).
-+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-+# Non-C LC_CTYPE values break the ctype check.
-+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
-+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
- 
--# FIXME: To remove some day.
--if test "x$host_alias" != x; then
--  if test "x$build_alias" = x; then
--    cross_compiling=maybe
--    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
--    If a cross compiler is detected then cross compile mode will be used." >&2
--  elif test "x$build_alias" != "x$host_alias"; then
--    cross_compiling=yes
--  fi
--fi
-+# confdefs.h avoids OS command line length limits that DEFS can exceed.
-+rm -rf conftest* confdefs.h
-+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-+echo > confdefs.h
- 
--ac_tool_prefix=
--test -n "$host_alias" && ac_tool_prefix=$host_alias-
-+# A filename unique to this package, relative to the directory that
-+# configure is in, which we can look for to find out if srcdir is correct.
-+ac_unique_file=include/flite.h
- 
--test "$silent" = yes && exec 6>/dev/null
--
--
- # Find the source files, if location was not specified.
- if test -z "$srcdir"; then
-   ac_srcdir_defaulted=yes
-   # Try the directory containing this script, then its parent.
--  ac_confdir=`(dirname "$0") 2>/dev/null ||
--$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
--         X"$0" : 'X\(//\)[^/]' \| \
--         X"$0" : 'X\(//\)$' \| \
--         X"$0" : 'X\(/\)' \| \
--         .     : '\(.\)' 2>/dev/null ||
--echo X"$0" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--  	  /^X\(\/\/\)$/{ s//\1/; q; }
--  	  /^X\(\/\).*/{ s//\1/; q; }
--  	  s/.*/./; q'`
-+  ac_prog=$0
-+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
-+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
-   srcdir=$ac_confdir
-   if test ! -r $srcdir/$ac_unique_file; then
-     srcdir=..
-@@ -726,441 +481,13 @@
- fi
- if test ! -r $srcdir/$ac_unique_file; then
-   if test "$ac_srcdir_defaulted" = yes; then
--    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
--   { (exit 1); exit 1; }; }
-+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
-   else
--    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
--   { (exit 1); exit 1; }; }
-+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
-   fi
- fi
--(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
--  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
--   { (exit 1); exit 1; }; }
--srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
--ac_env_build_alias_set=${build_alias+set}
--ac_env_build_alias_value=$build_alias
--ac_cv_env_build_alias_set=${build_alias+set}
--ac_cv_env_build_alias_value=$build_alias
--ac_env_host_alias_set=${host_alias+set}
--ac_env_host_alias_value=$host_alias
--ac_cv_env_host_alias_set=${host_alias+set}
--ac_cv_env_host_alias_value=$host_alias
--ac_env_target_alias_set=${target_alias+set}
--ac_env_target_alias_value=$target_alias
--ac_cv_env_target_alias_set=${target_alias+set}
--ac_cv_env_target_alias_value=$target_alias
--ac_env_CC_set=${CC+set}
--ac_env_CC_value=$CC
--ac_cv_env_CC_set=${CC+set}
--ac_cv_env_CC_value=$CC
--ac_env_CFLAGS_set=${CFLAGS+set}
--ac_env_CFLAGS_value=$CFLAGS
--ac_cv_env_CFLAGS_set=${CFLAGS+set}
--ac_cv_env_CFLAGS_value=$CFLAGS
--ac_env_LDFLAGS_set=${LDFLAGS+set}
--ac_env_LDFLAGS_value=$LDFLAGS
--ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
--ac_cv_env_LDFLAGS_value=$LDFLAGS
--ac_env_CPPFLAGS_set=${CPPFLAGS+set}
--ac_env_CPPFLAGS_value=$CPPFLAGS
--ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
--ac_cv_env_CPPFLAGS_value=$CPPFLAGS
--ac_env_CPP_set=${CPP+set}
--ac_env_CPP_value=$CPP
--ac_cv_env_CPP_set=${CPP+set}
--ac_cv_env_CPP_value=$CPP
-+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
- 
--#
--# Report the --help message.
--#
--if test "$ac_init_help" = "long"; then
--  # Omit some internal or obsolete options to make the list less imposing.
--  # This message is too long to be a string in the A/UX 3.1 sh.
--  cat <<_ACEOF
--\`configure' configures this package to adapt to many kinds of systems.
--
--Usage: $0 [OPTION]... [VAR=VALUE]...
--
--To assign environment variables (e.g., CC, CFLAGS...), specify them as
--VAR=VALUE.  See below for descriptions of some of the useful variables.
--
--Defaults for the options are specified in brackets.
--
--Configuration:
--  -h, --help              display this help and exit
--      --help=short        display options specific to this package
--      --help=recursive    display the short help of all the included packages
--  -V, --version           display version information and exit
--  -q, --quiet, --silent   do not print \`checking...' messages
--      --cache-file=FILE   cache test results in FILE [disabled]
--  -C, --config-cache      alias for \`--cache-file=config.cache'
--  -n, --no-create         do not create output files
--      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
--
--_ACEOF
--
--  cat <<_ACEOF
--Installation directories:
--  --prefix=PREFIX         install architecture-independent files in PREFIX
--                          [$ac_default_prefix]
--  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
--                          [PREFIX]
--
--By default, \`make install' will install all the files in
--\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
--an installation prefix other than \`$ac_default_prefix' using \`--prefix',
--for instance \`--prefix=\$HOME'.
--
--For better control, use the options below.
--
--Fine tuning of the installation directories:
--  --bindir=DIR           user executables [EPREFIX/bin]
--  --sbindir=DIR          system admin executables [EPREFIX/sbin]
--  --libexecdir=DIR       program executables [EPREFIX/libexec]
--  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
--  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
--  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
--  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
--  --libdir=DIR           object code libraries [EPREFIX/lib]
--  --includedir=DIR       C header files [PREFIX/include]
--  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
--  --infodir=DIR          info documentation [PREFIX/info]
--  --mandir=DIR           man documentation [PREFIX/man]
--_ACEOF
--
--  cat <<\_ACEOF
--
--System types:
--  --build=BUILD     configure for building on BUILD [guessed]
--  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
--  --target=TARGET   configure for building compilers for TARGET [HOST]
--_ACEOF
--fi
--
--if test -n "$ac_init_help"; then
--
--  cat <<\_ACEOF
--
--Optional Features:
--  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
--  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
--  --disable-shared     without shared library support
--  --disable-sockets     without socket support
--
--Optional Packages:
--  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
--  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
--  --with-audio          with specific audio support (none linux freebsd etc)
--  --with-lang           with language
--  --with-vox            with vox
--  --with-lex            with lexicon
--
--Some influential environment variables:
--  CC          C compiler command
--  CFLAGS      C compiler flags
--  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
--              nonstandard directory <lib dir>
--  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
--              headers in a nonstandard directory <include dir>
--  CPP         C preprocessor
--
--Use these variables to override the choices made by `configure' or to help
--it to find libraries and programs with nonstandard names/locations.
--
--_ACEOF
--fi
--
--if test "$ac_init_help" = "recursive"; then
--  # If there are subdirs, report their specific --help.
--  ac_popdir=`pwd`
--  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
--    test -d $ac_dir || continue
--    ac_builddir=.
--
--if test "$ac_dir" != .; then
--  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
--  # A "../" for each directory in $ac_dir_suffix.
--  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
--else
--  ac_dir_suffix= ac_top_builddir=
--fi
--
--case $srcdir in
--  .)  # No --srcdir option.  We are building in place.
--    ac_srcdir=.
--    if test -z "$ac_top_builddir"; then
--       ac_top_srcdir=.
--    else
--       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
--    fi ;;
--  [\\/]* | ?:[\\/]* )  # Absolute path.
--    ac_srcdir=$srcdir$ac_dir_suffix;
--    ac_top_srcdir=$srcdir ;;
--  *) # Relative path.
--    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
--    ac_top_srcdir=$ac_top_builddir$srcdir ;;
--esac
--# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
--# absolute.
--ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
--ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
--ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
--ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
--
--    cd $ac_dir
--    # Check for guested configure; otherwise get Cygnus style configure.
--    if test -f $ac_srcdir/configure.gnu; then
--      echo
--      $SHELL $ac_srcdir/configure.gnu  --help=recursive
--    elif test -f $ac_srcdir/configure; then
--      echo
--      $SHELL $ac_srcdir/configure  --help=recursive
--    elif test -f $ac_srcdir/configure.ac ||
--           test -f $ac_srcdir/configure.in; then
--      echo
--      $ac_configure --help
--    else
--      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
--    fi
--    cd $ac_popdir
--  done
--fi
--
--test -n "$ac_init_help" && exit 0
--if $ac_init_version; then
--  cat <<\_ACEOF
--
--Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
--Free Software Foundation, Inc.
--This configure script is free software; the Free Software Foundation
--gives unlimited permission to copy, distribute and modify it.
--_ACEOF
--  exit 0
--fi
--exec 5>config.log
--cat >&5 <<_ACEOF
--This file contains any messages produced by compilers while
--running configure, to aid debugging if configure makes a mistake.
--
--It was created by $as_me, which was
--generated by GNU Autoconf 2.57.  Invocation command line was
--
--  $ $0 $@
--
--_ACEOF
--{
--cat <<_ASUNAME
--## --------- ##
--## Platform. ##
--## --------- ##
--
--hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
--uname -m = `(uname -m) 2>/dev/null || echo unknown`
--uname -r = `(uname -r) 2>/dev/null || echo unknown`
--uname -s = `(uname -s) 2>/dev/null || echo unknown`
--uname -v = `(uname -v) 2>/dev/null || echo unknown`
--
--/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
--/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
--
--/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
--/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
--/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
--hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
--/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
--/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
--/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
--
--_ASUNAME
--
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  echo "PATH: $as_dir"
--done
--
--} >&5
--
--cat >&5 <<_ACEOF
--
--
--## ----------- ##
--## Core tests. ##
--## ----------- ##
--
--_ACEOF
--
--
--# Keep a trace of the command line.
--# Strip out --no-create and --no-recursion so they do not pile up.
--# Strip out --silent because we don't want to record it for future runs.
--# Also quote any args containing shell meta-characters.
--# Make two passes to allow for proper duplicate-argument suppression.
--ac_configure_args=
--ac_configure_args0=
--ac_configure_args1=
--ac_sep=
--ac_must_keep_next=false
--for ac_pass in 1 2
--do
--  for ac_arg
--  do
--    case $ac_arg in
--    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
--    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
--    | -silent | --silent | --silen | --sile | --sil)
--      continue ;;
--    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
--      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
--    esac
--    case $ac_pass in
--    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
--    2)
--      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
--      if test $ac_must_keep_next = true; then
--        ac_must_keep_next=false # Got value, back to normal.
--      else
--        case $ac_arg in
--          *=* | --config-cache | -C | -disable-* | --disable-* \
--          | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
--          | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
--          | -with-* | --with-* | -without-* | --without-* | --x)
--            case "$ac_configure_args0 " in
--              "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
--            esac
--            ;;
--          -* ) ac_must_keep_next=true ;;
--        esac
--      fi
--      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
--      # Get rid of the leading space.
--      ac_sep=" "
--      ;;
--    esac
--  done
--done
--$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
--$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
--
--# When interrupted or exit'd, cleanup temporary files, and complete
--# config.log.  We remove comments because anyway the quotes in there
--# would cause problems or look ugly.
--# WARNING: Be sure not to use single quotes in there, as some shells,
--# such as our DU 5.0 friend, will then `close' the trap.
--trap 'exit_status=$?
--  # Save into config.log some information that might help in debugging.
--  {
--    echo
--
--    cat <<\_ASBOX
--## ---------------- ##
--## Cache variables. ##
--## ---------------- ##
--_ASBOX
--    echo
--    # The following way of writing the cache mishandles newlines in values,
--{
--  (set) 2>&1 |
--    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
--    *ac_space=\ *)
--      sed -n \
--        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
--    	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
--      ;;
--    *)
--      sed -n \
--        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
--      ;;
--    esac;
--}
--    echo
--
--    cat <<\_ASBOX
--## ----------------- ##
--## Output variables. ##
--## ----------------- ##
--_ASBOX
--    echo
--    for ac_var in $ac_subst_vars
--    do
--      eval ac_val=$`echo $ac_var`
--      echo "$ac_var='"'"'$ac_val'"'"'"
--    done | sort
--    echo
--
--    if test -n "$ac_subst_files"; then
--      cat <<\_ASBOX
--## ------------- ##
--## Output files. ##
--## ------------- ##
--_ASBOX
--      echo
--      for ac_var in $ac_subst_files
--      do
--	eval ac_val=$`echo $ac_var`
--        echo "$ac_var='"'"'$ac_val'"'"'"
--      done | sort
--      echo
--    fi
--
--    if test -s confdefs.h; then
--      cat <<\_ASBOX
--## ----------- ##
--## confdefs.h. ##
--## ----------- ##
--_ASBOX
--      echo
--      sed "/^$/d" confdefs.h | sort
--      echo
--    fi
--    test "$ac_signal" != 0 &&
--      echo "$as_me: caught signal $ac_signal"
--    echo "$as_me: exit $exit_status"
--  } >&5
--  rm -f core core.* *.core &&
--  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
--    exit $exit_status
--     ' 0
--for ac_signal in 1 2 13 15; do
--  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
--done
--ac_signal=0
--
--# confdefs.h avoids OS command line length limits that DEFS can exceed.
--rm -rf conftest* confdefs.h
--# AIX cpp loses on an empty file, so make sure it contains at least a newline.
--echo >confdefs.h
--
--# Predefined preprocessor variables.
--
--cat >>confdefs.h <<_ACEOF
--#define PACKAGE_NAME "$PACKAGE_NAME"
--_ACEOF
--
--
--cat >>confdefs.h <<_ACEOF
--#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
--_ACEOF
--
--
--cat >>confdefs.h <<_ACEOF
--#define PACKAGE_VERSION "$PACKAGE_VERSION"
--_ACEOF
--
--
--cat >>confdefs.h <<_ACEOF
--#define PACKAGE_STRING "$PACKAGE_STRING"
--_ACEOF
--
--
--cat >>confdefs.h <<_ACEOF
--#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
--_ACEOF
--
--
--# Let the site file select an alternate cache file if it wants to.
- # Prefer explicitly selected file to automatically selected ones.
- if test -z "$CONFIG_SITE"; then
-   if test "x$prefix" != xNONE; then
-@@ -1171,106 +498,42 @@
- fi
- for ac_site_file in $CONFIG_SITE; do
-   if test -r "$ac_site_file"; then
--    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
--echo "$as_me: loading site script $ac_site_file" >&6;}
--    sed 's/^/| /' "$ac_site_file" >&5
-+    echo "loading site script $ac_site_file"
-     . "$ac_site_file"
-   fi
- done
- 
- if test -r "$cache_file"; then
--  # Some versions of bash will fail to source /dev/null (special
--  # files actually), so we avoid doing that.
--  if test -f "$cache_file"; then
--    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
--echo "$as_me: loading cache $cache_file" >&6;}
--    case $cache_file in
--      [\\/]* | ?:[\\/]* ) . $cache_file;;
--      *)                      . ./$cache_file;;
--    esac
--  fi
-+  echo "loading cache $cache_file"
-+  . $cache_file
- else
--  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
--echo "$as_me: creating cache $cache_file" >&6;}
--  >$cache_file
-+  echo "creating cache $cache_file"
-+  > $cache_file
- fi
- 
--# Check that the precious variables saved in the cache have kept the same
--# value.
--ac_cache_corrupted=false
--for ac_var in `(set) 2>&1 |
--               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
--  eval ac_old_set=\$ac_cv_env_${ac_var}_set
--  eval ac_new_set=\$ac_env_${ac_var}_set
--  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
--  eval ac_new_val="\$ac_env_${ac_var}_value"
--  case $ac_old_set,$ac_new_set in
--    set,)
--      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
--echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
--      ac_cache_corrupted=: ;;
--    ,set)
--      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
--echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
--      ac_cache_corrupted=: ;;
--    ,);;
--    *)
--      if test "x$ac_old_val" != "x$ac_new_val"; then
--        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
--echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
--        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
--echo "$as_me:   former value:  $ac_old_val" >&2;}
--        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
--echo "$as_me:   current value: $ac_new_val" >&2;}
--        ac_cache_corrupted=:
--      fi;;
--  esac
--  # Pass precious variables to config.status.
--  if test "$ac_new_set" = set; then
--    case $ac_new_val in
--    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
--      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
--    *) ac_arg=$ac_var=$ac_new_val ;;
--    esac
--    case " $ac_configure_args " in
--      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
--      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
--    esac
--  fi
--done
--if $ac_cache_corrupted; then
--  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
--echo "$as_me: error: changes in the environment can compromise the build" >&2;}
--  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
--echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
--   { (exit 1); exit 1; }; }
--fi
--
- ac_ext=c
-+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+cross_compiling=$ac_cv_prog_cc_cross
- 
-+ac_exeext=
-+ac_objext=o
-+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-+  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
-+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-+    ac_n= ac_c='
-+' ac_t='	'
-+  else
-+    ac_n=-n ac_c= ac_t=
-+  fi
-+else
-+  ac_n= ac_c='\c' ac_t=
-+fi
- 
- 
- 
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
- ac_aux_dir=
- for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-   if test -f $ac_dir/install-sh; then
-@@ -1281,740 +544,312 @@
-     ac_aux_dir=$ac_dir
-     ac_install_sh="$ac_aux_dir/install.sh -c"
-     break
--  elif test -f $ac_dir/shtool; then
--    ac_aux_dir=$ac_dir
--    ac_install_sh="$ac_aux_dir/shtool install -c"
--    break
-   fi
- done
- if test -z "$ac_aux_dir"; then
--  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
--echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
--   { (exit 1); exit 1; }; }
-+  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
- fi
--ac_config_guess="$SHELL $ac_aux_dir/config.guess"
--ac_config_sub="$SHELL $ac_aux_dir/config.sub"
--ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-+ac_config_guess=$ac_aux_dir/config.guess
-+ac_config_sub=$ac_aux_dir/config.sub
-+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
- 
--# Make sure we can run config.sub.
--$ac_config_sub sun4 >/dev/null 2>&1 ||
--  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
--echo "$as_me: error: cannot run $ac_config_sub" >&2;}
--   { (exit 1); exit 1; }; }
- 
--echo "$as_me:$LINENO: checking build system type" >&5
--echo $ECHO_N "checking build system type... $ECHO_C" >&6
--if test "${ac_cv_build+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  ac_cv_build_alias=$build_alias
--test -z "$ac_cv_build_alias" &&
--  ac_cv_build_alias=`$ac_config_guess`
--test -z "$ac_cv_build_alias" &&
--  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
--echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
--   { (exit 1); exit 1; }; }
--ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
--  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
--echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
--   { (exit 1); exit 1; }; }
-+# Do some error checking and defaulting for the host and target type.
-+# The inputs are:
-+#    configure --host=HOST --target=TARGET --build=BUILD NONOPT
-+#
-+# The rules are:
-+# 1. You are not allowed to specify --host, --target, and nonopt at the
-+#    same time.
-+# 2. Host defaults to nonopt.
-+# 3. If nonopt is not specified, then host defaults to the current host,
-+#    as determined by config.guess.
-+# 4. Target and build default to nonopt.
-+# 5. If nonopt is not specified, then target and build default to host.
- 
-+# The aliases save the names the user supplied, while $host etc.
-+# will get canonicalized.
-+case $host---$target---$nonopt in
-+NONE---*---* | *---NONE---* | *---*---NONE) ;;
-+*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-+esac
-+
-+
-+# Make sure we can run config.sub.
-+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
- fi
--echo "$as_me:$LINENO: result: $ac_cv_build" >&5
--echo "${ECHO_T}$ac_cv_build" >&6
--build=$ac_cv_build
--build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
--build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
--build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
- 
-+echo $ac_n "checking host system type""... $ac_c" 1>&6
-+echo "configure:585: checking host system type" >&5
- 
--echo "$as_me:$LINENO: checking host system type" >&5
--echo $ECHO_N "checking host system type... $ECHO_C" >&6
--if test "${ac_cv_host+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  ac_cv_host_alias=$host_alias
--test -z "$ac_cv_host_alias" &&
--  ac_cv_host_alias=$ac_cv_build_alias
--ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
--  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
--echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
--   { (exit 1); exit 1; }; }
-+host_alias=$host
-+case "$host_alias" in
-+NONE)
-+  case $nonopt in
-+  NONE)
-+    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
-+    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
-+    fi ;;
-+  *) host_alias=$nonopt ;;
-+  esac ;;
-+esac
- 
--fi
--echo "$as_me:$LINENO: result: $ac_cv_host" >&5
--echo "${ECHO_T}$ac_cv_host" >&6
--host=$ac_cv_host
--host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
--host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
--host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-+echo "$ac_t""$host" 1>&6
- 
-+echo $ac_n "checking target system type""... $ac_c" 1>&6
-+echo "configure:606: checking target system type" >&5
- 
--echo "$as_me:$LINENO: checking target system type" >&5
--echo $ECHO_N "checking target system type... $ECHO_C" >&6
--if test "${ac_cv_target+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  ac_cv_target_alias=$target_alias
--test "x$ac_cv_target_alias" = "x" &&
--  ac_cv_target_alias=$ac_cv_host_alias
--ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
--  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
--echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
--   { (exit 1); exit 1; }; }
-+target_alias=$target
-+case "$target_alias" in
-+NONE)
-+  case $nonopt in
-+  NONE) target_alias=$host_alias ;;
-+  *) target_alias=$nonopt ;;
-+  esac ;;
-+esac
- 
--fi
--echo "$as_me:$LINENO: result: $ac_cv_target" >&5
--echo "${ECHO_T}$ac_cv_target" >&6
--target=$ac_cv_target
--target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
--target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
--target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-+target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-+target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-+target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-+target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-+echo "$ac_t""$target" 1>&6
- 
-+echo $ac_n "checking build system type""... $ac_c" 1>&6
-+echo "configure:624: checking build system type" >&5
- 
--# The aliases save the names the user supplied, while $host etc.
--# will get canonicalized.
--test -n "$target_alias" &&
-+build_alias=$build
-+case "$build_alias" in
-+NONE)
-+  case $nonopt in
-+  NONE) build_alias=$host_alias ;;
-+  *) build_alias=$nonopt ;;
-+  esac ;;
-+esac
-+
-+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-+echo "$ac_t""$build" 1>&6
-+
-+test "$host_alias" != "$target_alias" &&
-   test "$program_prefix$program_suffix$program_transform_name" = \
-     NONENONEs,x,x, &&
-   program_prefix=${target_alias}-
--ac_ext=c
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
--if test -n "$ac_tool_prefix"; then
--  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
--set dummy ${ac_tool_prefix}gcc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  if test -n "$CC"; then
--  ac_cv_prog_CC="$CC" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_CC="${ac_tool_prefix}gcc"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
- 
--fi
--fi
--CC=$ac_cv_prog_CC
--if test -n "$CC"; then
--  echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
--else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
--fi
--
--fi
--if test -z "$ac_cv_prog_CC"; then
--  ac_ct_CC=$CC
--  # Extract the first word of "gcc", so it can be a program name with args.
-+# Extract the first word of "gcc", so it can be a program name with args.
- set dummy gcc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-+echo "configure:649: checking for $ac_word" >&5
-+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  if test -n "$ac_ct_CC"; then
--  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_ac_ct_CC="gcc"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
--
--fi
--fi
--ac_ct_CC=$ac_cv_prog_ac_ct_CC
--if test -n "$ac_ct_CC"; then
--  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6
--else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
--fi
--
--  CC=$ac_ct_CC
--else
--  CC="$ac_cv_prog_CC"
--fi
--
--if test -z "$CC"; then
--  if test -n "$ac_tool_prefix"; then
--  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
--set dummy ${ac_tool_prefix}cc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
-   if test -n "$CC"; then
-   ac_cv_prog_CC="$CC" # Let the user override the test.
- else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_CC="${ac_tool_prefix}cc"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
--
-+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-+  ac_dummy="$PATH"
-+  for ac_dir in $ac_dummy; do
-+    test -z "$ac_dir" && ac_dir=.
-+    if test -f $ac_dir/$ac_word; then
-+      ac_cv_prog_CC="gcc"
-+      break
-+    fi
-+  done
-+  IFS="$ac_save_ifs"
- fi
- fi
--CC=$ac_cv_prog_CC
-+CC="$ac_cv_prog_CC"
- if test -n "$CC"; then
--  echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
-+  echo "$ac_t""$CC" 1>&6
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  echo "$ac_t""no" 1>&6
- fi
- 
--fi
--if test -z "$ac_cv_prog_CC"; then
--  ac_ct_CC=$CC
--  # Extract the first word of "cc", so it can be a program name with args.
--set dummy cc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  if test -n "$ac_ct_CC"; then
--  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_ac_ct_CC="cc"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
--
--fi
--fi
--ac_ct_CC=$ac_cv_prog_ac_ct_CC
--if test -n "$ac_ct_CC"; then
--  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6
--else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
--fi
--
--  CC=$ac_ct_CC
--else
--  CC="$ac_cv_prog_CC"
--fi
--
--fi
- if test -z "$CC"; then
-   # Extract the first word of "cc", so it can be a program name with args.
- set dummy cc; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-+echo "configure:679: checking for $ac_word" >&5
-+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
-   if test -n "$CC"; then
-   ac_cv_prog_CC="$CC" # Let the user override the test.
- else
-+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-   ac_prog_rejected=no
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
--       ac_prog_rejected=yes
--       continue
--     fi
--    ac_cv_prog_CC="cc"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
--
-+  ac_dummy="$PATH"
-+  for ac_dir in $ac_dummy; do
-+    test -z "$ac_dir" && ac_dir=.
-+    if test -f $ac_dir/$ac_word; then
-+      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
-+        ac_prog_rejected=yes
-+	continue
-+      fi
-+      ac_cv_prog_CC="cc"
-+      break
-+    fi
-+  done
-+  IFS="$ac_save_ifs"
- if test $ac_prog_rejected = yes; then
-   # We found a bogon in the path, so make sure we never use it.
-   set dummy $ac_cv_prog_CC
-   shift
--  if test $# != 0; then
-+  if test $# -gt 0; then
-     # We chose a different compiler from the bogus one.
-     # However, it has the same basename, so the bogon will be chosen
-     # first if we set CC to just the basename; use the full file name.
-     shift
--    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-+    set dummy "$ac_dir/$ac_word" "$@"
-+    shift
-+    ac_cv_prog_CC="$@"
-   fi
- fi
- fi
- fi
--CC=$ac_cv_prog_CC
-+CC="$ac_cv_prog_CC"
- if test -n "$CC"; then
--  echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
-+  echo "$ac_t""$CC" 1>&6
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  echo "$ac_t""no" 1>&6
- fi
- 
--fi
--if test -z "$CC"; then
--  if test -n "$ac_tool_prefix"; then
--  for ac_prog in cl
--  do
--    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
--set dummy $ac_tool_prefix$ac_prog; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  if test -z "$CC"; then
-+    case "`uname -s`" in
-+    *win32* | *WIN32*)
-+      # Extract the first word of "cl", so it can be a program name with args.
-+set dummy cl; ac_word=$2
-+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-+echo "configure:730: checking for $ac_word" >&5
-+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
-   if test -n "$CC"; then
-   ac_cv_prog_CC="$CC" # Let the user override the test.
- else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
--
-+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-+  ac_dummy="$PATH"
-+  for ac_dir in $ac_dummy; do
-+    test -z "$ac_dir" && ac_dir=.
-+    if test -f $ac_dir/$ac_word; then
-+      ac_cv_prog_CC="cl"
-+      break
-+    fi
-+  done
-+  IFS="$ac_save_ifs"
- fi
- fi
--CC=$ac_cv_prog_CC
-+CC="$ac_cv_prog_CC"
- if test -n "$CC"; then
--  echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6
-+  echo "$ac_t""$CC" 1>&6
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  echo "$ac_t""no" 1>&6
- fi
--
--    test -n "$CC" && break
--  done
--fi
--if test -z "$CC"; then
--  ac_ct_CC=$CC
--  for ac_prog in cl
--do
--  # Extract the first word of "$ac_prog", so it can be a program name with args.
--set dummy $ac_prog; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  if test -n "$ac_ct_CC"; then
--  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_ac_ct_CC="$ac_prog"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
-+ ;;
-+    esac
-   fi
--done
--done
--
-+  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
- fi
--fi
--ac_ct_CC=$ac_cv_prog_ac_ct_CC
--if test -n "$ac_ct_CC"; then
--  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6
--else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
--fi
- 
--  test -n "$ac_ct_CC" && break
--done
-+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-+echo "configure:762: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
- 
--  CC=$ac_ct_CC
--fi
-+ac_ext=c
-+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+cross_compiling=$ac_cv_prog_cc_cross
- 
--fi
-+cat > conftest.$ac_ext << EOF
- 
-+#line 773 "configure"
-+#include "confdefs.h"
- 
--test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
--See \`config.log' for more details." >&5
--echo "$as_me: error: no acceptable C compiler found in \$PATH
--See \`config.log' for more details." >&2;}
--   { (exit 1); exit 1; }; }
--
--# Provide some information about the compiler.
--echo "$as_me:$LINENO:" \
--     "checking for C compiler version" >&5
--ac_compiler=`set X $ac_compile; echo $2`
--{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
--  (eval $ac_compiler --version </dev/null >&5) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }
--{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
--  (eval $ac_compiler -v </dev/null >&5) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }
--{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
--  (eval $ac_compiler -V </dev/null >&5) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }
--
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--
--int
--main ()
--{
--
--  ;
--  return 0;
--}
--_ACEOF
--ac_clean_files_save=$ac_clean_files
--ac_clean_files="$ac_clean_files a.out a.exe b.out"
--# Try to create an executable without -o first, disregard a.out.
--# It will help us diagnose broken compilers, and finding out an intuition
--# of exeext.
--echo "$as_me:$LINENO: checking for C compiler default output" >&5
--echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
--ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
--if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
--  (eval $ac_link_default) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; then
--  # Find the output, starting from the most likely.  This scheme is
--# not robust to junk in `.', hence go to wildcards (a.*) only as a last
--# resort.
--
--# Be careful to initialize this variable, since it used to be cached.
--# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
--ac_cv_exeext=
--# b.out is created by i960 compilers.
--for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
--do
--  test -f "$ac_file" || continue
--  case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
--        ;;
--    conftest.$ac_ext )
--        # This is the source file.
--        ;;
--    [ab].out )
--        # We found the default executable, but exeext='' is most
--        # certainly right.
--        break;;
--    *.* )
--        ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
--        # FIXME: I believe we export ac_cv_exeext for Libtool,
--        # but it would be cool to find out if it's true.  Does anybody
--        # maintain Libtool? --akim.
--        export ac_cv_exeext
--        break;;
--    * )
--        break;;
--  esac
--done
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
--See \`config.log' for more details." >&5
--echo "$as_me: error: C compiler cannot create executables
--See \`config.log' for more details." >&2;}
--   { (exit 77); exit 77; }; }
--fi
--
--ac_exeext=$ac_cv_exeext
--echo "$as_me:$LINENO: result: $ac_file" >&5
--echo "${ECHO_T}$ac_file" >&6
--
--# Check the compiler produces executables we can run.  If not, either
--# the compiler is broken, or we cross compile.
--echo "$as_me:$LINENO: checking whether the C compiler works" >&5
--echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
--# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
--# If not cross compiling, check that we can run a simple program.
--if test "$cross_compiling" != yes; then
--  if { ac_try='./$ac_file'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--    cross_compiling=no
-+main(){return(0);}
-+EOF
-+if { (eval echo configure:778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+  ac_cv_prog_cc_works=yes
-+  # If we can't run a trivial program, we are probably using a cross compiler.
-+  if (./conftest; exit) 2>/dev/null; then
-+    ac_cv_prog_cc_cross=no
-   else
--    if test "$cross_compiling" = maybe; then
--	cross_compiling=yes
--    else
--	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
--If you meant to cross compile, use \`--host'.
--See \`config.log' for more details." >&5
--echo "$as_me: error: cannot run C compiled programs.
--If you meant to cross compile, use \`--host'.
--See \`config.log' for more details." >&2;}
--   { (exit 1); exit 1; }; }
--    fi
-+    ac_cv_prog_cc_cross=yes
-   fi
-+else
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  ac_cv_prog_cc_works=no
- fi
--echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6
-+rm -fr conftest*
-+ac_ext=c
-+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+cross_compiling=$ac_cv_prog_cc_cross
- 
--rm -f a.out a.exe conftest$ac_cv_exeext b.out
--ac_clean_files=$ac_clean_files_save
--# Check the compiler produces executables we can run.  If not, either
--# the compiler is broken, or we cross compile.
--echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
--echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
--echo "$as_me:$LINENO: result: $cross_compiling" >&5
--echo "${ECHO_T}$cross_compiling" >&6
--
--echo "$as_me:$LINENO: checking for suffix of executables" >&5
--echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; then
--  # If both `conftest.exe' and `conftest' are `present' (well, observable)
--# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
--# work properly (i.e., refer to `conftest.exe'), while it won't with
--# `rm'.
--for ac_file in conftest.exe conftest conftest.*; do
--  test -f "$ac_file" || continue
--  case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
--    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
--          export ac_cv_exeext
--          break;;
--    * ) break;;
--  esac
--done
--else
--  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
--See \`config.log' for more details." >&5
--echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
--See \`config.log' for more details." >&2;}
--   { (exit 1); exit 1; }; }
-+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-+if test $ac_cv_prog_cc_works = no; then
-+  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
- fi
-+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-+echo "configure:804: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-+cross_compiling=$ac_cv_prog_cc_cross
- 
--rm -f conftest$ac_cv_exeext
--echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
--echo "${ECHO_T}$ac_cv_exeext" >&6
--
--rm -f conftest.$ac_ext
--EXEEXT=$ac_cv_exeext
--ac_exeext=$EXEEXT
--echo "$as_me:$LINENO: checking for suffix of object files" >&5
--echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
--if test "${ac_cv_objext+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-+echo "configure:809: checking whether we are using GNU C" >&5
-+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--
--int
--main ()
--{
--
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.o conftest.obj
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; then
--  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
--  case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
--    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
--       break;;
--  esac
--done
-+  cat > conftest.c <<EOF
-+#ifdef __GNUC__
-+  yes;
-+#endif
-+EOF
-+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:818: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-+  ac_cv_prog_gcc=yes
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
--See \`config.log' for more details." >&5
--echo "$as_me: error: cannot compute suffix of object files: cannot compile
--See \`config.log' for more details." >&2;}
--   { (exit 1); exit 1; }; }
-+  ac_cv_prog_gcc=no
- fi
--
--rm -f conftest.$ac_cv_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
--echo "${ECHO_T}$ac_cv_objext" >&6
--OBJEXT=$ac_cv_objext
--ac_objext=$OBJEXT
--echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
--echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
--if test "${ac_cv_c_compiler_gnu+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
- 
--int
--main ()
--{
--#ifndef __GNUC__
--       choke me
--#endif
-+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
- 
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  ac_compiler_gnu=yes
-+if test $ac_cv_prog_gcc = yes; then
-+  GCC=yes
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--ac_compiler_gnu=no
-+  GCC=
- fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--ac_cv_c_compiler_gnu=$ac_compiler_gnu
- 
--fi
--echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
--echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
--GCC=`test $ac_compiler_gnu = yes && echo yes`
--ac_test_CFLAGS=${CFLAGS+set}
--ac_save_CFLAGS=$CFLAGS
--CFLAGS="-g"
--echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
--echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
--if test "${ac_cv_prog_cc_g+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+ac_test_CFLAGS="${CFLAGS+set}"
-+ac_save_CFLAGS="$CFLAGS"
-+CFLAGS=
-+echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-+echo "configure:837: checking whether ${CC-cc} accepts -g" >&5
-+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--
--int
--main ()
--{
--
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+  echo 'void f(){}' > conftest.c
-+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
-   ac_cv_prog_cc_g=yes
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
-+  ac_cv_prog_cc_g=no
-+fi
-+rm -f conftest*
- 
--ac_cv_prog_cc_g=no
- fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--fi
--echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
--echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-+
-+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
--  CFLAGS=$ac_save_CFLAGS
-+  CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
-   if test "$GCC" = yes; then
-     CFLAGS="-g -O2"
-@@ -2028,304 +863,37 @@
-     CFLAGS=
-   fi
- fi
--echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
--echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
--if test "${ac_cv_prog_cc_stdc+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  ac_cv_prog_cc_stdc=no
--ac_save_CC=$CC
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <stdarg.h>
--#include <stdio.h>
--#include <sys/types.h>
--#include <sys/stat.h>
--/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
--struct buf { int x; };
--FILE * (*rcsopen) (struct buf *, struct stat *, int);
--static char *e (p, i)
--     char **p;
--     int i;
--{
--  return p[i];
--}
--static char *f (char * (*g) (char **, int), char **p, ...)
--{
--  char *s;
--  va_list v;
--  va_start (v,p);
--  s = g (p, va_arg (v,int));
--  va_end (v);
--  return s;
--}
--int test (int i, double x);
--struct s1 {int (*f) (int a);};
--struct s2 {int (*f) (double a);};
--int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
--int argc;
--char **argv;
--int
--main ()
--{
--return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
--  ;
--  return 0;
--}
--_ACEOF
--# Don't try gcc -ansi; that turns off useful extensions and
--# breaks some systems' header files.
--# AIX			-qlanglvl=ansi
--# Ultrix and OSF/1	-std1
--# HP-UX 10.20 and later	-Ae
--# HP-UX older versions	-Aa -D_HPUX_SOURCE
--# SVR4			-Xc -D__EXTENSIONS__
--for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
--do
--  CC="$ac_save_CC $ac_arg"
--  rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  ac_cv_prog_cc_stdc=$ac_arg
--break
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
- 
--fi
--rm -f conftest.$ac_objext
--done
--rm -f conftest.$ac_ext conftest.$ac_objext
--CC=$ac_save_CC
--
--fi
--
--case "x$ac_cv_prog_cc_stdc" in
--  x|xno)
--    echo "$as_me:$LINENO: result: none needed" >&5
--echo "${ECHO_T}none needed" >&6 ;;
--  *)
--    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
--echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
--    CC="$CC $ac_cv_prog_cc_stdc" ;;
--esac
--
--# Some people use a C++ compiler to compile C.  Since we use `exit',
--# in C++ we need to declare it.  In case someone uses the same compiler
--# for both compiling C and C++ we need to have the C++ compiler decide
--# the declaration of exit, since it's the most demanding environment.
--cat >conftest.$ac_ext <<_ACEOF
--#ifndef __cplusplus
--  choke me
--#endif
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  for ac_declaration in \
--   ''\
--   '#include <stdlib.h>' \
--   'extern "C" void std::exit (int) throw (); using std::exit;' \
--   'extern "C" void std::exit (int); using std::exit;' \
--   'extern "C" void exit (int) throw ();' \
--   'extern "C" void exit (int);' \
--   'void exit (int);'
--do
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <stdlib.h>
--$ac_declaration
--int
--main ()
--{
--exit (42);
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  :
-+# Extract the first word of "ranlib", so it can be a program name with args.
-+set dummy ranlib; ac_word=$2
-+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-+echo "configure:871: checking for $ac_word" >&5
-+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--continue
--fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--$ac_declaration
--int
--main ()
--{
--exit (42);
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  break
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--done
--rm -f conftest*
--if test -n "$ac_declaration"; then
--  echo '#ifdef __cplusplus' >>confdefs.h
--  echo $ac_declaration      >>confdefs.h
--  echo '#endif'             >>confdefs.h
--fi
--
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--ac_ext=c
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
--
--if test -n "$ac_tool_prefix"; then
--  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
--set dummy ${ac_tool_prefix}ranlib; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_RANLIB+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
-   if test -n "$RANLIB"; then
-   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
- else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
--
-+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-+  ac_dummy="$PATH"
-+  for ac_dir in $ac_dummy; do
-+    test -z "$ac_dir" && ac_dir=.
-+    if test -f $ac_dir/$ac_word; then
-+      ac_cv_prog_RANLIB="ranlib"
-+      break
-+    fi
-+  done
-+  IFS="$ac_save_ifs"
-+  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
- fi
- fi
--RANLIB=$ac_cv_prog_RANLIB
-+RANLIB="$ac_cv_prog_RANLIB"
- if test -n "$RANLIB"; then
--  echo "$as_me:$LINENO: result: $RANLIB" >&5
--echo "${ECHO_T}$RANLIB" >&6
-+  echo "$ac_t""$RANLIB" 1>&6
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  echo "$ac_t""no" 1>&6
- fi
- 
--fi
--if test -z "$ac_cv_prog_RANLIB"; then
--  ac_ct_RANLIB=$RANLIB
--  # Extract the first word of "ranlib", so it can be a program name with args.
--set dummy ranlib; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  if test -n "$ac_ct_RANLIB"; then
--  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_ac_ct_RANLIB="ranlib"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
--
--  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
--fi
--fi
--ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
--if test -n "$ac_ct_RANLIB"; then
--  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
--echo "${ECHO_T}$ac_ct_RANLIB" >&6
--else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
--fi
--
--  RANLIB=$ac_ct_RANLIB
--else
--  RANLIB="$ac_cv_prog_RANLIB"
--fi
--
- # Find a good install program.  We prefer a C program (faster),
- # so one script is as good as another.  But avoid the broken or
- # incompatible versions:
-@@ -2333,306 +901,158 @@
- # SunOS /usr/etc/install
- # IRIX /sbin/install
- # AIX /bin/install
--# AmigaOS /C/install, which installs bootblocks on floppy discs
- # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
- # AFS /usr/afsws/bin/install, which mishandles nonexistent args
- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
- # ./install, which can be erroneously created by make from ./install.sh.
--echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
--echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-+echo "configure:910: checking for a BSD compatible install" >&5
- if test -z "$INSTALL"; then
--if test "${ac_cv_path_install+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  # Account for people who put trailing slashes in PATH elements.
--case $as_dir/ in
--  ./ | .// | /cC/* | \
--  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
--  /usr/ucb/* ) ;;
--  *)
--    # OSF1 and SCO ODT 3.0 have their own names for install.
--    # Don't use installbsd from OSF since it installs stuff as root
--    # by default.
--    for ac_prog in ginstall scoinst install; do
--      for ac_exec_ext in '' $ac_executable_extensions; do
--        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
--          if test $ac_prog = install &&
--            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
--            # AIX install.  It has an incompatible calling convention.
--            :
--          elif test $ac_prog = install &&
--            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
--            # program-specific install script used by HP pwplus--don't use.
--            :
--          else
--            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
--            break 3
--          fi
--        fi
-+    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
-+  for ac_dir in $PATH; do
-+    # Account for people who put trailing slashes in PATH elements.
-+    case "$ac_dir/" in
-+    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
-+    *)
-+      # OSF1 and SCO ODT 3.0 have their own names for install.
-+      # Don't use installbsd from OSF since it installs stuff as root
-+      # by default.
-+      for ac_prog in ginstall scoinst install; do
-+        if test -f $ac_dir/$ac_prog; then
-+	  if test $ac_prog = install &&
-+            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
-+	    # AIX install.  It has an incompatible calling convention.
-+	    :
-+	  else
-+	    ac_cv_path_install="$ac_dir/$ac_prog -c"
-+	    break 2
-+	  fi
-+	fi
-       done
--    done
--    ;;
--esac
--done
-+      ;;
-+    esac
-+  done
-+  IFS="$ac_save_IFS"
- 
--
- fi
-   if test "${ac_cv_path_install+set}" = set; then
--    INSTALL=$ac_cv_path_install
-+    INSTALL="$ac_cv_path_install"
-   else
-     # As a last resort, use the slow shell script.  We don't cache a
-     # path for INSTALL within a source directory, because that will
-     # break other packages using the cache if that directory is
-     # removed, or if the path is relative.
--    INSTALL=$ac_install_sh
-+    INSTALL="$ac_install_sh"
-   fi
- fi
--echo "$as_me:$LINENO: result: $INSTALL" >&5
--echo "${ECHO_T}$INSTALL" >&6
-+echo "$ac_t""$INSTALL" 1>&6
- 
- # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
- # It thinks the first close brace ends the variable substitution.
- test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
- 
--test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
- 
- test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
- 
--if test -n "$ac_tool_prefix"; then
--  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-+if test $host != $build; then
-+  ac_tool_prefix=${host_alias}-
-+else
-+  ac_tool_prefix=
-+fi
-+
-+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
- set dummy ${ac_tool_prefix}ar; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_AR+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-+echo "configure:971: checking for $ac_word" >&5
-+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
-   if test -n "$AR"; then
-   ac_cv_prog_AR="$AR" # Let the user override the test.
- else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_AR="${ac_tool_prefix}ar"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
--
-+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-+  ac_dummy="$PATH"
-+  for ac_dir in $ac_dummy; do
-+    test -z "$ac_dir" && ac_dir=.
-+    if test -f $ac_dir/$ac_word; then
-+      ac_cv_prog_AR="${ac_tool_prefix}ar"
-+      break
-+    fi
-+  done
-+  IFS="$ac_save_ifs"
-+  test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
- fi
- fi
--AR=$ac_cv_prog_AR
-+AR="$ac_cv_prog_AR"
- if test -n "$AR"; then
--  echo "$as_me:$LINENO: result: $AR" >&5
--echo "${ECHO_T}$AR" >&6
-+  echo "$ac_t""$AR" 1>&6
- else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+  echo "$ac_t""no" 1>&6
- fi
- 
--fi
--if test -z "$ac_cv_prog_AR"; then
--  ac_ct_AR=$AR
--  # Extract the first word of "ar", so it can be a program name with args.
--set dummy ar; ac_word=$2
--echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
--if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  if test -n "$ac_ct_AR"; then
--  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for ac_exec_ext in '' $ac_executable_extensions; do
--  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
--    ac_cv_prog_ac_ct_AR="ar"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
--    break 2
--  fi
--done
--done
- 
--fi
--fi
--ac_ct_AR=$ac_cv_prog_ac_ct_AR
--if test -n "$ac_ct_AR"; then
--  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
--echo "${ECHO_T}$ac_ct_AR" >&6
--else
--  echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
--fi
- 
--  AR=$ac_ct_AR
-+echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-+echo "configure:1001: checking whether byte ordering is bigendian" >&5
-+if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  AR="$ac_cv_prog_AR"
--fi
--
--
--echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
--echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
--if test "${ac_cv_c_bigendian+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  # See if sys/param.h defines the BYTE_ORDER macro.
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
-+  ac_cv_c_bigendian=unknown
-+# See if sys/param.h defines the BYTE_ORDER macro.
-+cat > conftest.$ac_ext <<EOF
-+#line 1008 "configure"
-+#include "confdefs.h"
- #include <sys/types.h>
- #include <sys/param.h>
-+int main() {
- 
--int
--main ()
--{
- #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
-  bogus endian macros
- #endif
--
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+; return 0; }
-+EOF
-+if { (eval echo configure:1019: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+  rm -rf conftest*
-   # It does; now see whether it defined to BIG_ENDIAN or not.
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
-+cat > conftest.$ac_ext <<EOF
-+#line 1023 "configure"
-+#include "confdefs.h"
- #include <sys/types.h>
- #include <sys/param.h>
-+int main() {
- 
--int
--main ()
--{
- #if BYTE_ORDER != BIG_ENDIAN
-  not big endian
- #endif
--
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+; return 0; }
-+EOF
-+if { (eval echo configure:1034: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+  rm -rf conftest*
-   ac_cv_c_bigendian=yes
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--ac_cv_c_bigendian=no
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  ac_cv_c_bigendian=no
- fi
--rm -f conftest.$ac_objext conftest.$ac_ext
-+rm -f conftest*
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--# It does not; compile a test program.
--if test "$cross_compiling" = yes; then
--  # try to guess the endianness by grepping values into an object file
--  ac_cv_c_bigendian=unknown
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
--short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
--void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
--short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
--short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
--void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
--int
--main ()
--{
-- _ascii (); _ebcdic ();
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
--  ac_cv_c_bigendian=yes
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
- fi
--if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
--  if test "$ac_cv_c_bigendian" = unknown; then
--    ac_cv_c_bigendian=no
--  else
--    # finding both strings is unlikely to happen, but who knows?
--    ac_cv_c_bigendian=unknown
--  fi
--fi
-+rm -f conftest*
-+if test $ac_cv_c_bigendian = unknown; then
-+if test "$cross_compiling" = yes; then
-+    { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--else
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--int
--main ()
--{
-+  cat > conftest.$ac_ext <<EOF
-+#line 1054 "configure"
-+#include "confdefs.h"
-+main () {
-   /* Are we little or big endian?  From Harbison&Steele.  */
-   union
-   {
-@@ -2642,52 +1062,31 @@
-   u.l = 1;
-   exit (u.c[sizeof (long) - 1] == 1);
- }
--_ACEOF
--rm -f conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+EOF
-+if { (eval echo configure:1067: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+then
-   ac_cv_c_bigendian=no
- else
--  echo "$as_me: program exited with status $ac_status" >&5
--echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--( exit $ac_status )
--ac_cv_c_bigendian=yes
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -fr conftest*
-+  ac_cv_c_bigendian=yes
- fi
--rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+rm -fr conftest*
- fi
-+
- fi
--rm -f conftest.$ac_objext conftest.$ac_ext
- fi
--echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
--echo "${ECHO_T}$ac_cv_c_bigendian" >&6
--case $ac_cv_c_bigendian in
--  yes)
- 
--cat >>confdefs.h <<\_ACEOF
-+echo "$ac_t""$ac_cv_c_bigendian" 1>&6
-+if test $ac_cv_c_bigendian = yes; then
-+  cat >> confdefs.h <<\EOF
- #define WORDS_BIGENDIAN 1
--_ACEOF
-- ;;
--  no)
--     ;;
--  *)
--    { { echo "$as_me:$LINENO: error: unknown endianness
--presetting ac_cv_c_bigendian=no (or yes) will help" >&5
--echo "$as_me: error: unknown endianness
--presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
--   { (exit 1); exit 1; }; } ;;
--esac
-+EOF
- 
-+fi
- 
-+
- if test "x$GCC" = "xyes"; then
- 	CFLAGS="$CFLAGS -Wall"
- fi
-@@ -2697,14 +1096,13 @@
-   case "${enableval}" in
-                  yes) shared=true ;;
-                  no) shared=false ;;
--                 *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for shared options" >&5
--echo "$as_me: error: bad value ${enableval} for shared options" >&2;}
--   { (exit 1); exit 1; }; } ;;
-+                 *) { echo "configure: error: bad value ${enableval} for shared options" 1>&2; exit 1; } ;;
-                  esac
- else
-   shared=false
--fi;
-+fi
- 
-+
- case "$target_cpu" in
-      i386|i486|i586|i686)
- 	TARGET_CPU=i386
-@@ -2712,7 +1110,7 @@
-      *)
-         TARGET_CPU=$target_cpu
-      ;;
--esac
-+esac     
- TARGET_OS=$target_os
- 
- M68KCC=
-@@ -2726,7 +1124,7 @@
- 		M68KCC=/usr/m68k-palmos/bin/gcc
- 		# Generic build is ARM or M68K (probably ARM though)
-                 CC="/usr/$TARGET_CPU-palmos/bin/gcc"
--		if test "$target_cpu" = "arm"
-+		if test "$target_cpu" = "arm" 
-                 then
-                    CC="$CC -fPIC -march=armv4t"
-                 fi
-@@ -2762,7 +1160,7 @@
-      *)
-         HOST_CPU=$host_cpu
-      ;;
--esac
-+esac     
- HOST_OS=$host_os
- 
- 
-@@ -2800,138 +1198,91 @@
-   case "${enableval}" in
-                  yes) sockets=true ;;
-                  no) sockets=false ;;
--                 *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for sockets options" >&5
--echo "$as_me: error: bad value ${enableval} for sockets options" >&2;}
--   { (exit 1); exit 1; }; } ;;
-+                 *) { echo "configure: error: bad value ${enableval} for sockets options" 1>&2; exit 1; } ;;
-                  esac
- else
-   sockets=true
--fi;
-+fi
-+
- if test "$sockets" = false; then
--   cat >>confdefs.h <<\_ACEOF
-+   cat >> confdefs.h <<\EOF
- #define CST_NO_SOCKETS 1
--_ACEOF
-+EOF
- 
- fi
- 
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
-+cat > conftest.$ac_ext <<EOF
-+#line 1216 "configure"
-+#include "confdefs.h"
- #include <stdio.h>
--int
--main ()
--{
-+int main() {
-  struct a { union { float b; int c; } d; };
--                 const struct a e = { .d={ .b=3.14 } };
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
-+                 const struct a e = { .d={ .b=3.14 } }; 
-+; return 0; }
-+EOF
-+if { (eval echo configure:1224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+  rm -rf conftest*
-   unioninit=yes
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--unioninit=no
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  unioninit=no
- fi
--rm -f conftest.$ac_objext conftest.$ac_ext
-+rm -f conftest*
- if test "$unioninit" = no; then
--   cat >>confdefs.h <<\_ACEOF
-+   cat >> confdefs.h <<\EOF
- #define NO_UNION_INITIALIZATION 1
--_ACEOF
-+EOF
- 
- fi
- 
--echo "$as_me:$LINENO: checking for mmap" >&5
--echo $ECHO_N "checking for mmap... $ECHO_C" >&6
--if test "${ac_cv_func_mmap+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+echo $ac_n "checking for mmap""... $ac_c" 1>&6
-+echo "configure:1242: checking for mmap" >&5
-+if eval "test \"`echo '$''{'ac_cv_func_mmap'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
-+  cat > conftest.$ac_ext <<EOF
-+#line 1247 "configure"
-+#include "confdefs.h"
- /* System header to define __stub macros and hopefully few prototypes,
--    which can conflict with char mmap (); below.
--    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
--    <limits.h> exists even on freestanding compilers.  */
--#ifdef __STDC__
--# include <limits.h>
--#else
--# include <assert.h>
--#endif
-+    which can conflict with char mmap(); below.  */
-+#include <assert.h>
- /* Override any gcc2 internal prototype to avoid an error.  */
--#ifdef __cplusplus
--extern "C"
--{
--#endif
- /* We use char because int might match the return type of a gcc2
--   builtin and then its argument prototype would still apply.  */
--char mmap ();
-+    builtin and then its argument prototype would still apply.  */
-+char mmap();
-+
-+int main() {
-+
- /* The GNU C library defines this for functions which it implements
-     to always fail with ENOSYS.  Some functions are actually named
-     something starting with __ and the normal name is an alias.  */
- #if defined (__stub_mmap) || defined (__stub___mmap)
- choke me
- #else
--char (*f) () = mmap;
-+mmap();
- #endif
--#ifdef __cplusplus
--}
--#endif
- 
--int
--main ()
--{
--return f != mmap;
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest$ac_exeext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  ac_cv_func_mmap=yes
-+; return 0; }
-+EOF
-+if { (eval echo configure:1270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+  rm -rf conftest*
-+  eval "ac_cv_func_mmap=yes"
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--ac_cv_func_mmap=no
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  eval "ac_cv_func_mmap=no"
- fi
--rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-+rm -f conftest*
- fi
--echo "$as_me:$LINENO: result: $ac_cv_func_mmap" >&5
--echo "${ECHO_T}$ac_cv_func_mmap" >&6
--if test $ac_cv_func_mmap = yes; then
-+
-+if eval "test \"`echo '$ac_cv_func_'mmap`\" = yes"; then
-+  echo "$ac_t""yes" 1>&6
-   MMAPTYPE=posix
-+else
-+  echo "$ac_t""no" 1>&6
- fi
- 
- 
-@@ -2956,1028 +1307,266 @@
- 
- 
- AUDIODRIVER=none
--ac_ext=c
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
--echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
--echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-+echo "configure:1312: checking how to run the C preprocessor" >&5
- # On Suns, sometimes $CPP names a directory.
- if test -n "$CPP" && test -d "$CPP"; then
-   CPP=
- fi
- if test -z "$CPP"; then
--  if test "${ac_cv_prog_CPP+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--      # Double quotes because CPP needs to be expanded
--    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
--    do
--      ac_preproc_ok=false
--for ac_c_preproc_warn_flag in '' yes
--do
--  # Use a header file that comes with gcc, so configuring glibc
--  # with a fresh cross-compiler works.
--  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
--  # <limits.h> exists even on freestanding compilers.
-+    # This must be in double quotes, not single quotes, because CPP may get
-+  # substituted into the Makefile and "${CC-cc}" will confuse make.
-+  CPP="${CC-cc} -E"
-   # On the NeXT, cc -E runs the code through the compiler's parser,
--  # not just through cpp. "Syntax error" is here to catch this case.
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#ifdef __STDC__
--# include <limits.h>
--#else
--# include <assert.h>
--#endif
--                     Syntax error
--_ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+  # not just through cpp.
-+  cat > conftest.$ac_ext <<EOF
-+#line 1327 "configure"
-+#include "confdefs.h"
-+#include <assert.h>
-+Syntax Error
-+EOF
-+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-+{ (eval echo configure:1333: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-+if test -z "$ac_err"; then
-   :
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--  # Broken: fails on valid input.
--continue
--fi
--rm -f conftest.err conftest.$ac_ext
--
--  # OK, works on sane cases.  Now check whether non-existent headers
--  # can be detected and how.
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <ac_nonexistent.h>
--_ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
--  # Broken: success on invalid input.
--continue
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--  # Passes both tests.
--ac_preproc_ok=:
--break
--fi
--rm -f conftest.err conftest.$ac_ext
--
--done
--# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
--rm -f conftest.err conftest.$ac_ext
--if $ac_preproc_ok; then
--  break
--fi
--
--    done
--    ac_cv_prog_CPP=$CPP
--
--fi
--  CPP=$ac_cv_prog_CPP
--else
--  ac_cv_prog_CPP=$CPP
--fi
--echo "$as_me:$LINENO: result: $CPP" >&5
--echo "${ECHO_T}$CPP" >&6
--ac_preproc_ok=false
--for ac_c_preproc_warn_flag in '' yes
--do
--  # Use a header file that comes with gcc, so configuring glibc
--  # with a fresh cross-compiler works.
--  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
--  # <limits.h> exists even on freestanding compilers.
--  # On the NeXT, cc -E runs the code through the compiler's parser,
--  # not just through cpp. "Syntax error" is here to catch this case.
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#ifdef __STDC__
--# include <limits.h>
--#else
--# include <assert.h>
--#endif
--                     Syntax error
--_ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
-+  echo "$ac_err" >&5
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  CPP="${CC-cc} -E -traditional-cpp"
-+  cat > conftest.$ac_ext <<EOF
-+#line 1344 "configure"
-+#include "confdefs.h"
-+#include <assert.h>
-+Syntax Error
-+EOF
-+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-+{ (eval echo configure:1350: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-+if test -z "$ac_err"; then
-   :
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--  # Broken: fails on valid input.
--continue
--fi
--rm -f conftest.err conftest.$ac_ext
--
--  # OK, works on sane cases.  Now check whether non-existent headers
--  # can be detected and how.
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <ac_nonexistent.h>
--_ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
--fi
--if test -z "$ac_cpp_err"; then
--  # Broken: success on invalid input.
--continue
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--  # Passes both tests.
--ac_preproc_ok=:
--break
--fi
--rm -f conftest.err conftest.$ac_ext
--
--done
--# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
--rm -f conftest.err conftest.$ac_ext
--if $ac_preproc_ok; then
-+  echo "$ac_err" >&5
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  CPP="${CC-cc} -nologo -E"
-+  cat > conftest.$ac_ext <<EOF
-+#line 1361 "configure"
-+#include "confdefs.h"
-+#include <assert.h>
-+Syntax Error
-+EOF
-+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-+{ (eval echo configure:1367: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-+if test -z "$ac_err"; then
-   :
- else
--  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
--See \`config.log' for more details." >&5
--echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
--See \`config.log' for more details." >&2;}
--   { (exit 1); exit 1; }; }
-+  echo "$ac_err" >&5
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  CPP=/lib/cpp
- fi
--
--ac_ext=c
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
--
--
--echo "$as_me:$LINENO: checking for egrep" >&5
--echo $ECHO_N "checking for egrep... $ECHO_C" >&6
--if test "${ac_cv_prog_egrep+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
--    then ac_cv_prog_egrep='grep -E'
--    else ac_cv_prog_egrep='egrep'
--    fi
-+rm -f conftest*
- fi
--echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
--echo "${ECHO_T}$ac_cv_prog_egrep" >&6
-- EGREP=$ac_cv_prog_egrep
--
--
--echo "$as_me:$LINENO: checking for ANSI C header files" >&5
--echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
--if test "${ac_cv_header_stdc+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <stdlib.h>
--#include <stdarg.h>
--#include <string.h>
--#include <float.h>
--
--int
--main ()
--{
--
--  ;
--  return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  ac_cv_header_stdc=yes
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--ac_cv_header_stdc=no
--fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--
--if test $ac_cv_header_stdc = yes; then
--  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <string.h>
--
--_ACEOF
--if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  $EGREP "memchr" >/dev/null 2>&1; then
--  :
--else
--  ac_cv_header_stdc=no
--fi
- rm -f conftest*
--
- fi
--
--if test $ac_cv_header_stdc = yes; then
--  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <stdlib.h>
--
--_ACEOF
--if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  $EGREP "free" >/dev/null 2>&1; then
--  :
--else
--  ac_cv_header_stdc=no
--fi
- rm -f conftest*
--
-+  ac_cv_prog_CPP="$CPP"
- fi
--
--if test $ac_cv_header_stdc = yes; then
--  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
--  if test "$cross_compiling" = yes; then
--  :
-+  CPP="$ac_cv_prog_CPP"
- else
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <ctype.h>
--#if ((' ' & 0x0FF) == 0x020)
--# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
--# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
--#else
--# define ISLOWER(c) \
--                   (('a' <= (c) && (c) <= 'i') \
--                     || ('j' <= (c) && (c) <= 'r') \
--                     || ('s' <= (c) && (c) <= 'z'))
--# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
--#endif
--
--#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
--int
--main ()
--{
--  int i;
--  for (i = 0; i < 256; i++)
--    if (XOR (islower (i), ISLOWER (i))
--        || toupper (i) != TOUPPER (i))
--      exit(2);
--  exit (0);
--}
--_ACEOF
--rm -f conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
--  (eval $ac_link) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  :
--else
--  echo "$as_me: program exited with status $ac_status" >&5
--echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--( exit $ac_status )
--ac_cv_header_stdc=no
-+  ac_cv_prog_CPP="$CPP"
- fi
--rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
--fi
--fi
--fi
--echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
--echo "${ECHO_T}$ac_cv_header_stdc" >&6
--if test $ac_cv_header_stdc = yes; then
-+echo "$ac_t""$CPP" 1>&6
- 
--cat >>confdefs.h <<\_ACEOF
--#define STDC_HEADERS 1
--_ACEOF
--
--fi
--
--# On IRIX 5.3, sys/types and inttypes.h are conflicting.
--
--
--
--
--
--
--
--
--
--for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
--                  inttypes.h stdint.h unistd.h
--do
--as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
--echo "$as_me:$LINENO: checking for $ac_header" >&5
--echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
--if eval "test \"\${$as_ac_Header+set}\" = set"; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+ac_safe=`echo "sys/soundcard.h" | sed 'y%./+-%__p_%'`
-+echo $ac_n "checking for sys/soundcard.h""... $ac_c" 1>&6
-+echo "configure:1393: checking for sys/soundcard.h" >&5
-+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--$ac_includes_default
--
--#include <$ac_header>
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  eval "$as_ac_Header=yes"
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--eval "$as_ac_Header=no"
--fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--fi
--echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
--echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
--if test `eval echo '${'$as_ac_Header'}'` = yes; then
--  cat >>confdefs.h <<_ACEOF
--#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
--_ACEOF
--
--fi
--
--done
--
--
--if test "${ac_cv_header_sys_soundcard_h+set}" = set; then
--  echo "$as_me:$LINENO: checking for sys/soundcard.h" >&5
--echo $ECHO_N "checking for sys/soundcard.h... $ECHO_C" >&6
--if test "${ac_cv_header_sys_soundcard_h+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--fi
--echo "$as_me:$LINENO: result: $ac_cv_header_sys_soundcard_h" >&5
--echo "${ECHO_T}$ac_cv_header_sys_soundcard_h" >&6
--else
--  # Is the header compilable?
--echo "$as_me:$LINENO: checking sys/soundcard.h usability" >&5
--echo $ECHO_N "checking sys/soundcard.h usability... $ECHO_C" >&6
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--$ac_includes_default
-+  cat > conftest.$ac_ext <<EOF
-+#line 1398 "configure"
-+#include "confdefs.h"
- #include <sys/soundcard.h>
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  ac_header_compiler=yes
-+EOF
-+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-+{ (eval echo configure:1403: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-+if test -z "$ac_err"; then
-+  rm -rf conftest*
-+  eval "ac_cv_header_$ac_safe=yes"
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--ac_header_compiler=no
-+  echo "$ac_err" >&5
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  eval "ac_cv_header_$ac_safe=no"
- fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
--
--# Is the header present?
--echo "$as_me:$LINENO: checking sys/soundcard.h presence" >&5
--echo $ECHO_N "checking sys/soundcard.h presence... $ECHO_C" >&6
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <sys/soundcard.h>
--_ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
-+rm -f conftest*
- fi
--if test -z "$ac_cpp_err"; then
--  ac_header_preproc=yes
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--  ac_header_preproc=no
--fi
--rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
--
--# So?  What about this header?
--case $ac_header_compiler:$ac_header_preproc in
--  yes:no )
--    { echo "$as_me:$LINENO: WARNING: sys/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&5
--echo "$as_me: WARNING: sys/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
--    { echo "$as_me:$LINENO: WARNING: sys/soundcard.h: proceeding with the preprocessor's result" >&5
--echo "$as_me: WARNING: sys/soundcard.h: proceeding with the preprocessor's result" >&2;}
--    (
--      cat <<\_ASBOX
--## ------------------------------------ ##
--## Report this to bug-autoconf@gnu.org. ##
--## ------------------------------------ ##
--_ASBOX
--    ) |
--      sed "s/^/$as_me: WARNING:     /" >&2
--    ;;
--  no:yes )
--    { echo "$as_me:$LINENO: WARNING: sys/soundcard.h: present but cannot be compiled" >&5
--echo "$as_me: WARNING: sys/soundcard.h: present but cannot be compiled" >&2;}
--    { echo "$as_me:$LINENO: WARNING: sys/soundcard.h: check for missing prerequisite headers?" >&5
--echo "$as_me: WARNING: sys/soundcard.h: check for missing prerequisite headers?" >&2;}
--    { echo "$as_me:$LINENO: WARNING: sys/soundcard.h: proceeding with the preprocessor's result" >&5
--echo "$as_me: WARNING: sys/soundcard.h: proceeding with the preprocessor's result" >&2;}
--    (
--      cat <<\_ASBOX
--## ------------------------------------ ##
--## Report this to bug-autoconf@gnu.org. ##
--## ------------------------------------ ##
--_ASBOX
--    ) |
--      sed "s/^/$as_me: WARNING:     /" >&2
--    ;;
--esac
--echo "$as_me:$LINENO: checking for sys/soundcard.h" >&5
--echo $ECHO_N "checking for sys/soundcard.h... $ECHO_C" >&6
--if test "${ac_cv_header_sys_soundcard_h+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  ac_cv_header_sys_soundcard_h=$ac_header_preproc
--fi
--echo "$as_me:$LINENO: result: $ac_cv_header_sys_soundcard_h" >&5
--echo "${ECHO_T}$ac_cv_header_sys_soundcard_h" >&6
--
--fi
--if test $ac_cv_header_sys_soundcard_h = yes; then
-+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-+  echo "$ac_t""yes" 1>&6
-   AUDIODRIVER="oss"
-                AUDIODEFS=-DCST_AUDIO_LINUX
-+else
-+  echo "$ac_t""no" 1>&6
- fi
- 
--
--if test "${ac_cv_header_machine_soundcard_h+set}" = set; then
--  echo "$as_me:$LINENO: checking for machine/soundcard.h" >&5
--echo $ECHO_N "checking for machine/soundcard.h... $ECHO_C" >&6
--if test "${ac_cv_header_machine_soundcard_h+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--fi
--echo "$as_me:$LINENO: result: $ac_cv_header_machine_soundcard_h" >&5
--echo "${ECHO_T}$ac_cv_header_machine_soundcard_h" >&6
-+ac_safe=`echo "machine/soundcard.h" | sed 'y%./+-%__p_%'`
-+echo $ac_n "checking for machine/soundcard.h""... $ac_c" 1>&6
-+echo "configure:1427: checking for machine/soundcard.h" >&5
-+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  # Is the header compilable?
--echo "$as_me:$LINENO: checking machine/soundcard.h usability" >&5
--echo $ECHO_N "checking machine/soundcard.h usability... $ECHO_C" >&6
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--$ac_includes_default
-+  cat > conftest.$ac_ext <<EOF
-+#line 1432 "configure"
-+#include "confdefs.h"
- #include <machine/soundcard.h>
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  ac_header_compiler=yes
-+EOF
-+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-+{ (eval echo configure:1437: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-+if test -z "$ac_err"; then
-+  rm -rf conftest*
-+  eval "ac_cv_header_$ac_safe=yes"
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--ac_header_compiler=no
-+  echo "$ac_err" >&5
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  eval "ac_cv_header_$ac_safe=no"
- fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
--
--# Is the header present?
--echo "$as_me:$LINENO: checking machine/soundcard.h presence" >&5
--echo $ECHO_N "checking machine/soundcard.h presence... $ECHO_C" >&6
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <machine/soundcard.h>
--_ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
-+rm -f conftest*
- fi
--if test -z "$ac_cpp_err"; then
--  ac_header_preproc=yes
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--  ac_header_preproc=no
--fi
--rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
--
--# So?  What about this header?
--case $ac_header_compiler:$ac_header_preproc in
--  yes:no )
--    { echo "$as_me:$LINENO: WARNING: machine/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&5
--echo "$as_me: WARNING: machine/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
--    { echo "$as_me:$LINENO: WARNING: machine/soundcard.h: proceeding with the preprocessor's result" >&5
--echo "$as_me: WARNING: machine/soundcard.h: proceeding with the preprocessor's result" >&2;}
--    (
--      cat <<\_ASBOX
--## ------------------------------------ ##
--## Report this to bug-autoconf@gnu.org. ##
--## ------------------------------------ ##
--_ASBOX
--    ) |
--      sed "s/^/$as_me: WARNING:     /" >&2
--    ;;
--  no:yes )
--    { echo "$as_me:$LINENO: WARNING: machine/soundcard.h: present but cannot be compiled" >&5
--echo "$as_me: WARNING: machine/soundcard.h: present but cannot be compiled" >&2;}
--    { echo "$as_me:$LINENO: WARNING: machine/soundcard.h: check for missing prerequisite headers?" >&5
--echo "$as_me: WARNING: machine/soundcard.h: check for missing prerequisite headers?" >&2;}
--    { echo "$as_me:$LINENO: WARNING: machine/soundcard.h: proceeding with the preprocessor's result" >&5
--echo "$as_me: WARNING: machine/soundcard.h: proceeding with the preprocessor's result" >&2;}
--    (
--      cat <<\_ASBOX
--## ------------------------------------ ##
--## Report this to bug-autoconf@gnu.org. ##
--## ------------------------------------ ##
--_ASBOX
--    ) |
--      sed "s/^/$as_me: WARNING:     /" >&2
--    ;;
--esac
--echo "$as_me:$LINENO: checking for machine/soundcard.h" >&5
--echo $ECHO_N "checking for machine/soundcard.h... $ECHO_C" >&6
--if test "${ac_cv_header_machine_soundcard_h+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  ac_cv_header_machine_soundcard_h=$ac_header_preproc
--fi
--echo "$as_me:$LINENO: result: $ac_cv_header_machine_soundcard_h" >&5
--echo "${ECHO_T}$ac_cv_header_machine_soundcard_h" >&6
--
--fi
--if test $ac_cv_header_machine_soundcard_h = yes; then
-+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-+  echo "$ac_t""yes" 1>&6
-   AUDIODRIVER="oss"
-                AUDIODEFS=-DCST_AUDIO_FREEBSD
-+else
-+  echo "$ac_t""no" 1>&6
- fi
- 
--
--if test "${ac_cv_header_sys_audioio_h+set}" = set; then
--  echo "$as_me:$LINENO: checking for sys/audioio.h" >&5
--echo $ECHO_N "checking for sys/audioio.h... $ECHO_C" >&6
--if test "${ac_cv_header_sys_audioio_h+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--fi
--echo "$as_me:$LINENO: result: $ac_cv_header_sys_audioio_h" >&5
--echo "${ECHO_T}$ac_cv_header_sys_audioio_h" >&6
-+ac_safe=`echo "sys/audioio.h" | sed 'y%./+-%__p_%'`
-+echo $ac_n "checking for sys/audioio.h""... $ac_c" 1>&6
-+echo "configure:1461: checking for sys/audioio.h" >&5
-+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  # Is the header compilable?
--echo "$as_me:$LINENO: checking sys/audioio.h usability" >&5
--echo $ECHO_N "checking sys/audioio.h usability... $ECHO_C" >&6
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--$ac_includes_default
-+  cat > conftest.$ac_ext <<EOF
-+#line 1466 "configure"
-+#include "confdefs.h"
- #include <sys/audioio.h>
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  ac_header_compiler=yes
-+EOF
-+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-+{ (eval echo configure:1471: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-+if test -z "$ac_err"; then
-+  rm -rf conftest*
-+  eval "ac_cv_header_$ac_safe=yes"
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--ac_header_compiler=no
-+  echo "$ac_err" >&5
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  eval "ac_cv_header_$ac_safe=no"
- fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
--
--# Is the header present?
--echo "$as_me:$LINENO: checking sys/audioio.h presence" >&5
--echo $ECHO_N "checking sys/audioio.h presence... $ECHO_C" >&6
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <sys/audioio.h>
--_ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
-+rm -f conftest*
- fi
--if test -z "$ac_cpp_err"; then
--  ac_header_preproc=yes
--else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--  ac_header_preproc=no
--fi
--rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
--
--# So?  What about this header?
--case $ac_header_compiler:$ac_header_preproc in
--  yes:no )
--    { echo "$as_me:$LINENO: WARNING: sys/audioio.h: accepted by the compiler, rejected by the preprocessor!" >&5
--echo "$as_me: WARNING: sys/audioio.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
--    { echo "$as_me:$LINENO: WARNING: sys/audioio.h: proceeding with the preprocessor's result" >&5
--echo "$as_me: WARNING: sys/audioio.h: proceeding with the preprocessor's result" >&2;}
--    (
--      cat <<\_ASBOX
--## ------------------------------------ ##
--## Report this to bug-autoconf@gnu.org. ##
--## ------------------------------------ ##
--_ASBOX
--    ) |
--      sed "s/^/$as_me: WARNING:     /" >&2
--    ;;
--  no:yes )
--    { echo "$as_me:$LINENO: WARNING: sys/audioio.h: present but cannot be compiled" >&5
--echo "$as_me: WARNING: sys/audioio.h: present but cannot be compiled" >&2;}
--    { echo "$as_me:$LINENO: WARNING: sys/audioio.h: check for missing prerequisite headers?" >&5
--echo "$as_me: WARNING: sys/audioio.h: check for missing prerequisite headers?" >&2;}
--    { echo "$as_me:$LINENO: WARNING: sys/audioio.h: proceeding with the preprocessor's result" >&5
--echo "$as_me: WARNING: sys/audioio.h: proceeding with the preprocessor's result" >&2;}
--    (
--      cat <<\_ASBOX
--## ------------------------------------ ##
--## Report this to bug-autoconf@gnu.org. ##
--## ------------------------------------ ##
--_ASBOX
--    ) |
--      sed "s/^/$as_me: WARNING:     /" >&2
--    ;;
--esac
--echo "$as_me:$LINENO: checking for sys/audioio.h" >&5
--echo $ECHO_N "checking for sys/audioio.h... $ECHO_C" >&6
--if test "${ac_cv_header_sys_audioio_h+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--else
--  ac_cv_header_sys_audioio_h=$ac_header_preproc
--fi
--echo "$as_me:$LINENO: result: $ac_cv_header_sys_audioio_h" >&5
--echo "${ECHO_T}$ac_cv_header_sys_audioio_h" >&6
--
--fi
--if test $ac_cv_header_sys_audioio_h = yes; then
-+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-+  echo "$ac_t""yes" 1>&6
-   AUDIODRIVER="sun"
-                AUDIODEFS=-DCST_AUDIO_SUNOS
-+else
-+  echo "$ac_t""no" 1>&6
- fi
- 
--
--if test "${ac_cv_header_mmsystem_h+set}" = set; then
--  echo "$as_me:$LINENO: checking for mmsystem.h" >&5
--echo $ECHO_N "checking for mmsystem.h... $ECHO_C" >&6
--if test "${ac_cv_header_mmsystem_h+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
--fi
--echo "$as_me:$LINENO: result: $ac_cv_header_mmsystem_h" >&5
--echo "${ECHO_T}$ac_cv_header_mmsystem_h" >&6
-+ ac_safe=`echo "alsa/asoundlib.h" | sed 'y%./+-%__p_%'`
-+echo $ac_n "checking for alsa/asoundlib.h""... $ac_c" 1>&6
-+echo "configure:1495: checking for alsa/asoundlib.h" >&5
-+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  # Is the header compilable?
--echo "$as_me:$LINENO: checking mmsystem.h usability" >&5
--echo $ECHO_N "checking mmsystem.h usability... $ECHO_C" >&6
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--$ac_includes_default
--#include <mmsystem.h>
--_ACEOF
--rm -f conftest.$ac_objext
--if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
--  (eval $ac_compile) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } &&
--         { ac_try='test -s conftest.$ac_objext'
--  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); }; }; then
--  ac_header_compiler=yes
-+  cat > conftest.$ac_ext <<EOF
-+#line 1500 "configure"
-+#include "confdefs.h"
-+#include <alsa/asoundlib.h>
-+EOF
-+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-+{ (eval echo configure:1505: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-+if test -z "$ac_err"; then
-+  rm -rf conftest*
-+  eval "ac_cv_header_$ac_safe=yes"
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--ac_header_compiler=no
-+  echo "$ac_err" >&5
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  eval "ac_cv_header_$ac_safe=no"
- fi
--rm -f conftest.$ac_objext conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
--echo "${ECHO_T}$ac_header_compiler" >&6
--
--# Is the header present?
--echo "$as_me:$LINENO: checking mmsystem.h presence" >&5
--echo $ECHO_N "checking mmsystem.h presence... $ECHO_C" >&6
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <mmsystem.h>
--_ACEOF
--if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
--  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } >/dev/null; then
--  if test -s conftest.err; then
--    ac_cpp_err=$ac_c_preproc_warn_flag
--  else
--    ac_cpp_err=
--  fi
--else
--  ac_cpp_err=yes
-+rm -f conftest*
- fi
--if test -z "$ac_cpp_err"; then
--  ac_header_preproc=yes
-+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-+  echo "$ac_t""yes" 1>&6
-+  AUDIODRIVER="alsa"
-+	       AUDIODEFS=-DCST_AUDIO_ALSA
-+               AUDIOLIBS=-lasound
- else
--  echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--  ac_header_preproc=no
-+  echo "$ac_t""no" 1>&6
- fi
--rm -f conftest.err conftest.$ac_ext
--echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
--echo "${ECHO_T}$ac_header_preproc" >&6
- 
--# So?  What about this header?
--case $ac_header_compiler:$ac_header_preproc in
--  yes:no )
--    { echo "$as_me:$LINENO: WARNING: mmsystem.h: accepted by the compiler, rejected by the preprocessor!" >&5
--echo "$as_me: WARNING: mmsystem.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
--    { echo "$as_me:$LINENO: WARNING: mmsystem.h: proceeding with the preprocessor's result" >&5
--echo "$as_me: WARNING: mmsystem.h: proceeding with the preprocessor's result" >&2;}
--    (
--      cat <<\_ASBOX
--## ------------------------------------ ##
--## Report this to bug-autoconf@gnu.org. ##
--## ------------------------------------ ##
--_ASBOX
--    ) |
--      sed "s/^/$as_me: WARNING:     /" >&2
--    ;;
--  no:yes )
--    { echo "$as_me:$LINENO: WARNING: mmsystem.h: present but cannot be compiled" >&5
--echo "$as_me: WARNING: mmsystem.h: present but cannot be compiled" >&2;}
--    { echo "$as_me:$LINENO: WARNING: mmsystem.h: check for missing prerequisite headers?" >&5
--echo "$as_me: WARNING: mmsystem.h: check for missing prerequisite headers?" >&2;}
--    { echo "$as_me:$LINENO: WARNING: mmsystem.h: proceeding with the preprocessor's result" >&5
--echo "$as_me: WARNING: mmsystem.h: proceeding with the preprocessor's result" >&2;}
--    (
--      cat <<\_ASBOX
--## ------------------------------------ ##
--## Report this to bug-autoconf@gnu.org. ##
--## ------------------------------------ ##
--_ASBOX
--    ) |
--      sed "s/^/$as_me: WARNING:     /" >&2
--    ;;
--esac
--echo "$as_me:$LINENO: checking for mmsystem.h" >&5
--echo $ECHO_N "checking for mmsystem.h... $ECHO_C" >&6
--if test "${ac_cv_header_mmsystem_h+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+ac_safe=`echo "mmsystem.h" | sed 'y%./+-%__p_%'`
-+echo $ac_n "checking for mmsystem.h""... $ac_c" 1>&6
-+echo "configure:1530: checking for mmsystem.h" >&5
-+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-+  echo $ac_n "(cached) $ac_c" 1>&6
- else
--  ac_cv_header_mmsystem_h=$ac_header_preproc
-+  cat > conftest.$ac_ext <<EOF
-+#line 1535 "configure"
-+#include "confdefs.h"
-+#include <mmsystem.h>
-+EOF
-+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-+{ (eval echo configure:1540: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-+if test -z "$ac_err"; then
-+  rm -rf conftest*
-+  eval "ac_cv_header_$ac_safe=yes"
-+else
-+  echo "$ac_err" >&5
-+  echo "configure: failed program was:" >&5
-+  cat conftest.$ac_ext >&5
-+  rm -rf conftest*
-+  eval "ac_cv_header_$ac_safe=no"
- fi
--echo "$as_me:$LINENO: result: $ac_cv_header_mmsystem_h" >&5
--echo "${ECHO_T}$ac_cv_header_mmsystem_h" >&6
--
-+rm -f conftest*
- fi
--if test $ac_cv_header_mmsystem_h = yes; then
-+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-+  echo "$ac_t""yes" 1>&6
-   AUDIODRIVER="wince"
- 	       AUDIODEFS=-DCST_AUDIO_WINCE
- 	       AUDIOLIBS=-lwinmm
-+else
-+  echo "$ac_t""no" 1>&6
- fi
- 
- 
--
--
- # Check whether --with-audio or --without-audio was given.
- if test "${with_audio+set}" = set; then
-   withval="$with_audio"
--  AUDIODRIVER=$with_audio
--fi;
-+  AUDIODRIVER=$with_audio 
-+fi
- 
-+
- if test "x$AUDIODEFS" = x; then
-     case "$AUDIODRIVER" in
- 	linux|oss)
-@@ -4006,34 +1595,34 @@
- 
- 
- 
--
- # Check whether --with-lang or --without-lang was given.
- if test "${with_lang+set}" = set; then
-   withval="$with_lang"
--  FL_LANG=$with_lang
--fi;
-+  FL_LANG=$with_lang 
-+fi
-+
- if test "x$with_lang" = "x"; then
-         FL_LANG="usenglish"
- fi
- 
- 
--
- # Check whether --with-vox or --without-vox was given.
- if test "${with_vox+set}" = set; then
-   withval="$with_vox"
--  FL_VOX=$with_vox
--fi;
-+  FL_VOX=$with_vox 
-+fi
-+
- if test "x$with_vox" = "x"; then
-         FL_VOX="cmu_us_kal"
- fi
- 
- 
--
- # Check whether --with-lex or --without-lex was given.
- if test "${with_lex+set}" = set; then
-   withval="$with_lex"
--  FL_LEX=$with_lex
--fi;
-+  FL_LEX=$with_lex 
-+fi
-+
- if test "x$with_lex" = "x"; then
-         FL_LEX="cmulex"
- fi
-@@ -4041,921 +1630,300 @@
- 
- 
- 
--                    ac_config_files="$ac_config_files config/config config/system.mak"
--cat >confcache <<\_ACEOF
-+trap '' 1 2 15
-+cat > confcache <<\EOF
- # This file is a shell script that caches the results of configure
- # tests run on this system so they can be shared between configure
--# scripts and configure runs, see configure's option --config-cache.
--# It is not useful on other systems.  If it contains results you don't
--# want to keep, you may remove or edit it.
-+# scripts and configure runs.  It is not useful on other systems.
-+# If it contains results you don't want to keep, you may remove or edit it.
- #
--# config.status only pays attention to the cache file if you give it
--# the --recheck option to rerun configure.
-+# By default, configure uses ./config.cache as the cache file,
-+# creating it if it does not exist already.  You can give configure
-+# the --cache-file=FILE option to use a different cache file; that is
-+# what configure does when it calls configure scripts in
-+# subdirectories, so they share the cache.
-+# Giving --cache-file=/dev/null disables caching, for debugging configure.
-+# config.status only pays attention to the cache file if you give it the
-+# --recheck option to rerun configure.
- #
--# `ac_cv_env_foo' variables (set or unset) will be overridden when
--# loading this file, other *unset* `ac_cv_foo' will be assigned the
--# following values.
--
--_ACEOF
--
-+EOF
- # The following way of writing the cache mishandles newlines in values,
- # but we know of no workaround that is simple, portable, and efficient.
- # So, don't put newlines in cache variables' values.
- # Ultrix sh set writes to stderr and can't be redirected directly,
- # and sets the high bit in the cache file unless we assign to the vars.
--{
--  (set) 2>&1 |
--    case `(ac_space=' '; set | grep ac_space) 2>&1` in
--    *ac_space=\ *)
--      # `set' does not quote correctly, so add quotes (double-quote
--      # substitution turns \\\\ into \\, and sed turns \\ into \).
--      sed -n \
--        "s/'/'\\\\''/g;
--    	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
--      ;;
--    *)
--      # `set' quotes correctly as required by POSIX, so do not add quotes.
--      sed -n \
--        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
--      ;;
--    esac;
--} |
--  sed '
--     t clear
--     : clear
--     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
--     t end
--     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
--     : end' >>confcache
--if diff $cache_file confcache >/dev/null 2>&1; then :; else
-+(set) 2>&1 |
-+  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-+  *ac_space=\ *)
-+    # `set' does not quote correctly, so add quotes (double-quote substitution
-+    # turns \\\\ into \\, and sed turns \\ into \).
-+    sed -n \
-+      -e "s/'/'\\\\''/g" \
-+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-+    ;;
-+  *)
-+    # `set' quotes correctly as required by POSIX, so do not add quotes.
-+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-+    ;;
-+  esac >> confcache
-+if cmp -s $cache_file confcache; then
-+  :
-+else
-   if test -w $cache_file; then
--    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
--    cat confcache >$cache_file
-+    echo "updating cache $cache_file"
-+    cat confcache > $cache_file
-   else
-     echo "not updating unwritable cache $cache_file"
-   fi
- fi
- rm -f confcache
- 
-+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-+
- test "x$prefix" = xNONE && prefix=$ac_default_prefix
- # Let make expand exec_prefix.
- test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
- 
--# VPATH may cause trouble with some makes, so we remove $(srcdir),
--# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
--# trailing colons and then remove the whole line if VPATH becomes empty
--# (actually we leave an empty line to preserve line numbers).
-+# Any assignment to VPATH causes Sun make to only execute
-+# the first set of double-colon rules, so remove it if not needed.
-+# If there is a colon in the path, we need to keep it.
- if test "x$srcdir" = x.; then
--  ac_vpsub='/^[ 	]*VPATH[ 	]*=/{
--s/:*\$(srcdir):*/:/;
--s/:*\${srcdir}:*/:/;
--s/:*@srcdir@:*/:/;
--s/^\([^=]*=[ 	]*\):*/\1/;
--s/:*$//;
--s/^[^=]*=[ 	]*$//;
--}'
-+  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
- fi
- 
-+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-+
- # Transform confdefs.h into DEFS.
- # Protect against shell expansion while executing Makefile rules.
- # Protect against Makefile macro expansion.
--#
--# If the first sed substitution is executed (which looks for macros that
--# take arguments), then we branch to the quote section.  Otherwise,
--# look for a macro that doesn't take arguments.
--cat >confdef2opt.sed <<\_ACEOF
--t clear
--: clear
--s,^[ 	]*#[ 	]*define[ 	][ 	]*\([^ 	(][^ 	(]*([^)]*)\)[ 	]*\(.*\),-D\1=\2,g
--t quote
--s,^[ 	]*#[ 	]*define[ 	][ 	]*\([^ 	][^ 	]*\)[ 	]*\(.*\),-D\1=\2,g
--t quote
--d
--: quote
--s,[ 	`~#$^&*(){}\\|;'"<>?],\\&,g
--s,\[,\\&,g
--s,\],\\&,g
--s,\$,$$,g
--p
--_ACEOF
--# We use echo to avoid assuming a particular line-breaking character.
--# The extra dot is to prevent the shell from consuming trailing
--# line-breaks from the sub-command output.  A line-break within
--# single-quotes doesn't work because, if this script is created in a
--# platform that uses two characters for line-breaks (e.g., DOS), tr
--# would break.
--ac_LF_and_DOT=`echo; echo .`
--DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
--rm -f confdef2opt.sed
-+cat > conftest.defs <<\EOF
-+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-+s%[ 	`~#$^&*(){}\\|;'"<>?]%\\&%g
-+s%\[%\\&%g
-+s%\]%\\&%g
-+s%\$%$$%g
-+EOF
-+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-+rm -f conftest.defs
- 
- 
--ac_libobjs=
--ac_ltlibobjs=
--for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
--  # 1. Remove the extension, and $U if already installed.
--  ac_i=`echo "$ac_i" |
--         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
--  # 2. Add them.
--  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
--  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
--done
--LIBOBJS=$ac_libobjs
--
--LTLIBOBJS=$ac_ltlibobjs
--
--
--
-+# Without the "./", some shells look in PATH for config.status.
- : ${CONFIG_STATUS=./config.status}
--ac_clean_files_save=$ac_clean_files
--ac_clean_files="$ac_clean_files $CONFIG_STATUS"
--{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
--echo "$as_me: creating $CONFIG_STATUS" >&6;}
--cat >$CONFIG_STATUS <<_ACEOF
--#! $SHELL
--# Generated by $as_me.
-+
-+echo creating $CONFIG_STATUS
-+rm -f $CONFIG_STATUS
-+cat > $CONFIG_STATUS <<EOF
-+#! /bin/sh
-+# Generated automatically by configure.
- # Run this file to recreate the current configuration.
-+# This directory was configured as follows,
-+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-+#
-+# $0 $ac_configure_args
-+#
- # Compiler output produced by configure, useful for debugging
--# configure, is in config.log if it exists.
-+# configure, is in ./config.log if it exists.
- 
--debug=false
--ac_cs_recheck=false
--ac_cs_silent=false
--SHELL=\${CONFIG_SHELL-$SHELL}
--_ACEOF
--
--cat >>$CONFIG_STATUS <<\_ACEOF
--## --------------------- ##
--## M4sh Initialization.  ##
--## --------------------- ##
--
--# Be Bourne compatible
--if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
--  emulate sh
--  NULLCMD=:
--  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
--  # is contrary to our usage.  Disable this feature.
--  alias -g '${1+"$@"}'='"$@"'
--elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
--  set -o posix
--fi
--
--# Support unset when possible.
--if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
--  as_unset=unset
--else
--  as_unset=false
--fi
--
--
--# Work around bugs in pre-3.0 UWIN ksh.
--$as_unset ENV MAIL MAILPATH
--PS1='$ '
--PS2='> '
--PS4='+ '
--
--# NLS nuisances.
--for as_var in \
--  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
--  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
--  LC_TELEPHONE LC_TIME
-+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-+for ac_option
- do
--  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
--    eval $as_var=C; export $as_var
--  else
--    $as_unset $as_var
--  fi
-+  case "\$ac_option" in
-+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-+    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
-+    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-+  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-+    echo "$CONFIG_STATUS generated by autoconf version 2.13"
-+    exit 0 ;;
-+  -help | --help | --hel | --he | --h)
-+    echo "\$ac_cs_usage"; exit 0 ;;
-+  *) echo "\$ac_cs_usage"; exit 1 ;;
-+  esac
- done
- 
--# Required to use basename.
--if expr a : '\(a\)' >/dev/null 2>&1; then
--  as_expr=expr
--else
--  as_expr=false
--fi
-+ac_given_srcdir=$srcdir
-+ac_given_INSTALL="$INSTALL"
- 
--if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
--  as_basename=basename
--else
--  as_basename=false
--fi
-+trap 'rm -fr `echo "config/config config/system.mak" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-+EOF
-+cat >> $CONFIG_STATUS <<EOF
- 
-+# Protect against being on the right side of a sed subst in config.status.
-+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
-+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-+$ac_vpsub
-+$extrasub
-+s%@SHELL@%$SHELL%g
-+s%@CFLAGS@%$CFLAGS%g
-+s%@CPPFLAGS@%$CPPFLAGS%g
-+s%@CXXFLAGS@%$CXXFLAGS%g
-+s%@FFLAGS@%$FFLAGS%g
-+s%@DEFS@%$DEFS%g
-+s%@LDFLAGS@%$LDFLAGS%g
-+s%@LIBS@%$LIBS%g
-+s%@exec_prefix@%$exec_prefix%g
-+s%@prefix@%$prefix%g
-+s%@program_transform_name@%$program_transform_name%g
-+s%@bindir@%$bindir%g
-+s%@sbindir@%$sbindir%g
-+s%@libexecdir@%$libexecdir%g
-+s%@datadir@%$datadir%g
-+s%@sysconfdir@%$sysconfdir%g
-+s%@sharedstatedir@%$sharedstatedir%g
-+s%@localstatedir@%$localstatedir%g
-+s%@libdir@%$libdir%g
-+s%@includedir@%$includedir%g
-+s%@oldincludedir@%$oldincludedir%g
-+s%@infodir@%$infodir%g
-+s%@mandir@%$mandir%g
-+s%@host@%$host%g
-+s%@host_alias@%$host_alias%g
-+s%@host_cpu@%$host_cpu%g
-+s%@host_vendor@%$host_vendor%g
-+s%@host_os@%$host_os%g
-+s%@target@%$target%g
-+s%@target_alias@%$target_alias%g
-+s%@target_cpu@%$target_cpu%g
-+s%@target_vendor@%$target_vendor%g
-+s%@target_os@%$target_os%g
-+s%@build@%$build%g
-+s%@build_alias@%$build_alias%g
-+s%@build_cpu@%$build_cpu%g
-+s%@build_vendor@%$build_vendor%g
-+s%@build_os@%$build_os%g
-+s%@CC@%$CC%g
-+s%@RANLIB@%$RANLIB%g
-+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-+s%@INSTALL_DATA@%$INSTALL_DATA%g
-+s%@AR@%$AR%g
-+s%@TARGET_OS@%$TARGET_OS%g
-+s%@TARGET_CPU@%$TARGET_CPU%g
-+s%@M68KCC@%$M68KCC%g
-+s%@LEXDEFS@%$LEXDEFS%g
-+s%@VOXDEFS@%$VOXDEFS%g
-+s%@HOST_OS@%$HOST_OS%g
-+s%@HOST_CPU@%$HOST_CPU%g
-+s%@OTHERLIBS@%$OTHERLIBS%g
-+s%@SHFLAGS@%$SHFLAGS%g
-+s%@MMAPTYPE@%$MMAPTYPE%g
-+s%@STDIOTYPE@%$STDIOTYPE%g
-+s%@CPP@%$CPP%g
-+s%@AUDIODRIVER@%$AUDIODRIVER%g
-+s%@AUDIODEFS@%$AUDIODEFS%g
-+s%@AUDIOLIBS@%$AUDIOLIBS%g
-+s%@FL_LANG@%$FL_LANG%g
-+s%@FL_VOX@%$FL_VOX%g
-+s%@FL_LEX@%$FL_LEX%g
-+s%@EXEEXT@%$EXEEXT%g
- 
--# Name of the executable.
--as_me=`$as_basename "$0" ||
--$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
--	 X"$0" : 'X\(//\)$' \| \
--	 X"$0" : 'X\(/\)$' \| \
--	 .     : '\(.\)' 2>/dev/null ||
--echo X/"$0" |
--    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
--  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
--  	  /^X\/\(\/\).*/{ s//\1/; q; }
--  	  s/.*/./; q'`
-+CEOF
-+EOF
- 
-+cat >> $CONFIG_STATUS <<\EOF
- 
--# PATH needs CR, and LINENO needs CR and PATH.
--# Avoid depending upon Character Ranges.
--as_cr_letters='abcdefghijklmnopqrstuvwxyz'
--as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
--as_cr_Letters=$as_cr_letters$as_cr_LETTERS
--as_cr_digits='0123456789'
--as_cr_alnum=$as_cr_Letters$as_cr_digits
--
--# The user is always right.
--if test "${PATH_SEPARATOR+set}" != set; then
--  echo "#! /bin/sh" >conf$$.sh
--  echo  "exit 0"   >>conf$$.sh
--  chmod +x conf$$.sh
--  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
--    PATH_SEPARATOR=';'
-+# Split the substitutions into bite-sized pieces for seds with
-+# small command number limits, like on Digital OSF/1 and HP-UX.
-+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-+ac_file=1 # Number of current file.
-+ac_beg=1 # First line for current file.
-+ac_end=$ac_max_sed_cmds # Line after last line for current file.
-+ac_more_lines=:
-+ac_sed_cmds=""
-+while $ac_more_lines; do
-+  if test $ac_beg -gt 1; then
-+    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
-   else
--    PATH_SEPARATOR=:
-+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
-   fi
--  rm -f conf$$.sh
--fi
--
--
--  as_lineno_1=$LINENO
--  as_lineno_2=$LINENO
--  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
--  test "x$as_lineno_1" != "x$as_lineno_2" &&
--  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
--  # Find who we are.  Look in the path if we contain no path at all
--  # relative or not.
--  case $0 in
--    *[\\/]* ) as_myself=$0 ;;
--    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
--done
--
--       ;;
--  esac
--  # We did not find ourselves, most probably we were run as `sh COMMAND'
--  # in which case we are not to be found in the path.
--  if test "x$as_myself" = x; then
--    as_myself=$0
--  fi
--  if test ! -f "$as_myself"; then
--    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
--echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
--   { (exit 1); exit 1; }; }
--  fi
--  case $CONFIG_SHELL in
--  '')
--    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
--do
--  IFS=$as_save_IFS
--  test -z "$as_dir" && as_dir=.
--  for as_base in sh bash ksh sh5; do
--	 case $as_dir in
--	 /*)
--	   if ("$as_dir/$as_base" -c '
--  as_lineno_1=$LINENO
--  as_lineno_2=$LINENO
--  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
--  test "x$as_lineno_1" != "x$as_lineno_2" &&
--  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
--	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
--	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
--	     CONFIG_SHELL=$as_dir/$as_base
--	     export CONFIG_SHELL
--	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
--	   fi;;
--	 esac
--       done
--done
--;;
--  esac
--
--  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
--  # uniformly replaced by the line number.  The first 'sed' inserts a
--  # line-number line before each line; the second 'sed' does the real
--  # work.  The second script uses 'N' to pair each line-number line
--  # with the numbered line, and appends trailing '-' during
--  # substitution so that $LINENO is not a special case at line end.
--  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
--  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
--  sed '=' <$as_myself |
--    sed '
--      N
--      s,$,-,
--      : loop
--      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
--      t loop
--      s,-$,,
--      s,^['$as_cr_digits']*\n,,
--    ' >$as_me.lineno &&
--  chmod +x $as_me.lineno ||
--    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
--echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
--   { (exit 1); exit 1; }; }
--
--  # Don't try to exec as it changes $[0], causing all sort of problems
--  # (the dirname of $[0] is not the place where we might find the
--  # original and so on.  Autoconf is especially sensible to this).
--  . ./$as_me.lineno
--  # Exit status is that of the last command.
--  exit
--}
--
--
--case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
--  *c*,-n*) ECHO_N= ECHO_C='
--' ECHO_T='	' ;;
--  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
--  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
--esac
--
--if expr a : '\(a\)' >/dev/null 2>&1; then
--  as_expr=expr
--else
--  as_expr=false
--fi
--
--rm -f conf$$ conf$$.exe conf$$.file
--echo >conf$$.file
--if ln -s conf$$.file conf$$ 2>/dev/null; then
--  # We could just check for DJGPP; but this test a) works b) is more generic
--  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
--  if test -f conf$$.exe; then
--    # Don't use ln at all; we don't have any links
--    as_ln_s='cp -p'
-+  if test ! -s conftest.s$ac_file; then
-+    ac_more_lines=false
-+    rm -f conftest.s$ac_file
-   else
--    as_ln_s='ln -s'
-+    if test -z "$ac_sed_cmds"; then
-+      ac_sed_cmds="sed -f conftest.s$ac_file"
-+    else
-+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
-+    fi
-+    ac_file=`expr $ac_file + 1`
-+    ac_beg=$ac_end
-+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
-   fi
--elif ln conf$$.file conf$$ 2>/dev/null; then
--  as_ln_s=ln
--else
--  as_ln_s='cp -p'
--fi
--rm -f conf$$ conf$$.exe conf$$.file
--
--if mkdir -p . 2>/dev/null; then
--  as_mkdir_p=:
--else
--  as_mkdir_p=false
--fi
--
--as_executable_p="test -f"
--
--# Sed expression to map a string onto a valid CPP name.
--as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
--
--# Sed expression to map a string onto a valid variable name.
--as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
--
--
--# IFS
--# We need space, tab and new line, in precisely that order.
--as_nl='
--'
--IFS=" 	$as_nl"
--
--# CDPATH.
--$as_unset CDPATH
--
--exec 6>&1
--
--# Open the log real soon, to keep \$[0] and so on meaningful, and to
--# report actual input values of CONFIG_FILES etc. instead of their
--# values after options handling.  Logging --version etc. is OK.
--exec 5>>config.log
--{
--  echo
--  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
--## Running $as_me. ##
--_ASBOX
--} >&5
--cat >&5 <<_CSEOF
--
--This file was extended by $as_me, which was
--generated by GNU Autoconf 2.57.  Invocation command line was
--
--  CONFIG_FILES    = $CONFIG_FILES
--  CONFIG_HEADERS  = $CONFIG_HEADERS
--  CONFIG_LINKS    = $CONFIG_LINKS
--  CONFIG_COMMANDS = $CONFIG_COMMANDS
--  $ $0 $@
--
--_CSEOF
--echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
--echo >&5
--_ACEOF
--
--# Files that config.status was made for.
--if test -n "$ac_config_files"; then
--  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
--fi
--
--if test -n "$ac_config_headers"; then
--  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
--fi
--
--if test -n "$ac_config_links"; then
--  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
--fi
--
--if test -n "$ac_config_commands"; then
--  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
--fi
--
--cat >>$CONFIG_STATUS <<\_ACEOF
--
--ac_cs_usage="\
--\`$as_me' instantiates files from templates according to the
--current configuration.
--
--Usage: $0 [OPTIONS] [FILE]...
--
--  -h, --help       print this help, then exit
--  -V, --version    print version number, then exit
--  -q, --quiet      do not print progress messages
--  -d, --debug      don't remove temporary files
--      --recheck    update $as_me by reconfiguring in the same conditions
--  --file=FILE[:TEMPLATE]
--                   instantiate the configuration file FILE
--
--Configuration files:
--$config_files
--
--Report bugs to <bug-autoconf@gnu.org>."
--_ACEOF
--
--cat >>$CONFIG_STATUS <<_ACEOF
--ac_cs_version="\\
--config.status
--configured by $0, generated by GNU Autoconf 2.57,
--  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
--
--Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
--Free Software Foundation, Inc.
--This config.status script is free software; the Free Software Foundation
--gives unlimited permission to copy, distribute and modify it."
--srcdir=$srcdir
--INSTALL="$INSTALL"
--_ACEOF
--
--cat >>$CONFIG_STATUS <<\_ACEOF
--# If no file are specified by the user, then we need to provide default
--# value.  By we need to know if files were specified by the user.
--ac_need_defaults=:
--while test $# != 0
--do
--  case $1 in
--  --*=*)
--    ac_option=`expr "x$1" : 'x\([^=]*\)='`
--    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
--    ac_shift=:
--    ;;
--  -*)
--    ac_option=$1
--    ac_optarg=$2
--    ac_shift=shift
--    ;;
--  *) # This is not an option, so the user has probably given explicit
--     # arguments.
--     ac_option=$1
--     ac_need_defaults=false;;
--  esac
--
--  case $ac_option in
--  # Handling of the options.
--_ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
--  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
--    ac_cs_recheck=: ;;
--  --version | --vers* | -V )
--    echo "$ac_cs_version"; exit 0 ;;
--  --he | --h)
--    # Conflict between --help and --header
--    { { echo "$as_me:$LINENO: error: ambiguous option: $1
--Try \`$0 --help' for more information." >&5
--echo "$as_me: error: ambiguous option: $1
--Try \`$0 --help' for more information." >&2;}
--   { (exit 1); exit 1; }; };;
--  --help | --hel | -h )
--    echo "$ac_cs_usage"; exit 0 ;;
--  --debug | --d* | -d )
--    debug=: ;;
--  --file | --fil | --fi | --f )
--    $ac_shift
--    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
--    ac_need_defaults=false;;
--  --header | --heade | --head | --hea )
--    $ac_shift
--    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
--    ac_need_defaults=false;;
--  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
--  | -silent | --silent | --silen | --sile | --sil | --si | --s)
--    ac_cs_silent=: ;;
--
--  # This is an error.
--  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
--Try \`$0 --help' for more information." >&5
--echo "$as_me: error: unrecognized option: $1
--Try \`$0 --help' for more information." >&2;}
--   { (exit 1); exit 1; }; } ;;
--
--  *) ac_config_targets="$ac_config_targets $1" ;;
--
--  esac
--  shift
- done
--
--ac_configure_extra_args=
--
--if $ac_cs_silent; then
--  exec 6>/dev/null
--  ac_configure_extra_args="$ac_configure_extra_args --silent"
-+if test -z "$ac_sed_cmds"; then
-+  ac_sed_cmds=cat
- fi
-+EOF
- 
--_ACEOF
--cat >>$CONFIG_STATUS <<_ACEOF
--if \$ac_cs_recheck; then
--  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
--  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
--fi
-+cat >> $CONFIG_STATUS <<EOF
- 
--_ACEOF
--
--
--
--
--
--cat >>$CONFIG_STATUS <<\_ACEOF
--for ac_config_target in $ac_config_targets
--do
--  case "$ac_config_target" in
--  # Handling of arguments.
--  "config/config" ) CONFIG_FILES="$CONFIG_FILES config/config" ;;
--  "config/system.mak" ) CONFIG_FILES="$CONFIG_FILES config/system.mak" ;;
--  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
--echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
--   { (exit 1); exit 1; }; };;
-+CONFIG_FILES=\${CONFIG_FILES-"config/config config/system.mak"}
-+EOF
-+cat >> $CONFIG_STATUS <<\EOF
-+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-+  case "$ac_file" in
-+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-+  *) ac_file_in="${ac_file}.in" ;;
-   esac
--done
- 
--# If the user did not use the arguments to specify the items to instantiate,
--# then the envvar interface is used.  Set only those that are not.
--# We use the long form for the default assignment because of an extremely
--# bizarre bug on SunOS 4.1.3.
--if $ac_need_defaults; then
--  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
--fi
-+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
- 
--# Have a temporary directory for convenience.  Make it in the build tree
--# simply because there is no reason to put it here, and in addition,
--# creating and moving files from /tmp can sometimes cause problems.
--# Create a temporary directory, and hook for its removal unless debugging.
--$debug ||
--{
--  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
--  trap '{ (exit 1); exit 1; }' 1 2 13 15
--}
--
--# Create a (secure) tmp directory for tmp files.
--
--{
--  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
--  test -n "$tmp" && test -d "$tmp"
--}  ||
--{
--  tmp=./confstat$$-$RANDOM
--  (umask 077 && mkdir $tmp)
--} ||
--{
--   echo "$me: cannot create a temporary directory in ." >&2
--   { (exit 1); exit 1; }
--}
--
--_ACEOF
--
--cat >>$CONFIG_STATUS <<_ACEOF
--
--#
--# CONFIG_FILES section.
--#
--
--# No need to generate the scripts if there are no CONFIG_FILES.
--# This happens for instance when ./config.status config.h
--if test -n "\$CONFIG_FILES"; then
--  # Protect against being on the right side of a sed subst in config.status.
--  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
--   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
--s,@SHELL@,$SHELL,;t t
--s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
--s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
--s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
--s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
--s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
--s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
--s,@exec_prefix@,$exec_prefix,;t t
--s,@prefix@,$prefix,;t t
--s,@program_transform_name@,$program_transform_name,;t t
--s,@bindir@,$bindir,;t t
--s,@sbindir@,$sbindir,;t t
--s,@libexecdir@,$libexecdir,;t t
--s,@datadir@,$datadir,;t t
--s,@sysconfdir@,$sysconfdir,;t t
--s,@sharedstatedir@,$sharedstatedir,;t t
--s,@localstatedir@,$localstatedir,;t t
--s,@libdir@,$libdir,;t t
--s,@includedir@,$includedir,;t t
--s,@oldincludedir@,$oldincludedir,;t t
--s,@infodir@,$infodir,;t t
--s,@mandir@,$mandir,;t t
--s,@build_alias@,$build_alias,;t t
--s,@host_alias@,$host_alias,;t t
--s,@target_alias@,$target_alias,;t t
--s,@DEFS@,$DEFS,;t t
--s,@ECHO_C@,$ECHO_C,;t t
--s,@ECHO_N@,$ECHO_N,;t t
--s,@ECHO_T@,$ECHO_T,;t t
--s,@LIBS@,$LIBS,;t t
--s,@build@,$build,;t t
--s,@build_cpu@,$build_cpu,;t t
--s,@build_vendor@,$build_vendor,;t t
--s,@build_os@,$build_os,;t t
--s,@host@,$host,;t t
--s,@host_cpu@,$host_cpu,;t t
--s,@host_vendor@,$host_vendor,;t t
--s,@host_os@,$host_os,;t t
--s,@target@,$target,;t t
--s,@target_cpu@,$target_cpu,;t t
--s,@target_vendor@,$target_vendor,;t t
--s,@target_os@,$target_os,;t t
--s,@CC@,$CC,;t t
--s,@CFLAGS@,$CFLAGS,;t t
--s,@LDFLAGS@,$LDFLAGS,;t t
--s,@CPPFLAGS@,$CPPFLAGS,;t t
--s,@ac_ct_CC@,$ac_ct_CC,;t t
--s,@EXEEXT@,$EXEEXT,;t t
--s,@OBJEXT@,$OBJEXT,;t t
--s,@RANLIB@,$RANLIB,;t t
--s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
--s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
--s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
--s,@INSTALL_DATA@,$INSTALL_DATA,;t t
--s,@AR@,$AR,;t t
--s,@ac_ct_AR@,$ac_ct_AR,;t t
--s,@TARGET_OS@,$TARGET_OS,;t t
--s,@TARGET_CPU@,$TARGET_CPU,;t t
--s,@M68KCC@,$M68KCC,;t t
--s,@LEXDEFS@,$LEXDEFS,;t t
--s,@VOXDEFS@,$VOXDEFS,;t t
--s,@HOST_OS@,$HOST_OS,;t t
--s,@HOST_CPU@,$HOST_CPU,;t t
--s,@OTHERLIBS@,$OTHERLIBS,;t t
--s,@SHFLAGS@,$SHFLAGS,;t t
--s,@MMAPTYPE@,$MMAPTYPE,;t t
--s,@STDIOTYPE@,$STDIOTYPE,;t t
--s,@CPP@,$CPP,;t t
--s,@EGREP@,$EGREP,;t t
--s,@AUDIODRIVER@,$AUDIODRIVER,;t t
--s,@AUDIODEFS@,$AUDIODEFS,;t t
--s,@AUDIOLIBS@,$AUDIOLIBS,;t t
--s,@FL_LANG@,$FL_LANG,;t t
--s,@FL_VOX@,$FL_VOX,;t t
--s,@FL_LEX@,$FL_LEX,;t t
--s,@LIBOBJS@,$LIBOBJS,;t t
--s,@LTLIBOBJS@,$LTLIBOBJS,;t t
--CEOF
--
--_ACEOF
--
--  cat >>$CONFIG_STATUS <<\_ACEOF
--  # Split the substitutions into bite-sized pieces for seds with
--  # small command number limits, like on Digital OSF/1 and HP-UX.
--  ac_max_sed_lines=48
--  ac_sed_frag=1 # Number of current file.
--  ac_beg=1 # First line for current file.
--  ac_end=$ac_max_sed_lines # Line after last line for current file.
--  ac_more_lines=:
--  ac_sed_cmds=
--  while $ac_more_lines; do
--    if test $ac_beg -gt 1; then
--      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
--    else
--      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
--    fi
--    if test ! -s $tmp/subs.frag; then
--      ac_more_lines=false
--    else
--      # The purpose of the label and of the branching condition is to
--      # speed up the sed processing (if there are no `@' at all, there
--      # is no need to browse any of the substitutions).
--      # These are the two extra sed commands mentioned above.
--      (echo ':t
--  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
--      if test -z "$ac_sed_cmds"; then
--  	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
--      else
--  	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
--      fi
--      ac_sed_frag=`expr $ac_sed_frag + 1`
--      ac_beg=$ac_end
--      ac_end=`expr $ac_end + $ac_max_sed_lines`
--    fi
--  done
--  if test -z "$ac_sed_cmds"; then
--    ac_sed_cmds=cat
-+  # Remove last slash and all that follows it.  Not all systems have dirname.
-+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-+    # The file is in a subdirectory.
-+    test ! -d "$ac_dir" && mkdir "$ac_dir"
-+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
-+    # A "../" for each directory in $ac_dir_suffix.
-+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
-+  else
-+    ac_dir_suffix= ac_dots=
-   fi
--fi # test -n "$CONFIG_FILES"
- 
--_ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
--for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
--  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
--  case $ac_file in
--  - | *:- | *:-:* ) # input from stdin
--        cat >$tmp/stdin
--        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
--        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
--  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
--        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
--  * )   ac_file_in=$ac_file.in ;;
-+  case "$ac_given_srcdir" in
-+  .)  srcdir=.
-+      if test -z "$ac_dots"; then top_srcdir=.
-+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
-+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
-+  *) # Relative path.
-+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
-+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
-   esac
- 
--  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
--  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
--$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
--         X"$ac_file" : 'X\(//\)[^/]' \| \
--         X"$ac_file" : 'X\(//\)$' \| \
--         X"$ac_file" : 'X\(/\)' \| \
--         .     : '\(.\)' 2>/dev/null ||
--echo X"$ac_file" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--  	  /^X\(\/\/\)$/{ s//\1/; q; }
--  	  /^X\(\/\).*/{ s//\1/; q; }
--  	  s/.*/./; q'`
--  { if $as_mkdir_p; then
--    mkdir -p "$ac_dir"
--  else
--    as_dir="$ac_dir"
--    as_dirs=
--    while test ! -d "$as_dir"; do
--      as_dirs="$as_dir $as_dirs"
--      as_dir=`(dirname "$as_dir") 2>/dev/null ||
--$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
--         X"$as_dir" : 'X\(//\)[^/]' \| \
--         X"$as_dir" : 'X\(//\)$' \| \
--         X"$as_dir" : 'X\(/\)' \| \
--         .     : '\(.\)' 2>/dev/null ||
--echo X"$as_dir" |
--    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
--  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
--  	  /^X\(\/\/\)$/{ s//\1/; q; }
--  	  /^X\(\/\).*/{ s//\1/; q; }
--  	  s/.*/./; q'`
--    done
--    test ! -n "$as_dirs" || mkdir $as_dirs
--  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
--echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
--   { (exit 1); exit 1; }; }; }
-+  case "$ac_given_INSTALL" in
-+  [/$]*) INSTALL="$ac_given_INSTALL" ;;
-+  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
-+  esac
- 
--  ac_builddir=.
--
--if test "$ac_dir" != .; then
--  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
--  # A "../" for each directory in $ac_dir_suffix.
--  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
--else
--  ac_dir_suffix= ac_top_builddir=
--fi
--
--case $srcdir in
--  .)  # No --srcdir option.  We are building in place.
--    ac_srcdir=.
--    if test -z "$ac_top_builddir"; then
--       ac_top_srcdir=.
--    else
--       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
--    fi ;;
--  [\\/]* | ?:[\\/]* )  # Absolute path.
--    ac_srcdir=$srcdir$ac_dir_suffix;
--    ac_top_srcdir=$srcdir ;;
--  *) # Relative path.
--    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
--    ac_top_srcdir=$ac_top_builddir$srcdir ;;
--esac
--# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
--# absolute.
--ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
--ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
--ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
--ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
--
--
--  case $INSTALL in
--  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
--  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
-+  echo creating "$ac_file"
-+  rm -f "$ac_file"
-+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
-+  case "$ac_file" in
-+  *Makefile*) ac_comsub="1i\\
-+# $configure_input" ;;
-+  *) ac_comsub= ;;
-   esac
- 
--  if test x"$ac_file" != x-; then
--    { echo "$as_me:$LINENO: creating $ac_file" >&5
--echo "$as_me: creating $ac_file" >&6;}
--    rm -f "$ac_file"
--  fi
--  # Let's still pretend it is `configure' which instantiates (i.e., don't
--  # use $as_me), people would be surprised to read:
--  #    /* config.h.  Generated by config.status.  */
--  if test x"$ac_file" = x-; then
--    configure_input=
--  else
--    configure_input="$ac_file.  "
--  fi
--  configure_input=$configure_input"Generated from `echo $ac_file_in |
--                                     sed 's,.*/,,'` by configure."
-+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-+  sed -e "$ac_comsub
-+s%@configure_input@%$configure_input%g
-+s%@srcdir@%$srcdir%g
-+s%@top_srcdir@%$top_srcdir%g
-+s%@INSTALL@%$INSTALL%g
-+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-+fi; done
-+rm -f conftest.s*
- 
--  # First look for the input files in the build tree, otherwise in the
--  # src tree.
--  ac_file_inputs=`IFS=:
--    for f in $ac_file_in; do
--      case $f in
--      -) echo $tmp/stdin ;;
--      [\\/$]*)
--         # Absolute (can't be DOS-style, as IFS=:)
--         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
--echo "$as_me: error: cannot find input file: $f" >&2;}
--   { (exit 1); exit 1; }; }
--         echo $f;;
--      *) # Relative
--         if test -f "$f"; then
--           # Build tree
--           echo $f
--         elif test -f "$srcdir/$f"; then
--           # Source tree
--           echo $srcdir/$f
--         else
--           # /dev/null tree
--           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
--echo "$as_me: error: cannot find input file: $f" >&2;}
--   { (exit 1); exit 1; }; }
--         fi;;
--      esac
--    done` || { (exit 1); exit 1; }
--_ACEOF
--cat >>$CONFIG_STATUS <<_ACEOF
--  sed "$ac_vpsub
--$extrasub
--_ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
--:t
--/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
--s,@configure_input@,$configure_input,;t t
--s,@srcdir@,$ac_srcdir,;t t
--s,@abs_srcdir@,$ac_abs_srcdir,;t t
--s,@top_srcdir@,$ac_top_srcdir,;t t
--s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
--s,@builddir@,$ac_builddir,;t t
--s,@abs_builddir@,$ac_abs_builddir,;t t
--s,@top_builddir@,$ac_top_builddir,;t t
--s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
--s,@INSTALL@,$ac_INSTALL,;t t
--" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
--  rm -f $tmp/stdin
--  if test x"$ac_file" != x-; then
--    mv $tmp/out $ac_file
--  else
--    cat $tmp/out
--    rm -f $tmp/out
--  fi
-+EOF
-+cat >> $CONFIG_STATUS <<EOF
- 
--done
--_ACEOF
-+EOF
-+cat >> $CONFIG_STATUS <<\EOF
- 
--cat >>$CONFIG_STATUS <<\_ACEOF
--
--{ (exit 0); exit 0; }
--_ACEOF
-+exit 0
-+EOF
- chmod +x $CONFIG_STATUS
--ac_clean_files=$ac_clean_files_save
-+rm -fr confdefs* $ac_clean_files
-+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
- 
--
--# configure is writing to config.log, and then calls config.status.
--# config.status does its own redirection, appending to config.log.
--# Unfortunately, on DOS this fails, as config.log is still kept open
--# by configure, so config.status won't be able to write to it; its
--# output is simply discarded.  So we exec the FD to /dev/null,
--# effectively closing config.log, so it can be properly (re)opened and
--# appended to by config.status.  When coming back to configure, we
--# need to make the FD available again.
--if test "$no_create" != yes; then
--  ac_cs_success=:
--  ac_config_status_args=
--  test "$silent" = yes &&
--    ac_config_status_args="$ac_config_status_args --quiet"
--  exec 5>/dev/null
--  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
--  exec 5>>config.log
--  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
--  # would make configure fail if this is the last instruction.
--  $ac_cs_success || { (exit 1); exit 1; }
--fi
--
-Index: configure.in
-===================================================================
---- flite-1.3-release/configure.in	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/configure.in	(.../release-1.2)	(revision 7)
-@@ -206,10 +206,10 @@
- AC_CHECK_HEADER(sys/audioio.h,
-               [AUDIODRIVER="sun"
-                AUDIODEFS=-DCST_AUDIO_SUNOS])
--dnl AC_CHECK_HEADER(sys/asoundlib.h,
--dnl              [AUDIODRIVER="alsa"
--dnl	       AUDIODEFS=-DCST_AUDIO_ALSA
--dnl               AUDIOLIBS=-lasound])
-+ AC_CHECK_HEADER(alsa/asoundlib.h,
-+              [AUDIODRIVER="alsa"
-+	       AUDIODEFS=-DCST_AUDIO_ALSA
-+               AUDIOLIBS=-lasound])
- AC_CHECK_HEADER(mmsystem.h,
- 	      [AUDIODRIVER="wince"
- 	       AUDIODEFS=-DCST_AUDIO_WINCE
-Index: src/hrg/Makefile
-===================================================================
---- flite-1.3-release/src/hrg/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/src/hrg/Makefile	(.../release-1.2)	(revision 7)
-@@ -39,9 +39,14 @@
- BUILD_DIRS = 
- ALL_DIRS= 
- H = 
-+include $(TOP)/config/config
- SRCS = cst_utterance.c cst_relation.c cst_item.c cst_ffeature.c \
-        cst_rel_io.c
--OBJS = $(SRCS:.c=.o)
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- FILES = Makefile $(H) $(SRCS)
- LIBNAME = flite
- 
-Index: src/utils/Makefile
-===================================================================
---- flite-1.3-release/src/utils/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/src/utils/Makefile	(.../release-1.2)	(revision 7)
-@@ -44,8 +44,13 @@
-        cst_tokenstream.c cst_val.c cst_features.c \
-        cst_endian.c cst_socket.c cst_val_const.c \
-        cst_val_user.c cst_args.c 
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os) $(MMAPTYPE:%=cst_mmap_%.os) \
-+        $(STDIOTYPE:%=cst_file_%.os)
-+else
- OBJS := $(SRCS:.c=.o) $(MMAPTYPE:%=cst_mmap_%.o) \
-         $(STDIOTYPE:%=cst_file_%.o)
-+endif
- FILES = Makefile $(H) $(SRCS) \
- 	cst_mmap_posix.c cst_mmap_win32.c cst_mmap_none.c \
- 	cst_file_stdio.c cst_file_wince.c cst_file_palmos.c
-Index: src/audio/au_alsa.c
-===================================================================
---- flite-1.3-release/src/audio/au_alsa.c	(.../flite-1.3-orig)	(revision 0)
-+++ flite-1.3-release/src/audio/au_alsa.c	(.../release-1.2)	(revision 7)
-@@ -0,0 +1,311 @@
-+/*************************************************************************/
-+/*                                                                       */
-+/*                  Language Technologies Institute                      */
-+/*                     Carnegie Mellon University                        */
-+/*                        Copyright (c) 2000                             */
-+/*                        All Rights Reserved.                           */
-+/*                                                                       */
-+/*  Permission is hereby granted, free of charge, to use and distribute  */
-+/*  this software and its documentation without restriction, including   */
-+/*  without limitation the rights to use, copy, modify, merge, publish,  */
-+/*  distribute, sublicense, and/or sell copies of this work, and to      */
-+/*  permit persons to whom this work is furnished to do so, subject to   */
-+/*  the following conditions:                                            */
-+/*   1. The code must retain the above copyright notice, this list of    */
-+/*      conditions and the following disclaimer.                         */
-+/*   2. Any modifications must be clearly marked as such.                */
-+/*   3. Original authors' names are not deleted.                         */
-+/*   4. The authors' names are not used to endorse or promote products   */
-+/*      derived from this software without specific prior written        */
-+/*      permission.                                                      */
-+/*                                                                       */
-+/*  CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK         */
-+/*  DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING      */
-+/*  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT   */
-+/*  SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE      */
-+/*  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    */
-+/*  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN   */
-+/*  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,          */
-+/*  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF       */
-+/*  THIS SOFTWARE.                                                       */
-+/*                                                                       */
-+/*********************************************************************** */
-+/*             Author:  Lukas Loehrer (                                  */
-+/*               Date:  January 2005                                     */
-+/*************************************************************************/
-+/*                                                                       */
-+/*  Native access to alsa audio devices on Linux                         */
-+/*  Tested with libasound version 1.0.10                                 */
-+/*************************************************************************/
-+
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <sys/types.h>
-+#include <assert.h>
-+#include <errno.h>
-+
-+#include "cst_string.h"
-+#include "cst_wave.h"
-+#include "cst_audio.h"
-+
-+#include <alsa/asoundlib.h>
-+
-+
-+/*static char *pcm_dev_name = "hw:0,0"; */
-+static char *pcm_dev_name ="default";
-+
-+static inline void print_pcm_state(snd_pcm_t *handle, char *msg)
-+{
-+  fprintf(stderr, "PCM state at %s = %s\n", msg,
-+		  snd_pcm_state_name(snd_pcm_state(handle)));
-+}
-+
-+cst_audiodev *audio_open_alsa(int sps, int channels, cst_audiofmt fmt)
-+{
-+  cst_audiodev *ad;
-+  unsigned 	int real_rate;
-+  int err;
-+
-+  /* alsa specific stuff */
-+  snd_pcm_t *pcm_handle;          
-+  snd_pcm_stream_t stream = SND_PCM_STREAM_PLAYBACK;
-+  snd_pcm_hw_params_t *hwparams;
-+  snd_pcm_format_t format;
-+  snd_pcm_access_t access = SND_PCM_ACCESS_RW_INTERLEAVED;
-+
-+  /* Allocate the snd_pcm_hw_params_t structure on the stack. */
-+  snd_pcm_hw_params_alloca(&hwparams);
-+
-+  /* Open pcm device */
-+  err = snd_pcm_open(&pcm_handle, pcm_dev_name, stream, 0);
-+  if (err < 0) 
-+  {
-+	cst_errmsg("audio_open_alsa: failed to open audio device %s. %s\n",
-+			   pcm_dev_name, snd_strerror(err));
-+	return NULL;
-+  }
-+
-+  /* Init hwparams with full configuration space */
-+  err = snd_pcm_hw_params_any(pcm_handle, hwparams);
-+  if (err < 0) 
-+  {
-+	snd_pcm_close(pcm_handle);
-+	cst_errmsg("audio_open_alsa: failed to get hardware parameters from audio device. %s\n", snd_strerror(err));
-+	return NULL;
-+  }
-+
-+  /* Set access mode */
-+  err = snd_pcm_hw_params_set_access(pcm_handle, hwparams, access);
-+  if (err < 0) 
-+  {
-+	snd_pcm_close(pcm_handle);
-+	cst_errmsg("audio_open_alsa: failed to set access mode. %s.\n", snd_strerror(err));
-+	return NULL;
-+  }
-+
-+  /* Determine matching alsa sample format */
-+  /* This could be implemented in a more */
-+  /* flexible way (byte order conversion). */
-+  switch (fmt)
-+  {
-+  case CST_AUDIO_LINEAR16:
-+	if (CST_LITTLE_ENDIAN)
-+	  format = SND_PCM_FORMAT_S16_LE;
-+	else
-+	  format = SND_PCM_FORMAT_S16_BE;
-+	break;
-+  case CST_AUDIO_LINEAR8:
-+	format = SND_PCM_FORMAT_U8;
-+	break;
-+  case CST_AUDIO_MULAW:
-+	format = SND_PCM_FORMAT_MU_LAW;
-+	break;
-+  default:
-+	snd_pcm_close(pcm_handle);
-+	cst_errmsg("audio_open_alsa: failed to find suitable format.\n");
-+	return NULL;
-+	break;
-+  }
-+
-+  /* Set samble format */
-+  err = snd_pcm_hw_params_set_format(pcm_handle, hwparams, format);
-+  if (err <0) 
-+  {
-+	snd_pcm_close(pcm_handle);
-+	cst_errmsg("audio_open_alsa: failed to set format. %s.\n", snd_strerror(err));
-+	return NULL;
-+  }
-+
-+  /* Set sample rate near the disired rate */
-+  real_rate = sps;
-+  err = snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &real_rate, 0);
-+  if (err < 0)   
-+  {
-+	snd_pcm_close(pcm_handle);
-+	cst_errmsg("audio_open_alsa: failed to set sample rate near %d. %s.\n", sps, snd_strerror(err));
-+	return NULL;
-+  }
-+  /*FIXME:  This is probably too strict */
-+  assert(sps == real_rate);
-+
-+  /* Set number of channels */
-+  assert(channels >0);
-+  err = snd_pcm_hw_params_set_channels(pcm_handle, hwparams, channels);
-+  if (err < 0) 
-+  {
-+	snd_pcm_close(pcm_handle);
-+	cst_errmsg("audio_open_alsa: failed to set number of channels to %d. %s.\n", channels, snd_strerror(err));
-+	return NULL;
-+  }
-+
-+  /* Commit hardware parameters */
-+  err = snd_pcm_hw_params(pcm_handle, hwparams);
-+  if (err < 0) 
-+  {
-+	snd_pcm_close(pcm_handle);
-+	cst_errmsg("audio_open_alsa: failed to set hw parameters. %s.\n", snd_strerror(err));
-+	return NULL;
-+  }
-+
-+  /* Make sure the device is ready to accept data */
-+  assert(snd_pcm_state(pcm_handle) == SND_PCM_STATE_PREPARED);
-+
-+  /* Write hardware parameters to flite audio device data structure */
-+  ad = cst_alloc(cst_audiodev, 1);
-+  assert(ad != NULL);
-+  ad->real_sps = ad->sps = sps;
-+  ad->real_channels = ad->channels = channels;
-+  ad->real_fmt = ad->fmt = fmt;
-+  ad->platform_data = (void *) pcm_handle;
-+
-+  return ad;
-+}
-+
-+int audio_close_alsa(cst_audiodev *ad)
-+{
-+  int result;
-+  snd_pcm_t *pcm_handle;
-+
-+  if (ad == NULL)
-+	return 0;
-+
-+  pcm_handle = (snd_pcm_t *) ad->platform_data;
-+  result = snd_pcm_close(pcm_handle);
-+  if (result < 0)
-+  {
-+	cst_errmsg("audio_close_alsa: Error: %s.\n", snd_strerror(result));
-+  }
-+  cst_free(ad);
-+  return result;
-+}
-+
-+/* Returns zero if recovery was successful. */
-+static int recover_from_error(snd_pcm_t *pcm_handle, ssize_t res)
-+{
-+  if (res == -EPIPE) /* xrun */
-+  {
-+	res = snd_pcm_prepare(pcm_handle);
-+	if (res < 0) 
-+	{
-+	  /* Failed to recover from xrun */
-+	  cst_errmsg("recover_from_write_error: failed to recover from xrun. %s\n.", snd_strerror(res));
-+	  return res;
-+	}
-+  } 
-+  else if (res == -ESTRPIPE) /* Suspend */
-+  {
-+	while ((res = snd_pcm_resume(pcm_handle)) == -EAGAIN) 
-+	{
-+	  snd_pcm_wait(pcm_handle, 1000);
-+	}
-+	if (res < 0) 
-+	{
-+	  res = snd_pcm_prepare(pcm_handle);
-+	  if (res <0) 
-+	  {
-+		/* Resume failed */
-+		cst_errmsg("audio_recover_from_write_error: failed to resume after suspend. %s\n.", snd_strerror(res));
-+		return res;
-+	  }
-+	}
-+  } 
-+  else if (res < 0) 
-+  {
-+	/* Unknown failure */
-+	cst_errmsg("audio_recover_from_write_error: %s.\n", snd_strerror(res));
-+	return res;
-+  }
-+  return 0;
-+}
-+
-+int audio_write_alsa(cst_audiodev *ad, void *samples, int num_bytes)
-+{
-+  size_t frame_size;
-+  ssize_t num_frames, res;
-+  snd_pcm_t *pcm_handle;
-+  char *buf = (char *) samples;
-+
-+  /* Determine frame size in bytes */
-+  frame_size  = audio_bps(ad->real_fmt) * ad->real_channels;
-+  /* Require that only complete frames are handed in */
-+  assert((num_bytes % frame_size) == 0);
-+  num_frames = num_bytes / frame_size;
-+  pcm_handle = (snd_pcm_t *) ad->platform_data;
-+
-+  while (num_frames > 0) 
-+  {
-+	res = snd_pcm_writei(pcm_handle, buf, num_frames);
-+	if (res != num_frames) 
-+	{
-+	  if (res == -EAGAIN || (res > 0 && res < num_frames)) 
-+	  {
-+		snd_pcm_wait(pcm_handle, 100);
-+	  }
-+	  else if (recover_from_error(pcm_handle, res) < 0) 
-+	  {
-+		return -1;
-+	  }
-+	}
-+
-+	if (res >0) 
-+	{
-+	  num_frames -= res;
-+	  buf += res * frame_size;
-+	}
-+  }
-+  return num_bytes;
-+}
-+
-+int audio_flush_alsa(cst_audiodev *ad)
-+{
-+  int result;
-+  result = snd_pcm_drain((snd_pcm_t *) ad->platform_data);
-+  if (result < 0)
-+  {
-+	cst_errmsg("audio_flush_alsa: Error: %s.\n", snd_strerror(result));
-+  }
-+	/* Prepare device for more data */
-+  result = snd_pcm_prepare((snd_pcm_t *) ad->platform_data);
-+if (result < 0)
-+  {
-+	cst_errmsg("audio_flush_alsa: Error: %s.\n", snd_strerror(result));
-+  }
-+  return result;
-+}
-+
-+int audio_drain_alsa(cst_audiodev *ad)
-+{
-+  int result;
-+  result = snd_pcm_drop((snd_pcm_t *) ad->platform_data);
-+  if (result < 0)
-+  {
-+	cst_errmsg("audio_drain_alsa: Error: %s.\n", snd_strerror(result));
-+  }
-+/* Prepare device for more data */
-+  result = snd_pcm_prepare((snd_pcm_t *) ad->platform_data);
-+if (result < 0)
-+  {
-+	cst_errmsg("audio_drain_alsa: Error: %s.\n", snd_strerror(result));
-+  }
-+  return result;
-+}
-Index: src/audio/Makefile
-===================================================================
---- flite-1.3-release/src/audio/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/src/audio/Makefile	(.../release-1.2)	(revision 7)
-@@ -43,9 +43,13 @@
- 
- BASESRCS = auclient.c auserver.c audio.c 
- SRCS = $(BASESRCS) $(AUDIODRIVER:%=au_%.c)
--OBJS = $(SRCS:.c=.o)
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- FILES = Makefile $(H) $(BASESRCS) au_command.c au_none.c \
--	au_oss.c au_sun.c au_wince.c au_palmos.c
-+	au_oss.c au_sun.c au_wince.c au_palmos.c au_alsa.c
- LIBNAME = flite
- 
- LOCAL_INCLUDES = -I. $(AUDIODEFS)
-Index: src/lexicon/Makefile
-===================================================================
---- flite-1.3-release/src/lexicon/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/src/lexicon/Makefile	(.../release-1.2)	(revision 7)
-@@ -38,8 +38,13 @@
- DIRNAME=src/lexicon
- BUILD_DIRS = 
- ALL_DIRS= 
-+include $(TOP)/config/config
- SRCS = cst_lexicon.c cst_lts.c cst_lts_rewrites.c
--OBJS = $(SRCS:.c=.o)
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- FILES = Makefile $(SRCS)
- LIBNAME = flite
- 
-Index: src/synth/Makefile
-===================================================================
---- flite-1.3-release/src/synth/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/src/synth/Makefile	(.../release-1.2)	(revision 7)
-@@ -38,9 +38,14 @@
- DIRNAME=src/synth
- BUILD_DIRS = 
- ALL_DIRS= 
-+include $(TOP)/config/config
- SRCS = cst_synth.c cst_utt_utils.c cst_voice.c cst_phoneset.c \
-        flite.c 
--OBJS = $(SRCS:.c=.o)
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- FILES = Makefile $(SRCS)
- LIBNAME = flite
- 
-Index: src/speech/Makefile
-===================================================================
---- flite-1.3-release/src/speech/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/src/speech/Makefile	(.../release-1.2)	(revision 7)
-@@ -39,9 +39,14 @@
- BUILD_DIRS = 
- ALL_DIRS= 
- H = 
-+include $(TOP)/config/config
- SRCS = cst_wave.c cst_wave_io.c cst_track.c cst_track_io.c \
-        cst_wave_utils.c cst_lpcres.c rateconv.c
--OBJS = $(SRCS:.c=.o)
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- FILES = Makefile $(H) $(SRCS)
- LIBNAME = flite
- 
-Index: src/wavesynth/Makefile
-===================================================================
---- flite-1.3-release/src/wavesynth/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/src/wavesynth/Makefile	(.../release-1.2)	(revision 7)
-@@ -38,9 +38,14 @@
- DIRNAME=src/wavesynth
- BUILD_DIRS = 
- ALL_DIRS=
-+include $(TOP)/config/config
- SRCS = cst_units.c cst_sigpr.c cst_clunits.c cst_diphone.c \
-        cst_sigprFP.c cst_sts.c cst_reflpc.c
--OBJS = $(SRCS:.c=.o)
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- LIBNAME = flite
- FILES = Makefile $(SRCS)
- 
-Index: src/regex/Makefile
-===================================================================
---- flite-1.3-release/src/regex/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/src/regex/Makefile	(.../release-1.2)	(revision 7)
-@@ -42,8 +42,13 @@
- DIRNAME=src/regex
- BUILD_DIRS = 
- ALL_DIRS= 
-+include $(TOP)/config/config
- SRCS = cst_regex.c regexp.c regsub.c
--OBJS = $(SRCS:.c=.o)
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- FILES = Makefile $(H) $(SRCS)
- LIBNAME = flite
- 
-Index: src/stats/Makefile
-===================================================================
---- flite-1.3-release/src/stats/Makefile	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/src/stats/Makefile	(.../release-1.2)	(revision 7)
-@@ -39,8 +39,13 @@
- BUILD_DIRS = 
- ALL_DIRS= 
- H = 
-+include $(TOP)/config/config
- SRCS = cst_cart.c cst_viterbi.c cst_ss.c
--OBJS = $(SRCS:.c=.o)
-+ifdef SHFLAGS
-+OBJS := $(SRCS:.c=.os)
-+else
-+OBJS := $(SRCS:.c=.o)
-+endif
- FILES = Makefile $(H) $(SRCS)
- LIBNAME = flite
- 
-Index: config/common_make_rules
-===================================================================
---- flite-1.3-release/config/common_make_rules	(.../flite-1.3-orig)	(revision 7)
-+++ flite-1.3-release/config/common_make_rules	(.../release-1.2)	(revision 7)
-@@ -73,12 +73,13 @@
- ifdef SHFLAGS
- SOOBJS = $(OBJS:.o=.os)
- FULLSHOBJS = $(SOOBJS:%=$(OBJDIR)/%)
--ifdef LIBNAME
--ALL += $(OBJDIR)/.build_so
-+#ifdef LIBNAME
-+#ALL += $(OBJDIR)/.build_so
-+#endif
- endif
--endif
- ifdef LIBNAME
- ALL += $(OBJDIR)/.build_lib
-+ALL += $(OBJDIR)/.build_so
- endif
- # Only do some directories when you are not cross compiling
- ifeq ($(HOST_PLATFORM),$(TARGET_PLATFORM))
-@@ -117,14 +118,17 @@
- 	@ touch $(OBJDIR)/.build_so
- 
- # Used in the lib/ directory and in building new voices
--$(OBJDIR)/%.so: %.shared.a
-+#$(OBJDIR)/%.so: %.shared.a
-+%.so: %.shared.a
- 	@ echo making $@
- 	@ rm -rf shared_os && mkdir shared_os
- 	@ rm -f $@ $(LIBDIR)/$@.${PROJECT_VERSION} $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION} 
- 	@ (cd shared_os && ar x ../$<)
- 	@ (cd shared_os && $(CC) -shared -Wl,-soname,$@.${PROJECT_SHLIB_VERSION} -o ../$@.${PROJECT_VERSION} *.os)
--	@ ln -s $(LIBDIR)/$@.${PROJECT_VERSION} $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION}
--	@ ln -s $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION} $(LIBDIR)/$@
-+	#@ ln -s $(LIBDIR)/$@.${PROJECT_VERSION} $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION}
-+	#@ ln -s $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION} $(LIBDIR)/$@
-+	@ ln -s $@.${PROJECT_VERSION} $@.${PROJECT_SHLIB_VERSION}
-+	@ ln -s $@.${PROJECT_SHLIB_VERSION} $@
- 	@ rm -rf shared_os
- 
- $(OBJDIR)/.make_build_dirs:
-Index: lib/Makefile
-===================================================================
---- flite-1.3-release/lib/Makefile	(.../flite-1.3-orig)	(revision 0)
-+++ flite-1.3-release/lib/Makefile	(.../release-1.2)	(revision 7)
-@@ -0,0 +1,70 @@
-+###########################################################################
-+##                                                                       ##
-+##                  Language Technologies Institute                      ##
-+##                     Carnegie Mellon University                        ##
-+##                        Copyright (c) 1999                             ##
-+##                        All Rights Reserved.                           ##
-+##                                                                       ##
-+##  Permission is hereby granted, free of charge, to use and distribute  ##
-+##  this software and its documentation without restriction, including   ##
-+##  without limitation the rights to use, copy, modify, merge, publish,  ##
-+##  distribute, sublicense, and/or sell copies of this work, and to      ##
-+##  permit persons to whom this work is furnished to do so, subject to   ##
-+##  the following conditions:                                            ##
-+##   1. The code must retain the above copyright notice, this list of    ##
-+##      conditions and the following disclaimer.                         ##
-+##   2. Any modifications must be clearly marked as such.                ##
-+##   3. Original authors' names are not deleted.                         ##
-+##   4. The authors' names are not used to endorse or promote products   ##
-+##      derived from this software without specific prior written        ##
-+##      permission.                                                      ##
-+##                                                                       ##
-+##  CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK         ##
-+##  DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING      ##
-+##  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT   ##
-+##  SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE      ##
-+##  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    ##
-+##  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN   ##
-+##  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,          ##
-+##  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF       ##
-+##  THIS SOFTWARE.                                                       ##
-+##                                                                       ##
-+###########################################################################
-+##                                                                       ##
-+##    FLITE libraries                                                    ##
-+##                                                                       ##
-+###########################################################################
-+TOP=..
-+DIRNAME=lib
-+BUILD_DIRS = 
-+ALL_DIRS=
-+FILES = Makefile
-+LIBNAMES = flite flite_cmulex flite_usenglish \
-+           flite_cmu_us_kal flite_cmu_us_kal16 flite_cmu_time_awb
-+
-+STATICLIBS= $(LIBNAMES:%=lib%.a)
-+SHAREDARLIBS= $(LIBNAMES:%=lib%.shared.a)
-+#SHAREDLIBS = $(LIBNAMES:%=lib%.so)
-+SHAREDLIBS = $(SHAREDARLIBS:%.shared.a=%.so)
-+VERSIONSHAREDLIBS = $(SHAREDLIBS:%=%.${PROJECT_VERSION}) \
-+                    $(SHAREDLIBS:%=%.${PROJECT_SHLIB_VERSION})
-+ALL_LIBS = $(STATICLIBS) $(SHAREDLIBS) $(VERSIONSHAREDLIBS)
-+
-+ALL = shared_libs
-+
-+LOCAL_CLEAN=*.a *.so *.so.${PROJECT_VERSION} *.so.${PROJECT_SHLIB_VERSION}
-+
-+include $(TOP)/config/common_make_rules
-+
-+ifdef SHFLAGS
-+shared_libs: $(SHAREDLIBS)
-+else
-+shared_libs: nothing
-+endif
-+
-+install:
-+	@ cp -vf $(LIBDIR)/* .
-+	@ $(MAKE) shared_libs
-+	@ echo ARLIBS: $(SHAREDARLIBS)
-+	@ echo SHARLIBS: $(SHAREDLIBS)
-+	@ tar cvf - $(ALL_LIBS) | ( cd $(INSTALLLIBDIR) && tar xf -)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
index 619d142..ec9e04b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
@@ -2,7 +2,10 @@
 
 DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft"
 
-inherit binconfig lib_package gtk-icon-cache mime
+inherit distro_features_check binconfig lib_package gtk-icon-cache mime
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += "file://0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch"
 
 EXTRA_OECMAKE = " \
     -DOPTION_BUILD_SHARED_LIBS=ON \
@@ -15,6 +18,7 @@
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
 
 PACKAGECONFIG[examples] = "-DOPTION_BUILD_EXAMPLES=ON,-DOPTION_BUILD_EXAMPLES=OFF,"
+PACKAGECONFIG[cairo] = "-DOPTION_CAIRO=ON,-DOPTION_CAIRO=OFF,cairo"
 PACKAGECONFIG[opengl] = "-DOPTION_USE_GL=ON,-DOPTION_USE_GL=OFF,virtual/libgl"
 PACKAGECONFIG[xinerama] = "-DOPTION_USE_XINERAMA=ON,-DOPTION_USE_XINERAMA=OFF,libxinerama"
 PACKAGECONFIG[xfixes] = "-DOPTION_USE_XFIXES=ON,-DOPTION_USE_XFIXES=OFF,libxfixes"
@@ -31,4 +35,12 @@
 
 LEAD_SONAME = "libfltk.so"
 
-FILES_${PN} += "${datadir}/mime"
+# .desktop / icons / mime only necessary for fluid app
+FILES_${PN}-bin += " \
+    ${datadir}/applications \
+    ${datadir}/icons \
+    ${datadir}/mime \
+"
+
+# cmake files
+FILES_${PN}-dev += "${datadir}/fltk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch
new file mode 100644
index 0000000..1f2f8ae
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch
@@ -0,0 +1,41 @@
+From bc38fb41044503c9debf5710910c51dd29674b6a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 15 Dec 2017 22:14:01 +0100
+Subject: [PATCH] CMake build: Force shared libs with unsuffixed names
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+For windows build sake CMake complains when a project wants to build shared and
+static libraries with same name. This caused the authors of fltk to generate
+libraries with names suffixed by '_SHARED' when building fltk with cmake -
+autotools builds do not suffix.
+
+Reasons to build shared libs with correct names:
+
+* Shared libraries are the preferred choice for embedded devices
+* There are projects (e.g yoshimi) expecting shared libraries with unsuffixed
+  names - as created by autotools build. These projects link against static
+  libraries by accident causing unusable binaries.
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ CMake/macros.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMake/macros.cmake b/CMake/macros.cmake
+index 4def62d..ab675f0 100644
+--- a/CMake/macros.cmake
++++ b/CMake/macros.cmake
+@@ -49,7 +49,7 @@ macro(FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES)
+ 	    PROPERTIES
+ 	    VERSION ${FLTK_VERSION_FULL}
+ 	    SOVERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}
+-	    PREFIX "lib"    # for MSVC static/shared coexistence
++	    OUTPUT_NAME ${LIBNAME} CLEAN_DIRECT_OUTPUT 1
+ 	    )
+     endif (${LIBTYPE} STREQUAL "SHARED")
+ 
+-- 
+2.9.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-FindGStreamer_1_0-fix-build-failure-for-new-gstreame.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-FindGStreamer_1_0-fix-build-failure-for-new-gstreame.patch
deleted file mode 100644
index d5f6485..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-FindGStreamer_1_0-fix-build-failure-for-new-gstreame.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From bea27fd919b64ee8d97996409e279e1e83d13594 Mon Sep 17 00:00:00 2001
-From: Jean-Louis Dupond <jean-louis@dupond.be>
-Date: Sun, 4 Oct 2015 18:17:33 +0200
-Subject: [PATCH] FindGStreamer_1_0: fix build failure for new gstreamer
- versions
-
----
- cmake/FindGStreamer_1_0.cmake | 30 +++++++++++++++---------------
- 1 file changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/cmake/FindGStreamer_1_0.cmake b/cmake/FindGStreamer_1_0.cmake
-index f7bf990..3aa8fc6 100644
---- a/cmake/FindGStreamer_1_0.cmake
-+++ b/cmake/FindGStreamer_1_0.cmake
-@@ -53,17 +53,17 @@ set(GSTREAMER_1_0_MINIMUM_VERSION 1.0.5)
- # Helper macro to find a Gstreamer plugin (or Gstreamer itself)
- #   _component_prefix is prepended to the _INCLUDE_DIRS and _LIBRARIES variables (eg. "GSTREAMER_1_0_AUDIO")
- #   _pkgconfig_name is the component's pkg-config name (eg. "gstreamer-1.0", or "gstreamer-video-1.0").
--#   _header is the component's header, relative to the gstreamer-1.0 directory (eg. "gst/gst.h").
- #   _library is the component's library name (eg. "gstreamer-1.0" or "gstvideo-1.0")
--macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _header _library)
-+macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library)
-     # FIXME: The QUIET keyword can be used once we require CMake 2.8.2.
--    pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name})
- 
--    find_path(${_component_prefix}_INCLUDE_DIRS
--        NAMES ${_header}
--        HINTS ${PC_${_component_prefix}_INCLUDE_DIRS} ${PC_${_component_prefix}_INCLUDEDIR}
--        PATH_SUFFIXES gstreamer-1.0
--    )
-+    string(REGEX MATCH "(.*)>=(.*)" _dummy "${_pkgconfig_name}")
-+    if ("${CMAKE_MATCH_2}" STREQUAL "")
-+        pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GStreamer_FIND_VERSION}")
-+    else ()
-+        pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name})
-+    endif ()
-+    set(${_component_prefix}_INCLUDE_DIRS ${PC_${_component_prefix}_INCLUDE_DIRS})
- 
-     find_library(${_component_prefix}_LIBRARIES
-         NAMES ${_library} gstreamer_android
-@@ -78,8 +78,8 @@ endmacro()
- # 1.1. Find headers and libraries
- set(GLIB_ROOT_DIR ${GSTREAMER_1_0_ROOT_DIR})
- find_package(Glib REQUIRED)
--FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0 gstreamer-1.0 gst/gst.h gstreamer-1.0)
--FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_BASE gstreamer-base-1.0 gst/gst.h gstbase-1.0)
-+FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0 gstreamer-1.0 gstreamer-1.0)
-+FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_BASE gstreamer-base-1.0 gstbase-1.0)
- 
- # 1.2. Check Gstreamer version
- if (GSTREAMER_1_0_INCLUDE_DIRS)
-@@ -110,11 +110,11 @@ endif ()
- # 2. Find Gstreamer plugins
- # -------------------------
- 
--FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_APP gstreamer-app-1.0 gst/app/gstappsink.h gstapp-1.0)
--FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_AUDIO gstreamer-audio-1.0 gst/audio/audio.h gstaudio-1.0)
--FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_FFT gstreamer-fft-1.0 gst/fft/gstfft.h gstfft-1.0)
--FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_PBUTILS gstreamer-pbutils-1.0 gst/pbutils/pbutils.h gstpbutils-1.0)
--FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_VIDEO gstreamer-video-1.0 gst/video/video.h gstvideo-1.0)
-+FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_APP gstreamer-app-1.0 gstapp-1.0)
-+FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_AUDIO gstreamer-audio-1.0 gstaudio-1.0)
-+FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_FFT gstreamer-fft-1.0 gstfft-1.0)
-+FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_PBUTILS gstreamer-pbutils-1.0 gstpbutils-1.0)
-+FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_VIDEO gstreamer-video-1.0 gstvideo-1.0)
- 
- # ------------------------------------------------
- # 3. Process the COMPONENTS passed to FIND_PACKAGE
--- 
-2.6.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch
new file mode 100644
index 0000000..a567cba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch
@@ -0,0 +1,27 @@
+From 368989526c32cdf9d680a397fede3cb773fa2609 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Fri, 28 Jul 2017 16:31:41 -0400
+Subject: [PATCH] Fix gstreamer-1.0 detection
+
+Upstream State: Backport
+
+---
+ cmake/FindGStreamer_1_0.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/FindGStreamer_1_0.cmake b/cmake/FindGStreamer_1_0.cmake
+index 3aa8fc6..6fbc0ec 100644
+--- a/cmake/FindGStreamer_1_0.cmake
++++ b/cmake/FindGStreamer_1_0.cmake
+@@ -59,7 +59,7 @@ macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library)
+ 
+     string(REGEX MATCH "(.*)>=(.*)" _dummy "${_pkgconfig_name}")
+     if ("${CMAKE_MATCH_2}" STREQUAL "")
+-        pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GStreamer_FIND_VERSION}")
++        pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GSTREAMER_1_0_MINIMUM_VERSION}")
+     else ()
+         pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name})
+     endif ()
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch
deleted file mode 100644
index 220edef..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0003-add-missing-define.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-libwinpr/comm_seria: fix missing define
-
-FreeRDP uses CMSPAR, which is defined by glibc in bits/termios.h .
-
-glibc has two flavours of bits/termios.h: a genmeric one and an
-architecture-specific one. When installing, glibc will install the
-architecture-specific file if it exists, otherwise it installs the
-generic file. Only Alpha, MIPS, PPC and Sparc have their own
-bits/termios.h.
-
-The generic bits/termios.h, as well as the Alpha, PPC and Sparc flavours
-do define CMSPAR. However, the MIPS flavour does not define it.
-
-Define CMSPAR to the value from the generic value, which is also the
-value known to the Linux kernel for MIPS.
-
-Fixes:
-    http://autobuild.buildroot.org/results/0b4/0b4793f0bf9f4c57933897f3480054a4e06528ad/
-    http://autobuild.buildroot.org/results/7a2/7a2284d0a2987158fa2e78f789b07c8c6fcdb974/
-    http://autobuild.buildroot.org/results/387/3874088c3ccd4bbf76ea0c911ca1ef64c7dc9d1c/
-    ...
-
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-Cc: Peter Korsgaard <jacmet@uclibc.org>
-Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-diff -durN freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.orig/winpr/libwinpr/comm/comm_serial_sys.c freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16/winpr/libwinpr/comm/comm_serial_sys.c
---- freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16.orig/winpr/libwinpr/comm/comm_serial_sys.c	2015-09-04 16:20:17.000000000 +0100
-+++ freerdp-17834af7bb378f85a3b3cc4dcadaa5125a337e16/winpr/libwinpr/comm/comm_serial_sys.c	2015-10-04 11:07:41.868513726 +0100
-@@ -27,6 +27,14 @@
- #include <fcntl.h>
- #include <sys/ioctl.h>
- #include <termios.h>
-+
-+/* glibc for MIPS has its own bits/termios.h which does not define
-+ * CMSPAR, so we vampirise the value from the generic bits/termios.h
-+ */
-+#ifndef CMSPAR
-+#define CMSPAR 010000000000
-+#endif
-+
- #include <unistd.h>
- 
- #include "comm_serial_sys.h"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
index d279d6d..0d7dcc2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
@@ -1,31 +1,31 @@
-From 253eafc8c8da83fc2b1a99a9e43824efc6105c7a Mon Sep 17 00:00:00 2001
-From: Manuel Bachmann <manuel.bachmann@iot.bzh>
-Date: Sun, 4 Oct 2015 10:44:49 +0200
 Subject: [PATCH] winpr-makecert: Build with install RPATH
 
 As we are installing "winpr-makecert" manually, we do want
 to refer to the library in DESTDIR, not the one resting in
 the build tree.
 
-Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
----
- winpr/tools/makecert/cli/CMakeLists.txt | 4 ++++
- 1 file changed, 4 insertions(+)
+Update it for 2.0.0.
 
-diff --git a/winpr/tools/makecert/cli/CMakeLists.txt b/winpr/tools/makecert/cli/CMakeLists.txt
-index 17954c4..90c446b 100644
---- a/winpr/tools/makecert/cli/CMakeLists.txt
-+++ b/winpr/tools/makecert/cli/CMakeLists.txt
-@@ -45,5 +45,9 @@ set(${MODULE_PREFIX}_LIBS winpr-makecert-tool)
+Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ winpr/tools/makecert-cli/CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/winpr/tools/makecert-cli/CMakeLists.txt b/winpr/tools/makecert-cli/CMakeLists.txt
+index 74afa09..8d00ef1 100644
+--- a/winpr/tools/makecert-cli/CMakeLists.txt
++++ b/winpr/tools/makecert-cli/CMakeLists.txt
+@@ -44,6 +44,9 @@ set(${MODULE_PREFIX}_LIBS winpr-tools)
  
  target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
  
-+set_target_properties(${MODULE_NAME} PROPERTIES 
-+	BUILD_WITH_INSTALL_RPATH 1)
++set_target_properties(${MODULE_NAME} PROPERTIES
++       BUILD_WITH_INSTALL_RPATH 1)
 +
  set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools")
  
-+
+ install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT tools EXPORT WinPRTargets)
 -- 
-1.8.3.1
+2.7.4
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
index f0aa1b6..88aec9c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
@@ -10,14 +10,13 @@
 
 inherit pkgconfig cmake gitpkgv
 
-PV = "1.2.5+gitr${SRCPV}"
+PV = "2.0.0+gitr${SRCPV}"
 PKGV = "${GITPKGVTAG}"
 
-SRCREV = "62da9d28c674814c81c245c1c7882eb0da7be76b"
+SRCREV = "1648deb435ad52206f7aa2afe4b4dff71d9329bc"
 SRC_URI = "git://github.com/FreeRDP/FreeRDP.git \
     file://winpr-makecert-Build-with-install-RPATH.patch \
-    file://0001-FindGStreamer_1_0-fix-build-failure-for-new-gstreame.patch \
-    file://0003-add-missing-define.patch \
+    file://0001-Fix-gstreamer-1.0-detection.patch \
 "
 
 S = "${WORKDIR}/git"
@@ -57,7 +56,7 @@
 # we will need winpr-makecert to generate TLS certificates
 do_install_append () {
     install -d ${D}${bindir}
-    install -m755 winpr/tools/makecert/cli/winpr-makecert ${D}${bindir}
+    install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir}
     rm -rf ${D}${libdir}/cmake
     rm -rf ${D}${libdir}/freerdp
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.4.bb
deleted file mode 100644
index 4932bb7..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.4.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images"
-DESCRIPTION = "The gd graphics library allows your code to quickly draw images \
-complete with lines, arcs, text, multiple colors, cut and paste from other \
-images, and flood fills, and to write out the result as a PNG or JPEG file. \
-This is particularly useful in Web applications, where PNG and JPEG are two \
-of the formats accepted for inline images by most browsers. Note that gd is not \
-a paint program."
-HOMEPAGE = "http://libgd.bitbucket.org/"
-
-SECTION = "libs"
-LICENSE = "GD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=07384b3aa2e0d39afca0d6c40286f545"
-
-DEPENDS = "freetype libpng jpeg zlib tiff"
-
-SRC_URI = "git://github.com/libgd/libgd.git;branch=GD-2.2 \
-          "
-
-SRCREV = "de09874b15a4c88772db35ced842330f5de23e76"
-
-S = "${WORKDIR}/git"
-
-inherit autotools binconfig gettext pkgconfig
-
-EXTRA_OECONF += " --disable-rpath \
-                  --with-jpeg=${STAGING_LIBDIR}/.. \
-                  --with-freetype=yes \
-                  --without-fontconfig \
-                  --without-webp \
-                  --without-xpm \
-                  --without-x \
-                "
-
-EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"'
-
-do_install_append() {
-    # cleanup buildpaths from gdlib.pc
-    sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/gdlib.pc
-}
-
-PACKAGES += "${PN}-tools"
-
-FILES_${PN} = "${libdir}/lib*${SOLIBS}"
-FILES_${PN}-tools = "${bindir}/*"
-
-PROVIDES += "${PN}-tools"
-RPROVIDES_${PN}-tools = "${PN}-tools"
-RDEPENDS_${PN}-tools = "perl perl-module-strict"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb
new file mode 100644
index 0000000..63d9acf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb
@@ -0,0 +1,48 @@
+SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images"
+DESCRIPTION = "The gd graphics library allows your code to quickly draw images \
+complete with lines, arcs, text, multiple colors, cut and paste from other \
+images, and flood fills, and to write out the result as a PNG or JPEG file. \
+This is particularly useful in Web applications, where PNG and JPEG are two \
+of the formats accepted for inline images by most browsers. Note that gd is not \
+a paint program."
+HOMEPAGE = "http://libgd.bitbucket.org/"
+
+SECTION = "libs"
+LICENSE = "GD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=07384b3aa2e0d39afca0d6c40286f545"
+
+DEPENDS = "freetype libpng jpeg zlib tiff"
+
+SRC_URI = "git://github.com/libgd/libgd.git;branch=GD-2.2 \
+          "
+
+SRCREV = "8255231b68889597d04d451a72438ab92a405aba"
+
+S = "${WORKDIR}/git"
+
+inherit autotools binconfig gettext pkgconfig
+
+EXTRA_OECONF += " --disable-rpath \
+                  --with-jpeg=${STAGING_LIBDIR}/.. \
+                  --with-freetype=yes \
+                  --without-fontconfig \
+                  --without-webp \
+                  --without-xpm \
+                  --without-x \
+                "
+
+EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"'
+
+do_install_append() {
+    # cleanup buildpaths from gdlib.pc
+    sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/gdlib.pc
+}
+
+PACKAGES += "${PN}-tools"
+
+FILES_${PN} = "${libdir}/lib*${SOLIBS}"
+FILES_${PN}-tools = "${bindir}/*"
+
+PROVIDES += "${PN}-tools"
+RPROVIDES_${PN}-tools = "${PN}-tools"
+RDEPENDS_${PN}-tools = "perl perl-module-strict"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb
index 0e85b3f..28b652a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb
@@ -19,3 +19,5 @@
 PACKAGES =+ "${PN}-bash-completion"
 FILES_${PN}-bash-completion += "${bindir}/gflags_completions.sh"
 RDEPENDS_${PN}-bash-completion = "bash bash-completion"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb
index b505ac1..b72ffa9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2017-08-20.18.bb
@@ -29,8 +29,8 @@
 do_compile[noexec] = "1"
 do_package[noexec] = "1"
 do_packagedata[noexec] = "1"
-do_package_write_ipk[noexec] = "1"
-do_package_write_deb[noexec] = "1"
-do_package_write_rpm[noexec] = "1"
+deltask package_write_ipk
+deltask package_write_deb
+deltask package_write_rpm
 
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch
index e582c0d..2fd21c2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch
@@ -1,4 +1,4 @@
-From ea9f64eb2cdf3be6c4dc65fa1472d854616e43ca Mon Sep 17 00:00:00 2001
+From aa0a63209af6813d87255ec3ab339f2dbbf27d6d Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 6 Mar 2017 13:38:46 -0800
 Subject: [PATCH] Support Atomic ops on clang
@@ -9,25 +9,23 @@
 the atomics and fails for clang
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
+
 Upstream-Status: Pending
 
+---
  src/base/atomicops.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/base/atomicops.h b/src/base/atomicops.h
-index be038f3..f1a21ff 100644
+index dac95be..390733c 100644
 --- a/src/base/atomicops.h
 +++ b/src/base/atomicops.h
-@@ -118,7 +118,7 @@
+@@ -124,7 +124,7 @@
  #include "base/atomicops-internals-linuxppc.h"
  #elif defined(__GNUC__) && defined(__mips__)
  #include "base/atomicops-internals-mips.h"
 -#elif defined(__GNUC__) && GCC_VERSION >= 40700
 +#elif defined(__GNUC__) && GCC_VERSION >= 40700 || defined(__clang__)
  #include "base/atomicops-internals-gcc.h"
- #else
- #error You need to implement atomic operations for this architecture
--- 
-2.12.0
-
+ #elif defined(__clang__) && CLANG_VERSION >= 30400
+ #include "base/atomicops-internals-gcc.h"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch
index 5bd0b6f..b303362 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-Use-ucontext_t-instead-of-struct-ucontext.patch
@@ -1,4 +1,4 @@
-From 12ac0dc6742e1bcdfaf1842186c9002f0820a5e8 Mon Sep 17 00:00:00 2001
+From 230cd84486145c5bb1d69d4c9a544e00adbcc9b5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 1 Jul 2017 13:21:21 -0700
 Subject: [PATCH] Use ucontext_t instead of struct ucontext
@@ -6,12 +6,13 @@
 Newer glibc has dropped the ucontext tag from exposing
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/stacktrace_powerpc-linux-inl.h | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h
-index a9bf775..47ff2d7 100644
+index 3b3843b..a301a46 100644
 --- a/src/stacktrace_powerpc-linux-inl.h
 +++ b/src/stacktrace_powerpc-linux-inl.h
 @@ -53,7 +53,6 @@
@@ -31,6 +32,3 @@
            // We don't care about the rest, since IP value is at 'uc' field.A
          } *sigframe = reinterpret_cast<rt_signal_frame_32*>(current);
          result[n] = (void*) sigframe->uc.uc_mcontext.uc_regs->gregs[PT_NIP];
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
index 99127e1..ab3ceb9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
@@ -1,19 +1,20 @@
-From b5961f17e9d7f2bc44da611b3e4b27c8a641fc72 Mon Sep 17 00:00:00 2001
+From 06605158852f9364519391fa11070ba5ec4303e9 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 2 Sep 2017 08:07:17 -0700
 Subject: [PATCH] disbale heap checkers and debug allocator on musl
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
+
 Upstream-Status: Pending
 
+---
  configure.ac | 2 ++
  1 file changed, 2 insertions(+)
 
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
+diff --git a/configure.ac b/configure.ac
+index 70b49a3..8154c5c 100644
+--- a/configure.ac
++++ b/configure.ac
 @@ -51,6 +51,8 @@ case "$host" in
     *-cygwin*) default_enable_heap_checker=no; default_enable_cpu_profiler=no;;
     *-freebsd*) default_enable_heap_checker=no;;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
index 78621c7..0a72ff2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
@@ -1,4 +1,4 @@
-From 157914941bd38f1a38bb6bd7294ca6c2bc1b8dcb Mon Sep 17 00:00:00 2001
+From 034e7da08c3fbffcba8cf8d4e24a71a16558db5a Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 16 Jul 2017 15:51:28 -0700
 Subject: [PATCH] fix build with musl libc
@@ -6,6 +6,7 @@
 Patch from https://github.com/gperftools/gperftools/pull/765/
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  configure.ac                 | 1 +
  src/malloc_hook_mmap_linux.h | 8 ++++++--
@@ -56,6 +57,3 @@
  // libc's version:
  extern "C" void* __sbrk(ptrdiff_t increment);
  
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch
index 667008a..4c63e73 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-include-fcntl.h-for-loff_t-definition.patch
@@ -1,4 +1,4 @@
-From 04ea8e001501931f4dbf20288aca78469617b08a Mon Sep 17 00:00:00 2001
+From a16a73f0819d26219ee83cd98eea82786d7c1755 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 16 Jul 2017 19:28:17 -0700
 Subject: [PATCH] include fcntl.h for loff_t definition
@@ -7,6 +7,7 @@
 linux_syscall_support.h:2641:26: error: 'loff_t' has not been declared
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/base/linux_syscall_support.h | 1 +
  1 file changed, 1 insertion(+)
@@ -23,6 +24,3 @@
  
  #ifdef __mips__
  /* Include definitions of the ABI currently in use.                          */
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
index f264740..c3c5784 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
@@ -1,15 +1,22 @@
-Disable libunwind on aarch64
+From 564f800e3e24647c095f7a321bf3ebdccfbf762d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 2 Sep 2017 12:02:04 -0700
+Subject: [PATCH] Disable libunwind on aarch64
 
 Fixes hangs when using libtcmalloc.so
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -69,6 +69,11 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [re
+---
+ configure.ac | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 8154c5c..063b260 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -69,6 +69,11 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [return __PPC64__])],
                    [default_enable_libunwind=yes
                     default_tcmalloc_pagesize=8])
  
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
index 7e1a23b..10274a6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
@@ -1,11 +1,19 @@
-sgidef.h does not exist on musl and its not needed to compile
+From 259b420444c52463795b4b582a2ab7511149eea7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 16 Oct 2017 21:26:40 -0700
+Subject: [PATCH] sgidef.h does not exist on musl and its not needed to compile
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
-Index: git/src/base/linux_syscall_support.h
-===================================================================
---- git.orig/src/base/linux_syscall_support.h
-+++ git/src/base/linux_syscall_support.h
+
+---
+ src/base/linux_syscall_support.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/base/linux_syscall_support.h b/src/base/linux_syscall_support.h
+index 70431ca..b23ca59 100644
+--- a/src/base/linux_syscall_support.h
++++ b/src/base/linux_syscall_support.h
 @@ -164,7 +164,7 @@ extern "C" {
  #include <endian.h>
  #include <fcntl.h>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch
index 19f8380..1ec6a61 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch
@@ -3,9 +3,10 @@
 Refer to:
 https://bugzilla.redhat.com/show_bug.cgi?id=717479
 
-diff -up hddtemp-0.3-beta15/doc/hddtemp.8~ hddtemp-0.3-beta15/doc/hddtemp.8
---- hddtemp-0.3-beta15/doc/hddtemp.8~	2011-08-18 00:36:05.689001470 +0300
-+++ hddtemp-0.3-beta15/doc/hddtemp.8	2011-08-18 00:44:46.753006253 +0300
+Index: hddtemp-0.3-beta15/doc/hddtemp.8
+===================================================================
+--- hddtemp-0.3-beta15.orig/doc/hddtemp.8
++++ hddtemp-0.3-beta15/doc/hddtemp.8
 @@ -19,7 +19,7 @@
  hddtemp \- Utility to monitor hard drive temperature
  .SH SYNOPSIS
@@ -25,9 +26,10 @@
  
  
  .SH "OPTIONS"
-diff -up hddtemp-0.3-beta15/src/hddtemp.c~ hddtemp-0.3-beta15/src/hddtemp.c
---- hddtemp-0.3-beta15/src/hddtemp.c~	2011-08-18 00:36:05.638996861 +0300
-+++ hddtemp-0.3-beta15/src/hddtemp.c	2011-08-18 00:35:55.485060798 +0300
+Index: hddtemp-0.3-beta15/src/hddtemp.c
+===================================================================
+--- hddtemp-0.3-beta15.orig/src/hddtemp.c
++++ hddtemp-0.3-beta15/src/hddtemp.c
 @@ -54,6 +54,7 @@
  #include <linux/hdreg.h>
  #include <ctype.h>
@@ -44,7 +46,7 @@
  
    backtrace_sigsegv();
    backtrace_sigill();
-@@ -419,11 +421,6 @@ int main(int argc, char* argv[]) {
+@@ -423,11 +425,6 @@ int main(int argc, char* argv[]) {
       exit(0);
    }
    
@@ -56,7 +58,7 @@
    if(debug) {
      /*    argc = optind + 1;*/
      quiet = 1;
-@@ -434,6 +431,23 @@ int main(int argc, char* argv[]) {
+@@ -438,6 +435,23 @@ int main(int argc, char* argv[]) {
      exit(1);
    }
  
@@ -80,7 +82,7 @@
    init_bus_types();
  
    /* collect disks informations */
-@@ -527,6 +541,7 @@ int main(int argc, char* argv[]) {
+@@ -531,6 +545,7 @@ int main(int argc, char* argv[]) {
    else {
      do_direct_mode(ldisks);
    }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff b/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff
index f61c164..057b1fd 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff
@@ -8,9 +8,11 @@
 
 Upstream-Status: unmaintained
 
+Index: hddtemp-0.3-beta15/doc/hddtemp.8
+===================================================================
 --- hddtemp-0.3-beta15.orig/doc/hddtemp.8
 +++ hddtemp-0.3-beta15/doc/hddtemp.8
-@@ -58,6 +58,10 @@
+@@ -58,6 +58,10 @@ Execute hddtemp in TCP/IP daemon mode (p
  .B \-f, \-\-file=\fIfile\fI
  Specify the database file to use.
  .TP
@@ -21,7 +23,7 @@
  .B \-l, \-\-listen=\fIaddr\fR
  Listen on a specific address.  \fIaddr\fR is a string containing a
  host name or a numeric host address string.  The numeric host address
-@@ -80,6 +84,9 @@
+@@ -80,6 +84,9 @@ seconds.
  .B \-q, \-\-quiet
  Don't check if the drive is supported.
  .TP
@@ -31,7 +33,7 @@
  .B \-v, \-\-version
  Display hddtemp version number.
  .TP
-@@ -96,7 +103,7 @@
+@@ -96,7 +103,7 @@ Listen on IPv6 sockets only.
  .SH "DRIVE DATABASE"
  If you know your drive has a temperature sensor but it is being
  reported unsupported, tell me which model and which manufacturer it
@@ -40,7 +42,7 @@
  line of hddtemp.db is either a comment, a blank line or a line
  containing:
  .TP
-@@ -112,7 +119,7 @@
+@@ -112,7 +119,7 @@ set of drives from its model name or fro
  Feedback is welcome (see the REPORT section below).
  
  .SH "TCP/IP DAEMON MODE"
@@ -49,7 +51,7 @@
  .PP
  # hddtemp SATA:/dev/sda PATA:/dev/hda
  .PP
-@@ -120,7 +127,7 @@
+@@ -120,7 +127,7 @@ To test
  .B hddtemp
  in daemon mode, start it like this:
  .PP
@@ -58,7 +60,7 @@
  .PP
  .PP
  and use
-@@ -165,8 +172,8 @@
+@@ -165,8 +172,8 @@ and 12 are often reported to match a tem
  investigation they do not.  But fields 194 (which is the standard
  field for temperature) and 231 are good candidates.
  .PP
@@ -69,13 +71,15 @@
  yourself.
  
  .SH "BUGS"
-@@ -183,5 +190,5 @@
+@@ -183,5 +190,5 @@ supported on i386 architectures only.
  .PP
  Emmanuel Varagnat (hddtemp@guzu.net).
  .PP
 -This manual page was originaly written by Aurelien Jarno <aurel32@debian.org>,
 +This manual page was originally written by Aurelien Jarno <aurel32@debian.org>,
  for the Debian GNU/Linux system (but may be used by others).
+Index: hddtemp-0.3-beta15/po/fr.po
+===================================================================
 --- hddtemp-0.3-beta15.orig/po/fr.po
 +++ hddtemp-0.3-beta15/po/fr.po
 @@ -7,9 +7,9 @@
@@ -91,7 +95,7 @@
  "Last-Translator: Aurelien Jarno <aurelien@aurel32.net>\n"
  "Language-Team: FRANCAIS <fr@li.org>\n"
  "MIME-Version: 1.0\n"
-@@ -17,23 +17,7 @@
+@@ -17,23 +17,7 @@ msgstr ""
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: KBabel 1.0.1\n"
  
@@ -116,7 +120,7 @@
  #, c-format
  msgid ""
  "\n"
-@@ -46,7 +30,7 @@
+@@ -46,7 +30,7 @@ msgstr ""
  "Modèle: %s\n"
  "\n"
  
@@ -125,7 +129,7 @@
  #, c-format
  msgid ""
  "WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
-@@ -60,75 +44,60 @@
+@@ -60,75 +44,60 @@ msgstr ""
  "net).\n"
  "ATTENTION : Voir les options --help, --debug et --drivebase.\n"
  
@@ -216,7 +220,7 @@
  "  -b   --drivebase   :  display database file content that allow hddtemp to\n"
  "                        recognize supported drives.\n"
  "  -D   --debug       :  display various S.M.A.R.T. fields and their values.\n"
-@@ -138,6 +107,7 @@
+@@ -138,6 +107,7 @@ msgid ""
  "  -d   --daemon      :  run hddtemp in TCP/IP daemon mode (port %d by "
  "default.)\n"
  "  -f   --file=FILE   :  specify database file to use.\n"
@@ -224,7 +228,7 @@
  "  -l   --listen=addr :  listen on a specific interface (in TCP/IP daemon "
  "mode).\n"
  "  -n   --numeric     :  print only the temperature.\n"
-@@ -145,6 +115,8 @@
+@@ -145,6 +115,8 @@ msgid ""
  "  -s   --separator=C :  separator to use between fields (in TCP/IP daemon "
  "mode).\n"
  "  -S   --syslog=s    :  log temperature to syslog every s seconds.\n"
@@ -233,7 +237,7 @@
  "  -q   --quiet       :  do not check if the drive is supported.\n"
  "  -v   --version     :  display hddtemp version number.\n"
  "  -w   --wake-up     :  wake-up the drive if need.\n"
-@@ -153,11 +125,14 @@
+@@ -153,11 +125,14 @@ msgid ""
  "\n"
  "Report bugs or new drives to <hddtemp@guzu.net>.\n"
  msgstr ""
@@ -249,7 +253,7 @@
  "  -b   --drivebase   :  affiche le contenu du fichier de base de donnée "
  "qui \n"
  "                        permet à hddtemp de reconnaître les lecteurs "
-@@ -172,6 +147,7 @@
+@@ -172,6 +147,7 @@ msgstr ""
  "défaut).\n"
  "  -f   --file=FILE   :  specifie le fichier à utiliser comme base de "
  "données.\n"
@@ -257,7 +261,7 @@
  "  -l   --listen=addr :  écoute sur une interface spécifique (en mode démon "
  "TCP/IP).\n"
  "  -n   --numeric     :  affiche seulement la température.\n"
-@@ -180,6 +156,8 @@
+@@ -180,6 +156,8 @@ msgstr ""
  "démon TCP/IP).\n"
  "  -S   --syslog=s    :  enregistre la température dans syslog tous les s "
  "secondes.\n"
@@ -266,7 +270,7 @@
  "  -q   --quiet       :  ne vérifie pas si le lecteur est supporté.\n"
  "  -v   --version     :  affiche la version de hddtemp.\n"
  "  -w   --wake-up     :  réveiller le lecteur si nécessaire.\n"
-@@ -188,62 +166,95 @@
+@@ -188,62 +166,95 @@ msgstr ""
  "\n"
  "Report bugs or new drives to <hddtemp@guzu.net>.\n"
  
@@ -377,6 +381,8 @@
 +
 +#~ msgid "field(%d)\t = %d\n"
 +#~ msgstr "champ(%d)\t = %d\n"
+Index: hddtemp-0.3-beta15/po/ru.po
+===================================================================
 --- hddtemp-0.3-beta15.orig/po/ru.po
 +++ hddtemp-0.3-beta15/po/ru.po
 @@ -6,8 +6,8 @@
@@ -390,7 +396,7 @@
  "PO-Revision-Date: 2003-03-08 16:42+0300\n"
  "Last-Translator: Michael Shigorin <mike@altlinux.ru>\n"
  "Language-Team: Russian <ru@li.org>\n"
-@@ -15,23 +15,7 @@
+@@ -15,23 +15,7 @@ msgstr ""
  "Content-Type: text/plain; charset=koi8-r\n"
  "Content-Transfer-Encoding: 8bit\n"
  
@@ -415,7 +421,7 @@
  #, c-format
  msgid ""
  "\n"
-@@ -40,7 +24,7 @@
+@@ -40,7 +24,7 @@ msgid ""
  "\n"
  msgstr ""
  
@@ -424,7 +430,7 @@
  #, c-format
  msgid ""
  "WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
-@@ -53,72 +37,59 @@
+@@ -53,72 +37,59 @@ msgstr ""
  "÷îéíáîéå: åÓÌÉ ×Ù ÔÏÞÎÏ ÚÎÁÅÔÅ, ÞÔÏ ÄÁÔÞÉË ÅÓÔØ, ÎÁÐÉÛÉÔÅ hddtemp@guzu.net\n"
  "÷îéíáîéå: (ÓÍ. ÏÐÃÉÉ --help, --debug É --drivebase).\n"
  
@@ -512,7 +518,7 @@
  "  -b   --drivebase   :  display database file content that allow hddtemp to\n"
  "                        recognize supported drives.\n"
  "  -D   --debug       :  display various S.M.A.R.T. fields and their values.\n"
-@@ -128,6 +99,7 @@
+@@ -128,6 +99,7 @@ msgid ""
  "  -d   --daemon      :  run hddtemp in TCP/IP daemon mode (port %d by "
  "default.)\n"
  "  -f   --file=FILE   :  specify database file to use.\n"
@@ -520,7 +526,7 @@
  "  -l   --listen=addr :  listen on a specific interface (in TCP/IP daemon "
  "mode).\n"
  "  -n   --numeric     :  print only the temperature.\n"
-@@ -135,6 +107,8 @@
+@@ -135,6 +107,8 @@ msgid ""
  "  -s   --separator=C :  separator to use between fields (in TCP/IP daemon "
  "mode).\n"
  "  -S   --syslog=s    :  log temperature to syslog every s seconds.\n"
@@ -529,7 +535,7 @@
  "  -q   --quiet       :  do not check if the drive is supported.\n"
  "  -v   --version     :  display hddtemp version number.\n"
  "  -w   --wake-up     :  wake-up the drive if need.\n"
-@@ -168,59 +142,90 @@
+@@ -168,59 +142,90 @@ msgstr ""
  "\n"
  "óÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ É ÄÁÎÎÙÅ ÄÌÑ ÄÉÓËÏ× ÏÔÐÒÁ×ÌÑÊÔÅ ÎÁ <hddtemp@guzu.net>.\n"
  
@@ -636,6 +642,8 @@
 +
 +#~ msgid "field(%d)\t = %d\n"
 +#~ msgstr "ÐÏÌÅ(%d)\t = %d\n"
+Index: hddtemp-0.3-beta15/po/sv.po
+===================================================================
 --- hddtemp-0.3-beta15.orig/po/sv.po
 +++ hddtemp-0.3-beta15/po/sv.po
 @@ -6,8 +6,8 @@
@@ -649,7 +657,7 @@
  "PO-Revision-Date: 2005-11-02 19:03+0100\n"
  "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
  "Language-Team: Swedish <sv@li.org>\n"
-@@ -17,23 +17,7 @@
+@@ -17,23 +17,7 @@ msgstr ""
  "X-Poedit-Language: swe\n"
  "X-Poedit-Country: swe\n"
  
@@ -674,7 +682,7 @@
  #, c-format
  msgid ""
  "\n"
-@@ -46,7 +30,7 @@
+@@ -46,7 +30,7 @@ msgstr ""
  "Modell: %s\n"
  "\n"
  
@@ -683,7 +691,7 @@
  #, c-format
  msgid ""
  "WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
-@@ -60,76 +44,63 @@
+@@ -60,76 +44,63 @@ msgstr ""
  "net).\n"
  "VARNING: Se --help, --debug och --drivebase flaggorna.\n"
  
@@ -777,7 +785,7 @@
  "  -b   --drivebase   :  display database file content that allow hddtemp to\n"
  "                        recognize supported drives.\n"
  "  -D   --debug       :  display various S.M.A.R.T. fields and their values.\n"
-@@ -139,6 +110,7 @@
+@@ -139,6 +110,7 @@ msgid ""
  "  -d   --daemon      :  run hddtemp in TCP/IP daemon mode (port %d by "
  "default.)\n"
  "  -f   --file=FILE   :  specify database file to use.\n"
@@ -785,7 +793,7 @@
  "  -l   --listen=addr :  listen on a specific interface (in TCP/IP daemon "
  "mode).\n"
  "  -n   --numeric     :  print only the temperature.\n"
-@@ -146,6 +118,8 @@
+@@ -146,6 +118,8 @@ msgid ""
  "  -s   --separator=C :  separator to use between fields (in TCP/IP daemon "
  "mode).\n"
  "  -S   --syslog=s    :  log temperature to syslog every s seconds.\n"
@@ -794,7 +802,7 @@
  "  -q   --quiet       :  do not check if the drive is supported.\n"
  "  -v   --version     :  display hddtemp version number.\n"
  "  -w   --wake-up     :  wake-up the drive if need.\n"
-@@ -184,61 +158,91 @@
+@@ -184,61 +158,91 @@ msgstr ""
  "\n"
  "Rapportera buggar eller nya hårddiskar till <hddtemp@guzu.net>.\n"
  
@@ -901,9 +909,11 @@
 +
 +#~ msgid "field(%d)\t = %d\n"
 +#~ msgstr "fält(%d)\t = %d\n"
+Index: hddtemp-0.3-beta15/po/pt.po
+===================================================================
 --- hddtemp-0.3-beta15.orig/po/pt.po
 +++ hddtemp-0.3-beta15/po/pt.po
-@@ -7,7 +7,7 @@
+@@ -7,7 +7,7 @@ msgid ""
  msgstr ""
  "Project-Id-Version: hddtemp 0.3-beta14\n"
  "Report-Msgid-Bugs-To: \n"
@@ -912,7 +922,7 @@
  "PO-Revision-Date: 2006-03-29 23:22+0000\n"
  "Last-Translator: Miguel Figueiredo <elmig@debianp.org>\n"
  "Language-Team: Portuguese <traduz@debianpt.org>\n"
-@@ -15,23 +15,7 @@
+@@ -15,23 +15,7 @@ msgstr ""
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
  
@@ -937,7 +947,7 @@
  #, c-format
  msgid ""
  "\n"
-@@ -44,7 +28,7 @@
+@@ -44,7 +28,7 @@ msgstr ""
  "Modelo: %s\n"
  "\n"
  
@@ -946,7 +956,7 @@
  #, c-format
  msgid ""
  "WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
-@@ -54,79 +38,68 @@
+@@ -54,79 +38,68 @@ msgid ""
  msgstr ""
  "AVISO: O disco %s não parece ter um sensor de temperatura.\n"
  "AVISO: Isto não significa que não tem nenhum.\n"
@@ -1047,7 +1057,7 @@
  "  -b   --drivebase   :  display database file content that allow hddtemp to\n"
  "                        recognize supported drives.\n"
  "  -D   --debug       :  display various S.M.A.R.T. fields and their values.\n"
-@@ -136,6 +109,7 @@
+@@ -136,6 +109,7 @@ msgid ""
  "  -d   --daemon      :  run hddtemp in TCP/IP daemon mode (port %d by "
  "default.)\n"
  "  -f   --file=FILE   :  specify database file to use.\n"
@@ -1055,7 +1065,7 @@
  "  -l   --listen=addr :  listen on a specific interface (in TCP/IP daemon "
  "mode).\n"
  "  -n   --numeric     :  print only the temperature.\n"
-@@ -143,6 +117,8 @@
+@@ -143,6 +117,8 @@ msgid ""
  "  -s   --separator=C :  separator to use between fields (in TCP/IP daemon "
  "mode).\n"
  "  -S   --syslog=s    :  log temperature to syslog every s seconds.\n"
@@ -1064,7 +1074,7 @@
  "  -q   --quiet       :  do not check if the drive is supported.\n"
  "  -v   --version     :  display hddtemp version number.\n"
  "  -w   --wake-up     :  wake-up the drive if need.\n"
-@@ -156,19 +132,23 @@
+@@ -156,19 +132,23 @@ msgstr ""
  "   hddtemp mostra a temperatura dos discos indicados no argumento.\n"
  "   Os discos têm de suportar S.M.A.R.T.\n"
  "\n"
@@ -1096,7 +1106,7 @@
  "  -q   --quiet       :  não verificar se o disco é suportado.\n"
  "  -v   --version     :  mostrar o número da versão do hddtemp.\n"
  "  -w   --wake-up     :  acordar o disco se necessário.\n"
-@@ -177,58 +157,93 @@
+@@ -177,58 +157,93 @@ msgstr ""
  "\n"
  "Relatar bugs ou novos discos para <hddtemp@guzu.net>.\n"
  
@@ -1208,7 +1218,9 @@
 +
 +#~ msgid "field(%d)\t = %d\n"
 +#~ msgstr "campo(%d)\t = %d\n"
---- hddtemp-0.3-beta15.orig/po/de.po
+Index: hddtemp-0.3-beta15/po/de.po
+===================================================================
+--- /dev/null
 +++ hddtemp-0.3-beta15/po/de.po
 @@ -0,0 +1,250 @@
 +# German translation of hddtemp.
@@ -1461,12 +1473,16 @@
 +#, c-format
 +msgid "log sense failed : %s"
 +msgstr "Protokoll-Erkennung fehlgeschlagen : %s"
+Index: hddtemp-0.3-beta15/po/LINGUAS
+===================================================================
 --- hddtemp-0.3-beta15.orig/po/LINGUAS
 +++ hddtemp-0.3-beta15/po/LINGUAS
 @@ -1,2 +1,2 @@
  # Set of available languages.
 -fr pt ru sv 
 +de fr pt ru sv 
+Index: hddtemp-0.3-beta15/po/hddtemp.pot
+===================================================================
 --- hddtemp-0.3-beta15.orig/po/hddtemp.pot
 +++ hddtemp-0.3-beta15/po/hddtemp.pot
 @@ -1,35 +1,22 @@
@@ -1513,7 +1529,7 @@
  #, c-format
  msgid ""
  "\n"
-@@ -38,7 +25,7 @@
+@@ -38,7 +25,7 @@ msgid ""
  "\n"
  msgstr ""
  
@@ -1522,7 +1538,7 @@
  #, c-format
  msgid ""
  "WARNING: Drive %s doesn't seem to have a temperature sensor.\n"
-@@ -47,67 +34,59 @@
+@@ -47,67 +34,59 @@ msgid ""
  "WARNING: See --help, --debug and --drivebase options.\n"
  msgstr ""
  
@@ -1604,7 +1620,7 @@
  "  -b   --drivebase   :  display database file content that allow hddtemp to\n"
  "                        recognize supported drives.\n"
  "  -D   --debug       :  display various S.M.A.R.T. fields and their values.\n"
-@@ -117,6 +96,7 @@
+@@ -117,6 +96,7 @@ msgid ""
  "  -d   --daemon      :  run hddtemp in TCP/IP daemon mode (port %d by "
  "default.)\n"
  "  -f   --file=FILE   :  specify database file to use.\n"
@@ -1612,7 +1628,7 @@
  "  -l   --listen=addr :  listen on a specific interface (in TCP/IP daemon "
  "mode).\n"
  "  -n   --numeric     :  print only the temperature.\n"
-@@ -124,6 +104,8 @@
+@@ -124,6 +104,8 @@ msgid ""
  "  -s   --separator=C :  separator to use between fields (in TCP/IP daemon "
  "mode).\n"
  "  -S   --syslog=s    :  log temperature to syslog every s seconds.\n"
@@ -1621,7 +1637,7 @@
  "  -q   --quiet       :  do not check if the drive is supported.\n"
  "  -v   --version     :  display hddtemp version number.\n"
  "  -w   --wake-up     :  wake-up the drive if need.\n"
-@@ -133,58 +115,69 @@
+@@ -133,58 +115,69 @@ msgid ""
  "Report bugs or new drives to <hddtemp@guzu.net>.\n"
  msgstr ""
  
@@ -1705,9 +1721,11 @@
  #, c-format
  msgid "log sense failed : %s"
  msgstr ""
+Index: hddtemp-0.3-beta15/src/sata.c
+===================================================================
 --- hddtemp-0.3-beta15.orig/src/sata.c
 +++ hddtemp-0.3-beta15/src/sata.c
-@@ -118,11 +118,22 @@
+@@ -118,11 +118,22 @@ static enum e_gettemp sata_get_temperatu
    int              i;
    u16 *            p;
  
@@ -1731,7 +1749,7 @@
    
    /* get SMART values */
    if(sata_enable_smart(dsk->fd) != 0) {
-@@ -154,24 +165,15 @@
+@@ -154,24 +165,15 @@ static enum e_gettemp sata_get_temperatu
    }
  
    /* temperature */
@@ -1759,6 +1777,8 @@
  
    /* never reached */
  }
+Index: hddtemp-0.3-beta15/src/satacmds.c
+===================================================================
 --- hddtemp-0.3-beta15.orig/src/satacmds.c
 +++ hddtemp-0.3-beta15/src/satacmds.c
 @@ -39,7 +39,7 @@
@@ -1770,7 +1790,7 @@
  
  // Application specific includes
  #include "satacmds.h"
-@@ -80,8 +80,8 @@
+@@ -80,8 +80,8 @@ int sata_pass_thru(int device, unsigned
  
    ret = scsi_SG_IO(device, cdb, sizeof(cdb), buffer, cmd[3] * 512, sense, sizeof(sense), dxfer_direction);
   
@@ -1781,7 +1801,7 @@
      return 1;		  
    else 
      return ret;
-@@ -95,10 +95,10 @@
+@@ -95,10 +95,10 @@ void sata_fixstring(unsigned char *s, in
    p = s;
    end = &s[bytecount & ~1]; /* bytecount must be even */
  
@@ -1794,6 +1814,8 @@
    }
  
    /* strip leading blanks */
+Index: hddtemp-0.3-beta15/src/backtrace.c
+===================================================================
 --- hddtemp-0.3-beta15.orig/src/backtrace.c
 +++ hddtemp-0.3-beta15/src/backtrace.c
 @@ -16,9 +16,10 @@
@@ -1822,7 +1844,7 @@
  
  #define MAX_BTSIZE 64
  
-@@ -42,7 +47,6 @@
+@@ -42,7 +47,6 @@ void backtrace_handler(int n, siginfo_t
    static char **messages = NULL;
    static size_t btsize = 0;
    static size_t i;
@@ -1830,7 +1852,7 @@
    static char *strerr = "???";
    static FILE *fstrm;
  
-@@ -61,10 +65,10 @@
+@@ -61,10 +65,10 @@ void backtrace_handler(int n, siginfo_t
        SIC_CASE(SEGV_MAPERR);
        SIC_CASE(SEGV_ACCERR);
      }
@@ -1843,7 +1865,7 @@
      break;
    case SIGILL:
      switch(ist->si_code) {
-@@ -77,10 +81,10 @@
+@@ -77,10 +81,10 @@ void backtrace_handler(int n, siginfo_t
        SIC_CASE(ILL_COPROC);
        SIC_CASE(ILL_BADSTK);
      }
@@ -1856,7 +1878,7 @@
      break;
    case SIGBUS:
      switch(ist->si_code) {
-@@ -88,10 +92,10 @@
+@@ -88,10 +92,10 @@ void backtrace_handler(int n, siginfo_t
        SIC_CASE(BUS_ADRERR);
        SIC_CASE(BUS_OBJERR);
      }
@@ -1869,7 +1891,7 @@
      break;
    }
    fflush(fstrm);
-@@ -101,7 +105,7 @@
+@@ -101,7 +105,7 @@ void backtrace_handler(int n, siginfo_t
    /*
      old_eip = *(unsigned int*)((void*)&n-4);
      old_ebp = *(unsigned int*)((void*)&n-8);
@@ -1878,7 +1900,7 @@
      *(unsigned int*)((void*)&n-8) = puc->uc_mcontext.gregs[REG_EBP];    
      
      btsize = backtrace(btinfo, MAX_BTSIZE);
-@@ -111,14 +115,14 @@
+@@ -111,14 +115,14 @@ void backtrace_handler(int n, siginfo_t
    */
    
    btsize = backtrace(btinfo, MAX_BTSIZE);
@@ -1895,9 +1917,11 @@
    fflush(fstrm);
    fclose(fstrm);
  
+Index: hddtemp-0.3-beta15/src/daemon.c
+===================================================================
 --- hddtemp-0.3-beta15.orig/src/daemon.c
 +++ hddtemp-0.3-beta15/src/daemon.c
-@@ -163,19 +163,16 @@
+@@ -163,19 +163,16 @@ void daemon_send_msg(struct disk *ldisks
  
      switch(dsk->ret) {
      case GETTEMP_NOT_APPLICABLE:
@@ -1922,7 +1946,7 @@
        break;
      case GETTEMP_KNOWN:
        n = snprintf(msg, sizeof(msg), "%s%c%s%c%d%c%c",
-@@ -185,26 +182,23 @@
+@@ -185,26 +182,23 @@ void daemon_send_msg(struct disk *ldisks
                     get_unit(dsk));
        break;
      case GETTEMP_NOSENSOR:
@@ -1955,7 +1979,7 @@
        break;
      }
      write(cfd,&separator, 1);
-@@ -222,14 +216,11 @@
+@@ -222,14 +216,11 @@ void daemon_syslog(struct disk *ldisks)
    for(dsk = ldisks; dsk; dsk = dsk->next) {
      switch(dsk->ret) {
      case GETTEMP_KNOWN:
@@ -1972,7 +1996,7 @@
        break;
      case GETTEMP_DRIVE_SLEEP:
        syslog(LOG_WARNING, _("%s: %s: drive is sleeping"), 
-@@ -270,28 +261,30 @@
+@@ -270,28 +261,30 @@ void do_daemon_mode(struct disk *ldisks)
    fd_set             deffds;
    time_t             next_time;
  
@@ -2025,9 +2049,11 @@
    }
    chdir("/");
    umask(0);
+Index: hddtemp-0.3-beta15/src/hddtemp.c
+===================================================================
 --- hddtemp-0.3-beta15.orig/src/hddtemp.c
 +++ hddtemp-0.3-beta15/src/hddtemp.c
-@@ -75,7 +75,7 @@
+@@ -75,7 +75,7 @@ char *             listen_addr;
  char               separator = SEPARATOR;
  
  struct bustype *   bus[BUS_TYPE_MAX];
@@ -2036,7 +2062,7 @@
  
  static enum { DEFAULT, CELSIUS, FAHRENHEIT } unit;
  
-@@ -194,23 +194,7 @@
+@@ -194,23 +194,7 @@ static void display_temperature(struct d
      if (numeric && quiet)
        printf("0\n");      
      else
@@ -2061,7 +2087,7 @@
  
      break;
    case GETTEMP_KNOWN:
-@@ -232,14 +216,14 @@
+@@ -232,14 +216,14 @@ static void display_temperature(struct d
      if (numeric && quiet)
        printf("0\n");      
      else
@@ -2078,7 +2104,7 @@
        
      break;
    default:
-@@ -268,8 +252,9 @@
+@@ -268,8 +252,9 @@ void do_direct_mode(struct disk *ldisks)
  
  int main(int argc, char* argv[]) {
    int           i, c, lindex = 0, db_loaded = 0;
@@ -2089,16 +2115,16 @@
  
    backtrace_sigsegv();
    backtrace_sigill();
-@@ -279,7 +264,7 @@
-   bindtextdomain (PACKAGE, LOCALEDIR);
+@@ -283,7 +268,7 @@ int main(int argc, char* argv[]) {
    textdomain (PACKAGE);
+ #endif
    
 -  show_db = debug = numeric = quiet = wakeup = af_hint = syslog_interval = 0;
 +  show_db = debug = numeric = quiet = wakeup = af_hint = syslog_interval = foreground = 0;
    unit = DEFAULT;
    portnum = PORT_NUMBER;
    listen_addr = NULL;
-@@ -294,6 +279,7 @@
+@@ -298,6 +283,7 @@ int main(int argc, char* argv[]) {
        {"drivebase",  0, NULL, 'b'},
        {"debug",      0, NULL, 'D'},
        {"file",       1, NULL, 'f'},
@@ -2106,7 +2132,7 @@
        {"listen",     1, NULL, 'l'},
        {"version",    0, NULL, 'v'},
        {"port",       1, NULL, 'p'},
-@@ -305,7 +291,7 @@
+@@ -309,7 +295,7 @@ int main(int argc, char* argv[]) {
        {0, 0, 0, 0}
      };
   
@@ -2115,7 +2141,7 @@
      if (c == -1)
        break;
      
-@@ -382,12 +368,13 @@
+@@ -386,12 +372,13 @@ int main(int argc, char* argv[]) {
  		 "                        (done for every drive supplied).\n"
  		 "  -d   --daemon      :  run hddtemp in TCP/IP daemon mode (port %d by default.)\n"
  		 "  -f   --file=FILE   :  specify database file to use.\n"
@@ -2130,7 +2156,7 @@
  		 "  -q   --quiet       :  do not check if the drive is supported.\n"
  		 "  -v   --version     :  display hddtemp version number.\n"
  		 "  -w   --wake-up     :  wake-up the drive if need.\n"
-@@ -418,6 +405,9 @@
+@@ -422,6 +409,9 @@ int main(int argc, char* argv[]) {
  	  }
          }
  	break;
@@ -2140,7 +2166,7 @@
        default:
  	exit(1);
        }
-@@ -489,6 +479,7 @@
+@@ -493,6 +483,7 @@ int main(int argc, char* argv[]) {
      if( (dsk->fd = open(dsk->drive, O_RDONLY | O_NONBLOCK)) < 0) {
        snprintf(dsk->errormsg, MAX_ERRORMSG_SIZE, "open: %s\n", strerror(errno));
        dsk->type = ERROR;
@@ -2148,7 +2174,7 @@
        continue;
      }
  
-@@ -501,6 +492,7 @@
+@@ -505,6 +496,7 @@ int main(int argc, char* argv[]) {
  
        ldisks = dsk->next;
        free(dsk);
@@ -2156,7 +2182,7 @@
        continue;
      }
  
-@@ -514,11 +506,17 @@
+@@ -518,11 +510,17 @@ int main(int argc, char* argv[]) {
  	db_loaded = 1;
        }      
  
@@ -2177,16 +2203,18 @@
      }
    }
  
-@@ -530,5 +528,5 @@
+@@ -534,5 +532,5 @@ int main(int argc, char* argv[]) {
      do_direct_mode(ldisks);
    }
  
 -  return 0;
 +  return ret;
  }
+Index: hddtemp-0.3-beta15/src/ata.c
+===================================================================
 --- hddtemp-0.3-beta15.orig/src/ata.c
 +++ hddtemp-0.3-beta15/src/ata.c
-@@ -75,7 +75,7 @@
+@@ -75,7 +75,7 @@ static enum e_gettemp ata_get_temperatur
    int              i;
    u16 *            p;
  
@@ -2195,7 +2223,7 @@
      close(dsk->fd);
      dsk->fd = -1;
      return GETTEMP_NOSENSOR;
-@@ -140,24 +140,15 @@
+@@ -140,24 +140,15 @@ static enum e_gettemp ata_get_temperatur
    */
  
    /* temperature */
@@ -2224,9 +2252,11 @@
  
    /* never reached */
  }
+Index: hddtemp-0.3-beta15/src/hddtemp.h
+===================================================================
 --- hddtemp-0.3-beta15.orig/src/hddtemp.h
 +++ hddtemp-0.3-beta15/src/hddtemp.h
-@@ -39,8 +39,6 @@
+@@ -39,8 +39,6 @@ enum e_gettemp {
    GETTEMP_ERROR,            /* Error */
    GETTEMP_NOT_APPLICABLE,   /* */
    GETTEMP_UNKNOWN,          /* Drive is not in database */
@@ -2235,7 +2265,7 @@
    GETTEMP_KNOWN,            /* Drive appear in database */
    GETTEMP_NOSENSOR,         /* Drive appear in database but is known to have no sensor */
    GETTEMP_DRIVE_SLEEP       /* Drive is sleeping */
-@@ -78,7 +76,7 @@
+@@ -78,7 +76,7 @@ struct bustype {
  
  extern struct bustype *   bus[BUS_TYPE_MAX];
  extern char               errormsg[MAX_ERRORMSG_SIZE];
@@ -2244,9 +2274,11 @@
  extern char               separator;
  extern long               portnum, syslog_interval;
  extern char *             listen_addr;
+Index: hddtemp-0.3-beta15/src/scsicmds.c
+===================================================================
 --- hddtemp-0.3-beta15.orig/src/scsicmds.c
 +++ hddtemp-0.3-beta15/src/scsicmds.c
-@@ -147,6 +147,7 @@
+@@ -147,6 +147,7 @@ int scsi_inquiry(int device, unsigned ch
      return 1;
    else {
      scsi_fixstring(buffer + 8, 24);
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/htop/files/0001-Use-pkg-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/htop/files/0001-Use-pkg-config.patch
new file mode 100644
index 0000000..fc0d86e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/htop/files/0001-Use-pkg-config.patch
@@ -0,0 +1,39 @@
+We need to use pkg-config to find the ncurses library instead of the
+ncurses*-config applications.
+
+Signed-off-by: Paul Barker <pbarker@toganlabs.com>
+Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
+
+Upstream-status: Inappropriate
+    (`ncurses*-config` can be used outside of OpenEmbedded)
+
+diff --git a/configure.ac b/configure.ac
+index 559dc4d..77aea22 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -185,10 +185,10 @@ m4_define([HTOP_CHECK_LIB],
+ 
+ AC_ARG_ENABLE(unicode, [AS_HELP_STRING([--enable-unicode], [enable Unicode support])], ,enable_unicode="yes")
+ if test "x$enable_unicode" = xyes; then
+-   HTOP_CHECK_SCRIPT([ncursesw6], [addnwstr], [HAVE_LIBNCURSESW], "ncursesw6-config",
+-    HTOP_CHECK_SCRIPT([ncursesw], [addnwstr], [HAVE_LIBNCURSESW], "ncursesw6-config",
+-     HTOP_CHECK_SCRIPT([ncursesw], [addnwstr], [HAVE_LIBNCURSESW], "ncursesw5-config",
+-      HTOP_CHECK_SCRIPT([ncurses], [addnwstr], [HAVE_LIBNCURSESW], "ncurses5-config",
++   HTOP_CHECK_SCRIPT([ncursesw6], [addnwstr], [HAVE_LIBNCURSESW], "pkg-config ncursesw6",
++    HTOP_CHECK_SCRIPT([ncursesw], [addnwstr], [HAVE_LIBNCURSESW], "pkg-config ncursesw6",
++     HTOP_CHECK_SCRIPT([ncursesw], [addnwstr], [HAVE_LIBNCURSESW], "pkg-config ncursesw5",
++      HTOP_CHECK_SCRIPT([ncurses], [addnwstr], [HAVE_LIBNCURSESW], "pkg-config ncurses5",
+        HTOP_CHECK_LIB([ncursesw6], [addnwstr], [HAVE_LIBNCURSESW],
+         HTOP_CHECK_LIB([ncursesw], [addnwstr], [HAVE_LIBNCURSESW],
+          HTOP_CHECK_LIB([ncurses], [addnwstr], [HAVE_LIBNCURSESW],
+@@ -201,8 +201,8 @@ if test "x$enable_unicode" = xyes; then
+          [AC_CHECK_HEADERS([ncurses/curses.h],[:],
+             [AC_CHECK_HEADERS([ncurses.h],[:],[missing_headers="$missing_headers $ac_header"])])])])
+ else
+-   HTOP_CHECK_SCRIPT([ncurses6], [refresh], [HAVE_LIBNCURSES], "ncurses6-config",
+-    HTOP_CHECK_SCRIPT([ncurses], [refresh], [HAVE_LIBNCURSES], "ncurses5-config",
++   HTOP_CHECK_SCRIPT([ncurses6], [refresh], [HAVE_LIBNCURSES], "pkg-config ncurses6",
++    HTOP_CHECK_SCRIPT([ncurses], [refresh], [HAVE_LIBNCURSES], "pkg-config ncurses5",
+      HTOP_CHECK_LIB([ncurses6],  [refresh], [HAVE_LIBNCURSES],
+       HTOP_CHECK_LIB([ncurses],  [refresh], [HAVE_LIBNCURSES],
+       missing_libraries="$missing_libraries libncurses"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/htop/htop_1.0.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/htop/htop_1.0.3.bb
deleted file mode 100644
index 181661a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/htop/htop_1.0.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "htop process monitor"
-HOMEPAGE = "http://htop.sf.net"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c312653532e8e669f30e5ec8bdc23be3"
-
-DEPENDS = "ncurses"
-RDEPENDS_${PN} = "ncurses-terminfo"
-
-SRC_URI = "http://hisham.hm/htop/releases/${PV}/htop-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "e768b9b55c033d9c1dffda72db3a6ac7"
-SRC_URI[sha256sum] = "055c57927f75847fdc222b5258b079a9542811a9dcf5421c615c7e17f55d1829"
-
-LDFLAGS_append_libc-uclibc = " -lubacktrace"
-
-do_configure_prepend () {
-    rm -rf ${S}/config.h
-}
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/htop/htop_2.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/htop/htop_2.1.0.bb
new file mode 100644
index 0000000..33508f9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/htop/htop_2.1.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Interactive process viewer"
+HOMEPAGE = "http://hisham.hm/htop"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c312653532e8e669f30e5ec8bdc23be3"
+
+DEPENDS = "ncurses"
+
+SRC_URI = "http://hisham.hm/htop/releases/${PV}/${BP}.tar.gz \
+           file://0001-Use-pkg-config.patch"
+SRC_URI[md5sum] = "f262b66ad6c194782f4d3a80627e84c8"
+SRC_URI[sha256sum] = "3260be990d26e25b6b49fc9d96dbc935ad46e61083c0b7f6df413e513bf80748"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "proc \
+                   cgroup \
+                   taskstats \
+                   unicode \
+                   linux-affinity \
+                   delayacct"
+PACKAGECONFIG[proc] = "--enable-proc,--disable-proc"
+PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz"
+PACKAGECONFIG[cgroup] = "--enable-cgroup,--disable-cgroup"
+PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver"
+PACKAGECONFIG[taskstats] = "--enable-taskstats,--disable-taskstats"
+PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode"
+PACKAGECONFIG[linux-affinity] = "--enable-linux-affinity,--disable-linux-affinity"
+PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc"
+PACKAGECONFIG[setuid] = "--enable-setuid,--disable-setuid"
+PACKAGECONFIG[delayacct] = "--enable-delayacct,--disable-delayacct,libnl"
+
+do_configure_prepend () {
+    rm -rf ${S}/config.h
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.1.bb
deleted file mode 100644
index 125729f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "A spell checker and morphological analyzer library"
-HOMEPAGE = "http://hunspell.github.io/"
-LICENSE = "GPLv3 | LGPLv3"
-LIC_FILES_CHKSUM = " \
-    file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
-    file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
-"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "0df1c18c1284f8625af5ae5a8d5c4cef"
-SRC_URI[sha256sum] = "30f593733c50b794016bb03d31fd2a2071e4610c6fa4708e33edad2335102c49"
-
-inherit autotools pkgconfig gettext
-
-RDEPENDS_${PN} = "perl"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.2.bb
new file mode 100644
index 0000000..5feea89
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.6.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A spell checker and morphological analyzer library"
+HOMEPAGE = "http://hunspell.github.io/"
+LICENSE = "GPLv3 | LGPLv3"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+    file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/archive/v${PV}.tar.gz"
+SRC_URI[md5sum] = "1a54504cb470aafa6530bb372a10dc04"
+SRC_URI[sha256sum] = "3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce180cac4d6f4c4"
+
+inherit autotools pkgconfig gettext
+
+RDEPENDS_${PN} = "perl"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
index 50d35c6..679673b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
@@ -5,8 +5,8 @@
 LICENSE = "GPL-2.0+"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
 
-PV = "0.291+git${SRCPV}"
-SRCREV = "4bfbdcf5913d6dd53336d31b8035708075e6fdfa"
+PV = "0.298+git${SRCPV}"
+SRCREV = "9030fbd6ab1538f4d77d3cf1e0b463a7ec25b5c4"
 SRC_URI = "git://github.com/vcrhonek/${BPN}.git"
 
 S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel-1.4/r25.diff b/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel-1.4/r25.diff
deleted file mode 100644
index e666ce0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel-1.4/r25.diff
+++ /dev/null
@@ -1,32 +0,0 @@
-Taken from upstream subversion repository:
-
-http://code.google.com/p/iksemel/source/detail?r=25
-
-===================================================================
----
- configure.ac |   10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
---- iksemel-1.4.orig/configure.ac
-+++ iksemel-1.4/configure.ac
-@@ -43,11 +43,19 @@ AM_CONDITIONAL(DO_POSIX, test "x$defio"
- dnl Checks for library functions
- AC_SEARCH_LIBS(recv,socket)
- AC_CHECK_FUNCS(getopt_long)
- AC_CHECK_FUNCS(getaddrinfo)
- 
--AM_PATH_LIBGNUTLS(,AC_DEFINE(HAVE_GNUTLS,,"Use libgnutls"))
-+dnl Check GNU TLS
-+PKG_CHECK_MODULES(GNUTLS, gnutls >= 2.0.0, have_gnutls=yes, have_gnutls=no)
-+if test "x$have_gnutls" = "xyes"; then
-+  LIBGNUTLS_CFLAGS="$GNUTLS_CFLAGS"
-+  LIBGNUTLS_LIBS="$GNUTLS_LIBS"
-+  AC_SUBST(LIBGNUTLS_CFLAGS)
-+  AC_SUBST(LIBGNUTLS_LIBS)
-+  AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.])
-+fi
- 
- dnl Check -Wall flag of GCC
- if test "x$GCC" = "xyes"; then
-   if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then
-     CFLAGS="$CFLAGS -Wall"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel/avoid-obsolete-gnutls-apis.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel/avoid-obsolete-gnutls-apis.patch
new file mode 100644
index 0000000..41fccc3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel/avoid-obsolete-gnutls-apis.patch
@@ -0,0 +1,55 @@
+From 7136a908a056d0e36c89b6e1c39adff8ce2bb1d4 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Wed, 1 Nov 2017 13:17:34 -0700
+Subject: [PATCH] avoid obsolete gnutls apis
+
+The gnutls_*_set_priority() family of functions was marked deprecated
+in gnutls 2.12.x and removed completely in 3.5.x. These functions
+have been superceded by gnutls_priority_set_direct(), which was added
+in gnutls 2.2.0 (released 2007-12-14).
+
+Rather than simply update the custom gnutls_*_set_priority() calls to
+use gnutls_priority_set_direct(), drop the custom priority selection
+completely and use the recommended approach of letting gnutls pick a
+reasonable set of defaults.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ src/tls-gnutls.c | 12 ++----------
+ 1 file changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/src/tls-gnutls.c b/src/tls-gnutls.c
+index d7b7c91..749e9ef 100644
+--- a/src/tls-gnutls.c
++++ b/src/tls-gnutls.c
+@@ -48,11 +48,6 @@ tls_pull (struct ikstls_data *data, char *buffer, size_t len)
+ static int
+ tls_handshake (struct ikstls_data **datap, ikstransport *trans, void *sock)
+ {
+-	const int protocol_priority[] = { GNUTLS_TLS1, GNUTLS_SSL3, 0 };
+-	const int kx_priority[] = { GNUTLS_KX_RSA, 0 };
+-	const int cipher_priority[] = { GNUTLS_CIPHER_3DES_CBC, GNUTLS_CIPHER_ARCFOUR, 0};
+-	const int comp_priority[] = { GNUTLS_COMP_ZLIB, GNUTLS_COMP_NULL, 0 };
+-	const int mac_priority[] = { GNUTLS_MAC_SHA, GNUTLS_MAC_MD5, 0 };
+ 	struct ikstls_data *data;
+ 	int ret;
+ 
+@@ -81,11 +76,8 @@ tls_handshake (struct ikstls_data **datap, ikstransport *trans, void *sock)
+ 		return IKS_NOMEM;
+ 	}
+ 
+-	gnutls_protocol_set_priority (data->sess, protocol_priority);
+-	gnutls_cipher_set_priority(data->sess, cipher_priority);
+-	gnutls_compression_set_priority(data->sess, comp_priority);
+-	gnutls_kx_set_priority(data->sess, kx_priority);
+-	gnutls_mac_set_priority(data->sess, mac_priority);
++	gnutls_set_default_priority (data->sess);
++
+ 	gnutls_credentials_set (data->sess, GNUTLS_CRD_CERTIFICATE, data->cred);
+ 
+ 	gnutls_transport_set_push_function (data->sess, (gnutls_push_func) tls_push);
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel/fix-configure-option-parsing.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel/fix-configure-option-parsing.patch
new file mode 100644
index 0000000..05accdd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel/fix-configure-option-parsing.patch
@@ -0,0 +1,62 @@
+From 17a5cf8f70b86d8a2195562e2d9dcccb4fa35c83 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Tue, 31 Oct 2017 20:05:58 -0700
+Subject: [PATCH] fix configure option parsing
+
+Don't over-write with_openssl etc by trying to set to $enablevar
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ configure.ac | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 82e6d2d..823e6c1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -56,17 +56,17 @@ fi
+ dnl Options for overriding TLS checks
+ AC_ARG_WITH([openssl],
+   AS_HELP_STRING([--without-openssl],[disable checking for openssl]),
+-  [with_openssl=$enableval],
+-  [with_openssl=yes]
++  [],
++  [with_openssl=auto]
+ )
+ AC_ARG_WITH([gnutls],
+   AS_HELP_STRING([--without-gnutls],[disable checking for GNU TLS]),
+-  [with_gnutls=$enableval],
+-  [with_gnutls=yes]
++  [],
++  [with_gnutls=auto]
+ )
+ 
+ dnl Check OpenSSL
+-if test "x$with_openssl" = "xyes"; then
++if test "x$with_openssl" != "xno"; then
+   PKG_CHECK_MODULES([OPENSSL], openssl >= 0.9.8, have_openssl=yes, have_openssl=no)
+   if test "x$have_openssl" = "xyes"; then
+     LIBOPENSSL_CFLAGS="$OPENSSL_CFLAGS"
+@@ -78,7 +78,7 @@ if test "x$with_openssl" = "xyes"; then
+ fi
+ 
+ dnl Check GNU TLS
+-if test "x$with_gnutls" = "xyes"; then
++if test "x$with_gnutls" != "xno"; then
+   if test "x$have_openssl" != "xyes"; then
+     PKG_CHECK_MODULES([GNUTLS], gnutls >= 2.0.0, have_gnutls=yes, have_gnutls=no)
+     if test "x$have_gnutls" = "xyes"; then
+@@ -94,7 +94,7 @@ fi
+ dnl Option for overriding Python check
+ AC_ARG_ENABLE([python],
+   AS_HELP_STRING([--disable-python],[disable checking for Python bindings]),
+-  [with_python=$enableval],
++  [],
+   [with_python=yes]
+ )
+ 
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.5.bb
new file mode 100644
index 0000000..0903e90
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/iksemel/iksemel_1.5.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Fast and portable XML parser and Jabber protocol library"
+HOMEPAGE = "https://github.com/meduketto/iksemel"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+SRCREV = "978b733462e41efd5db72bc9974cb3b0d1d5f6fa"
+PV = "1.5+git${SRCPV}"
+
+SRC_URI = "git://github.com/meduketto/iksemel.git;protocol=https \
+           file://fix-configure-option-parsing.patch \
+           file://avoid-obsolete-gnutls-apis.patch"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig lib_package
+
+# TLS support requires either openssl or gnutls (if both are enabled openssl will be used).
+PACKAGECONFIG ?= "gnutls"
+
+PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
+PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
+
+EXTRA_OECONF = "--disable-python"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen/0001-CMakeLists.txt-install-FindEigen3.cmake-script.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen/0001-CMakeLists.txt-install-FindEigen3.cmake-script.patch
deleted file mode 100644
index 761dadb..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen/0001-CMakeLists.txt-install-FindEigen3.cmake-script.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From fd8bc66efac1059c1068f804746b01b90177c333 Mon Sep 17 00:00:00 2001
-From: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
-Date: Sun, 18 Oct 2015 16:52:25 +0200
-Subject: [PATCH] CMakeLists.txt: install FindEigen3.cmake script
-
-Upstream-Status: Pending
-
-Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
----
- CMakeLists.txt | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 76a11b9..ec6c6ea 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -342,6 +342,8 @@ if(EIGEN_BUILD_PKGCONFIG)
-         )
- endif(EIGEN_BUILD_PKGCONFIG)
- 
-+install(FILES "${PROJECT_SOURCE_DIR}/cmake/FindEigen3.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/cmake/Modules")
-+
- add_subdirectory(Eigen)
- 
- add_subdirectory(doc EXCLUDE_FROM_ALL)
--- 
-1.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.2.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.2.8.bb
deleted file mode 100644
index dcca2e9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.2.8.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
-AUTHOR = "Benoît Jacob and Gaël Guennebaud and others"
-HOMEPAGE = "http://eigen.tuxfamily.org/"
-LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad"
-
-SRC_URI = "http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2;downloadfilename=${BP}.tar.bz2 \
-           file://0001-CMakeLists.txt-install-FindEigen3.cmake-script.patch"
-SRC_URI[md5sum] = "9e3bfaaab3db18253cfd87ea697b3ab1"
-SRC_URI[sha256sum] = "722a63d672b70f39c271c5e2a4a43ba14d12015674331790414fcb167c357e55"
-
-S = "${WORKDIR}/eigen-eigen-07105f7124f9"
-
-inherit cmake
-
-FILES_${PN} = "${includedir} ${libdir}"
-FILES_${PN}-dev = "${datadir}/cmake/Modules ${datadir}/pkgconfig"
-
-# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.4.bb
new file mode 100644
index 0000000..bc3b32e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.4.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
+AUTHOR = "Benoît Jacob and Gaël Guennebaud and others"
+HOMEPAGE = "http://eigen.tuxfamily.org/"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad"
+
+SRC_URI = "http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2;downloadfilename=${BP}.tar.bz2"
+SRC_URI[md5sum] = "a7aab9f758249b86c93221ad417fbe18"
+SRC_URI[sha256sum] = "dd254beb0bafc695d0f62ae1a222ff85b52dbaa3a16f76e781dce22d0d20a4a6"
+
+S = "${WORKDIR}/eigen-eigen-5a0156e40feb"
+
+inherit cmake
+
+FILES_${PN} = "${includedir} ${libdir}"
+FILES_${PN}-dev = "${datadir}/eigen3/cmake ${datadir}/cmake/Modules ${datadir}/pkgconfig"
+
+# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.bb
deleted file mode 100644
index c506057..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "C library and tools for interacting with the linux GPIO character device"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de"
-
-SRC_URI = "https://www.kernel.org/pub/software/libs/libgpiod/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "5f9d855352b1a5272cf6f1c2e20689d2"
-SRC_URI[sha256sum] = "6dfd6aeb544e8b7baf484a05c9ae0e67022c109362a41d87005393046b6beacf"
-
-PV = "0.3.1"
-
-inherit autotools pkgconfig
-
-# enable tools
-PACKAGECONFIG ?= "tools"
-
-PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
-PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,"
-
-PACKAGES += " ${PN}-tools"
-
-FILES_${PN}-tools = "${bindir}/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
new file mode 100644
index 0000000..cd77506
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
@@ -0,0 +1,21 @@
+SUMMARY = "C library and tools for interacting with the linux GPIO character device"
+
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de"
+
+SRC_URI = "https://www.kernel.org/pub/software/libs/libgpiod/${BP}.tar.xz"
+
+inherit autotools pkgconfig
+
+# enable tools
+PACKAGECONFIG ?= "tools"
+
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
+PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,"
+
+PACKAGES =+ " ${PN}-tools"
+
+FILES_${PN}-tools = "${bindir}/*"
+
+RRECOMMENDS_TOOLS = "${@bb.utils.contains('PACKAGECONFIG', 'tools', '${PN}-tools', '',d)}"
+RRECOMMENDS_${PN} += "${RRECOMMENDS_TOOLS}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
new file mode 100644
index 0000000..09fb65a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
@@ -0,0 +1,4 @@
+require libgpiod.inc
+
+SRC_URI[md5sum] = "2aa1e1a80c3c919ae142ab9a55fb59ca"
+SRC_URI[sha256sum] = "b773e557af1a497f786825462a776b7bf90168e67ee0a5bc5d2473a5674dc38c"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.0.1.bb
new file mode 100644
index 0000000..51499fd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.0.1.bb
@@ -0,0 +1,4 @@
+require libgpiod.inc
+
+SRC_URI[md5sum] = "2ca0c3eb17d69e367b6f6a109ca86e41"
+SRC_URI[sha256sum] = "972924195367f5fb045c023d65340c4b7dfc8764499516be446553865208dedc"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
index d66ac58..ba380ed 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -4,21 +4,41 @@
 LICENSE = "LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
 
-SRCREV = "08f947d5e40600259bb698c3b95538e9f2bfecc2"
-PV = "0.8+git${SRCPV}"
+SRCREV = "fa82974d8bd1fded78e630ab71a7ded1b11d0e33"
+PV = "0.14+git${SRCPV}"
 
-SRC_URI = "git://github.com/analogdevicesinc/libiio.git"
+SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https"
 
 S = "${WORKDIR}/git"
 
-DEPENDS = "flex-native bison-native avahi libaio libusb1 libxml2"
+inherit cmake pythonnative systemd
 
-inherit cmake pythonnative
+DEPENDS = " \
+    flex-native bison-native libaio \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
+"
+
+EXTRA_OECMAKE = " \
+    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+    -DUDEV_RULES_INSTALL_DIR=${nonarch_base_libdir}/udev/rules.d \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \
+"
+
+PACKAGECONFIG ??= "USB_BACKEND NETWORK_BACKEND"
+
+PACKAGECONFIG[USB_BACKEND] = "-DWITH_USB_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1,libxml2"
+PACKAGECONFIG[NETWORK_BACKEND] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2"
 
 PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-python"
 
 RDEPENDS_${PN}-python = "${PN} python-ctypes python-stringold"
 
-FILES_${PN}-iiod = "${sbindir}/iiod"
+FILES_${PN}-iiod = " \
+    ${sbindir}/iiod \
+    ${systemd_system_unitdir}/iiod.service \
+"
 FILES_${PN}-tests = "${bindir}"
 FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+
+SYSTEMD_PACKAGES = "${PN}-iiod"
+SYSTEMD_SERVICE_${PN}-iiod = "iiod.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.55.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.55.bb
index ee399a7..0930a27 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.55.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.55.bb
@@ -11,6 +11,8 @@
 
 inherit autotools lib_package pkgconfig gettext
 
+CFLAGS += "-pthread -D_REENTRANT"
+
 EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
 
 PACKAGECONFIG ?= "curl"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libol/libol_0.3.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libol/libol_0.3.18.bb
index 74e1ef2..d7adb2b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libol/libol_0.3.18.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libol/libol_0.3.18.bb
@@ -4,7 +4,7 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
 
-SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${BP}.tar.gz \
+SRC_URI = "http://www.balabit.com/downloads/libol/0.3/${BP}.tar.gz \
            file://configure.patch"
 SRC_URI[md5sum] = "cbadf4b7ea276dfa85acc38a1cc5ff17"
 SRC_URI[sha256sum] = "9de3bf13297ff882e02a1e6e5f6bf760a544aff92a9d8a1cf4328a32005cefe7"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/files/automake_foreign.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/files/automake_foreign.patch
deleted file mode 100644
index 2d5bd6d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/files/automake_foreign.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: SDL2_ttf-2.0.14/Makefile.am
-===================================================================
---- SDL2_ttf-2.0.14.orig/Makefile.am
-+++ SDL2_ttf-2.0.14/Makefile.am
-@@ -1,6 +1,8 @@
- # Makefile.am for the SDL truetype font loading library and viewer
- lib_LTLIBRARIES = libSDL2_ttf.la
- 
-+AUTOMAKE_OPTIONS = foreign
-+
- libSDL2_ttfincludedir = $(includedir)/SDL2
- libSDL2_ttfinclude_HEADERS =	\
- 	SDL_ttf.h
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/files/use.pkg-config.for.freetype2.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/files/use.pkg-config.for.freetype2.patch
deleted file mode 100644
index 8a11f66..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/files/use.pkg-config.for.freetype2.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-freetype-config was removed from oe-core in
-
-commit 5870bd272b0b077d0826fb900b251884c1c05061
-Author: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date:   Thu May 22 10:59:33 2014 +0100
-
-    binconfig-disabled: Add class and use
-
-diff --git a/configure.in b/configure.in
-index 408e8d6..5f9e730 100644
---- a/configure.in
-+++ b/configure.in
-@@ -86,39 +86,11 @@ case "$host" in
- esac
- AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue)
- 
--dnl Check for the FreeType 2 library
--dnl
--dnl Get the cflags and libraries from the freetype-config script
--dnl
--AC_ARG_WITH(freetype-prefix,[  --with-freetype-prefix=PFX   Prefix where FREETYPE is 
--installed (optional)],
--            freetype_prefix="$withval", freetype_prefix="")
--AC_ARG_WITH(freetype-exec-prefix,[  --with-freetype-exec-prefix=PFX Exec prefix 
--where FREETYPE is installed (optional)],
--            freetype_exec_prefix="$withval", freetype_exec_prefix="")
--
--if test x$freetype_exec_prefix != x ; then
--     freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix"
--     if test x${FREETYPE_CONFIG+set} != xset ; then
--        FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config
--     fi
--fi
--if test x$freetype_prefix != x ; then
--     freetype_args="$freetype_args --prefix=$freetype_prefix"
--     if test x${FREETYPE_CONFIG+set} != xset ; then
--        FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config
--     fi
--fi
--AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
--no_freetype=""
--if test "$FREETYPE_CONFIG" = "no" ; then
--    AC_MSG_ERROR([
--*** Unable to find FreeType2 library (http://www.freetype.org/)
--])
--else
--    CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`"
--    LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`"
--fi
-+PKG_CHECK_MODULES(FREETYPE2, freetype2, 
-+    CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
-+    LIBS="$LIBS $FREETYPE2_LIBS",
-+    AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)])
-+)
- 
- dnl Check for SDL
- SDL_VERSION=2.0.0
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf/use.pkg-config.for.freetype2.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf/use.pkg-config.for.freetype2.patch
new file mode 100644
index 0000000..1116c34
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf/use.pkg-config.for.freetype2.patch
@@ -0,0 +1,62 @@
+From 8cf318197eea91bec6057308befbb29426d69014 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Thu, 22 May 2014 10:59:33 +0100
+Subject: [PATCH] freetype-config was removed from oe-core in
+
+commit 5870bd272b0b077d0826fb900b251884c1c05061
+
+    binconfig-disabled: Add class and use
+
+---
+ configure.in | 38 +++++---------------------------------
+ 1 file changed, 5 insertions(+), 33 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 865075e..d7a5a81 100644
+--- a/configure.in
++++ b/configure.in
+@@ -90,39 +90,11 @@ case "$host" in
+ esac
+ AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue)
+ 
+-dnl Check for the FreeType 2 library
+-dnl
+-dnl Get the cflags and libraries from the freetype-config script
+-dnl
+-AC_ARG_WITH(freetype-prefix,[  --with-freetype-prefix=PFX   Prefix where FREETYPE is 
+-installed (optional)],
+-            freetype_prefix="$withval", freetype_prefix="")
+-AC_ARG_WITH(freetype-exec-prefix,[  --with-freetype-exec-prefix=PFX Exec prefix 
+-where FREETYPE is installed (optional)],
+-            freetype_exec_prefix="$withval", freetype_exec_prefix="")
+-
+-if test x$freetype_exec_prefix != x ; then
+-     freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix"
+-     if test x${FREETYPE_CONFIG+set} != xset ; then
+-        FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config
+-     fi
+-fi
+-if test x$freetype_prefix != x ; then
+-     freetype_args="$freetype_args --prefix=$freetype_prefix"
+-     if test x${FREETYPE_CONFIG+set} != xset ; then
+-        FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config
+-     fi
+-fi
+-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+-no_freetype=""
+-if test "$FREETYPE_CONFIG" = "no" ; then
+-    AC_MSG_ERROR([
+-*** Unable to find FreeType2 library (http://www.freetype.org/)
+-])
+-else
+-    CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`"
+-    LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`"
+-fi
++PKG_CHECK_MODULES(FREETYPE2, freetype2, 
++    CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
++    LIBS="$LIBS $FREETYPE2_LIBS",
++    AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)])
++)
+ 
+ dnl Check for SDL
+ SDL_VERSION=1.2.4
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf/automake_foreign.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf/automake_foreign.patch
new file mode 100644
index 0000000..871e6e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf/automake_foreign.patch
@@ -0,0 +1,21 @@
+From f9c4ad3a171d676e3818b8f6897f325ccf0b2203 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 May 2017 00:57:10 -0700
+
+---
+ Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index 8166d91..8e05e49 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,6 +2,8 @@
+ 
+ lib_LTLIBRARIES = libSDL2_ttf.la
+ 
++AUTOMAKE_OPTIONS = foreign
++
+ libSDL2_ttfincludedir = $(includedir)/SDL2
+ libSDL2_ttfinclude_HEADERS =	\
+ 	SDL_ttf.h
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf/use.pkg-config.for.freetype2.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf/use.pkg-config.for.freetype2.patch
new file mode 100644
index 0000000..1dfbec6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libsdl-ttf/libsdl2-ttf/use.pkg-config.for.freetype2.patch
@@ -0,0 +1,62 @@
+From e6d2c0e130811c15b5f5cc10221fae182cb8609e Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Thu, 22 May 2014 10:59:33 +0100
+Subject: [PATCH] freetype-config was removed from oe-core in
+
+commit 5870bd272b0b077d0826fb900b251884c1c05061
+
+    binconfig-disabled: Add class and use
+
+---
+ configure.in | 38 +++++---------------------------------
+ 1 file changed, 5 insertions(+), 33 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 9b36e15..f300cae 100644
+--- a/configure.in
++++ b/configure.in
+@@ -86,39 +86,11 @@ case "$host" in
+ esac
+ AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue)
+ 
+-dnl Check for the FreeType 2 library
+-dnl
+-dnl Get the cflags and libraries from the freetype-config script
+-dnl
+-AC_ARG_WITH(freetype-prefix,[  --with-freetype-prefix=PFX   Prefix where FREETYPE is 
+-installed (optional)],
+-            freetype_prefix="$withval", freetype_prefix="")
+-AC_ARG_WITH(freetype-exec-prefix,[  --with-freetype-exec-prefix=PFX Exec prefix 
+-where FREETYPE is installed (optional)],
+-            freetype_exec_prefix="$withval", freetype_exec_prefix="")
+-
+-if test x$freetype_exec_prefix != x ; then
+-     freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix"
+-     if test x${FREETYPE_CONFIG+set} != xset ; then
+-        FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config
+-     fi
+-fi
+-if test x$freetype_prefix != x ; then
+-     freetype_args="$freetype_args --prefix=$freetype_prefix"
+-     if test x${FREETYPE_CONFIG+set} != xset ; then
+-        FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config
+-     fi
+-fi
+-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+-no_freetype=""
+-if test "$FREETYPE_CONFIG" = "no" ; then
+-    AC_MSG_ERROR([
+-*** Unable to find FreeType2 library (http://www.freetype.org/)
+-])
+-else
+-    CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`"
+-    LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`"
+-fi
++PKG_CHECK_MODULES(FREETYPE2, freetype2, 
++    CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
++    LIBS="$LIBS $FREETYPE2_LIBS",
++    AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)])
++)
+ 
+ dnl Check for SDL
+ SDL_VERSION=2.0.0
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-disable-RedHat-specific-test.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-disable-RedHat-specific-test.patch
new file mode 100644
index 0000000..468a55f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-disable-RedHat-specific-test.patch
@@ -0,0 +1,32 @@
+From 00debe6bd4cf5a3133a8fbaab75f7447a39fa655 Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Thu, 12 Apr 2018 01:54:15 +0000
+Subject: [PATCH] team_basic_test.py: disable RedHat specific test
+
+The test _run_teamd_initscripts() is for RedHat ifcfg scripts which are
+incompatible with OE:
+  /etc/sysconfig/network-scripts/ifcfg-*
+
+Upstream-Status: Inappropriate [OE Specific]
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+---
+ scripts/team_basic_test.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/team_basic_test.py b/scripts/team_basic_test.py
+index b05be9e..faabd18 100755
+--- a/scripts/team_basic_test.py
++++ b/scripts/team_basic_test.py
+@@ -171,7 +171,7 @@ TEAM_PORT_CONFIG='{"prio": 10}'
+         try:
+             for mode_name in self._team_modes:
+                 self._run_one_mode(mode_name)
+-            self._run_teamd_initscripts()
++            #self._run_teamd_initscripts()
+         finally:
+             cmd_exec("modprobe -r team_mode_loadbalance team_mode_roundrobin team_mode_activebackup team_mode_broadcast team");
+ 
+-- 
+2.13.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/run-ptest b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/run-ptest
new file mode 100644
index 0000000..4ba5acf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+python $(dirname $0)/team_basic_test.py
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb
index 3222700..442592d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.27.bb
@@ -10,6 +10,8 @@
 SRC_URI = "git://github.com/jpirko/libteam \
            file://0001-include-sys-select.h-for-fd_set-definition.patch \
            file://0002-teamd-Re-adjust-include-header-order.patch \
+           file://0001-team_basic_test.py-disable-RedHat-specific-test.patch \
+           file://run-ptest \
            "
 SRCREV = "91a928a56a501daac5ce8b3c16bd9943661f1d16"
 
@@ -18,7 +20,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit autotools pkgconfig
+inherit autotools pkgconfig ptest
 
 FILES_${PN} = "${libdir}/libteam${SOLIBS} \
 "
@@ -33,4 +35,8 @@
 "
 
 RDEPENDS_${PN}-utils = "bash"
+RDEPENDS_${PN}-ptest = "python"
 
+do_install_ptest() {
+	install ${S}/scripts/team_basic_test.py ${D}${PTEST_PATH}/
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
deleted file mode 100644
index 09d49d2..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 53368d3f4adc09dd84234a9af31771bcd8ca2757 Mon Sep 17 00:00:00 2001
-From: Sven Ebenfeld <sven.ebenfeld@gmail.com>
-Date: Fri, 15 Jan 2016 22:41:28 +0100
-Subject: [PATCH] Tell scons to use build settings from environment variables
-
-Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com>
----
- SConstruct                | 8 ++++++--
- src/mongo/util/SConscript | 2 ++
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 5082a4b..3370f70 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -507,6 +507,7 @@ def variable_arch_converter(val):
-         'amd64':  'x86_64',
-         'emt64':   'x86_64',
-         'x86':    'i386',
-+        'aarch64': 'arm64',
-     }
-     val = val.lower()
- 
-@@ -568,7 +569,8 @@ env_vars.Add('ARFLAGS',
-     converter=variable_shlex_converter)
- 
- env_vars.Add('CC',
--    help='Select the C compiler to use')
-+    help='Select the C compiler to use',
-+    default=os.getenv('CC'))
- 
- env_vars.Add('CCFLAGS',
-     help='Sets flags for the C and C++ compiler',
-@@ -588,7 +590,8 @@ env_vars.Add('CPPPATH',
-     converter=variable_shlex_converter)
- 
- env_vars.Add('CXX',
--    help='Select the C++ compiler to use')
-+    help='Select the C++ compiler to use',
-+    default=os.getenv('CXX'))
- 
- env_vars.Add('CXXFLAGS',
-     help='Sets flags for the C++ compiler',
-@@ -818,6 +821,7 @@ envDict = dict(BUILD_ROOT=buildDir,
-                )
- 
- env = Environment(variables=env_vars, **envDict)
-+env.PrependENVPath('PATH', os.getenv('PATH'))
- del envDict
- 
- env.AddMethod(env_os_is_wrapper, 'TargetOSIs')
-diff --git a/src/mongo/util/SConscript b/src/mongo/util/SConscript
-index 6add602..8d05a62 100644
---- a/src/mongo/util/SConscript
-+++ b/src/mongo/util/SConscript
-@@ -251,6 +251,8 @@ if get_option('allocator') == 'tcmalloc':
-                 'MONGO_HAVE_GPERFTOOLS_GET_THREAD_CACHE_SIZE'
-             ]
-         )
-+    if not use_system_version_of_library('valgrind'):
-+        tcmspEnv.InjectThirdPartyIncludePaths('valgrind')
- 
-     tcmspEnv.Library(
-         target='tcmalloc_set_parameter',
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
deleted file mode 100644
index c43beb4..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From a4951489d649c2b609cbb80f6cfb49fdcad8bd43 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Sep 2017 10:03:37 -0700
-Subject: [PATCH] Use long long instead of int64_t
-
-Fixes
-error: call to member function 'appendNumber' is ambiguous
-since this function expects long long as parameter and not int64_t
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
- src/mongo/util/procparser.cpp | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/mongo/util/procparser.cpp b/src/mongo/util/procparser.cpp
-index 36f2ae0254..2c164bcbf3 100644
---- a/src/mongo/util/procparser.cpp
-+++ b/src/mongo/util/procparser.cpp
-@@ -260,7 +260,7 @@ Status parseProcStat(const std::vector<StringData>& keys,
- 
-                     StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
- 
--                    uint64_t value;
-+                    long long  value;
- 
-                     if (!parseNumberFromString(stringValue, &value).isOK()) {
-                         value = 0;
-@@ -272,7 +272,7 @@ Status parseProcStat(const std::vector<StringData>& keys,
-             } else {
-                 StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
- 
--                uint64_t value;
-+                long long value;
- 
-                 if (!parseNumberFromString(stringValue, &value).isOK()) {
-                     value = 0;
-@@ -365,7 +365,7 @@ Status parseProcMemInfo(const std::vector<StringData>& keys,
- 
-             StringData stringValue((*partIt).begin(), (*partIt).end());
- 
--            uint64_t value;
-+            long long value;
- 
-             if (!parseNumberFromString(stringValue, &value).isOK()) {
-                 value = 0;
-@@ -426,7 +426,7 @@ Status parseProcDiskStats(const std::vector<StringData>& disks,
-                           StringData data,
-                           BSONObjBuilder* builder) {
-     bool foundKeys = false;
--    std::vector<uint64_t> stats;
-+    std::vector<long long> stats;
-     stats.reserve(kDiskFieldCount);
- 
-     using string_split_iterator = boost::split_iterator<StringData::const_iterator>;
-@@ -501,7 +501,7 @@ Status parseProcDiskStats(const std::vector<StringData>& disks,
- 
-                 StringData stringValue((*partIt).begin(), (*partIt).end());
- 
--                uint64_t value;
-+                long long value;
- 
-                 if (!parseNumberFromString(stringValue, &value).isOK()) {
-                     value = 0;
--- 
-2.14.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-mongo-Add-using-std-string.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-mongo-Add-using-std-string.patch
deleted file mode 100644
index e517d53..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0001-mongo-Add-using-std-string.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 5fdec9592285f5976345fbccb3d07fae1245ab53 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 2 Aug 2017 15:41:22 -0700
-Subject: [PATCH] mongo: Add using std::string
-
-This is needed with latest clang
-Fixes
-src/mongo/db/dbwebserver.cpp:206:23: error: use of undeclared identifier 'string'; did you mean 'String'?
-        static vector<string> commands;
-                      ^~~~~~
-                      String
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mongo/db/dbwebserver.cpp             | 1 +
- src/mongo/db/matcher/expression_leaf.cpp | 2 ++
- src/mongo/db/repl/master_slave.cpp       | 1 +
- src/mongo/util/net/miniwebserver.cpp     | 1 +
- 4 files changed, 5 insertions(+)
-
-diff --git a/src/mongo/db/dbwebserver.cpp b/src/mongo/db/dbwebserver.cpp
-index b202e0500b..0255613524 100644
---- a/src/mongo/db/dbwebserver.cpp
-+++ b/src/mongo/db/dbwebserver.cpp
-@@ -67,6 +67,7 @@ namespace mongo {
- using std::map;
- using std::stringstream;
- using std::vector;
-+using std::string;
- 
- using namespace html;
- 
-diff --git a/src/mongo/db/matcher/expression_leaf.cpp b/src/mongo/db/matcher/expression_leaf.cpp
-index d562bff141..4d931985e2 100644
---- a/src/mongo/db/matcher/expression_leaf.cpp
-+++ b/src/mongo/db/matcher/expression_leaf.cpp
-@@ -44,6 +44,8 @@
- #include "mongo/stdx/memory.h"
- #include "mongo/util/mongoutils/str.h"
- 
-+using std::string;
-+
- namespace mongo {
- 
- Status LeafMatchExpression::setPath(StringData path) {
-diff --git a/src/mongo/db/repl/master_slave.cpp b/src/mongo/db/repl/master_slave.cpp
-index 05faad1259..ea25d7151b 100644
---- a/src/mongo/db/repl/master_slave.cpp
-+++ b/src/mongo/db/repl/master_slave.cpp
-@@ -78,6 +78,7 @@ using std::endl;
- using std::max;
- using std::min;
- using std::set;
-+using std::string;
- using std::stringstream;
- using std::unique_ptr;
- using std::vector;
-diff --git a/src/mongo/util/net/miniwebserver.cpp b/src/mongo/util/net/miniwebserver.cpp
-index 5f4165d42f..239720c349 100644
---- a/src/mongo/util/net/miniwebserver.cpp
-+++ b/src/mongo/util/net/miniwebserver.cpp
-@@ -46,6 +46,7 @@ namespace mongo {
- 
- using std::shared_ptr;
- using std::stringstream;
-+using std::string;
- using std::vector;
- 
- MiniWebServer::MiniWebServer(const string& name, const string& ip, int port, ServiceContext* ctx)
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch
deleted file mode 100644
index 95f9c1c..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb/0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 5759878e5d278f11a1063e8fccd1e6b7b54caadf Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 2 Aug 2017 16:25:37 -0700
-Subject: [PATCH 2/2] d_state.cpp: Add missing dependenncy on
- local_sharding_info
-
-Fixes
-| src/mongo/s/d_state.cpp:81: error: undefined reference to 'mongo::enableLocalShardingInfo(mongo::ServiceContext*, std::function<bool (mongo::OperationContext*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)'
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mongo/s/SConscript | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/mongo/s/SConscript b/src/mongo/s/SConscript
-index 71720be517..51bd199127 100644
---- a/src/mongo/s/SConscript
-+++ b/src/mongo/s/SConscript
-@@ -317,5 +317,6 @@ env.Library(
-         "$BUILD_DIR/mongo/db/s/sharding",
-         "$BUILD_DIR/mongo/executor/network_interface_factory",
-         "$BUILD_DIR/mongo/s/client/shard_local",
-+        "$BUILD_DIR/mongo/s/local_sharding_info",
-     ],
- )
--- 
-2.13.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb_git.bb
deleted file mode 100644
index 0ff7d0b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mongodb/mongodb_git.bb
+++ /dev/null
@@ -1,77 +0,0 @@
-SUMMARY = "mongodb"
-LICENSE = "AGPL-3.0 & Apache-2.0 & Zlib"
-LIC_FILES_CHKSUM = "file://GNU-AGPL-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788 \
-                    file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-DEPENDS = "openssl libpcre libpcap zlib python boost"
-
-inherit scons dos2unix siteinfo
-
-PV = "3.4.6+git${SRCPV}"
-SRCREV = "c55eb86ef46ee7aede3b1e2a5d184a7df4bfb5b5"
-SRC_URI = "git://github.com/mongodb/mongo.git;branch=v3.4 \
-           file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \
-           file://0001-mongo-Add-using-std-string.patch \
-           file://0002-d_state.cpp-Add-missing-dependenncy-on-local_shardin.patch \
-           file://0001-Use-long-long-instead-of-int64_t.patch \
-           file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \
-           file://0001-Use-strerror_r-only-on-glibc-systems.patch \
-           file://0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch \
-           file://0003-Conditionalize-glibc-specific-strerror_r.patch \
-           file://arm64-support.patch \
-           file://0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch \
-           file://disable-hw-crc32-on-arm64-s390x.patch \
-           "
-SRC_URI_append_libc-musl ="\
-           file://0004-wiredtiger-Disable-strtouq-on-musl.patch \
-           "
-S = "${WORKDIR}/git"
-
-# Wiredtiger supports only 64-bit platforms
-PACKAGECONFIG_x86-64 ??= "tcmalloc wiredtiger"
-PACKAGECONFIG_aarch64 ??= "tcmalloc wiredtiger"
-PACKAGECONFIG ??= "tcmalloc"
-# gperftools compilation fails for arm below v7 because of missing support of
-# dmb operation. So we use system-allocator instead of tcmalloc
-PACKAGECONFIG_remove_armv6 = "tcmalloc"
-PACKAGECONFIG_remove_libc-musl = "tcmalloc"
-
-#std::current_exception is undefined for arm < v6
-COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
-COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
-COMPATIBLE_MACHINE_armv7a = "(!.*armv7a).*"
-COMPATIBLE_MACHINE_armv7ve = "(!.*armv7ve).*"
-COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
-COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
-
-PACKAGECONFIG[tcmalloc] = "--use-system-tcmalloc,--allocator=system,gperftools,"
-PACKAGECONFIG[wiredtiger] = "--wiredtiger=on,--wiredtiger=off,,"
-
-EXTRA_OESCONS = "--prefix=${D}${prefix} \
-                 LIBPATH=${STAGING_LIBDIR} \
-                 LINKFLAGS='${LDFLAGS}' \
-                 CXXFLAGS='${CXXFLAGS}' \
-                 TARGET_ARCH=${TARGET_ARCH} \
-                 --ssl \
-                 --disable-warnings-as-errors \
-                 --use-system-pcre \
-                 --use-system-zlib \
-                 --js-engine=none \
-                 --nostrip \
-                 --endian=${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
-                 ${PACKAGECONFIG_CONFARGS} \
-                 mongod mongos"
-
-do_configure_prepend() {
-        # tests use hex floats, not supported in plain C++
-        sed -e 's|-std=c++11|-std=gnu++11|g' -i ${S}/SConstruct
-}
-scons_do_compile() {
-        ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} || \
-        die "scons build execution failed."
-}
-
-scons_do_install() {
-        ${STAGING_BINDIR_NATIVE}/scons install ${EXTRA_OESCONS}|| \
-        die "scons install execution failed."
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb.inc
deleted file mode 100644
index 263b313..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb.inc
+++ /dev/null
@@ -1,293 +0,0 @@
-SUMMARY = "A robust, scalable, and reliable SQL server"
-HOMEPAGE = "http://mariadb.org"
-SECTION = "libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = "https://downloads.mariadb.org/f/${BP}/source/${BP}.tar.gz \
-           file://fix-cmake-module-path.patch \
-           file://remove-bad-path.patch \
-           file://fix-mysqlclient-r-version.patch \
-           file://my.cnf \
-           file://mysqld.service \
-           file://install_db.service \
-           file://install_db \
-           file://mysql-systemd-start \
-           file://configure.cmake-fix-valgrind.patch \
-           file://fix-a-building-failure.patch \
-           file://change-cc-to-cc-version.patch \
-           file://0001-disable-ucontext-on-musl.patch \
-          "
-
-SRC_URI[md5sum] = "2d4104aae0b9e5efa8878918bd329cb4"
-SRC_URI[sha256sum] = "5dbde98d7e4a5a1721b6cbed7898b2549a88866247951cf586057975c6cea641"
-
-S = "${WORKDIR}/mariadb-${PV}"
-
-BINCONFIG_GLOB = "mysql_config"
-
-inherit cmake gettext binconfig update-rc.d useradd systemd
-
-INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb"
-INITSCRIPT_NAME_${PN}-server = "mysqld"
-INITSCRIPT_PARAMS_${PN}-server ?= "start 45 5 . stop 45 0 6 1 ."
-
-USERADD_PACKAGES = "${PN}-server"
-USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql"
-GROUPADD_PARAM_${PN}-server = "--system mysql"
-
-INITSCRIPT_NAME_${PN}-setupdb = "install_db"
-INITSCRIPT_PARAMS_${PN}-setupdb ?= "defaults 44 44"
-
-SYSTEMD_PACKAGES = "${PN}-server ${PN}-setupdb"
-SYSTEMD_SERVICE_${PN}-server = "mysqld.service"
-SYSTEMD_AUTO_ENABLE_${PN}-server ?= "disable"
-
-SYSTEMD_SERVICE_${PN}-setupdb = "install_db.service"
-SYSTEMD_AUTO_ENABLE_${PN}-setupdb ?= "enable"
-ALLOW_EMPTY_${PN}-setupdb ?= "1"
-FILES_${PN}-setupdb = "${sysconfdir}/init.d/install_db"
-
-EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} setupdb"
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
-PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
-PACKAGECONFIG[libedit] = "-DLIBEDIT_INTERFACE=TRUE,-DLIBEDIT_INTERFACE=FALSE,libedit"
-PACKAGECONFIG[krb5] = ", ,krb5"
-PACKAGECONFIG[setupdb] = ", ,,${PN}-setupdb"
-
-# MariaDB doesn't link properly with gold
-# https://mariadb.atlassian.net/browse/MDEV-5982
-TARGET_CFLAGS += "-fuse-ld=bfd"
-
-BUILD_CFLAGS += "-fuse-ld=bfd"
-BUILD_CXXFLAGS += "-fuse-ld=bfd"
-
-EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
-                 -DWITH_JEMALLOC=no \
-                 -DWITHOUT_TOKUDB=TRUE \
-                 -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \
-                 -DGROFF=FALSE \
-                 -DNROFF=FALSE \
-                 -DENABLE_DTRACE=FALSE \
-                 -DWITH_PIC=ON \
-                 -DINSTALL_LAYOUT=RPM \
-                 -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \
-                 -DINSTALL_LIBDIR:PATH=${baselib} \
-                 -DINSTALL_PLUGINDIR:PATH=${baselib}/plugin \
-                 -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \
-                 -DMYSQL_DATADIR:PATH=/var/mysql \
-                 -DCAT_EXECUTABLE=`which cat` \
-                 -DCMAKE_AR:FILEPATH=${AR}"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-do_configure_append() {
-    # handle distros with different values of ${libexecdir}
-    libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'`
-    sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysql_install_db.sh
-    sed -i -e "s:mysqld libexec:mysqld $libexecdir2:g" ${S}/scripts/mysql_install_db.sh
-    sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysqld_safe.sh
-}
-
-do_generate_toolchain_file_append_class-native () {
-    # If these are set cmake will assume we're cross-compiling, which will
-    # result in certain things we want being disabled
-    sed -i "/set( CMAKE_SYSTEM_NAME/d" ${WORKDIR}/toolchain.cmake
-    sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake
-}
-
-do_compile_prepend_class-target () {
-    # These need to be in-tree or make will think they need to be built,
-    # and since we're cross-compiling that is disabled
-    cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra
-    cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts
-
-    if [ "${@bb.utils.contains('PACKAGECONFIG', 'krb5', 'yes', 'no', d)}" = "no" ]; then
-        if ! [ -e ${B}/include/openssl/kssl.h ] ; then
-            mkdir -p ${B}/include/openssl
-            echo "#ifndef KSSL_H" >${B}/include/openssl/kssl.h
-            echo "#define KSSL_H" >>${B}/include/openssl/kssl.h
-            echo "#include <openssl/opensslconf.h>">>${B}/include/openssl/kssl.h
-            echo "#endif" >>${B}/include/openssl/kssl.h
-        fi
-    fi
-}
-
-SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess"
-
-# We need to append this so it runs *after* binconfig's preprocess function
-#
-# We really don't care exactly what the directories were set to originally.
-# plugindir is not fixed, but we don't create any plugins.
-#
-mariadb_sysroot_preprocess () {
-    sed -i -es,^pkgincludedir=.*,pkgincludedir=\'${STAGING_INCDIR}/mysql\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config
-    sed -i -es,^pkglibdir=.*,pkglibdir=\'${STAGING_LIBDIR}\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config
-}
-
-do_install() {
-    oe_runmake 'DESTDIR=${D}' install
-
-    install -d ${D}/${sysconfdir}/init.d
-    install -m 0644 ${WORKDIR}/my.cnf ${D}/${sysconfdir}/
-    install -m 0755 ${WORKDIR}/install_db ${D}/${sysconfdir}/init.d/
-    mv ${D}/${sysconfdir}/init.d/mysql ${D}/${sysconfdir}/init.d/mysqld
-
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${WORKDIR}/mysqld.service ${D}${systemd_unitdir}/system
-    install -m 0644 ${WORKDIR}/install_db.service ${D}${systemd_unitdir}/system
-    sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service \
-                                                                   ${D}${systemd_unitdir}/system/install_db.service
-
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -d ${D}${sysconfdir}/tmpfiles.d
-        echo "f /var/log/mysqld.err 0640 mysql mysql -" \
-            > ${D}${sysconfdir}/tmpfiles.d/99-mysqld.conf
-    fi
-    install -d ${D}${bindir}
-    install -m 755 ${WORKDIR}/mysql-systemd-start ${D}${bindir}
-    install -d ${D}${datadir}/doc/${PN}
-    if [ -f ${D}${datadir}/doc/README ]; then
-        mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
-    fi
-}
-
-PACKAGES = "${PN}-dbg ${PN} \
-    libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev libmysqlclient-r-dbg \
-    libmysqlclient libmysqlclient-dev libmysqlclient-staticdev libmysqlclient-dbg \
-    libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-setupdb ${PN}-leftovers"
-CONFFILES_${PN}-server += "${sysconfdir}/my.cnf ${sysconfdir}/my.cnf.d/server.cnf"
-CONFFILES_${PN}-client += "${sysconfdir}/my.cnf.d/mysql-clients.cnf"
-CONFFILES_libmysqlclient += "${sysconfdir}/my.cnf.d/client.cnf"
-
-FILES_${PN} = " "
-RDEPENDS_${PN} = "${PN}-client ${PN}-server"
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \
-    perl-module-fcntl perl-module-sys-hostname perl-module-ipc-open3 \
-    perl-module-exporter"
-RDEPENDS_${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \
-    perl-module-file-basename perl-module-file-path perl-module-sys-hostname \
-    perl-module-file-copy perl-module-file-temp perl-module-posix \
-    ${PN}-client libdbi-perl libdbd-mysql-perl"
-RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \
-    perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \
-    perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \
-    perl-module-file-spec perl-module-file-find perl-module-file-basename perl-module-file-path \
-    perl-module-constant perl-module-lib perl-module-file-temp perl-module-file-spec-functions \
-    perl-module-io-socket-inet perl-module-io-select"
-RDEPENDS_${PN}-setupdb = "coreutils"
-
-# Allow old code to link to the backward compatible library
-RDEPENDS_libmysqlclient-dev = "libmysqlclient-r-dev"
-
-FILES_libmysqlclient = "\
-    ${libdir}/libmysqlclient.so.* \
-    ${sysconfdir}/my.cnf.d/client.cnf"
-FILES_libmysqlclient-dev = " \
-    ${includedir}/mysql/ \
-    ${libdir}/libmysqlclient.so \
-    ${sysconfdir}/aclocal \
-    ${bindir}/mysql_config"
-FILES_libmysqlclient-staticdev = "\
-    ${libdir}/*.a"
-FILES_libmysqlclient-dbg = "${libdir}/plugin/.debug/ \
-    ${datadir}/mysql-test/lib/My/SafeProcess/.debug/my_safe_process"
-
-# Avoid warnings about ha_xtradb.so.0.0.0 and ha_innodb_plugin.so.0.0.0
-# which are intentionally non-PIC on 32-bit x86 (see e.g.
-# storage/xtradb/plug.in in the source)
-INSANE_SKIP_libmysqlclient_append_x86 = " textrel"
-
-FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*"
-FILES_libmysqlclient-r-dev = "\
-    ${libdir}/libmysqlclient_r.so"
-FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a"
-FILES_libmysqlclient-r-dbg = "${libdir}/plugin/.debuglibmysqlclient_r.so.*"
-
-FILES_libmysqld = "\
-    ${libdir}/libmysqld.so.*"
-FILES_libmysqld-dev = "\
-    ${libdir}/libmysqld.so"
-
-FILES_${PN}-client = "\
-    ${bindir}/myisam_ftdump \
-    ${bindir}/mysql \
-    ${bindir}/mysql_client_test \
-    ${bindir}/mysql_client_test_embedded \
-    ${bindir}/mysql_find_rows \
-    ${bindir}/mysql_fix_extensions \
-    ${bindir}/mysql_waitpid \
-    ${bindir}/mysqlaccess \
-    ${bindir}/mysqladmin \
-    ${bindir}/mysqlbug \
-    ${bindir}/mysqlcheck \
-    ${bindir}/mysqldump \
-    ${bindir}/mysqldumpslow \
-    ${bindir}/mysqlimport \
-    ${bindir}/mysqlshow \
-    ${bindir}/mysqlslap \
-    ${bindir}/mysqltest_embedded \
-    ${libexecdir}/mysqlmanager \
-    ${sysconfdir}/my.cnf.d/mysql-clients.cnf"
-
-FILES_${PN}-server = "\
-    ${bindir}/comp_err \
-    ${bindir}/isamchk \
-    ${bindir}/isamlog \
-    ${bindir}/msql2mysql \
-    ${bindir}/my_print_defaults \
-    ${bindir}/myisamchk \
-    ${bindir}/myisamlog \
-    ${bindir}/myisampack \
-    ${bindir}/mysql_convert_table_format \
-    ${bindir}/mysql_fix_privilege_tables \
-    ${bindir}/mysql_install_db \
-    ${bindir}/mysql_secure_installation \
-    ${bindir}/mysql_setpermission \
-    ${bindir}/mysql-systemd-start \
-    ${bindir}/mysql_tzinfo_to_sql \
-    ${bindir}/mysql_upgrade \
-    ${bindir}/mysql_plugin \
-    ${bindir}/mysql_zap \
-    ${bindir}/mysqlbinlog \
-    ${bindir}/mysqld_multi \
-    ${bindir}/mysqld_safe \
-    ${bindir}/mysqld_safe_helper \
-    ${bindir}/mysqlhotcopy \
-    ${bindir}/mysqltest \
-    ${bindir}/ndb_delete_all \
-    ${bindir}/ndb_desc \
-    ${bindir}/ndb_drop_index \
-    ${bindir}/ndb_drop_table \
-    ${bindir}/ndb_mgm \
-    ${bindir}/ndb_restore \
-    ${bindir}/ndb_select_all \
-    ${bindir}/ndb_select_count \
-    ${bindir}/ndb_show_tables \
-    ${bindir}/ndb_waiter \
-    ${bindir}/pack_isam \
-    ${bindir}/perror \
-    ${bindir}/replace \
-    ${bindir}/resolve_stack_dump \
-    ${bindir}/resolveip \
-    ${libexecdir}/mysqld \
-    ${sbindir}/mysqld \
-    ${sbindir}/ndb_cpcd \
-    ${sbindir}/ndbd \
-    ${sbindir}/ndb_mgmd \
-    ${libdir}/plugin/*.so \
-    ${datadir}/mysql/ \
-    ${localstatedir}/mysql/ \
-    ${sysconfdir}/init.d/mysqld \
-    ${sysconfdir}/my.cnf \
-    ${sysconfdir}/my.cnf.d/server.cnf \
-    ${sysconfdir}/tmpfiles.d"
-
-DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
-FILES_${PN}-leftovers = "/"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch
deleted file mode 100644
index 7516619..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001
-From: Tor Didriksen <tor.didriksen@oracle.com>
-Date: Mon, 24 Jun 2013 17:15:35 +0200
-Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18
-
-With this patch, the libmysql/ directory contains:
-libmysqlclient.a
-libmysqlclient_r.a -> libmysqlclient.a
-libmysqlclient_r.so -> libmysqlclient.so*
-libmysqlclient_r.so.18 -> libmysqlclient.so.18*
-libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0*
-libmysqlclient.so -> libmysqlclient.so.18*
-libmysqlclient.so.18 -> libmysqlclient.so.18.1.0*
-libmysqlclient.so.18.1.0*
-
-This fixes libmysqlclient_r symlinks pointing to the unversioned
-libmysqlclient.so symlink (leading to package QA errors since the
-libmysqlclient-r package ends up depending on libmysqlclient-dev).
-
-Borrowed from MySQL 5.6 tree at https://github.com/percona/mysql/
-
-Upstream-Status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
----
- cmake/install_macros.cmake | 25 +++++++++++++++----------
- cmake/mysql_version.cmake  |  3 ++-
- libmysql/CMakeLists.txt    | 36 ++++++++++++++++++++++++++++--------
- 3 files changed, 45 insertions(+), 19 deletions(-)
-
-diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
-index b8efdf8..a0d0e68 100644
---- a/cmake/install_macros.cmake
-+++ b/cmake/install_macros.cmake
-@@ -1,4 +1,4 @@
--# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
-+# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
- # 
- # 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
-@@ -111,28 +111,33 @@ FUNCTION(INSTALL_SCRIPT)
- ENDFUNCTION()
- 
- # Install symbolic link to CMake target. 
--# the link is created in the same directory as target
--# and extension will be the same as for target file.
--MACRO(INSTALL_SYMLINK linkname target destination component)
-+# We do 'cd path; ln -s target_name link_name'
-+# We also add an INSTALL target for "${path}/${link_name}"
-+MACRO(INSTALL_SYMLINK target target_name link_name destination component)
- IF(UNIX)
-   GET_TARGET_PROPERTY(location ${target} LOCATION)
-   GET_FILENAME_COMPONENT(path ${location} PATH)
--  GET_FILENAME_COMPONENT(name ${location} NAME)
--  SET(output ${path}/${linkname})
-+  MESSAGE(STATUS "target ${target}")
-+  MESSAGE(STATUS "link_name ${link_name}")
-+  MESSAGE(STATUS "target_name ${target_name}")
-+  MESSAGE(STATUS "path ${path}")
-+  MESSAGE(STATUS "")
-+
-+  SET(output ${path}/${link_name})
-   ADD_CUSTOM_COMMAND(
-     OUTPUT ${output}
-     COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output}
-     COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink 
--      ${name} 
--      ${linkname}
-+      ${target_name} 
-+      ${link_name}
-     WORKING_DIRECTORY ${path}
-     DEPENDS ${target}
-     )
-   
--  ADD_CUSTOM_TARGET(symlink_${linkname}
-+  ADD_CUSTOM_TARGET(symlink_${link_name}
-     ALL
-     DEPENDS ${output})
--  SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
-+  SET_TARGET_PROPERTIES(symlink_${link_name} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
-   IF(CMAKE_GENERATOR MATCHES "Xcode")
-     # For Xcode, replace project config with install config
-     STRING(REPLACE "${CMAKE_CFG_INTDIR}" 
-diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
-index be5760f..96286ff 100644
---- a/libmysql/CMakeLists.txt
-+++ b/libmysql/CMakeLists.txt
-@@ -180,6 +180,12 @@ IF(MSVC)
-  INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug)
- ENDIF()
- 
-+MACRO(GET_TARGET_NAME target out_name)
-+  GET_TARGET_PROPERTY(location ${target} LOCATION)
-+  GET_FILENAME_COMPONENT(name ${location} NAME)
-+  SET(${out_name} ${name})
-+ENDMACRO()
-+
- IF(UNIX)
-   MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME)
-     SET(DOT_VERSION ".${VERSION}")
-@@ -192,7 +198,13 @@ IF(UNIX)
-       SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
-     ENDIF() 
-   ENDMACRO()
--  INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development)
-+ENDIF()
-+
-+IF(UNIX)
-+  GET_TARGET_NAME(mysqlclient lib_name)
-+  INSTALL_SYMLINK(mysqlclient
-+    ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a
-+    ${INSTALL_LIBDIR} Development)
- ENDIF()
- 
- IF(NOT DISABLE_SHARED)
-@@ -205,10 +217,9 @@ IF(NOT DISABLE_SHARED)
-     # libtool compatability
-     IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
-       SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
--    ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
--      SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0")
-     ELSE()
--      SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0")
-+      SET(OS_SHARED_LIB_VERSION
-+        "${SHARED_LIB_MAJOR_VERSION}.${SHARED_LIB_MINOR_VERSION}.0")
-     ENDIF()
-     # Name of shared library is mysqlclient on Unix
-     SET_TARGET_PROPERTIES(libmysql PROPERTIES 
-@@ -239,8 +250,13 @@ IF(NOT DISABLE_SHARED)
-       "${CMAKE_SHARED_LIBRARY_SUFFIX}"
-       ""
-       linkname)
--    INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
--    SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
-+    GET_TARGET_NAME(libmysql lib_name)
-+    GET_FILENAME_COMPONENT(lib_name_we ${lib_name} NAME_WE)
-+    INSTALL_SYMLINK(libmysql
-+      ${lib_name} ${linkname}
-+      ${INSTALL_LIBDIR} SharedLibraries)
-+    SET(OS_SHARED_LIB_SYMLINKS
-+      "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
-     LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
-     FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
-       GET_VERSIONED_LIBNAME(
-@@ -248,7 +264,11 @@ IF(NOT DISABLE_SHARED)
-         "${CMAKE_SHARED_LIBRARY_SUFFIX}"
-         "${ver}"
-         linkname)
--      INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
-+      GET_VERSIONED_LIBNAME(
-+        ${lib_name_we} "${CMAKE_SHARED_LIBRARY_SUFFIX}" "${ver}" lib_name_ver)
-+      INSTALL_SYMLINK(libmysql
-+        ${lib_name_ver} ${linkname}
-+        ${INSTALL_LIBDIR} SharedLibraries)
-     ENDFOREACH()
-   ENDIF()
- ENDIF()
--- 
-2.0.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.7.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.7.4.bb
deleted file mode 100644
index eaf393e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.7.4.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-include nano.inc
-
-SRC_URI[md5sum] = "c011c7f9e47cb1da27d4e7cc8b56ec6a"
-SRC_URI[sha256sum] = "752170643039e2c95a433de357f0c70a8c4c4c561a90a7e7259a63e225b659b9"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.9.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.9.3.bb
new file mode 100644
index 0000000..afb0cf2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano_2.9.3.bb
@@ -0,0 +1,4 @@
+include nano.inc
+
+SRC_URI[md5sum] = "6dd37f010d6a985bf0e5f8ed091ff919"
+SRC_URI[sha256sum] = "7783bcfd4b2d5dc0bf64d4bd07b1a19e7ba3c91da881a4249772a36b972d4012"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
index e5b50ce..76e0741 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
@@ -29,7 +29,7 @@
         d.setVar('NE10_TARGET_ARCH', 'aarch64')
         bb.debug(2, 'Building Ne10 for aarch64')
     else:
-        raise bb.parse.SkipPackage("Incompatible with archs other than armv7 and aarch64")
+        raise bb.parse.SkipRecipe("Incompatible with archs other than armv7 and aarch64")
 }
 
 do_install() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/neon/neon/pkgconfig.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/neon/neon/pkgconfig.patch
new file mode 100644
index 0000000..239dba8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/neon/neon/pkgconfig.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Inappropriate [configuration]
+
+---
+ neon.pc.in |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- neon-0.30.1.orig/neon.pc.in
++++ neon-0.30.1/neon.pc.in
+@@ -7,5 +7,5 @@ Name: neon
+ Description: HTTP/WebDAV client library
+ Version: @NEON_VERSION@
+ Libs: -L${libdir} -lneon @NEON_PC_LIBS@
+-Libs.private: @NEON_LIBS@
++Libs.private: -L${libdir} -lz -lgcrypt -lgpg-error -lexpat -lgnutls
+ Cflags: -I${includedir}/neon @NEON_CFLAGS@
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb
new file mode 100644
index 0000000..00b79f6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb
@@ -0,0 +1,38 @@
+SUMMARY = "An HTTP and WebDAV client library with a C interface"
+HOMEPAGE = "http://www.webdav.org/neon/"
+SECTION = "libs"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://src/COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a \
+                    file://src/ne_utils.h;beginline=1;endline=20;md5=2caca609538eddaa6f6adf120a218037"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/n/neon27/neon27_${PV}.orig.tar.gz \
+           file://pkgconfig.patch \
+          "
+
+SRC_URI[md5sum] = "e28d77bf14032d7f5046b3930704ef41"
+SRC_URI[sha256sum] = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca"
+
+inherit autotools binconfig-disabled lib_package pkgconfig
+
+# Enable gnutls or openssl, not both
+PACKAGECONFIG ?= "expat gnutls libproxy webdav zlib"
+PACKAGECONFIG_class-native = "expat gnutls webdav zlib"
+
+PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat"
+PACKAGECONFIG[gnutls] = "--with-ssl=gnutls,,gnutls"
+PACKAGECONFIG[gssapi] = "--with-gssapi,--without-gssapi,krb5"
+PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy"
+PACKAGECONFIG[libxml2] = "--with-libxml2,--without-libxml2,libxml2"
+PACKAGECONFIG[openssl] = "--with-ssl=openssl,,openssl"
+PACKAGECONFIG[webdav] = "--enable-webdav,--disable-webdav,"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+
+EXTRA_OECONF += "--enable-shared"
+
+do_compile_append() {
+    oe_runmake -C test
+}
+
+BINCONFIG = "${bindir}/neon-config"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nghttp2/nghttp2_1.26.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/nghttp2/nghttp2_1.26.0.bb
deleted file mode 100644
index 3e6b10a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/nghttp2/nghttp2_1.26.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "HTTP/2 C Library and tools"
-HOMEPAGE = "https://nghttp2.org/"
-SECTION = "libs"
-
-DEPENDS = "pkgconfig cunit zlib openssl libxml2 jansson c-ares"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-SRC_URI = "https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.bz2"
-SRC_URI[md5sum] = "926f07ad3b50f38f7d8935ced04716cf"
-SRC_URI[sha256sum] = "0df4229f4123b5aa96e834ebcfdffe954e93d986f0252fd10123d50c6f010983"
-
-inherit cmake pythonnative python-dir
-
-EXTRA_OECMAKE = ""
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.init b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.init
new file mode 100644
index 0000000..3828046
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/files/vmtoolsd.init
@@ -0,0 +1,66 @@
+#!/bin/sh
+#
+#   vmtoolsd          Start/stop the vmware tools daemon
+#
+# chkconfig:  2345 90 60
+# description: vmtoolsd is a daemon that starts up.  for some reason, it
+#              doesn't include a sysv init startup file in the latest release.
+#              so i have to write this
+#
+
+### BEGIN INIT INFO
+# Provides: vmtoolsd
+# Required-Start: $local_fs $syslog
+# Required-Stop: $local_fs $syslog
+# Default-Start: 2345
+# Default-Stop: 90
+# Short-Description: Run vmware tools daemon
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/bin/vmtoolsd
+NAME=vmtoolsd
+DESC="vmware tools daemon"
+VMTOOLSDARGS=" -b /var/run/vmtoolsd.pid "
+RETVAL="1"
+
+# source function library
+. /etc/init.d/functions
+
+test -f $DAEMON || exit 0
+
+
+case "$1" in
+  start)
+    echo -n "Starting vmware tools daemon: "
+    start-stop-daemon --start --quiet --exec $DAEMON -- $VMTOOLSDARGS
+    RETVAL=$?
+    if [ $RETVAL -eq 0 ] ; then
+        echo "OK"
+    else
+        echo "FAIL"
+    fi
+    ;;
+  stop)
+    echo -n "Stopping vmware tools daemon: "
+    start-stop-daemon --stop --quiet --pidfile /var/run/vmtoolsd.pid
+    RETVAL=$?
+    if [ $RETVAL -eq 0 ] ; then
+        echo "OK"
+    else
+        echo "FAIL"
+    fi
+    ;;
+  status)
+    status vmtoolsd
+    exit $?
+    ;;
+  restart)
+    $0 stop && sleep 1 && $0 start
+    ;;
+  *)
+    echo "Usage: /etc/init.d/vmtoolsd {start|stop|status|restart}"
+    exit 1
+esac
+
+exit $RETVAL
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb
index 81e8e96..c32d2c5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.1.5.bb
@@ -24,6 +24,7 @@
 SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
            file://tools.conf \
            file://vmtoolsd.service \
+           file://vmtoolsd.init \
            file://0001-configure.ac-don-t-use-dnet-config.patch \
            file://0002-add-include-sys-sysmacros.h.patch \
            file://0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch \
@@ -50,7 +51,7 @@
 # open-vm-tools is supported only on x86.
 COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
 
-inherit autotools pkgconfig systemd
+inherit autotools pkgconfig systemd update-rc.d
 
 SYSTEMD_SERVICE_${PN} = "vmtoolsd.service"
 
@@ -85,8 +86,14 @@
 
 do_install_append() {
     ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs
-    install -d ${D}${systemd_unitdir}/system ${D}${sysconfdir}/vmware-tools
-    install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system
+    install -d ${D}${sysconfdir}/vmware-tools
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${systemd_unitdir}/system
+        install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system
+    else
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd
+    fi
     install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf
 }
 
@@ -95,6 +102,10 @@
     export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so
 }
 
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "vmtoolsd"
+INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ."
+
 python() {
     if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \
 	'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb
index c7d7203..913290c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openct/openct_0.6.20.bb
@@ -25,7 +25,7 @@
 LICENSE = "LGPLv2+"
 LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
-inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
+inherit systemd
 SYSTEMD_SERVICE_${PN} += "openct.service "
 SYSTEMD_AUTO_ENABLE = "enable"
 
@@ -77,10 +77,8 @@
     install -Dpm 755 ${WORKDIR}/openct.init ${D}/etc/init.d/openct
     install -Dpm 644 ${WORKDIR}/openct.sysconfig ${D}/etc/sysconfig/openct
 
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        install -d ${D}/${systemd_unitdir}/system
-        install -m 644 ${WORKDIR}/openct.service ${D}/${systemd_unitdir}/system
-    fi
+    install -d ${D}/${systemd_unitdir}/system
+    install -m 644 ${WORKDIR}/openct.service ${D}/${systemd_unitdir}/system
 
     so=$(find ${D} -name \*.so | sed "s|^${D}||")
     sed -i -e 's|\\(LIBPATH\\s*\\).*|\\1$so|' etc/reader.conf
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/already-exists.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/already-exists.patch
new file mode 100644
index 0000000..6e24f2d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/already-exists.patch
@@ -0,0 +1,394 @@
+From e4bf148cddf277834e57c9afeec8daff8378a655 Mon Sep 17 00:00:00 2001
+From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
+Date: Wed, 22 Nov 2017 15:27:07 +0100
+Subject: [PATCH] Fix: File already exists in database: caffe.proto
+
+Fixes error when importing python cv
+
+Upstream-status: Backport https://github.com/opencv/opencv/pull/10092
+Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
+---
+ modules/dnn/CMakeLists.txt                                | 6 +++---
+ modules/dnn/src/caffe/caffe_importer.cpp                  | 1 -
+ modules/dnn/src/caffe/caffe_io.cpp                        | 1 -
+ modules/dnn/src/caffe/caffe_io.hpp                        | 2 +-
+ modules/dnn/src/caffe/{caffe.proto => opencv-caffe.proto} | 0
+ 5 files changed, 4 insertions(+), 6 deletions(-)
+ rename modules/dnn/src/caffe/{caffe.proto => opencv-caffe.proto} (100%)
+
+diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
+index c6329a742263..8ef00ef983ff 100644
+--- a/modules/dnn/CMakeLists.txt
++++ b/modules/dnn/CMakeLists.txt
+@@ -55,13 +55,13 @@ ocv_warnings_disable(CMAKE_CXX_FLAGS
+ 
+ if(PROTOBUF_UPDATE_FILES)
+   file(GLOB proto_files src/tensorflow/*.proto)
+-  list(APPEND proto_files src/caffe/caffe.proto)
++  list(APPEND proto_files src/caffe/opencv-caffe.proto)
+   PROTOBUF_GENERATE_CPP(Protobuf_HDRS Protobuf_SRCS ${proto_files})
+ else()
+   file(GLOB fw_srcs ${CMAKE_CURRENT_SOURCE_DIR}/misc/tensorflow/*.cc)
+   file(GLOB fw_hdrs ${CMAKE_CURRENT_SOURCE_DIR}/misc/tensorflow/*.h)
+-  list(APPEND fw_srcs ${CMAKE_CURRENT_SOURCE_DIR}/misc/caffe/caffe.pb.cc)
+-  list(APPEND fw_hdrs ${CMAKE_CURRENT_SOURCE_DIR}/misc/caffe/caffe.pb.h)
++  list(APPEND fw_srcs ${CMAKE_CURRENT_SOURCE_DIR}/misc/caffe/opencv-caffe.pb.cc)
++  list(APPEND fw_hdrs ${CMAKE_CURRENT_SOURCE_DIR}/misc/caffe/opencv-caffe.pb.h)
+   list(APPEND Protobuf_SRCS ${fw_srcs})
+   list(APPEND Protobuf_HDRS ${fw_hdrs})
+   list(APPEND Protobuf_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/misc/caffe)
+diff --git a/modules/dnn/src/caffe/caffe_importer.cpp b/modules/dnn/src/caffe/caffe_importer.cpp
+index c075651b95b3..2c977c84b0f4 100644
+--- a/modules/dnn/src/caffe/caffe_importer.cpp
++++ b/modules/dnn/src/caffe/caffe_importer.cpp
+@@ -42,7 +42,6 @@
+ #include "../precomp.hpp"
+ 
+ #ifdef HAVE_PROTOBUF
+-#include "caffe.pb.h"
+ 
+ #include <iostream>
+ #include <fstream>
+diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
+index 0f46ea77df9a..1d3c518f1328 100644
+--- a/modules/dnn/src/caffe/caffe_io.cpp
++++ b/modules/dnn/src/caffe/caffe_io.cpp
+@@ -99,7 +99,6 @@
+ #include <fstream>
+ #include <vector>
+ 
+-#include "caffe.pb.h"
+ #include "caffe_io.hpp"
+ #include "glog_emulator.hpp"
+ 
+diff --git a/modules/dnn/src/caffe/caffe_io.hpp b/modules/dnn/src/caffe/caffe_io.hpp
+index 09bc5709a24e..f5912c3bcec1 100644
+--- a/modules/dnn/src/caffe/caffe_io.hpp
++++ b/modules/dnn/src/caffe/caffe_io.hpp
+@@ -91,7 +91,7 @@
+ #define __OPENCV_DNN_CAFFE_IO_HPP__
+ #ifdef HAVE_PROTOBUF
+ 
+-#include "caffe.pb.h"
++#include "opencv-caffe.pb.h"
+ 
+ namespace cv {
+ namespace dnn {
+diff --git a/modules/dnn/src/caffe/caffe.proto b/modules/dnn/src/caffe/opencv-caffe.proto
+similarity index 100%
+rename from modules/dnn/src/caffe/caffe.proto
+rename to modules/dnn/src/caffe/opencv-caffe.proto
+diff --git a/modules/dnn/src/layers/detection_output_layer.cpp b/modules/dnn/src/layers/detection_output_layer.cpp
+index 0b72326f7e7d..f413bad5b81a 100644
+--- a/modules/dnn/src/layers/detection_output_layer.cpp
++++ b/modules/dnn/src/layers/detection_output_layer.cpp
+@@ -44,7 +44,7 @@
+ #include "layers_common.hpp"
+ #include <float.h>
+ #include <string>
+-#include <caffe.pb.h>
++#include <opencv-caffe.pb.h>
+ 
+ namespace cv
+ {
+diff --git a/modules/dnn/src/caffe/caffe_importer.cpp b/modules/dnn/src/caffe/caffe_importer.cpp
+index 2c977c84b0f4..a1827a381117 100644
+--- a/modules/dnn/src/caffe/caffe_importer.cpp
++++ b/modules/dnn/src/caffe/caffe_importer.cpp
+@@ -78,8 +78,8 @@ static cv::String toString(const T &v)
+ 
+ class CaffeImporter : public Importer
+ {
+-    caffe::NetParameter net;
+-    caffe::NetParameter netBinary;
++    opencvcaffe::NetParameter net;
++    opencvcaffe::NetParameter netBinary;
+ 
+ public:
+ 
+@@ -197,7 +197,7 @@ public:
+         }
+     }
+ 
+-    void blobShapeFromProto(const caffe::BlobProto &pbBlob, MatShape& shape)
++    void blobShapeFromProto(const opencvcaffe::BlobProto &pbBlob, MatShape& shape)
+     {
+         shape.clear();
+         if (pbBlob.has_num() || pbBlob.has_channels() || pbBlob.has_height() || pbBlob.has_width())
+@@ -209,7 +209,7 @@ public:
+         }
+         else if (pbBlob.has_shape())
+         {
+-            const caffe::BlobShape &_shape = pbBlob.shape();
++            const opencvcaffe::BlobShape &_shape = pbBlob.shape();
+ 
+             for (int i = 0; i < _shape.dim_size(); i++)
+                 shape.push_back((int)_shape.dim(i));
+@@ -218,7 +218,7 @@ public:
+             CV_Error(Error::StsError, "Unknown shape of input blob");
+     }
+ 
+-    void blobFromProto(const caffe::BlobProto &pbBlob, cv::Mat &dstBlob)
++    void blobFromProto(const opencvcaffe::BlobProto &pbBlob, cv::Mat &dstBlob)
+     {
+         MatShape shape;
+         blobShapeFromProto(pbBlob, shape);
+@@ -233,7 +233,7 @@ public:
+             dstData[i] = pbBlob.data(i);
+     }
+ 
+-    void extractBinaryLayerParms(const caffe::LayerParameter& layer, LayerParams& layerParams)
++    void extractBinaryLayerParms(const opencvcaffe::LayerParameter& layer, LayerParams& layerParams)
+     {
+         const std::string &name = layer.name();
+ 
+@@ -247,7 +247,7 @@ public:
+         if (li == netBinary.layer_size() || netBinary.layer(li).blobs_size() == 0)
+             return;
+ 
+-        const caffe::LayerParameter &binLayer = netBinary.layer(li);
++        const opencvcaffe::LayerParameter &binLayer = netBinary.layer(li);
+         layerParams.blobs.resize(binLayer.blobs_size());
+         for (int bi = 0; bi < binLayer.blobs_size(); bi++)
+         {
+@@ -289,7 +289,7 @@ public:
+ 
+         for (int li = 0; li < layersSize; li++)
+         {
+-            const caffe::LayerParameter &layer = net.layer(li);
++            const opencvcaffe::LayerParameter &layer = net.layer(li);
+             String name = layer.name();
+             String type = layer.type();
+             LayerParams layerParams;
+@@ -313,7 +313,7 @@ public:
+         addedBlobs.clear();
+     }
+ 
+-    void addOutput(const caffe::LayerParameter &layer, int layerId, int outNum)
++    void addOutput(const opencvcaffe::LayerParameter &layer, int layerId, int outNum)
+     {
+         const std::string &name = layer.top(outNum);
+ 
+diff --git a/modules/dnn/src/caffe/caffe_io.hpp b/modules/dnn/src/caffe/caffe_io.hpp
+index f5912c3bcec1..24cd5fa254eb 100644
+--- a/modules/dnn/src/caffe/caffe_io.hpp
++++ b/modules/dnn/src/caffe/caffe_io.hpp
+@@ -98,9 +98,9 @@ namespace dnn {
+ 
+ // Read parameters from a file into a NetParameter proto message.
+ void ReadNetParamsFromTextFileOrDie(const char* param_file,
+-                                    caffe::NetParameter* param);
++                                    opencvcaffe::NetParameter* param);
+ void ReadNetParamsFromBinaryFileOrDie(const char* param_file,
+-                                      caffe::NetParameter* param);
++                                      opencvcaffe::NetParameter* param);
+ 
+ }
+ }
+diff --git a/modules/dnn/src/caffe/opencv-caffe.proto b/modules/dnn/src/caffe/opencv-caffe.proto
+index 3d23fb48ea6a..df4e1d3269ae 100644
+--- a/modules/dnn/src/caffe/opencv-caffe.proto
++++ b/modules/dnn/src/caffe/opencv-caffe.proto
+@@ -48,7 +48,7 @@
+ 
+ syntax = "proto2";
+ 
+-package caffe;
++package opencvcaffe;
+ 
+ // Specifies the shape (dimensions) of a Blob.
+ message BlobShape {
+diff --git a/modules/dnn/src/layers/detection_output_layer.cpp b/modules/dnn/src/layers/detection_output_layer.cpp
+index f413bad5b81a..832c257eebf9 100644
+--- a/modules/dnn/src/layers/detection_output_layer.cpp
++++ b/modules/dnn/src/layers/detection_output_layer.cpp
+@@ -72,7 +72,7 @@ public:
+ 
+     int _backgroundLabelId;
+ 
+-    typedef caffe::PriorBoxParameter_CodeType CodeType;
++    typedef opencvcaffe::PriorBoxParameter_CodeType CodeType;
+     CodeType _codeType;
+ 
+     bool _varianceEncodedInTarget;
+@@ -85,7 +85,7 @@ public:
+     enum { _numAxes = 4 };
+     static const std::string _layerName;
+ 
+-    typedef std::map<int, std::vector<caffe::NormalizedBBox> > LabelBBox;
++    typedef std::map<int, std::vector<opencvcaffe::NormalizedBBox> > LabelBBox;
+ 
+     bool getParameterDict(const LayerParams &params,
+                           const std::string &parameterName,
+@@ -131,11 +131,11 @@ public:
+     {
+         String codeTypeString = params.get<String>("code_type").toLowerCase();
+         if (codeTypeString == "corner")
+-            _codeType = caffe::PriorBoxParameter_CodeType_CORNER;
++            _codeType = opencvcaffe::PriorBoxParameter_CodeType_CORNER;
+         else if (codeTypeString == "center_size")
+-            _codeType = caffe::PriorBoxParameter_CodeType_CENTER_SIZE;
++            _codeType = opencvcaffe::PriorBoxParameter_CodeType_CENTER_SIZE;
+         else
+-            _codeType = caffe::PriorBoxParameter_CodeType_CORNER;
++            _codeType = opencvcaffe::PriorBoxParameter_CodeType_CORNER;
+     }
+ 
+     DetectionOutputLayerImpl(const LayerParams &params)
+@@ -215,7 +215,7 @@ public:
+             GetConfidenceScores(confidenceData, num, numPriors, _numClasses, allConfidenceScores);
+ 
+             // Retrieve all prior bboxes
+-            std::vector<caffe::NormalizedBBox> priorBBoxes;
++            std::vector<opencvcaffe::NormalizedBBox> priorBBoxes;
+             std::vector<std::vector<float> > priorVariances;
+             GetPriorBBoxes(priorData, numPriors, priorBBoxes, priorVariances);
+ 
+@@ -272,7 +272,7 @@ public:
+             for (size_t j = 0; j < indices.size(); ++j, ++count)
+             {
+                 int idx = indices[j];
+-                const caffe::NormalizedBBox& decode_bbox = label_bboxes->second[idx];
++                const opencvcaffe::NormalizedBBox& decode_bbox = label_bboxes->second[idx];
+                 outputsData[count * 7] = i;
+                 outputsData[count * 7 + 1] = label;
+                 outputsData[count * 7 + 2] = scores[idx];
+@@ -355,7 +355,7 @@ public:
+ 
+     // Compute bbox size
+     template<bool normalized>
+-    static float BBoxSize(const caffe::NormalizedBBox& bbox)
++    static float BBoxSize(const opencvcaffe::NormalizedBBox& bbox)
+     {
+         if (bbox.xmax() < bbox.xmin() || bbox.ymax() < bbox.ymin())
+         {
+@@ -388,10 +388,10 @@ public:
+     // Decode a bbox according to a prior bbox
+     template<bool variance_encoded_in_target>
+     static void DecodeBBox(
+-        const caffe::NormalizedBBox& prior_bbox, const std::vector<float>& prior_variance,
++        const opencvcaffe::NormalizedBBox& prior_bbox, const std::vector<float>& prior_variance,
+         const CodeType code_type,
+-        const bool clip_bbox, const caffe::NormalizedBBox& bbox,
+-        caffe::NormalizedBBox& decode_bbox)
++        const bool clip_bbox, const opencvcaffe::NormalizedBBox& bbox,
++        opencvcaffe::NormalizedBBox& decode_bbox)
+     {
+         float bbox_xmin = variance_encoded_in_target ? bbox.xmin() : prior_variance[0] * bbox.xmin();
+         float bbox_ymin = variance_encoded_in_target ? bbox.ymin() : prior_variance[1] * bbox.ymin();
+@@ -399,13 +399,13 @@ public:
+         float bbox_ymax = variance_encoded_in_target ? bbox.ymax() : prior_variance[3] * bbox.ymax();
+         switch(code_type)
+         {
+-            case caffe::PriorBoxParameter_CodeType_CORNER:
++            case opencvcaffe::PriorBoxParameter_CodeType_CORNER:
+                 decode_bbox.set_xmin(prior_bbox.xmin() + bbox_xmin);
+                 decode_bbox.set_ymin(prior_bbox.ymin() + bbox_ymin);
+                 decode_bbox.set_xmax(prior_bbox.xmax() + bbox_xmax);
+                 decode_bbox.set_ymax(prior_bbox.ymax() + bbox_ymax);
+                 break;
+-            case caffe::PriorBoxParameter_CodeType_CENTER_SIZE:
++            case opencvcaffe::PriorBoxParameter_CodeType_CENTER_SIZE:
+             {
+                 float prior_width = prior_bbox.xmax() - prior_bbox.xmin();
+                 CV_Assert(prior_width > 0);
+@@ -431,7 +431,7 @@ public:
+         };
+         if (clip_bbox)
+         {
+-            // Clip the caffe::NormalizedBBox such that the range for each corner is [0, 1]
++            // Clip the opencvcaffe::NormalizedBBox such that the range for each corner is [0, 1]
+             decode_bbox.set_xmin(std::max(std::min(decode_bbox.xmin(), 1.f), 0.f));
+             decode_bbox.set_ymin(std::max(std::min(decode_bbox.ymin(), 1.f), 0.f));
+             decode_bbox.set_xmax(std::max(std::min(decode_bbox.xmax(), 1.f), 0.f));
+@@ -443,11 +443,11 @@ public:
+ 
+     // Decode a set of bboxes according to a set of prior bboxes
+     static void DecodeBBoxes(
+-        const std::vector<caffe::NormalizedBBox>& prior_bboxes,
++        const std::vector<opencvcaffe::NormalizedBBox>& prior_bboxes,
+         const std::vector<std::vector<float> >& prior_variances,
+         const CodeType code_type, const bool variance_encoded_in_target,
+-        const bool clip_bbox, const std::vector<caffe::NormalizedBBox>& bboxes,
+-        std::vector<caffe::NormalizedBBox>& decode_bboxes)
++        const bool clip_bbox, const std::vector<opencvcaffe::NormalizedBBox>& bboxes,
++        std::vector<opencvcaffe::NormalizedBBox>& decode_bboxes)
+     {
+         CV_Assert(prior_bboxes.size() == prior_variances.size());
+         CV_Assert(prior_bboxes.size() == bboxes.size());
+@@ -470,7 +470,7 @@ public:
+ 
+     // Decode all bboxes in a batch
+     static void DecodeBBoxesAll(const std::vector<LabelBBox>& all_loc_preds,
+-        const std::vector<caffe::NormalizedBBox>& prior_bboxes,
++        const std::vector<opencvcaffe::NormalizedBBox>& prior_bboxes,
+         const std::vector<std::vector<float> >& prior_variances,
+         const int num, const bool share_location,
+         const int num_loc_classes, const int background_label_id,
+@@ -503,10 +503,10 @@ public:
+     // Get prior bounding boxes from prior_data
+     //    prior_data: 1 x 2 x num_priors * 4 x 1 blob.
+     //    num_priors: number of priors.
+-    //    prior_bboxes: stores all the prior bboxes in the format of caffe::NormalizedBBox.
++    //    prior_bboxes: stores all the prior bboxes in the format of opencvcaffe::NormalizedBBox.
+     //    prior_variances: stores all the variances needed by prior bboxes.
+     static void GetPriorBBoxes(const float* priorData, const int& numPriors,
+-                        std::vector<caffe::NormalizedBBox>& priorBBoxes,
++                        std::vector<opencvcaffe::NormalizedBBox>& priorBBoxes,
+                         std::vector<std::vector<float> >& priorVariances)
+     {
+         priorBBoxes.clear(); priorBBoxes.resize(numPriors);
+@@ -514,7 +514,7 @@ public:
+         for (int i = 0; i < numPriors; ++i)
+         {
+             int startIdx = i * 4;
+-            caffe::NormalizedBBox& bbox = priorBBoxes[i];
++            opencvcaffe::NormalizedBBox& bbox = priorBBoxes[i];
+             bbox.set_xmin(priorData[startIdx]);
+             bbox.set_ymin(priorData[startIdx + 1]);
+             bbox.set_xmax(priorData[startIdx + 2]);
+@@ -565,7 +565,7 @@ public:
+                     {
+                         labelBBox[label].resize(numPredsPerClass);
+                     }
+-                    caffe::NormalizedBBox& bbox = labelBBox[label][p];
++                    opencvcaffe::NormalizedBBox& bbox = labelBBox[label][p];
+                     bbox.set_xmin(locData[startIdx + c * 4]);
+                     bbox.set_ymin(locData[startIdx + c * 4 + 1]);
+                     bbox.set_xmax(locData[startIdx + c * 4 + 2]);
+@@ -612,7 +612,7 @@ public:
+     //    nms_threshold: a threshold used in non maximum suppression.
+     //    top_k: if not -1, keep at most top_k picked indices.
+     //    indices: the kept indices of bboxes after nms.
+-    static void ApplyNMSFast(const std::vector<caffe::NormalizedBBox>& bboxes,
++    static void ApplyNMSFast(const std::vector<opencvcaffe::NormalizedBBox>& bboxes,
+           const std::vector<float>& scores, const float score_threshold,
+           const float nms_threshold, const float eta, const int top_k,
+           std::vector<int>& indices)
+@@ -674,10 +674,10 @@ public:
+ 
+     // Compute the jaccard (intersection over union IoU) overlap between two bboxes.
+     template<bool normalized>
+-    static float JaccardOverlap(const caffe::NormalizedBBox& bbox1,
+-                         const caffe::NormalizedBBox& bbox2)
++    static float JaccardOverlap(const opencvcaffe::NormalizedBBox& bbox1,
++                         const opencvcaffe::NormalizedBBox& bbox2)
+     {
+-        caffe::NormalizedBBox intersect_bbox;
++        opencvcaffe::NormalizedBBox intersect_bbox;
+         if (bbox2.xmin() > bbox1.xmax() || bbox2.xmax() < bbox1.xmin() ||
+             bbox2.ymin() > bbox1.ymax() || bbox2.ymax() < bbox1.ymin())
+         {
+diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
+index 1d3c518f1328..3cf6e255aa60 100644
+--- a/modules/dnn/src/caffe/caffe_io.cpp
++++ b/modules/dnn/src/caffe/caffe_io.cpp
+@@ -107,7 +107,7 @@ namespace dnn {
+ 
+ using std::string;
+ using std::map;
+-using namespace caffe;
++using namespace opencvcaffe;
+ using namespace ::google::protobuf;
+ using namespace ::google::protobuf::io;
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/javagen.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/javagen.patch
new file mode 100644
index 0000000..56526ec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/javagen.patch
@@ -0,0 +1,16 @@
+Upstream-status: Inappropriate [OE specific] https://github.com/opencv/opencv/pull/10039#issuecomment-342539288
+
+Signed-off-by: Ricardo Ribalda <ricardo.ribalda@gmail.com>
+diff --git a/modules/java/CMakeLists.txt b/modules/java/CMakeLists.txt
+index 74bc0ef04169..4622fbf9a5f1 100644
+--- a/modules/java/CMakeLists.txt
++++ b/modules/java/CMakeLists.txt
+@@ -291,7 +291,7 @@ foreach(java_file ${step3_input_files})
+   endif()
+   if(__configure)
+     configure_file("${java_file}" "${java_src_dir}/${output_name}" @ONLY)
+-  elseif(NOT "${java_file}" MATCHES "${OpenCV_BINARY_DIR}/")
++  elseif(EXISTS "${java_file}" AND NOT "${java_file}" MATCHES "${OpenCV_BINARY_DIR}/")
+     configure_file("${java_file}" "${java_src_dir}/${output_name}" COPYONLY)
+   else()
+     add_custom_command(OUTPUT "${java_src_dir}/${output_name}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/protobuf.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/protobuf.patch
new file mode 100644
index 0000000..c63dc14
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/protobuf.patch
@@ -0,0 +1,57 @@
+Upstream-status: Inappropriate [OE specific]
+
+Signed-off-by: Ricardo Ribalda <ricardo.ribalda@gmail.com>
+diff --git a/cmake/OpenCVFindLibProtobuf.cmake b/cmake/OpenCVFindLibProtobuf.cmake
+index b6ce1e7fd56b..e916ec0df2a6 100644
+--- a/cmake/OpenCVFindLibProtobuf.cmake
++++ b/cmake/OpenCVFindLibProtobuf.cmake
+@@ -7,21 +7,21 @@ OCV_OPTION(BUILD_PROTOBUF "Force to build libprotobuf from sources" ON)
+ OCV_OPTION(PROTOBUF_UPDATE_FILES "Force to rebuild .proto files" OFF)
+ 
+ if(PROTOBUF_UPDATE_FILES)
+-  if(NOT DEFINED Protobuf_PROTOC_EXECUTABLE)
++  if(NOT DEFINED PROTOBUF_PROTOC_EXECUTABLE)
+     find_package(Protobuf QUIET)
+   endif()
+-  if(DEFINED Protobuf_PROTOC_EXECUTABLE AND EXISTS ${Protobuf_PROTOC_EXECUTABLE})
+-    message(STATUS "The protocol buffer compiler is found (${Protobuf_PROTOC_EXECUTABLE})")
++  if(DEFINED PROTOBUF_PROTOC_EXECUTABLE AND EXISTS ${PROTOBUF_PROTOC_EXECUTABLE})
++    message(STATUS "The protocol buffer compiler is found (${PROTOBUF_PROTOC_EXECUTABLE})")
+   else()
+-    message(FATAL_ERROR "The protocol buffer compiler is not found (Protobuf_PROTOC_EXECUTABLE='${Protobuf_PROTOC_EXECUTABLE}')")
++    message(FATAL_ERROR "The protocol buffer compiler is not found (PROTOBUF_PROTOC_EXECUTABLE='${PROTOBUF_PROTOC_EXECUTABLE}')")
+   endif()
+ endif()
+ 
+-if(NOT BUILD_PROTOBUF AND NOT (DEFINED Protobuf_INCLUDE_DIRS AND DEFINED Protobuf_LIBRARIES))
++if(NOT BUILD_PROTOBUF AND NOT (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF_LIBRARIES))
+   find_package(Protobuf QUIET)
+ endif()
+ 
+-if(Protobuf_FOUND)
++if(PROTOBUF_FOUND OR (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF_LIBRARIES))
+   # nothing
+ else()
+   set(Protobuf_LIBRARIES libprotobuf)
+diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
+index 2a71568d1a44..c6329a742263 100644
+--- a/modules/dnn/CMakeLists.txt
++++ b/modules/dnn/CMakeLists.txt
+@@ -7,7 +7,7 @@ if(DEFINED BUILD_opencv_dnn AND NOT BUILD_opencv_dnn)
+ endif()
+ 
+ include(${OpenCV_SOURCE_DIR}/cmake/OpenCVFindLibProtobuf.cmake)
+-if(NOT Protobuf_FOUND)
++if(NOT PROTOBUF_FOUND)
+   ocv_module_disable(opencv_dnn)
+ endif()
+ 
+@@ -72,7 +72,7 @@ ocv_source_group("Src\\protobuf" FILES ${Protobuf_SRCS} ${Protobuf_HDRS})
+ ocv_module_include_directories(include ${Protobuf_INCLUDE_DIRS})
+ 
+ ocv_glob_module_sources(${Protobuf_SRCS} ${Protobuf_HDRS} ${CBLAS_H_PROXY_PATH})
+-ocv_create_module(${Protobuf_LIBRARIES} ${LAPACK_LIBRARIES})
++ocv_create_module(${PROTOBUF_LIBRARIES} ${LAPACK_LIBRARIES})
+ ocv_add_samples()
+ ocv_add_accuracy_tests()
+ ocv_add_perf_tests()
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/tinydnn.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/tinydnn.patch
new file mode 100644
index 0000000..c433fc3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/tinydnn.patch
@@ -0,0 +1,34 @@
+Upstream-status: Inappropriate [OE specific]
+
+Signed-off-by: Ricardo Ribalda <ricardo.ribalda@gmail.com>
+diff --git a/modules/dnn_modern/CMakeLists.txt b/modules/dnn_modern/CMakeLists.txt
+index 79b64b12160b..ba06a0a163e4 100644
+--- a/modules/dnn_modern/CMakeLists.txt
++++ b/modules/dnn_modern/CMakeLists.txt
+@@ -15,24 +15,8 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+ # MODULE REQUIREMENTS
+ # ----------------------------------------------------------------------------
+ 
+-set(TINY_DNN_CPP_PATH "${OpenCV_BINARY_DIR}/3rdparty/tinydnn")
+-set(TINY_DNN_CPP_ROOT "${TINY_DNN_CPP_PATH}/tiny-dnn-1.0.0a3")
+-ocv_download(FILENAME "v1.0.0a3.tar.gz"
+-               HASH "adb1c512e09ca2c7a6faef36f9c53e59"
+-               URL
+-                 "${OPENCV_TINY_DNN_URL}"
+-                 "$ENV{OPENCV_TINY_DNN_URL}"
+-                 "https://github.com/tiny-dnn/tiny-dnn/archive/"
+-               DESTINATION_DIR "${TINY_DNN_CPP_PATH}"
+-               STATUS TINY_DNN_DOWNLOAD_SUCCESS
+-               ID "tiny-dnn"
+-               UNPACK RELATIVE_URL)
+-
+-if(NOT TINY_DNN_DOWNLOAD_SUCCESS)
+-  message(STATUS "Failed to download tiny-dnn sources")
+-endif()
+-
+-find_package(TinyDNN QUIET)
++set(TINYDNN_INCLUDE_DIRS "${OpenCV_SOURCE_DIR}/3rdparty/tinydnn/tiny-dnn-1.0.0a3")
++set(TinyDNN_FOUND TRUE)
+ 
+ include(CheckCXXCompilerFlag)
+ CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.3.bb
index dd9e4ca..ca62de7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.3.bb
@@ -15,6 +15,8 @@
 SRCREV_ipp = "a62e20676a60ee0ad6581e217fe7e4bada3b95db"
 SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
 SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
+SRC_URI[tinydnn.md5sum] = "adb1c512e09ca2c7a6faef36f9c53e59"
+SRC_URI[tinydnn.sha256sum] = "e2c61ce8c5debaa644121179e9dbdcf83f497f39de853f8dd5175846505aa18b"
 
 def ipp_filename(d):
     import re
@@ -41,9 +43,11 @@
     git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20170418;destsuffix=ipp;name=ipp \
     git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
     git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
+    https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz;destsuffix=git/3rdparty/tinydnn/tiny-dnn-1.0.0a3;name=tinydnn;unpack=false \
     file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
     file://fixpkgconfig.patch \
     file://uselocalxfeatures.patch;patchdir=../contrib/ \
+    file://tinydnn.patch;patchdir=../contrib/ \
     file://0002-Make-opencv-ts-create-share-library-intead-of-static.patch \
     file://0003-To-fix-errors-as-following.patch \
     file://0001-build-workaround-GCC-7.1.1-compilation-issue-with-sa.patch \
@@ -53,12 +57,17 @@
     file://0001-carotene-don-t-use-__asm__-with-aarch64.patch \
     file://0002-Do-not-enable-asm-with-clang.patch \
     file://CVE-2017-14136.patch \
+    file://javagen.patch \
+    file://protobuf.patch \
+    file://already-exists.patch \
 "
 PV = "3.3+git${SRCPV}"
 
 S = "${WORKDIR}/git"
 
 do_unpack_extra() {
+    mkdir -p ${S}/3rdparty/tinydnn/
+    tar xzf ${WORKDIR}/v1.0.0a3.tar.gz -C ${S}/3rdparty/tinydnn/
     tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR}
     cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
     cp ${WORKDIR}/boostdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
@@ -68,13 +77,13 @@
 EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
     -DWITH_1394=OFF \
     -DCMAKE_SKIP_RPATH=ON \
-    -DOPENCV_ICV_PACKAGE_DOWNLOADED=${IPP_MD5} \
-    -DOPENCV_ICV_PATH=${WORKDIR}/ippicv_lnx \
+    -DOPENCV_ICV_HASH=${IPP_MD5} \
+    -DIPPROOT=${WORKDIR}/ippicv_lnx \
     ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
     ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
     ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
-    ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
-    ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
+    ${@oe.utils.conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
+    ${@oe.utils.conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
 "
 EXTRA_OECMAKE_append_x86 = " -DX86=ON"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb
deleted file mode 100644
index 198db3c..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "A password/passphrase strength checking and enforcement toolset"
-DESCRIPTION = "\
-passwdqc is a password/passphrase strength checking and policy enforcement \
-toolset, including an optional PAM module (pam_passwdqc), command-line \
-programs (pwqcheck and pwqgen), and a library (libpasswdqc). \
-pam_passwdqc is normally invoked on password changes by programs such as \
-passwd(1).  It is capable of checking password or passphrase strength, \
-enforcing a policy, and offering randomly-generated passphrases, with \
-all of these features being optional and easily (re-)configurable. \
-\
-pwqcheck and pwqgen are standalone password/passphrase strength checking \
-and random passphrase generator programs, respectively, which are usable \
-from scripts. \
-\
-libpasswdqc is the underlying library, which may also be used from \
-third-party programs. \
-"
-
-HOMEPAGE = "http://www.openwall.com/passwdqc"
-SECTION = "System Environment/Base"
-
-DEPENDS += "libpam"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1b4af6f3d4ee079a38107366e93b334d"
-
-SRC_URI = "http://www.openwall.com/${BPN}/${BP}.tar.gz \
-           file://makefile-add-ldflags.patch \
-          "
-SRC_URI[md5sum] = "3878b57bcd3fdbcf3d4b362dbc6228b9"
-SRC_URI[sha256sum] = "d1fedeaf759e8a0f32d28b5811ef11b5a5365154849190f4b7fab670a70ffb14"
-
-# explicitly define LINUX_PAM in case DISTRO_FEATURES no pam
-# this package's pam_passwdqc.so needs pam
-CFLAGS_append += "-Wall -fPIC -DHAVE_SHADOW -DLINUX_PAM"
-
-# -e is no longer default setting in bitbake.conf
-EXTRA_OEMAKE = "-e"
-
-do_compile() {
-    # make sure sub make use environment to override variables in Makefile
-    # Linux)    $(MAKE), there is a tab between
-    sed -i -e 's/Linux)	$(MAKE) CFLAGS_lib/Linux)	$(MAKE) -e CFLAGS_lib/' ${S}/Makefile
-
-    # LD_lib and LD must be CC because of Makefile
-    oe_runmake LD="${CC}"
-}
-
-do_install() {
-    oe_runmake install DESTDIR=${D} SHARED_LIBDIR=${base_libdir} \
-           DEVEL_LIBDIR=${libdir} SECUREDIR=${base_libdir}/security \
-           INSTALL="install -p"
-}
-
-PROVIDES += "pam-${BPN}"
-PACKAGES =+ "lib${BPN} pam-${BPN}"
-
-FILES_lib${BPN} = "${base_libdir}/libpasswdqc.so.0"
-FILES_pam-${BPN} = "${base_libdir}/security/pam_passwdqc.so"
-FILES_${PN}-dbg += "${base_libdir}/security/.debug"
-
-RDEPENDS_${PN} = "lib${BPN} pam-${BPN}"
-RDEPENDS_pam-${BPN} = "lib${BPN}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch
index 72bf4ed..312fc85 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch
@@ -1,9 +1,17 @@
-Use pkg-config instead of ${PYTHON}-config to find python
+From 855cc20bafa30597ae7a62f7672d42654b25cde0 Mon Sep 17 00:00:00 2001
+From: Herrie <github.com@herrie.org>
+Date: Mon, 24 Jul 2017 21:30:16 +0200
+Subject: [PATCH] Use pkg-config instead of ${PYTHON}-config to find python
 
-diff -uNr pidgin-2.10.12.orig/configure.ac pidgin-2.10.12/configure.ac
---- pidgin-2.10.12.orig/configure.ac	2016-01-01 00:19:40.000000000 +0100
-+++ pidgin-2.10.12/configure.ac	2016-05-05 16:55:13.258945925 +0200
-@@ -1585,20 +1585,15 @@
+---
+ configure.ac | 21 ++++++++-------------
+ 1 file changed, 8 insertions(+), 13 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d20a18e..c741829 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1567,20 +1567,15 @@ AM_CONDITIONAL(ENABLE_DBUS, test "x$enable_dbus" = "xyes")
  dnl Check for Python headers (currently useful only for libgnt)
  dnl (Thanks to XChat)
  if test "x$enable_consoleui" = "xyes" -a ! -z "$PYTHON" -a x"$PYTHON" != x"no" ; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
index 293ef70..9a24fbb 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
@@ -1,8 +1,16 @@
-Index: pidgin-2.5.0/libpurple/protocols/irc/irc.h
-===================================================================
---- pidgin-2.5.0.orig/libpurple/protocols/irc/irc.h	2008-08-19 01:53:38.000000000 +0000
-+++ pidgin-2.5.0/libpurple/protocols/irc/irc.h	2008-08-27 11:15:58.000000000 +0000
-@@ -36,9 +36,9 @@
+From 43e9db656431ffb22b429d5fca4ce3b4af21bc9e Mon Sep 17 00:00:00 2001
+From: Herrie <github.com@herrie.org>
+Date: Mon, 24 Jul 2017 21:30:16 +0200
+
+---
+ libpurple/protocols/irc/irc.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libpurple/protocols/irc/irc.h b/libpurple/protocols/irc/irc.h
+index fde35c4..66e52dd 100644
+--- a/libpurple/protocols/irc/irc.h
++++ b/libpurple/protocols/irc/irc.h
+@@ -40,9 +40,9 @@
  
  #define IRC_DEFAULT_CHARSET "UTF-8"
  #define IRC_DEFAULT_AUTODETECT FALSE
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch
index a77d64f..84dbcdc 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch
@@ -1,6 +1,16 @@
---- /tmp/configure.ac	2007-05-08 17:29:02.000000000 +0200
-+++ pidgin-2.0.0/configure.ac	2007-05-08 17:30:30.325251000 +0200
-@@ -472,7 +472,7 @@
+From c3058f9eadaf5ff28ba776cfed54b609a93a1249 Mon Sep 17 00:00:00 2001
+From: Herrie <github.com@herrie.org>
+Date: Mon, 24 Jul 2017 21:30:16 +0200
+
+---
+ configure.ac | 10 +---------
+ 1 file changed, 1 insertion(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b8acd2a..d20a18e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -642,7 +642,7 @@ if test "x$enable_consoleui" = "xyes"; then
  	if test "x$enable_consoleui" = "xyes"; then
  		dnl # Some distros put the headers in ncursesw/, some don't
  		found_ncurses_h=no
@@ -8,8 +18,8 @@
 +		for location in $ac_ncurses_includes $NCURSES_HEADERS 
  		do
  			f="$location/ncurses.h"
- 			AC_CHECK_HEADER($f,[
-@@ -1860,10 +1860,6 @@
+ 			orig_CFLAGS="$CFLAGS"
+@@ -2397,10 +2397,6 @@ if test "$kerberos" != "no" ; then
  			KRB4_CFLAGS="$KRB4_CFLAGS -I${kerberos}/include/kerberosIV"
  		fi
  		KRB4_LDFLAGS="-L${kerberos}/lib"
@@ -20,7 +30,7 @@
  	fi
  	AC_DEFINE(ZEPHYR_USES_KERBEROS, 1, [Define if kerberos should be used in Zephyr.])
  
-@@ -1896,10 +1892,6 @@
+@@ -2433,10 +2429,6 @@ if test "$zephyr" != "no" ; then
  		ZEPHYR_LDFLAGS="-L${zephyr}/lib"
  	elif test -d /usr/athena/include/zephyr ; then
  		ZEPHYR_CFLAGS="-I/usr/athena/include"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.9.bb
deleted file mode 100644
index ac65735..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.9.bb
+++ /dev/null
@@ -1,106 +0,0 @@
-SUMMARY = "Modern, powerful open source cross-platform C++ class libraries"
-DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems."
-SECTION = "libs"
-HOMEPAGE = "http://pocoproject.org/"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
-
-# These dependencies are required by Foundation
-DEPENDS = "libpcre zlib"
-
-inherit cmake ptest
-
-BBCLASSEXTEND = "native"
-
-SRCREV = "bfbe6a328744eaa84cb443b93ee20947aa0be91f"
-SRC_URI = " \
-    git://github.com/pocoproject/poco.git;branch=master \
-    file://run-ptest \
-   "
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
-                  -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre \
-                 ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}"
-
-# For the native build we want to use the bundled version
-EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF"
-
-# do not use rpath
-EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON"
-
-# By default the most commonly used poco components are built
-# Foundation is built anyway and doesn't need to be listed explicitly
-# these don't have dependencies outside oe-core
-PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto Data DataSQLite Zip"
-
-PACKAGECONFIG[XML] = "-DENABLE_XML=ON -DEXPAT_LIBRARY:STRING=expat,-DENABLE_XML=OFF,expat"
-PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
-PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF"
-PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib"
-PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF"
-PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF"
-PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_NETSSL=OFF,openssl"
-PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_CRYPTO=OFF,openssl"
-PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
-PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON -DSQLITE3_LIBRARY:STRING=sqlite3,-DENABLE_DATA_SQLITE=OFF,sqlite3"
-PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
-
-# Additional components not build by default,
-# they might have dependencies not included in oe-core
-# or they don't work on all architectures
-PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2"
-PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF"
-PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb"
-PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc"
-PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF"
-PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
-PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF"
-
-# Make a package for each library
-PACKAGES = "${PN}-dbg ${POCO_PACKAGES}"
-python __anonymous () {
-    packages = []
-    testrunners = []
-    components = d.getVar("PACKAGECONFIG").split()
-    components.append("Foundation")
-    for lib in components:
-        pkg = ("poco-%s" % lib.lower()).replace("_","")
-        packages.append(pkg)
-        if not d.getVar("FILES_%s" % pkg):
-            d.setVar("FILES_%s" % pkg, "${libdir}/libPoco%s.so.*" % lib)
-        testrunners.append("%s" % lib)
-
-    d.setVar("POCO_PACKAGES", " ".join(packages))
-    d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
-}
-
-# "poco" is a metapackage which pulls in all Poco components
-PACKAGES += "${PN}"
-RRECOMMENDS_${PN} += "${POCO_PACKAGES}"
-RRECOMMENDS_${PN}_class-native = ""
-ALLOW_EMPTY_${PN} = "1"
-
-# -dev last to pick up the remaining stuff
-PACKAGES += "${PN}-dev ${PN}-staticdev"
-FILES_${PN}-dev = "${includedir} ${libdir}/libPoco*.so ${libdir}/cmake"
-FILES_${PN}-staticdev = "${libdir}/libPoco*.a"
-
-# ptest support
-FILES_${PN}-dbg += "${PTEST_PATH}/bin/.debug"
-
-# cppunit is only built if tests are enabled
-PACKAGES += "${PN}-cppunit"
-FILES_${PN}-cppunit += "${libdir}/libCppUnit.so*"
-ALLOW_EMPTY_${PN}-cppunit = "1"
-
-RDEPENDS_${PN}-ptest += "${PN}-cppunit"
-
-do_install_ptest () {
-       cp -rf ${B}/bin/ ${D}${PTEST_PATH}
-       cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
-       cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
-       find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
-       echo "${POCO_TESTRUNNERS}" > "${D}${PTEST_PATH}/testrunners"
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.8.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.8.0.1.bb
new file mode 100644
index 0000000..160b4d3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.8.0.1.bb
@@ -0,0 +1,106 @@
+SUMMARY = "Modern, powerful open source cross-platform C++ class libraries"
+DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems."
+SECTION = "libs"
+HOMEPAGE = "http://pocoproject.org/"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
+
+# These dependencies are required by Foundation
+DEPENDS = "libpcre zlib"
+
+inherit cmake ptest
+
+BBCLASSEXTEND = "native"
+
+SRCREV = "af527ab21fca5ab2659285408aec9920ed7c7b17"
+SRC_URI = " \
+    git://github.com/pocoproject/poco.git \
+    file://run-ptest \
+   "
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
+                  -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre \
+                 ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}"
+
+# For the native build we want to use the bundled version
+EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF"
+
+# do not use rpath
+EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON"
+
+# By default the most commonly used poco components are built
+# Foundation is built anyway and doesn't need to be listed explicitly
+# these don't have dependencies outside oe-core
+PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto Data DataSQLite Zip"
+
+PACKAGECONFIG[XML] = "-DENABLE_XML=ON -DEXPAT_LIBRARY:STRING=expat,-DENABLE_XML=OFF,expat"
+PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
+PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF"
+PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib"
+PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF"
+PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF"
+PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_NETSSL=OFF,openssl"
+PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_CRYPTO=OFF,openssl"
+PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
+PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON -DSQLITE3_LIBRARY:STRING=sqlite3,-DENABLE_DATA_SQLITE=OFF,sqlite3"
+PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
+
+# Additional components not build by default,
+# they might have dependencies not included in oe-core
+# or they don't work on all architectures
+PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2"
+PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF"
+PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb"
+PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc"
+PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF"
+PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
+PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF"
+
+# Make a package for each library
+PACKAGES = "${PN}-dbg ${POCO_PACKAGES}"
+python __anonymous () {
+    packages = []
+    testrunners = []
+    components = d.getVar("PACKAGECONFIG").split()
+    components.append("Foundation")
+    for lib in components:
+        pkg = ("poco-%s" % lib.lower()).replace("_","")
+        packages.append(pkg)
+        if not d.getVar("FILES_%s" % pkg):
+            d.setVar("FILES_%s" % pkg, "${libdir}/libPoco%s.so.*" % lib)
+        testrunners.append("%s" % lib)
+
+    d.setVar("POCO_PACKAGES", " ".join(packages))
+    d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
+}
+
+# "poco" is a metapackage which pulls in all Poco components
+PACKAGES += "${PN}"
+RRECOMMENDS_${PN} += "${POCO_PACKAGES}"
+RRECOMMENDS_${PN}_class-native = ""
+ALLOW_EMPTY_${PN} = "1"
+
+# -dev last to pick up the remaining stuff
+PACKAGES += "${PN}-dev ${PN}-staticdev"
+FILES_${PN}-dev = "${includedir} ${libdir}/libPoco*.so ${libdir}/cmake"
+FILES_${PN}-staticdev = "${libdir}/libPoco*.a"
+
+# ptest support
+FILES_${PN}-dbg += "${PTEST_PATH}/bin/.debug"
+
+# cppunit is only built if tests are enabled
+PACKAGES += "${PN}-cppunit"
+FILES_${PN}-cppunit += "${libdir}/libCppUnit.so*"
+ALLOW_EMPTY_${PN}-cppunit = "1"
+
+RDEPENDS_${PN}-ptest += "${PN}-cppunit"
+
+do_install_ptest () {
+       cp -rf ${B}/bin/ ${D}${PTEST_PATH}
+       cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
+       cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
+       find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
+       echo "${POCO_TESTRUNNERS}" > "${D}${PTEST_PATH}/testrunners"
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.7.bb
deleted file mode 100644
index e530a48..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.7.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Encoding files for Poppler"
-DESCRIPTION = "Encoding files for use with poppler that enable poppler to \
-               correctly render CJK and Cyrrilic."
-LICENSE = "BSD & GPLv2 & GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \
-                    file://COPYING.adobe;md5=63c6a8a9df204c00461fa5f163d8a663 \
-                    file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe \
-"
-
-inherit allarch
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-CMAP_RESOURCES_BASE = "https://github.com/adobe-type-tools/cmap-resources/raw/0561ebca035813ed04c3485bca636a0aa7abdc1d/cmapresources_identity-0/CMap"
-
-SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz \
-           ${CMAP_RESOURCES_BASE}/Identity-H;name=idh \
-           ${CMAP_RESOURCES_BASE}/Identity-V;name=idv"
-
-SRC_URI[md5sum] = "636a8f2b9f6df9e7ced8ec0946961eaf"
-SRC_URI[sha256sum] = "e752b0d88a7aba54574152143e7bf76436a7ef51977c55d6bd9a48dccde3a7de"
-SRC_URI[idh.md5sum] = "009c93cf0141ab7bd6acb7eea14306cc"
-SRC_URI[idh.sha256sum] = "ae702c203a82ea124e9b96590f821db6fbf8754e2c4547a9dba0e82f94739e95"
-SRC_URI[idv.md5sum] = "2f32a45d43d001c26eeac6b878855fbf"
-SRC_URI[idv.sha256sum] = "89a85daf7031e93c883e76b9168a226dfd585bf5506e9e1956772163f15cb082"
-
-do_compile() {
-}
-
-do_install() {
-    oe_runmake install DESTDIR=${D} prefix=${prefix} datadir=${datadir}
-    install -d ${D}${datadir}/poppler/cMap
-    install -m644 ${WORKDIR}/Identity-* ${D}${datadir}/poppler/cMap/
-}
-
-FILES_${PN} += "${datadir}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.8.bb
new file mode 100644
index 0000000..343b6db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.8.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Encoding files for Poppler"
+DESCRIPTION = "Encoding files for use with poppler that enable poppler to \
+               correctly render CJK and Cyrrilic."
+LICENSE = "BSD & GPLv2 & GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \
+                    file://COPYING.adobe;md5=63c6a8a9df204c00461fa5f163d8a663 \
+                    file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe \
+"
+
+inherit allarch
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+CMAP_RESOURCES_BASE = "https://github.com/adobe-type-tools/cmap-resources/raw/0561ebca035813ed04c3485bca636a0aa7abdc1d/cmapresources_identity-0/CMap"
+
+SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz \
+           ${CMAP_RESOURCES_BASE}/Identity-H;name=idh \
+           ${CMAP_RESOURCES_BASE}/Identity-V;name=idv"
+
+SRC_URI[md5sum] = "00f8989c804de84af0ba2ea629949980"
+SRC_URI[sha256sum] = "1096a18161f263cccdc6d8a2eb5548c41ff8fcf9a3609243f1b6296abdf72872"
+SRC_URI[idh.md5sum] = "009c93cf0141ab7bd6acb7eea14306cc"
+SRC_URI[idh.sha256sum] = "ae702c203a82ea124e9b96590f821db6fbf8754e2c4547a9dba0e82f94739e95"
+SRC_URI[idv.md5sum] = "2f32a45d43d001c26eeac6b878855fbf"
+SRC_URI[idv.sha256sum] = "89a85daf7031e93c883e76b9168a226dfd585bf5506e9e1956772163f15cb082"
+
+do_compile() {
+}
+
+do_install() {
+    oe_runmake install DESTDIR=${D} prefix=${prefix} datadir=${datadir}
+    install -d ${D}${datadir}/poppler/cMap
+    install -m644 ${WORKDIR}/Identity-* ${D}${datadir}/poppler/cMap/
+}
+
+FILES_${PN} += "${datadir}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
new file mode 100644
index 0000000..18f5085
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
@@ -0,0 +1,38 @@
+From b6fc6c36d359a50503138cd87d7147faf6dff893 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sat, 17 Mar 2018 20:52:10 +0100
+Subject: [PATCH] Do not overwrite all our build flags
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ cmake/modules/PopplerMacros.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake
+index ccb2790..0f392cb 100644
+--- a/cmake/modules/PopplerMacros.cmake
++++ b/cmake/modules/PopplerMacros.cmake
+@@ -125,14 +125,14 @@ if(CMAKE_COMPILER_IS_GNUCXX)
+   set(DEFAULT_COMPILE_WARNINGS_EXTRA "${_warn} ${_warnx}")
+ 
+   set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
+-  set(CMAKE_CXX_FLAGS                "-fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE")
++  set(CMAKE_CXX_FLAGS                "-fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE ${_save_cxxflags}")
+   set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}")
+   set(CMAKE_CXX_FLAGS_RELEASE        "-O2 -DNDEBUG ${_save_cxxflags}")
+   set(CMAKE_CXX_FLAGS_DEBUG          "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline ${_save_cxxflags}")
+   set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g3 -fno-inline ${_save_cxxflags}")
+   set(CMAKE_CXX_FLAGS_PROFILE        "-g3 -fno-inline -ftest-coverage -fprofile-arcs ${_save_cxxflags}")
+   set(_save_cflags "${CMAKE_C_FLAGS}")
+-  set(CMAKE_C_FLAGS                  "-std=c99 -D_DEFAULT_SOURCE")
++  set(CMAKE_C_FLAGS                  "-std=c99 -D_DEFAULT_SOURCE ${_save_cflags}")
+   set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g ${_save_cflags}")
+   set(CMAKE_C_FLAGS_RELEASE          "-O2 -DNDEBUG ${_save_cflags}")
+   set(CMAKE_C_FLAGS_DEBUG            "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline ${_save_cflags}")
+-- 
+2.14.3
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-add-manadatory-options-to-find-qt4-qt5-moc.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-add-manadatory-options-to-find-qt4-qt5-moc.patch
deleted file mode 100644
index 4e80d24..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-add-manadatory-options-to-find-qt4-qt5-moc.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 91b6275f0e91c25beb040b4ef9484053ae305d86 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 26 May 2015 12:45:47 +0200
-Subject: [PATCH] add manadatory options to find qt4/qt5 moc
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 55 ++++++++-----------------------------------------------
- 1 file changed, 8 insertions(+), 47 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index c4cfc2c..8e961c7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -712,25 +712,10 @@ AC_SUBST(POPPLER_QT4_LIBS)
- AC_SUBST(POPPLER_QT4_TEST_LIBS)
- 
- if test x$enable_poppler_qt4 = xyes; then
--  AC_CHECK_TOOL(MOCQT4, moc)
--  AC_MSG_CHECKING([for Qt4 moc])
--  mocversion=`$MOCQT4 -v 2>&1`
--  mocversiongrep=`echo $mocversion | grep "Qt 4"`
--  if test x"$mocversiongrep" != x"$mocversion"; then
--    AC_MSG_RESULT([no])
--    # moc was not the qt4 one, try with moc-qt4
--    AC_CHECK_TOOL(MOCQT42, moc-qt4)
--    AC_MSG_CHECKING([for Qt4 moc-qt4])
--    mocversion=`$MOCQT42 -v 2>&1`
--    mocversiongrep=`echo $mocversion | grep "Qt 4"`
--    if test x"$mocversiongrep" != x"$mocversion"; then
--      # no valid moc found
--      enable_poppler_qt4=no;
--      MOCQT4="not found"
--    else
--      MOCQT4=$MOCQT42
--    fi
--  fi
-+  AC_ARG_WITH([moc-qt4],
-+              AS_HELP_STRING([--with-moc-qt4], [Set location of qt4 moc]),
-+              [MOCQT4=$withval]
-+  )
-   AC_SUBST(MOCQT4)
-   AC_MSG_RESULT([$MOCQT4])
- fi
-@@ -769,34 +754,10 @@ AC_SUBST(POPPLER_QT5_LIBS)
- AC_SUBST(POPPLER_QT5_TEST_LIBS)
- 
- if test x$enable_poppler_qt5 = xyes; then
--  AC_CHECK_TOOL(MOCQT5, moc)
--  AC_MSG_CHECKING([for Qt5 moc])
--  mocversion=`$MOCQT5 -v 2>&1`
--  mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"`
--  if test x"$mocversiongrep" != x"$mocversion"; then
--    AC_MSG_RESULT([no])
--    # moc was not the qt5 one, try with moc-qt5
--    AC_CHECK_TOOL(MOCQT52, moc-qt5)
--    AC_MSG_CHECKING([for Qt5 moc-qt5])
--    mocversion=`$MOCQT52 -v 2>&1`
--    mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc-qt5 5|moc 5"`
--    if test x"$mocversiongrep" != x"$mocversion"; then
--      AC_CHECK_TOOL(QTCHOOSER, qtchooser)
--      AC_MSG_CHECKING([for qtchooser])
--      qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2`
--      mocversion=`$qt5tooldir/moc -v 2>&1`
--      mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"`
--      if test x"$mocversiongrep" != x"$mocversion"; then
--        # no valid moc found
--        enable_poppler_qt5=no;
--        MOCQT5="not found"
--      else
--        MOCQT5=$qt5tooldir/moc
--      fi
--    else
--      MOCQT5=$MOCQT52
--    fi
--  fi
-+  AC_ARG_WITH([moc-qt5],
-+              AS_HELP_STRING([--with-moc-qt5], [Set location of qt5 moc]),
-+              [MOCQT5=$withval]
-+  )
-   AC_SUBST(MOCQT5)
-   AC_MSG_RESULT([$MOCQT5])
- fi
--- 
-2.5.5
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch
new file mode 100644
index 0000000..3c231fe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch
@@ -0,0 +1,100 @@
+From 6287663e7db04df7e6dec58a1fc5bb5d510e8bde Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 9 Apr 2018 19:11:20 +0200
+Subject: [PATCH] CairoOutputDev.cc: fix build error when using fixedpoint
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes:
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc: In function 'int splashRound(SplashCoord)':
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:1604:28: error: call of overloaded 'floor(FixedPoint)' is ambiguous
+|    return (int)floor(x + 0.5);
+|                             ^
+| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/features.h:428:0,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/os_defines.h:39,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/c++config.h:533,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdint:38,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:44:
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/bits/mathcalls.h:165:1: note: candidate: double floor(double)
+|  __MATHCALLX (floor,, (_Mdouble_ __x), (__const__));
+|  ^
+| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/math.h:36:0,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:46:
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:260:3: note: candidate: constexpr float std::floor(float)
+|    floor(float __x)
+|    ^~~~~
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:264:3: note: candidate: constexpr long double std::floor(long double)
+|    floor(long double __x)
+|    ^~~~~
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc: In function 'int splashCeil(SplashCoord)':
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:1608:21: error: call of overloaded 'ceil(SplashCoord&)' is ambiguous
+|    return (int)ceil(x);
+|                      ^
+| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/features.h:428:0,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/os_defines.h:39,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/c++config.h:533,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdint:38,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:44:
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/bits/mathcalls.h:159:1: note: candidate: double ceil(double)
+|  __MATHCALLX (ceil,, (_Mdouble_ __x), (__const__));
+|  ^
+| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/math.h:36:0,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:46:
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:165:3: note: candidate: constexpr float std::ceil(float)
+|    ceil(float __x)
+|    ^~~~
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:169:3: note: candidate: constexpr long double std::ceil(long double)
+|    ceil(long double __x)
+|    ^~~~
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc: In function 'int splashFloor(SplashCoord)':
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:1612:22: error: call of overloaded 'floor(SplashCoord&)' is ambiguous
+|    return (int)floor(x);
+|                       ^
+| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/features.h:428:0,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/os_defines.h:39,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/c++config.h:533,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdint:38,
+|                  from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:44:
+| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/bits/mathcalls.h:165:1: note: candidate: double floor(double)
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ poppler/CairoOutputDev.cc | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
+index 18124b8f..4c85ad65 100644
+--- a/poppler/CairoOutputDev.cc
++++ b/poppler/CairoOutputDev.cc
+@@ -1602,15 +1602,27 @@ void CairoOutputDev::endActualText(GfxState *state)
+ }
+ 
+ static inline int splashRound(SplashCoord x) {
++#if defined(USE_FIXEDPOINT)
++  return FixedPoint::floor(x + 0.5);
++#else
+   return (int)floor(x + 0.5);
++#endif
+ }
+ 
+ static inline int splashCeil(SplashCoord x) {
++#if defined(USE_FIXEDPOINT)
++  return FixedPoint::ceil(x);
++#else
+   return (int)ceil(x);
++#endif
+ }
+ 
+ static inline int splashFloor(SplashCoord x) {
++#if defined(USE_FIXEDPOINT)
++  return FixedPoint::floor(x);
++#else
+   return (int)floor(x);
++#endif
+ }
+ 
+ static
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-fix-gcc-6-math-ambiguous-errors.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-fix-gcc-6-math-ambiguous-errors.patch
deleted file mode 100644
index 406009f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-fix-gcc-6-math-ambiguous-errors.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- poppler-0.45.0/poppler/CairoOutputDev.cc.orig	2016-06-17 14:23:35.399083929 -0400
-+++ poppler-0.45.0/poppler/CairoOutputDev.cc	2016-06-17 14:36:53.351097825 -0400
-@@ -42,7 +42,7 @@
- #endif
- 
- #include <string.h>
--#include <math.h>
-+#include <cmath>
- #include <assert.h>
- #include <cairo.h>
- 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.57.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.57.0.bb
deleted file mode 100644
index 63b77aa..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.57.0.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = " \
-    http://poppler.freedesktop.org/${BP}.tar.xz \
-    file://0001-add-manadatory-options-to-find-qt4-qt5-moc.patch \
-    file://0002-fix-gcc-6-math-ambiguous-errors.patch \
-"
-SRC_URI[md5sum] = "bc5a191741604552c90d484103229374"
-SRC_URI[sha256sum] = "0ea37de71b7db78212ebc79df59f99b66409a29c2eac4d882dae9f2397fe44d8"
-
-DEPENDS = "fontconfig zlib cairo lcms"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}"
-PACKAGECONFIG[jpeg] = "--enable-dctdecoder=libjpeg,--enable-dctdecoder=none,jpeg"
-PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng"
-PACKAGECONFIG[tiff] = "--enable-libtiff,--disable-libtiff,tiff"
-PACKAGECONFIG[curl] = "--enable-libcurl,--disable-libcurl,curl"
-PACKAGECONFIG[openjpeg] = "--enable-libopenjpeg=openjpeg2,--disable-libopenjpeg,openjpeg"
-PACKAGECONFIG[qt5] = "--enable-poppler-qt5 --with-moc-qt5=${STAGING_BINDIR_NATIVE}/qt5/moc,--disable-poppler-qt5,qtbase qttools-native"
-PACKAGECONFIG[qt4e] = "--enable-poppler-qt4 --with-moc-qt4=${STAGING_BINDIR_NATIVE}/moc4,--disable-poppler-qt4,qt4-embedded"
-PACKAGECONFIG[nss] = "--enable-libnss,--disable-libnss,nss"
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
-
-EXTRA_OECONF = "\
-    --enable-xpdf-headers \
-    --disable-gtk-test \
-    --enable-zlib \
-"
-
-do_compile_prepend() {
-    export GIR_EXTRA_LIBS_PATH="${B}/poppler/.libs"
-}
-
-# Adjust library names when building for QT4e
-QT4E_PATCHES = "${@bb.utils.contains('PACKAGECONFIG', 'qt4e', 'file://fix-qt4e-library-dependencies.patch', '', d)}"
-SRC_URI_append = "${QT4E_PATCHES}"
-
-# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
-def get_poppler_fpu_setting(bb, d):
-    if d.getVar('TARGET_FPU') in [ 'soft' ]:
-        return "--enable-fixedpoint"
-    return ""
-
-EXTRA_OECONF += "${@get_poppler_fpu_setting(bb, d)}"
-
-PACKAGES =+ "libpoppler libpoppler-glib"
-FILES_libpoppler = "${libdir}/libpoppler.so.*"
-FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
-
-RDEPENDS_libpoppler = "poppler-data"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.63.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.63.0.bb
new file mode 100644
index 0000000..8acb356
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.63.0.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = " \
+    http://poppler.freedesktop.org/${BP}.tar.xz \
+    file://0001-Do-not-overwrite-all-our-build-flags.patch \
+    file://0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch \
+"
+SRC_URI[md5sum] = "66a54da4896b1408611699feda5c1821"
+SRC_URI[sha256sum] = "27cc8addafc791e1a26ce6acc2b490926ea73a4f89196dd8a7742cff7cf8a111"
+
+DEPENDS = "fontconfig zlib cairo lcms"
+
+inherit cmake pkgconfig gobject-introspection
+
+PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng"
+PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff"
+PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl"
+PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg"
+PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native"
+PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss"
+
+# surprise - did not expect this to work :)
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
+
+EXTRA_OECMAKE += " \
+    -DENABLE_XPDF_HEADERS=ON \
+    -DBUILD_GTK_TESTS=OFF \
+    -DENABLE_ZLIB=ON \
+"
+
+do_configure_append() {
+    # poppler macro uses pkg-config to check for g-ir runtimes. Something
+    # makes them point to /usr/bin. Align them to sysroot - that's where the
+    # git-wrappers are:
+    sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja
+}
+
+# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
+def get_poppler_fpu_setting(bb, d):
+    if d.getVar('TARGET_FPU') in [ 'soft' ]:
+        return "-DUSE_FIXEDPOINT=ON"
+    return ""
+
+EXTRA_OECMAKE += "${@get_poppler_fpu_setting(bb, d)}"
+
+PACKAGES =+ "libpoppler libpoppler-glib"
+FILES_libpoppler = "${libdir}/libpoppler.so.*"
+FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
+
+RDEPENDS_libpoppler = "poppler-data"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch
deleted file mode 100644
index d08ec6a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From d52e330be895bb8c5f0fb3e2884766acbd942a85 Mon Sep 17 00:00:00 2001
-From: Philip Balister <philip@balister.org>
-Date: Tue, 1 Jul 2014 09:40:44 -0400
-Subject: [PATCH] Use pkg-config for libxml2 detection.
-
-Upstream-Status: Inappropriate [configuration]
-
-xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS.
-
-Signed-off-by: Philip Balister <philip@balister.org>
----
- configure.in | 15 ++-------------
- 1 file changed, 2 insertions(+), 13 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index f8bf466..1f4fabf 100644
---- a/configure.in
-+++ b/configure.in
-@@ -734,19 +734,8 @@ PGAC_ARG_BOOL(with, libxml, no, [build with XML support],
-               [AC_DEFINE([USE_LIBXML], 1, [Define to 1 to build with XML support. (--with-libxml)])])
- 
- if test "$with_libxml" = yes ; then
--  AC_CHECK_PROGS(XML2_CONFIG, xml2-config)
--  if test -n "$XML2_CONFIG"; then
--    for pgac_option in `$XML2_CONFIG --cflags`; do
--      case $pgac_option in
--        -I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";;
--      esac
--    done
--    for pgac_option in `$XML2_CONFIG --libs`; do
--      case $pgac_option in
--        -L*) LDFLAGS="$LDFLAGS $pgac_option";;
--      esac
--    done
--  fi
-+  CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "libxml-2.0" 2>&1`"
-+  LIBS="`pkg-config --short-errors --print-errors --libs "libxml-2.0" 2>&1` $LIBS"
- fi
- 
- AC_SUBST(with_libxml)
--- 
-1.8.3.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/not-check-libperl.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/not-check-libperl.patch
deleted file mode 100644
index e199f39..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/not-check-libperl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-[PATCH] not check libperl under cross compiling
-
-Upstream-Status: Inappropriate [configuration]
-
-libperl ldflags returned by PGAC_CHECK_PERL_EMBED_LDFLAGS are native,
-can not be used to check target library.
-
-postpresql has the dependency on perl, so not need to check libperl
-again, like in postgresql-9.2.4 
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- configure.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.in b/configure.in
-index ae1a5a0..9a0970d 100644
---- a/configure.in
-+++ b/configure.in
-@@ -1877,7 +1877,7 @@ if test "$with_tcl" = yes; then
- fi
- 
- # check for <perl.h>
--if test "$with_perl" = yes; then
-+if test "$with_perl" = yes && test "$cross_compiling" = no; then
-   ac_save_CPPFLAGS=$CPPFLAGS
-   CPPFLAGS="$CPPFLAGS -I$perl_archlibexp/CORE"
-   AC_CHECK_HEADER(perl.h, [], [AC_MSG_ERROR([header file <perl.h> is required for Perl])],
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/remove.autoconf.version.check.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/remove.autoconf.version.check.patch
deleted file mode 100644
index be23fd4..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/remove.autoconf.version.check.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: postgresql-9.2.4/configure.in
-===================================================================
---- postgresql-9.2.4.orig/configure.in
-+++ postgresql-9.2.4/configure.in
-@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch un
- 
- AC_INIT([PostgreSQL], [9.4.2], [pgsql-bugs@postgresql.org])
- 
--m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
--Untested combinations of 'autoconf' and PostgreSQL versions are not
--recommended.  You can remove the check from 'configure.in' but it is then
--your responsibility whether the result works or not.])])
- AC_COPYRIGHT([Copyright (c) 1996-2014, PostgreSQL Global Development Group])
- AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
- AC_CONFIG_AUX_DIR(config)
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.15.bb
deleted file mode 100644
index eec099a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.15.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=81b69ddb31a8be66baafd14a90146ee2"
-
-SRC_URI += "\
-    file://remove.autoconf.version.check.patch \
-    file://not-check-libperl.patch \
-"
-
-do_compile_prepend_libc-musl() {
-    sed -i -e 's/\-lnsl//g' ${B}/src/Makefile.global
-}
-
-SRC_URI[md5sum] = "0aada0833a9208ae5fab966c73c39379"
-SRC_URI[sha256sum] = "12bfb3c7e8e45515ef921ad365e122682a5c4935dcc0032644433af2de31acc4"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/soci/soci_3.2.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/soci/soci_3.2.2.bb
deleted file mode 100644
index 1f5a485..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/soci/soci_3.2.2.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (C) 2015 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "The C++ Database Access Library"
-HOMEPAGE = "http://soci.sourceforge.net"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-SECTION = "libs"
-DEPENDS = "boost"
-
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BP}/${BP}.tar.gz \
-           file://soci_libdir.patch \
-          "
-SRC_URI[md5sum] = "bc3c35f6cd3f80a1be19fe30b3c111bf"
-SRC_URI[sha256sum] = "30ea2f4d26639ef5b5cdc24fb300b3896746243dbb77b743582de2ff443ccb1c"
-
-TESTCONFIG = '-DSOCI_TEST_EMPTY_CONNSTR="dummy" -DSOCI_TEST_SQLITE3_CONNSTR="test.db" \
-              -DSOCI_TEST_POSTGRESQL_CONNSTR:STRING="dbname=soci_test" \
-              -DSOCI_TEST_MYSQL_CONNSTR:STRING="db=soci_test user=oe password=oe"'
-
-OBASEDIR ?= "/opt/oracle"
-OINCDIR = "rdbms/public"
-OLIBDIR = "lib"
-
-PACKAGECONFIG[sqlite3] = "-DSOCI_SQLITE3=ON,-DSOCI_SQLITE3=OFF,sqlite3,"
-PACKAGECONFIG[mysql] = "-DSOCI_MYSQL=ON,-DSOCI_MYSQL=OFF,mariadb,"
-PACKAGECONFIG[postgresql] = "-DSOCI_POSTGRESQL=ON,-DSOCI_POSTGRESQL=OFF,postgresql,"
-PACKAGECONFIG[odbc] = "-DSOCI_ODBC=ON,-DSOCI_ODBC=OFF,,"
-PACKAGECONFIG[empty] = "-DSOCI_EMPTY=ON,-DSOCI_EMPTY=OFF,,"
-PACKAGECONFIG[oracle] = "-DWITH_ORACLE=ON --with-oracle-include=${OINCDIR} --with-oracle-lib=${OLIBDIR},-DWITH_ORACLE=OFF,,"
-PACKAGECONFIG[ptest] = "${TESTCONFIG},,,"
-
-# enable your backend by default we enable 'empty'
-PACKAGECONFIG ??= "empty"
-
-# Take the flags added by PACKAGECONFIG and pass them to cmake.
-EXTRA_OECMAKE = "${EXTRA_OECONF} -DSOCI_LIBDIR=${libdir}"
-DISABLE_STATIC = ""
-
-inherit cmake
-
-PACKAGES += "${PN}-sqlite3 ${PN}-mysql ${PN}-postgresql ${PN}-odbc ${PN}-oracle"
-
-FILES_${PN}-sqlite3 = "${libdir}/lib${BPN}_sqlite3.so.*"
-FILES_${PN}-mysql = "${libdir}/lib${BPN}_mysql.so.*"
-FILES_${PN}-postgresql = "${libdir}/lib${BPN}_postgresql.so.*"
-FILES_${PN}-odbc = "${libdir}/lib${BPN}_odbc.so.*"
-FILES_${PN}-oracle = "${libdir}/lib${BPN}_oracle.so.*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
index f808125..3f6cdc6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/spitools/spitools_git.bb
@@ -4,11 +4,16 @@
 LICENSE="GPLv2"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381"
 
+PR = "r0"
+
+BPV = "0.8.1"
+PV = "${BPV}"
+SRCREV = "318bcae5249722873bf58b27afdd20473c7047cc"
+
 S = "${WORKDIR}/git"
 
 SRC_URI = "git://github.com/cpb-/spi-tools.git;protocol=git"
 
-SRCREV = "03405ab45884e4264dfa0371c032b2baaeeaaa98"
 
 inherit autotools
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch
index 2ac9c0b..5d481f2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch
@@ -4,9 +4,11 @@
 
 Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
 ---
---- a/lib/gprocess.c
-+++ b/lib/gprocess.c
-@@ -1421,6 +1421,18 @@
+Index: syslog-ng-3.8.1/lib/gprocess.c
+===================================================================
+--- syslog-ng-3.8.1.orig/lib/gprocess.c
++++ syslog-ng-3.8.1/lib/gprocess.c
+@@ -1432,6 +1432,18 @@ g_process_startup_ok(void)
  void
  g_process_finish(void)
  {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch
index cc8d110..c172e4e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch
@@ -10,13 +10,13 @@
  configure.ac | 17 +++++++++++------
  1 file changed, 11 insertions(+), 6 deletions(-)
 
-diff --git a/configure.ac b/configure.ac
-index 474e094..cedca54 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -120,6 +120,9 @@ AC_ARG_ENABLE(memtrace,
- AC_ARG_ENABLE(ssl,
-               [  --enable-ssl        Enable SSL support.],,enable_ssl="auto")
+Index: syslog-ng-3.8.1/configure.ac
+===================================================================
+--- syslog-ng-3.8.1.orig/configure.ac
++++ syslog-ng-3.8.1/configure.ac
+@@ -147,6 +147,9 @@ AC_ARG_ENABLE(gprof,
+ AC_ARG_ENABLE(memtrace,
+               [  --enable-memtrace   Enable alternative leak debugging code.])
  
 +AC_ARG_ENABLE(thread-tls,
 +              [  --enable-thread-tls        Enable Thread Transport Layer Security support.],,enable_thread_tls="no")
@@ -24,7 +24,7 @@
  AC_ARG_ENABLE(dynamic-linking,
                [  --enable-dynamic-linking        Link everything dynamically.],,enable_dynamic_linking="auto")
  
-@@ -381,12 +384,14 @@ dnl ***************************************************************************
+@@ -486,12 +489,14 @@ dnl ************************************
  dnl Is the __thread keyword available?
  dnl ***************************************************************************
  
@@ -45,6 +45,3 @@
  
  dnl ***************************************************************************
  dnl How to do static linking?
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch
index 755803c..553f4a5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch
@@ -10,11 +10,11 @@
  configure.ac |   27 +++++++++++++++++----------
  1 files changed, 17 insertions(+), 10 deletions(-)
 
-diff --git a/configure.ac b/configure.ac
-index b1e18b4..8e13025 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -73,6 +73,9 @@ AC_CONFIG_HEADERS(config.h)
+Index: syslog-ng-3.8.1/configure.ac
+===================================================================
+--- syslog-ng-3.8.1.orig/configure.ac
++++ syslog-ng-3.8.1/configure.ac
+@@ -104,6 +104,9 @@ AC_CONFIG_HEADERS(config.h)
  dnl ***************************************************************************
  dnl Arguments
  
@@ -24,7 +24,7 @@
  AC_ARG_WITH(libnet,
     [  --with-libnet=path      use path to libnet-config script],
     ,
-@@ -768,22 +771,26 @@ dnl ***************************************************************************
+@@ -893,22 +896,26 @@ dnl ************************************
  dnl libnet headers/libraries
  dnl ***************************************************************************
  AC_MSG_CHECKING(for LIBNET)
@@ -61,6 +61,3 @@
  if test "x$enable_spoof_source" = "xauto"; then
  	AC_MSG_CHECKING(whether to enable spoof source support)
          if test "x$LIBNET_LIBS" != "x"; then
--- 
-1.7.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch
index faf9672..54ecce5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch
@@ -10,11 +10,11 @@
  scl/Makefile.am |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
-diff --git a/scl/Makefile.am b/scl/Makefile.am
-index 57fad5d..2a29ca5 100644
---- a/scl/Makefile.am
-+++ b/scl/Makefile.am
-@@ -14,7 +14,7 @@ scl-install-data-local:
+Index: syslog-ng-3.8.1/scl/Makefile.am
+===================================================================
+--- syslog-ng-3.8.1.orig/scl/Makefile.am
++++ syslog-ng-3.8.1/scl/Makefile.am
+@@ -27,7 +27,7 @@ scl-install-data-local:
  		fi; \
  	done
  	$(mkinstalldirs) $(DESTDIR)/$(scldir)
@@ -23,6 +23,3 @@
  	chmod -R u+rwX $(DESTDIR)/$(scldir)
  
  scl-uninstall-local:
--- 
-1.7.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
index f1bf9b0..771cdb1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
@@ -41,7 +41,7 @@
 "
 
 CONFIG_TLS = "--enable-thread-tls"
-CONFIG_TLS_arm = "${@base_conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}"
+CONFIG_TLS_arm = "${@oe.utils.conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}"
 
 PACKAGECONFIG ??= " \
     ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \
@@ -101,7 +101,7 @@
 
 # syslog initscript is handled explicitly because order of
 # update-rc.d and update-alternatives is important
-RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}"
+RDEPENDS_${PN} += " ${@oe.utils.conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}"
 
 RCONFLICTS_${PN} = "busybox-syslog sysklogd rsyslog"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb
deleted file mode 100644
index 4a1b4ce..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "TOMOYO Linux tools"
-DESCRIPTION = "TOMOYO Linux is a Mandatory Access Control (MAC) implementation \
-for Linux that can be used to increase the security of a system, while also \
-being useful purely as a system analysis tool."
-HOMEPAGE = "http://tomoyo.sourceforge.jp/"
-SECTION = "System Environment/Kernel"
-
-SRC_URI = "http://jaist.dl.sourceforge.jp/tomoyo/53357/${BP}-20140601.tar.gz"
-SRC_URI[md5sum] = "888869b793127f00d6439a3246598b83"
-SRC_URI[sha256sum] = "118ef6ba1fbf7c0b83018c3a0d4d5485dfb9b5b7f647f37ce9f63841a3133c2a"
-
-S = "${WORKDIR}/${BPN}"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.tomoyo;md5=751419260aa954499f7abaabaa882bbe"
-
-FILES_${PN}     += "${libdir}/tomoyo"
-FILES_${PN}-dbg += "${libdir}/tomoyo/.debug"
-
-DEPENDS = "linux-libc-headers ncurses"
-
-EXTRA_OEMAKE = "-e USRLIBDIR=${libdir}"
-
-do_compile () {
-    oe_runmake 'CC=${CC}'
-}
-
-do_install() {
-    oe_runmake install INSTALLDIR=${D}
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb
index aa031fe..879b67b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb
@@ -11,7 +11,9 @@
 
 S = "${WORKDIR}/git"
 
-inherit gitpkgv pkgconfig
+inherit distro_features_check gitpkgv pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 do_compile() {
     oe_runmake \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch
index 3cc0400..2823c54 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch
@@ -1,4 +1,4 @@
-From 32278297170ffb49116b5789e4a0588b99d02bd0 Mon Sep 17 00:00:00 2001
+From a6eab413f274376cf703a608e2866118291a6185 Mon Sep 17 00:00:00 2001
 From: Amarnath Valluri <amarnath.valluri@intel.com>
 Date: Thu, 9 Feb 2017 11:02:53 +0200
 Subject: [PATCH] Make udev rules directory configurable.
@@ -9,6 +9,7 @@
 Upstream-Status: Inappropriate[Embedded specific]
 
 Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
+
 ---
  configure.ac            | 14 +++-----------
  data/Makefile.am        |  1 -
@@ -49,11 +50,11 @@
  
          compiler:                   ${CC}
 diff --git a/data/Makefile.am b/data/Makefile.am
-index 411ea0f..4834960 100644
+index 08af5f4..9329186 100644
 --- a/data/Makefile.am
 +++ b/data/Makefile.am
 @@ -34,7 +34,6 @@ $(systemdservice_DATA): $(systemdservice_in_files) Makefile
- 	@sed -e "s|\@libexecdir\@|$(prefix)/lib/udisks|" $< > $@
+ 	@sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
  endif
  
 -udevrulesdir = $(slashlibdir)/udev/rules.d
@@ -86,6 +87,3 @@
  
  umount_udisks_SOURCES = umount-udisks.c
  umount_udisks_LDADD = $(DBUS_GLIB_LIBS) $(POLKIT_DBUS_LIBS)
--- 
-2.7.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch
index 520655a..8b4f441 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch
@@ -1,4 +1,4 @@
-From 9829152b12a8924d2e091a00133ed1a3a7ba75c0 Mon Sep 17 00:00:00 2001
+From 054ad6a06cfac7c3d172d53cd901204079a53ec3 Mon Sep 17 00:00:00 2001
 From: Alexandre Rostovtsev <tetromino@gentoo.org>
 Date: Fri, 29 May 2015 21:09:39 -0400
 Subject: [PATCH] fix build with newer glibc versions
@@ -8,6 +8,7 @@
 Upstream-Status: Applied [1]
 
 [1] http://cgit.freedesktop.org/udisks/commit/?h=udisks1&id=9829152b12a8924d2e091a00133ed1a3a7ba75c0
+
 ---
  src/helpers/job-drive-detach.c | 1 +
  1 file changed, 1 insertion(+)
@@ -24,6 +25,3 @@
  #include <stdio.h>
  #include <string.h>
  #include <errno.h>
--- 
-2.1.0
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/optional-depends.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/optional-depends.patch
index 6131701..a890954 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/optional-depends.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/optional-depends.patch
@@ -1,12 +1,29 @@
-From 1b70b7a798eeeec554ab5aa9fcfff96a22e91774 Mon Sep 17 00:00:00 2001
+From e8b3fbfa3d6a11eee25db2dc0f31f439aaf0b65a Mon Sep 17 00:00:00 2001
 From: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
 Date: Thu, 26 May 2011 17:30:04 -0300
 Subject: [PATCH] Allow disabling atasmart, lvm2 and devicemapper support.
 
 https://bugs.freedesktop.org/show_bug.cgi?id=37647
 
+---
+ configure.ac            | 53 +++++++++++++++++++++++++++++++++++++++----------
+ src/adapter-private.h   |  1 -
+ src/adapter.c           |  1 -
+ src/daemon.c            |  4 ++++
+ src/device-private.c    |  2 +-
+ src/device-private.h    |  5 ++---
+ src/device.c            | 23 +++++++++++++++++----
+ src/expander-private.h  |  1 -
+ src/expander.c          |  1 -
+ src/helpers/Makefile.am | 20 +++++++++++++------
+ src/helpers/partutil.c  |  3 ++-
+ src/port-private.h      |  1 -
+ src/probers/Makefile.am |  8 ++++++--
+ tools/udisks.c          | 10 ++++++++--
+ 14 files changed, 99 insertions(+), 34 deletions(-)
+
 diff --git a/configure.ac b/configure.ac
-index 62cc35d..b664135 100644
+index 9454423..8c4e4c2 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -155,13 +155,33 @@ PKG_CHECK_MODULES(POLKIT_GOBJECT_1, [polkit-gobject-1 >= 0.97])
@@ -49,8 +66,8 @@
 +AM_CONDITIONAL(HAVE_DEVMAPPER, [test "$have_devmapper" = "yes"])
  
  have_lvm2=no
- AC_ARG_ENABLE(lvm2, AS_HELP_STRING([--disable-lvm2], [disable LVM2 support]))
-@@ -185,9 +205,19 @@ if test "x$enable_dmmp" != "xno"; then
+ AC_ARG_ENABLE(lvm2, AS_HELP_STRING([--enable-lvm2], [enable LVM2 support]))
+@@ -185,9 +205,19 @@ if test "x$enable_dmmp" = "xyes"; then
  fi
  AM_CONDITIONAL(HAVE_DMMP, [test "$have_dmmp" = "yes"])
  
@@ -73,7 +90,7 @@
  
  PKG_CHECK_MODULES(LIBUDEV, [libudev >= 143])
  AC_SUBST(LIBUDEV_CFLAGS)
-@@ -267,9 +297,12 @@ echo "
+@@ -278,9 +308,12 @@ echo "
          cppflags:                   ${CPPFLAGS}
          xsltproc:                   ${XSLTPROC}
  
@@ -99,7 +116,7 @@
  #include "types.h"
  
 diff --git a/src/adapter.c b/src/adapter.c
-index b85a0ef..802420b 100644
+index 65e05b0..45db8c8 100644
 --- a/src/adapter.c
 +++ b/src/adapter.c
 @@ -30,7 +30,6 @@
@@ -111,10 +128,10 @@
  #include "daemon.h"
  #include "adapter.h"
 diff --git a/src/daemon.c b/src/daemon.c
-index 6072502..d043cb0 100644
+index fafcf9a..14e952f 100644
 --- a/src/daemon.c
 +++ b/src/daemon.c
-@@ -1745,6 +1745,7 @@ mdstat_changed_event (GIOChannel *channel,
+@@ -1748,6 +1748,7 @@ mdstat_changed_event (GIOChannel *channel,
    return TRUE;
  }
  
@@ -122,7 +139,7 @@
  static gboolean
  refresh_ata_smart_data (Daemon *daemon)
  {
-@@ -1773,6 +1774,7 @@ refresh_ata_smart_data (Daemon *daemon)
+@@ -1776,6 +1777,7 @@ refresh_ata_smart_data (Daemon *daemon)
  
    return FALSE;
  }
@@ -130,7 +147,7 @@
  
  static gboolean
  register_disks_daemon (Daemon *daemon)
-@@ -1984,12 +1986,14 @@ daemon_new (void)
+@@ -1987,12 +1989,14 @@ daemon_new (void)
    mount_file_clean_stale (l);
    g_list_free (l);
  
@@ -146,10 +163,10 @@
    PROFILE ("daemon_new(): end");
    return daemon;
 diff --git a/src/device-private.c b/src/device-private.c
-index 22a0d35..fb96525 100644
+index 45418ce..fb1d959 100644
 --- a/src/device-private.c
 +++ b/src/device-private.c
-@@ -1378,7 +1378,7 @@ device_set_drive_ata_smart_time_collected (Device *device,
+@@ -1390,7 +1390,7 @@ device_set_drive_ata_smart_time_collected (Device *device,
  
  void
  device_set_drive_ata_smart_status (Device *device,
@@ -159,7 +176,7 @@
    if (G_UNLIKELY (device->priv->drive_ata_smart_status != value))
      {
 diff --git a/src/device-private.h b/src/device-private.h
-index a6db7f2..71473a6 100644
+index 32a9bd0..8c57c13 100644
 --- a/src/device-private.h
 +++ b/src/device-private.h
 @@ -23,7 +23,6 @@
@@ -170,7 +187,7 @@
  
  #include "types.h"
  
-@@ -224,7 +223,7 @@ struct DevicePrivate
+@@ -228,7 +227,7 @@ struct DevicePrivate
  
    gboolean drive_ata_smart_is_available;
    guint64 drive_ata_smart_time_collected;
@@ -179,7 +196,7 @@
    void *drive_ata_smart_blob;
    gsize drive_ata_smart_blob_size;
  
-@@ -391,7 +390,7 @@ void device_set_holders_objpath (Device *device, GStrv value);
+@@ -396,7 +395,7 @@ void device_set_holders_objpath (Device *device, GStrv value);
  
  void device_set_drive_ata_smart_is_available (Device *device, gboolean value);
  void device_set_drive_ata_smart_time_collected (Device *device, guint64 value);
@@ -189,7 +206,7 @@
  
  G_END_DECLS
 diff --git a/src/device.c b/src/device.c
-index 6a34940..7a5a4a9 100644
+index 2ae7f38..d73f9d6 100644
 --- a/src/device.c
 +++ b/src/device.c
 @@ -50,7 +50,9 @@
@@ -202,7 +219,7 @@
  
  #include "daemon.h"
  #include "device.h"
-@@ -659,10 +661,14 @@ get_property (GObject *object,
+@@ -664,10 +666,14 @@ get_property (GObject *object,
      case PROP_DRIVE_ATA_SMART_STATUS:
        {
          const gchar *status;
@@ -218,7 +235,7 @@
          g_value_set_string (value, status);
        }
        break;
-@@ -5114,6 +5120,7 @@ device_new (Daemon *daemon,
+@@ -5144,6 +5150,7 @@ device_new (Daemon *daemon,
        goto out;
      }
  
@@ -226,7 +243,7 @@
    /* if just added, update the smart data if applicable */
    if (device->priv->drive_ata_smart_is_available)
      {
-@@ -5121,6 +5128,7 @@ device_new (Daemon *daemon,
+@@ -5151,6 +5158,7 @@ device_new (Daemon *daemon,
        gchar *ata_smart_refresh_data_options[] = { NULL };
        device_drive_ata_smart_refresh_data (device, ata_smart_refresh_data_options, NULL);
      }
@@ -234,7 +251,7 @@
  
    PROFILE ("device_new(native_path=%s): end", native_path);
   out:
-@@ -9794,16 +9802,18 @@ drive_ata_smart_refresh_data_completed_cb (DBusGMethodInvocation *context,
+@@ -9840,16 +9848,18 @@ drive_ata_smart_refresh_data_completed_cb (DBusGMethodInvocation *context,
                                             const char *stdout,
                                             gpointer user_data)
  {
@@ -256,7 +273,7 @@
    blob = NULL;
  
    if (job_was_cancelled || stdout == NULL)
-@@ -9907,6 +9917,11 @@ drive_ata_smart_refresh_data_completed_cb (DBusGMethodInvocation *context,
+@@ -9953,6 +9963,11 @@ drive_ata_smart_refresh_data_completed_cb (DBusGMethodInvocation *context,
    g_free (blob);
    if (d != NULL)
      sk_disk_free (d);
@@ -430,7 +447,7 @@
  udisks_probe_sas_expander_SOURCES = udisks-probe-sas-expander.c
  udisks_probe_sas_expander_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 diff --git a/tools/udisks.c b/tools/udisks.c
-index 6fbd6a6..e0c4fbb 100644
+index 97e80d7..d30159b 100644
 --- a/tools/udisks.c
 +++ b/tools/udisks.c
 @@ -43,7 +43,9 @@
@@ -443,7 +460,7 @@
  
  #include "udisks-daemon-glue.h"
  #include "udisks-device-glue.h"
-@@ -979,6 +981,7 @@ end_highlight (void)
+@@ -983,6 +985,7 @@ end_highlight (void)
      g_print ("\x1B[0m");
  }
  
@@ -451,7 +468,7 @@
  static const gchar *
  ata_smart_status_to_desc (const gchar *status,
                            gboolean *out_highlight)
-@@ -1159,6 +1162,7 @@ print_ata_smart_attr (SkDisk *d,
+@@ -1163,6 +1166,7 @@ print_ata_smart_attr (SkDisk *d,
    g_free (threshold_str);
    g_free (pretty);
  }
@@ -459,7 +476,7 @@
  
  static void
  do_show_info (const char *object_path)
-@@ -1440,7 +1444,7 @@ do_show_info (const char *object_path)
+@@ -1445,7 +1449,7 @@ do_show_info (const char *object_path)
          g_print ("    if speed:                  %" G_GINT64_FORMAT " bits/s\n", props->drive_connection_speed);
  
        /* ------------------------------------------------------------------------------------------------- */
@@ -468,7 +485,7 @@
        if (!props->drive_ata_smart_is_available)
          {
            g_print ("    ATA SMART:                 not available\n");
-@@ -1493,7 +1497,9 @@ do_show_info (const char *object_path)
+@@ -1498,7 +1502,9 @@ do_show_info (const char *object_path)
              }
  
          }
@@ -479,6 +496,3 @@
        /* ------------------------------------------------------------------------------------------------- */
  
      }
--- 
-1.7.5.rc3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch
index d5e84d3..d4efa93 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch
@@ -1,4 +1,4 @@
-From 7d61ad048856ee239870b917d6933e3ad63f0789 Mon Sep 17 00:00:00 2001
+From a4f6aa5be37ae6e2194c9ded2ea8c1da330f5694 Mon Sep 17 00:00:00 2001
 From: David King <amigadave@amigadave.com>
 Date: Thu, 2 Jul 2015 13:49:22 +0100
 Subject: [PATCH] Fix systemd service file
@@ -12,6 +12,7 @@
 [1] http://pkgs.fedoraproject.org/cgit/udisks.git/tree/udisks-1.0.5-fix-service-file.patch
 
 Upstream-Status: Pending
+
 ---
  data/Makefile.am | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -29,5 +30,3 @@
  endif
  
  udevrulesdir = $(slashlibdir)/udev/rules.d
--- 
-2.4.5
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/0001-data-fix-out-of-tree-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/0001-data-fix-out-of-tree-build.patch
new file mode 100644
index 0000000..1cbd877
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/0001-data-fix-out-of-tree-build.patch
@@ -0,0 +1,35 @@
+From 7fdd4acdf6daf95c5cc74e968f4710513c8ddaea Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 23 Mar 2018 18:33:52 +0100
+Subject: [PATCH] data: fix out of tree build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| sed: can't read udisks2.service.in: No such file or directory
+
+Upstream-Status: Submitted [1]
+
+[1] https://github.com/storaged-project/udisks/pull/510
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ data/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/Makefile.am b/data/Makefile.am
+index ddf9e3d6..b38928c8 100644
+--- a/data/Makefile.am
++++ b/data/Makefile.am
+@@ -22,7 +22,7 @@ systemdservicedir       = $(systemdsystemunitdir)
+ systemdservice_DATA     = $(systemdservice_in_files:.service.in=.service)
+ 
+ $(systemdservice_DATA): udisks2.service.in Makefile
+-	@sed -e "s|\@udisksdprivdir\@|$(libexecdir)/udisks2|" udisks2.service.in > udisks2.service
++	@sed -e "s|\@udisksdprivdir\@|$(libexecdir)/udisks2|" $(srcdir)/udisks2.service.in > udisks2.service
+ endif
+ 
+ udevrulesdir = $(udevdir)/rules.d
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb
deleted file mode 100644
index a3efc51..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.8.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "udisks provides dbus interfaces for disks and storage devices"
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43"
-
-DEPENDS = "acl libatasmart polkit libgudev dbus-glib glib-2.0 intltool-native gnome-common-native libxslt-native"
-DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-RDEPENDS_${PN} = "acl"
-
-SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \
-           file://non-gnu-libc.patch \
-"
-SRC_URI[md5sum] = "501d11c243bd8c6c00650474cd2afaab"
-SRC_URI[sha256sum] = "da416914812a77e5f4d82b81deb8c25799fd3228d27d52f7bf89a501b1857dda"
-
-CVE_PRODUCT = "udisks"
-
-inherit autotools systemd gtk-doc gobject-introspection
-
-S = "${WORKDIR}/udisks-${PV}"
-
-EXTRA_OECONF = "--disable-man --disable-gtk-doc"
-
-FILES_${PN} += "${libdir}/polkit-1/extensions/*.so \
-                ${datadir}/dbus-1/ \
-                ${datadir}/polkit-1 \
-                ${nonarch_base_libdir}/udev/* \
-                ${exec_prefix}${nonarch_base_libdir}/udisks2/* \
-"
-
-PACKAGES =+ "${PN}-libs"
-
-FILES_${PN} += "${datadir}/bash-completion"
-FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}"
-
-FILES_${PN}-dbg += "${exec_prefix}${nonarch_base_libdir}/udisks2/.debug"
-
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.7.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.7.6.bb
new file mode 100644
index 0000000..4d22afd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.7.6.bb
@@ -0,0 +1,49 @@
+SUMMARY = "udisks provides dbus interfaces for disks and storage devices"
+LICENSE = "GPLv2+ & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43"
+
+DEPENDS = " \
+    acl \
+    libatasmart \
+    polkit \
+    libgudev \
+    dbus-glib \
+    glib-2.0 \
+    libblockdev \
+    intltool-native \
+    gnome-common-native \
+    libxslt-native \
+"
+DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+RDEPENDS_${PN} = "acl"
+
+SRC_URI = " \
+    git://github.com/storaged-project/udisks.git \
+    file://0001-data-fix-out-of-tree-build.patch \
+    file://non-gnu-libc.patch \
+"
+SRCREV = "b6471f2e99f6aa1133af0de658f1fa05c748932c"
+S = "${WORKDIR}/git"
+
+CVE_PRODUCT = "udisks"
+
+inherit autotools systemd gtk-doc gobject-introspection
+
+EXTRA_OECONF = "--disable-man --disable-gtk-doc"
+
+FILES_${PN} += " \
+    ${datadir}/dbus-1/ \
+    ${datadir}/polkit-1 \
+    ${datadir}/bash-completion \
+    ${libdir}/polkit-1/extensions/*.so \
+    ${nonarch_base_libdir}/udev/* \
+    ${exec_prefix}${nonarch_base_libdir}/udisks2/* \
+    ${systemd_system_unitdir} \
+"
+
+PACKAGES =+ "${PN}-libs"
+FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
index 4b12494..391b0e6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
@@ -1,9 +1,10 @@
-From 24fd52cc45f7b5ff45afe072f5fbe66485df8c8e Mon Sep 17 00:00:00 2001
+From 82f44f53b9a9766c2ec816f237506beb953eb332 Mon Sep 17 00:00:00 2001
 From: Andreas Schwab <schwab@suse.de>
 Date: Wed, 29 Oct 2014 14:18:28 +0100
 Subject: [PATCH] Add support for aarch64
 
 * include/private/gcconfig.h: Add support for aarch64.
+
 ---
  sigscheme/libgcroots/include/private/gcconfig.h | 37 +++++++++++++++++++++++++
  1 file changed, 37 insertions(+)
@@ -77,6 +78,3 @@
  # ifdef ARM32
  #   define CPP_WORDSZ 32
  #   define MACH_TYPE "ARM32"
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
index df82b07..0c8f02d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
@@ -1,9 +1,10 @@
-From 2918196ba782dfa4401bdca917ad4de1910505e0 Mon Sep 17 00:00:00 2001
+From 08b5e51224ed95b1e76e99873b5f9f59840b0a74 Mon Sep 17 00:00:00 2001
 From: Lei Maohui <leimaohui@cn.fujitsu.com>
 Date: Fri, 21 Aug 2015 15:58:42 +0900
 Subject: [PATCH] fix bug for cross compile
 
 Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+
 ---
  configure.ac | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
@@ -23,6 +24,3 @@
      AC_CHECK_LIB(curses, tgetent, LIBEDIT_LIBS="-lcurses",
          [AC_CHECK_LIB(ncurses, tgetent, LIBEDIT_LIBS="-lncurses",
              AC_MSG_WARN("libedit needs libcurses or libncurses. disabled...")
--- 
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
index 8569bf3..3078af0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
@@ -1,11 +1,21 @@
---- uim-1.1.0/scm/Makefile.am~	2006-06-09 10:46:12.000000000 +0900
-+++ uim-1.1.0/scm/Makefile.am	2006-06-19 23:00:15.620000000 +0900
-@@ -58,7 +58,7 @@
-   module_names += "scim"
+From d61495d3fb039842b82df44184c67eb3c1256136 Mon Sep 17 00:00:00 2001
+From: Bian Naimeng <biannm@cn.fujitsu.com>
+Date: Fri, 26 Jun 2015 12:57:48 +0900
+
+---
+ scm/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scm/Makefile.am b/scm/Makefile.am
+index 14d9393..e8a1083 100644
+--- a/scm/Makefile.am
++++ b/scm/Makefile.am
+@@ -119,7 +119,7 @@ if EXPAT
+   module_names += "yahoo-jp"
  endif
  
 -UIM_MODULE_MANAGER = $(top_builddir)/uim/uim-module-manager
 +UIM_MODULE_MANAGER = uim-module-manager
  UIM_MODULE_MANAGER_ENV = \
+         LIBUIM_SYSTEM_SCM_FILES=$(abs_top_srcdir)/sigscheme/lib \
          LIBUIM_SCM_FILES=$(abs_srcdir) \
-         LIBUIM_PLUGIN_LIB_DIR=$(abs_top_builddir)/uim/.libs
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
index 271718e..af28895 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
@@ -17,11 +17,15 @@
 DEPENDS_append_class-target = " intltool-native gtk+ gtk+3 uim-native takao-fonts"
 
 RDEPENDS_uim = "libuim0 libedit"
-RDEPENDS_uim-anthy = "takao-fonts anthy libanthy0 glibc-utils glibc-gconv-euc-jp"
+RDEPENDS_uim-anthy = "takao-fonts anthy libanthy0"
+RDEPENDS_uim-anthy_append_libc-glibc = " glibc-utils glibc-gconv-euc-jp"
 
 LEAD_SONAME = "libuim.so.1"
 
-inherit autotools pkgconfig gettext qemu gtk-immodules-cache
+inherit distro_features_check autotools pkgconfig gettext qemu gtk-immodules-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
 GTKIMMODULES_PACKAGES = "uim-gtk2.0 uim-gtk3"
 
 EXTRA_OECONF += "--disable-emacs \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/files/do-not-use-libltdl-source-directory.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/files/do-not-use-libltdl-source-directory.patch
index 69d26ad..2499cff 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/files/do-not-use-libltdl-source-directory.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/files/do-not-use-libltdl-source-directory.patch
@@ -13,22 +13,22 @@
  2 files changed, 3 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index e881cca..1321802 100644
+index 4628401..e8989bf 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -5,7 +5,6 @@ SUBDIRS = \
+@@ -11,7 +11,6 @@ SUBDIRS = \
  	log \
  	lst \
  	ini \
--    libltdl \
+-	libltdl \
  	odbcinst \
  	DriverManager \
  	exe \
 diff --git a/configure.ac b/configure.ac
-index 218502f..d50b7af 100644
+index e4bcdaf..58aa5c5 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -136,9 +136,7 @@ dnl AC_CONFIG_MACRO_DIR([libltdl/m4])
+@@ -144,9 +144,7 @@ dnl AC_CONFIG_MACRO_DIR([libltdl/m4])
  dnl LT_CONFIG_LTDL_DIR([libltdl])
  dnl LTDL_INIT
  
@@ -39,5 +39,5 @@
  dnl Substitute INCLTDL and LIBLTDL in the Makefiles
  AC_SUBST(LTDLINCL)
 -- 
-2.8.1
+2.12.3
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.4.bb
deleted file mode 100644
index 6f57f37..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.4.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "An Open Source ODBC sub-system"
-DESCRIPTION = "unixODBC is an Open Source ODBC sub-system and an ODBC SDK \
-for Linux, Mac OSX, and UNIX."
-
-HOMEPAGE = "http://www.unixodbc.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7b37bf80a3df5a65b355433ae36d206"
-
-DEPENDS = "libtool mysql5"
-
-SRC_URI = "ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-${PV}.tar.gz \
-           file://do-not-use-libltdl-source-directory.patch \
-"
-SRC_URI[md5sum] = "bd25d261ca1808c947cb687e2034be81"
-SRC_URI[sha256sum] = "2e1509a96bb18d248bf08ead0d74804957304ff7c6f8b2e5965309c632421e39"
-
-inherit autotools-brokensep
-
-S = "${WORKDIR}/unixODBC-${PV}"
-
-EXTRA_OEMAKE += "LIBS=-lltdl"
-
-do_configure_prepend() {
-    # old m4 files will cause libtool version don't match
-    rm -rf m4/*
-    rm -fr libltdl
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.6.bb
new file mode 100644
index 0000000..62d9db8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.6.bb
@@ -0,0 +1,27 @@
+SUMMARY = "An Open Source ODBC sub-system"
+DESCRIPTION = "unixODBC is an Open Source ODBC sub-system and an ODBC SDK \
+for Linux, Mac OSX, and UNIX."
+
+HOMEPAGE = "http://www.unixodbc.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7b37bf80a3df5a65b355433ae36d206"
+
+DEPENDS = "libtool mysql5"
+
+SRC_URI = "ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-${PV}.tar.gz \
+           file://do-not-use-libltdl-source-directory.patch \
+"
+SRC_URI[md5sum] = "a8629fd2953b04b4639d0a9d8a5cf9d1"
+SRC_URI[sha256sum] = "88b637f647c052ecc3861a3baa275c3b503b193b6a49ff8c28b2568656d14d69"
+
+inherit autotools-brokensep
+
+S = "${WORKDIR}/unixODBC-${PV}"
+
+EXTRA_OEMAKE += "LIBS=-lltdl"
+
+do_configure_prepend() {
+    # old m4 files will cause libtool version don't match
+    rm -rf m4/*
+    rm -fr libltdl
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.5.bb
deleted file mode 100644
index 9314534..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.5.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. "
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08"
-
-DEPENDS = "intltool-native libusb1 libgudev glib-2.0 dbus-glib polkit"
-
-SRC_URI = "http://upower.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "ec57b4b7bf0af568f9a7a5603c921d97"
-SRC_URI[sha256sum] = "78605664d027c788f6ab63c50950be6e86c6ba5d030c4cf35a6664337d87f3b2"
-
-inherit autotools pkgconfig gettext gobject-introspection systemd
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
-PACKAGECONFIG[systemd] = "--with-systemdutildir=${systemd_unitdir} --with-systemdsystemunitdir=${systemd_system_unitdir}, \
-                          --without-systemdutildir --without-systemdsystemunitdir,systemd"
-
-EXTRA_OECONF = " --with-backend=linux"
-
-SYSTEMD_SERVICE_${PN} = "upower.service"
-# don't start on boot by default - dbus does that on demand
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_configure_prepend() {
-    sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
-    sed -i -e 's: doc : :g' ${S}/Makefile.am
-}
-
-RDEPENDS_${PN} += "dbus"
-RRECOMMENDS_${PN} += "pm-utils"
-FILES_${PN} += "${datadir}/dbus-1/ \
-                ${datadir}/polkit-1/ \
-                ${base_libdir}/udev/* \
-"
-
-FILES_${PN}-dbg += "${base_libdir}/udev/.debug"
-
-
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb
new file mode 100644
index 0000000..973fbe7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. "
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08"
+
+DEPENDS = "intltool-native libusb1 libgudev glib-2.0 dbus-glib polkit"
+
+SRC_URI = "http://upower.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "236bb439d9ff1151450b3d8582399532"
+SRC_URI[sha256sum] = "24bcc2f6ab25a2533bac70b587bcb019e591293076920f5b5e04bdedc140a401"
+
+inherit autotools pkgconfig gettext gobject-introspection systemd
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
+PACKAGECONFIG[systemd] = "--with-systemdutildir=${systemd_unitdir} --with-systemdsystemunitdir=${systemd_system_unitdir}, \
+                          --without-systemdutildir --without-systemdsystemunitdir,systemd"
+
+EXTRA_OECONF = " --with-backend=linux"
+
+SYSTEMD_SERVICE_${PN} = "upower.service"
+# don't start on boot by default - dbus does that on demand
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_configure_prepend() {
+    sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
+    sed -i -e 's: doc : :g' ${S}/Makefile.am
+}
+
+RDEPENDS_${PN} += "dbus"
+RRECOMMENDS_${PN} += "pm-utils"
+FILES_${PN} += "${datadir}/dbus-1/ \
+                ${datadir}/polkit-1/ \
+                ${base_libdir}/udev/* \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb
new file mode 100644
index 0000000..b4be853
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb
@@ -0,0 +1,14 @@
+SUMMARY = "RFC 3986 compliant URI parsing library"
+HOMEPAGE = "https://uriparser.github.io"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=72b0f9c74ae96eeab8cf1bf3efe08da2"
+
+SRC_URI := "${SOURCEFORGE_MIRROR}/project/uriparser/Sources/${PV}/uriparser-${PV}.tar.bz2"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-test --disable-doc"
+
+SRC_URI[md5sum] = "9aabdc3611546f553f4af372167de6d6"
+SRC_URI[sha256sum] = "ce7ccda4136974889231e8426a785e7578e66a6283009cfd13f1b24a5e657b23"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb
index ff439f3..ac0df8b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.5.0.bb
@@ -8,7 +8,9 @@
 SRC_URI[md5sum] = "38ad5c9d70e06227a00361bdc2b1e568"
 SRC_URI[sha256sum] = "31c0be280d49a99ec3dc0be3325bef320d9c04b50714ef0ce1e36a614d687633"
 
-inherit pkgconfig
+inherit pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "usb_modeswitch@.service"
 
 EXTRA_OEMAKE = "TCL=${bindir}/tclsh"
 
@@ -18,4 +20,8 @@
 
 do_install() {
     oe_runmake DESTDIR=${D} install
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+        install -d ${D}/${systemd_unitdir}/system
+        install -m 644 ${S}/usb_modeswitch@.service ${D}/${systemd_unitdir}/system
+    fi
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/uthash/uthash/run-ptest b/import-layers/meta-openembedded/meta-oe/recipes-support/uthash/uthash/run-ptest
new file mode 100755
index 0000000..14071a6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/uthash/uthash/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+cd tests
+for i in test*[0-9] ; do
+    if ./${i} | cmp -s "${i}.ans" - ; then
+        echo "PASS: ${i}"
+    else
+        echo "FAIL: ${i}"
+    fi
+done
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/uthash/uthash_1.9.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/uthash/uthash_1.9.7.bb
deleted file mode 100644
index 82a9f2a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/uthash/uthash_1.9.7.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Hash table for C structures"
-SECTION = "base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=564f9c44927f6247dc810bf557e2b240"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2"
-
-SRC_URI[md5sum] = "1f14bbee7ee73ed0ceb3549f8cf378b4"
-SRC_URI[sha256sum] = "956f5c99798349c413275fe4c9ff128d72e280655dadbe4365f8e9fbda91393f"
-
-do_install () {
-    install -dm755 ${D}${includedir}
-    install -m 0644 ${S}/src/*.h ${D}${includedir}
-}
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.0.2.bb
new file mode 100644
index 0000000..ccdd13b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.0.2.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Hash table and linked list for C structures"
+DESCRIPTION = " uthash-dev provides a hash table implementation using C preprocessor macros.\n\
+ This package also includes:\n\
+  * utlist.h provides linked list macros for C structures\n\
+  * utarray.h implements dynamic arrays using macros\n\
+  * utstring.h implements a basic dynamic string\n\
+"
+HOMEPAGE = "https://troydhanson.github.io/uthash/"
+SECTION = "base"
+LICENSE = "BSD-1-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5cc1f1e4c71f19f580458586756c02b4"
+
+SRC_URI = "\
+    https://github.com/troydhanson/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+    file://run-ptest \
+"
+UPSTREAM_CHECK_URI = "https://github.com/troydhanson/${BPN}/releases"
+
+SRC_URI[md5sum] = "d08632a58674274c9cd87e2930f5696a"
+SRC_URI[sha256sum] = "34a31d51dd7a839819cecd6f46049b4ffe031d7f3147d9a042f5504fdb1348d1"
+
+inherit ptest
+
+do_compile[noexec] = "1"
+
+do_compile_ptest() {
+    oe_runmake -C tests tests_only TEST_TARGET=
+}
+
+do_install () {
+    install -dm755 ${D}${includedir}
+    install -m0644 src/*.h ${D}${includedir}
+}
+
+do_install_ptest() {
+    install -dm755 ${D}${PTEST_PATH}/tests
+    install -m0755 tests/test*[0-9] ${D}${PTEST_PATH}/tests
+    install -m0644 tests/test*[0-9].ans ${D}${PTEST_PATH}/tests
+    install -m0644 tests/test*[0-9].dat ${D}${PTEST_PATH}/tests
+}
+
+# The main package is empty and non-existent, so -dev
+# should not depend on it...
+RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb
deleted file mode 100644
index fdefe03..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.26.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "VirtualBox Linux Guest Drivers"
-SECTION = "core"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660"
-
-DEPENDS = "virtual/kernel"
-
-inherit module kernel-module-split
-
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
-
-VBOX_NAME = "VirtualBox-${PV}"
-
-SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
-           file://Makefile.utils \
-"
-SRC_URI[md5sum] = "d3aec8190c649d7e0d92ba374779dfe3"
-SRC_URI[sha256sum] = "b5715035e681a11ef1475f83f9503d34a00f0276b89c572eebec363dda80c8a9"
-
-S = "${WORKDIR}/vbox_module"
-
-export BUILD_TARGET_ARCH="${ARCH}"
-export BUILD_TARGET_ARCH_x86-64="amd64"
-export KERN_DIR="${STAGING_KERNEL_DIR}"
-
-addtask export_sources before do_patch after do_unpack
-
-do_export_sources() {
-    mkdir -p "${S}"
-    ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules ${T}/vbox_modules.tar.gz
-    tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
-
-    # add a mount utility to use shared folder from VBox Addition Source Code
-    mkdir -p "${S}/utils"
-    install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
-    install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
-    install ${S}/../Makefile.utils ${S}/utils/Makefile
-
-}
-
-# compile and install mount utility
-do_compile_append() {
-    oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
-    if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then
-        echo "ERROR: One of vbox*.ko modules wasn't built"
-        exit 1
-    fi
-}
-
-module_do_install() {
-    MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
-    install -d $MODULE_DIR
-    install -m 644 vboxguest.ko $MODULE_DIR
-    install -m 644 vboxsf.ko $MODULE_DIR
-    install -m 644 vboxvideo.ko $MODULE_DIR
-}
-
-do_install_append() {
-    install -d ${D}${base_sbindir}
-    install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
-}
-
-PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-
-FILES_${PN} = "${base_sbindir}"
-
-# autoload if installed
-KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.8.bb
new file mode 100644
index 0000000..e00db4d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.8.bb
@@ -0,0 +1,78 @@
+SUMMARY = "VirtualBox Linux Guest Drivers"
+SECTION = "core"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660"
+
+DEPENDS = "virtual/kernel"
+
+inherit module kernel-module-split
+
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
+
+VBOX_NAME = "VirtualBox-${PV}"
+
+SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
+    file://Makefile.utils \
+"
+
+SRC_URI[md5sum] = "e731ea9c5c31096ec4c2a3bfba26665c"
+SRC_URI[sha256sum] = "ee2759d47b0b4ac81b8b671c9485c87fb2db12c097b3e7e69b94c1291a8084e8"
+
+S = "${WORKDIR}/vbox_module"
+
+export BUILD_TARGET_ARCH="${ARCH}"
+export BUILD_TARGET_ARCH_x86-64="amd64"
+
+EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build'"
+
+addtask export_sources before do_patch after do_unpack
+
+do_export_sources() {
+    mkdir -p "${S}"
+    ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz
+    tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
+
+    # add a mount utility to use shared folder from VBox Addition Source Code
+    mkdir -p "${S}/utils"
+    install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
+    install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
+    install ${S}/../Makefile.utils ${S}/utils/Makefile
+
+}
+
+do_configure_prepend() {
+    # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set.  Stop.
+    # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in <version>/build, or the variable KERN_VER must be set.  Stop.
+    mkdir -p ${WORKDIR}/${KERNEL_VERSION}
+    ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build
+}
+
+# compile and install mount utility
+do_compile_append() {
+    oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
+    if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then
+        echo "ERROR: One of vbox*.ko modules wasn't built"
+        exit 1
+    fi
+}
+
+module_do_install() {
+    MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
+    install -d $MODULE_DIR
+    install -m 644 vboxguest.ko $MODULE_DIR
+    install -m 644 vboxsf.ko $MODULE_DIR
+    install -m 644 vboxvideo.ko $MODULE_DIR
+}
+
+do_install_append() {
+    install -d ${D}${base_sbindir}
+    install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
+}
+
+PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
+RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
+
+FILES_${PN} = "${base_sbindir}"
+
+# autoload if installed
+KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/CVE-2017-17087.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/CVE-2017-17087.patch
new file mode 100644
index 0000000..937b9ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/files/CVE-2017-17087.patch
@@ -0,0 +1,70 @@
+From 9c11f80339372b7aa2f43153d574f2b5abb79708 Mon Sep 17 00:00:00 2001
+From: Li Zhou <li.zhou@windriver.com>
+Date: Sun, 17 Dec 2017 23:09:35 -0800
+Subject: [PATCH] vim: patch 8.0.1263: others can read the swap file if a user
+ is careless
+
+Problem:    Others can read the swap file if a user is careless with his
+            primary group.
+Solution:   If the group permission allows for reading but the world
+            permissions doesn't, make sure the group is right.
+
+Upstream-Status: Backport
+CVE: CVE-2017-17087
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ src/fileio.c  | 24 +++++++++++++++++++++++-
+ src/version.c |  2 ++
+ 2 files changed, 25 insertions(+), 1 deletion(-)
+
+diff --git a/src/fileio.c b/src/fileio.c
+index f54fb8465..2c7740af9 100644
+--- a/src/fileio.c
++++ b/src/fileio.c
+@@ -716,7 +716,29 @@ readfile(
+ 	/* Set swap file protection bits after creating it. */
+ 	if (swap_mode > 0 && curbuf->b_ml.ml_mfp != NULL
+ 			  && curbuf->b_ml.ml_mfp->mf_fname != NULL)
+-	    (void)mch_setperm(curbuf->b_ml.ml_mfp->mf_fname, (long)swap_mode);
++	{
++	    char_u *swap_fname = curbuf->b_ml.ml_mfp->mf_fname;
++
++	    /*
++	     * If the group-read bit is set but not the world-read bit, then
++	     * the group must be equal to the group of the original file.  If
++	     * we can't make that happen then reset the group-read bit.  This
++	     * avoids making the swap file readable to more users when the
++	     * primary group of the user is too permissive.
++	     */
++	    if ((swap_mode & 044) == 040)
++	    {
++		stat_T	swap_st;
++
++		if (mch_stat((char *)swap_fname, &swap_st) >= 0
++			&& st.st_gid != swap_st.st_gid
++			&& fchown(curbuf->b_ml.ml_mfp->mf_fd, -1, st.st_gid)
++									 == -1)
++		    swap_mode &= 0600;
++	    }
++
++	    (void)mch_setperm(swap_fname, (long)swap_mode);
++	}
+ #endif
+     }
+ 
+diff --git a/src/version.c b/src/version.c
+index a5cb078f0..5c0df475f 100644
+--- a/src/version.c
++++ b/src/version.c
+@@ -770,6 +770,8 @@ static char *(features[]) =
+ static int included_patches[] =
+ {   /* Add new patch number below this line */
+ /**/
++    1263,
++/**/
+     983,
+ /**/
+     982,
+-- 
+2.11.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0983.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0983.bb
index 407ce5e..44c868c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0983.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0983.bb
@@ -9,6 +9,7 @@
 SRC_URI = "git://github.com/vim/vim.git \
            file://disable_acl_header_check.patch;patchdir=.. \
            file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
+           file://CVE-2017-17087.patch;patchdir=.. \
 "
 SRCREV = "3f9a1ff141412e9e85f7dff47d02946cb9be9228"
 
@@ -16,8 +17,9 @@
 
 VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}"
 
-inherit autotools update-alternatives
-inherit autotools-brokensep
+inherit autotools-brokensep update-alternatives
+
+CLEANBROKEN = "1"
 
 # vim configure.in contains functions which got 'dropped' by autotools.bbclass
 do_configure () {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/0001-Fix-issue-599.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/0001-Fix-issue-599.patch
new file mode 100644
index 0000000..2a9ea74
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/0001-Fix-issue-599.patch
@@ -0,0 +1,31 @@
+From 1dd07113f2a7489444a8990a95be42e035f8e9df Mon Sep 17 00:00:00 2001
+From: Kurt Roeckx <kroeckx@debian.org>
+Date: Tue, 1 Nov 2016 12:57:35 +0100
+Subject: [PATCH] Fix issue #599
+Forwarded: https://github.com/zaphoyd/websocketpp/pull/600
+
+---
+ websocketpp/transport/asio/security/tls.hpp | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp
+index 7b32db8..a8aafec 100644
+--- a/websocketpp/transport/asio/security/tls.hpp
++++ b/websocketpp/transport/asio/security/tls.hpp
+@@ -355,13 +355,9 @@ protected:
+     template <typename ErrorCodeType>
+     lib::error_code translate_ec(ErrorCodeType ec) {
+         if (ec.category() == lib::asio::error::get_ssl_category()) {
+-            if (ERR_GET_REASON(ec.value()) == SSL_R_SHORT_READ) {
+-                return make_error_code(transport::error::tls_short_read);
+-            } else {
+                 // We know it is a TLS related error, but otherwise don't know
+                 // more. Pass through as TLS generic.
+                 return make_error_code(transport::error::tls_error);
+-            }
+         } else {
+             // We don't know any more information about this error so pass
+             // through
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch
new file mode 100644
index 0000000..530c960
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch
@@ -0,0 +1,155 @@
+From 4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4 Mon Sep 17 00:00:00 2001
+From: Peter Thorson <git@zaphoyd.com>
+Date: Sun, 11 Jun 2017 16:13:25 -0500
+Subject: [PATCH] minor adjustments to recent extension negotiation related
+ fixes, refactor a bit more extension negotiation code to be simpler
+
+---
+ websocketpp/impl/connection_impl.hpp |  6 +--
+ websocketpp/processors/hybi13.hpp    | 92 ++++++++++++++++++------------------
+ 2 files changed, 49 insertions(+), 49 deletions(-)
+
+Index: websocketpp-0.7.0/websocketpp/impl/connection_impl.hpp
+===================================================================
+--- websocketpp-0.7.0.orig/websocketpp/impl/connection_impl.hpp
++++ websocketpp-0.7.0/websocketpp/impl/connection_impl.hpp
+@@ -1222,17 +1222,17 @@
+     std::pair<lib::error_code,std::string> neg_results;
+     neg_results = m_processor->negotiate_extensions(m_request);
+ 
+-    if (neg_results.first == error::make_error_code(error::extension_parse_error)) {
++    if (neg_results.first == processor::error::make_error_code(processor::error::extension_parse_error)) {
+         // There was a fatal error in extension parsing that should result in
+         // a failed connection attempt.
+-        m_alog.write(log::alevel::info, "Bad request: " + neg_results.first.message());
++        m_elog.write(log::elevel::info, "Bad request: " + neg_results.first.message());
+         m_response.set_status(http::status_code::bad_request);
+         return neg_results.first;
+     } else if (neg_results.first) {
+         // There was a fatal error in extension processing that is probably our
+         // fault. Consider extension negotiation to have failed and continue as
+         // if extensions were not supported
+-        m_alog.write(log::alevel::info, 
++        m_elog.write(log::elevel::info, 
+             "Extension negotiation failed: " + neg_results.first.message());
+     } else {
+         // extension negotiation succeeded, set response header accordingly
+Index: websocketpp-0.7.0/websocketpp/processors/hybi13.hpp
+===================================================================
+--- websocketpp-0.7.0.orig/websocketpp/processors/hybi13.hpp
++++ websocketpp-0.7.0/websocketpp/processors/hybi13.hpp
+@@ -97,11 +97,6 @@
+     /**
+      * This exists mostly because the code for requests and responses is
+      * identical and I can't have virtual template methods.
+-     *
+-     * NOTE: this method makes assumptions that the permessage-deflate
+-     * extension is the only one supported. If additional extensions are
+-     * ever supported it should be reviewed carefully. Most cases where
+-     * that assumption is made are explicitly noted.
+      */
+     template <typename header_type>
+     err_str_pair negotiate_extensions_helper(header_type const & header) {
+@@ -130,55 +125,60 @@
+ 
+         http::parameter_list::const_iterator it;
+ 
++        // look through the list of extension requests to find the first
++        // one that we can accept.
+         if (m_permessage_deflate.is_implemented()) {
+             err_str_pair neg_ret;
+             for (it = p.begin(); it != p.end(); ++it) {
+-                // look through each extension, if the key is permessage-deflate
+-                if (it->first == "permessage-deflate") {
+-                    // if we have already successfully negotiated this extension
+-                    // then skip any other requests to negotiate the same one
+-                    // with different parameters 
+-                    if (m_permessage_deflate.is_enabled()) {
+-                        continue;
+-                    }
+-                    
+-                    
+-                    neg_ret = m_permessage_deflate.negotiate(it->second);
+-
+-                    if (neg_ret.first) {
+-                        // Figure out if this is an error that should halt all
+-                        // extension negotiations or simply cause negotiation of
+-                        // this specific extension to fail.
+-                        //std::cout << "permessage-compress negotiation failed: "
+-                        //          << neg_ret.first.message() << std::endl;
+-                    } else {
+-                        // Note: this list will need commas if WebSocket++ ever
+-                        // supports more than one extension
+-                        
+-                        // Actually try to initialize the extension before we
+-                        // deem negotiation complete
+-                        ret.first = m_permessage_deflate.init(base::m_server);
+-                        if (!ret.first) {
+-
+-                            // TODO: support multiple extensions.
+-                            // right now, because there is only one extension 
+-                            // supported, it failing to negotiate means we are
+-                            // done with all negotiating. In the future if more
+-                            // extensions are supported a better solution will
+-                            // be needed here.
+-                            break;
+-                        } else {
+-                            ret.second += neg_ret.second;
+-
+-                            // continue looking for more extensions
+-                            continue;
+-                        }
+-                        
+-                    }
++                // not a permessage-deflate extension request, ignore
++                if (it->first != "permessage-deflate") {
++                    continue;
++                }
++
++                // if we have already successfully negotiated this extension
++                // then skip any other requests to negotiate the same one
++                // with different parameters 
++                if (m_permessage_deflate.is_enabled()) {
++                    continue;
++                }
++                
++                // attempt to negotiate this offer
++                neg_ret = m_permessage_deflate.negotiate(it->second);
++
++                if (neg_ret.first) {
++                    // negotiation offer failed. Do nothing. We will continue
++                    // searching for a permessage-deflate config that succeeds
++                    continue;
++                }
++
++                // Negotiation tentatively succeeded
++
++                // Actually try to initialize the extension before we
++                // deem negotiation complete
++                lib::error_code ec = m_permessage_deflate.init(base::m_server);
++
++                if (ec) {
++                    // Negotiation succeeded but initialization failed this is 
++                    // an error that should stop negotiation of permessage 
++                    // deflate. Return the reason for the init failure
++
++                    ret.first = ec;
++                    break;
++                } else {
++                    // Successfully initialized, push the negotiated response into
++                    // the reply and stop looking for additional permessage-deflate
++                    // extensions
++                    ret.second += neg_ret.second;
++                    break;
+                 }
+             }
+         }
+ 
++        // support for future extensions would go here. Should check the value of 
++        // ret.first before continuing. Might need to consider whether failure of
++        // negotiation of an earlier extension should stop negotiation of subsequent
++        // ones
++
+         return ret;
+     }
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch
new file mode 100644
index 0000000..94bfeb2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch
@@ -0,0 +1,600 @@
+## Description: add some description
+## Origin/Author: add some origin or author
+## Bug: bug URL
+From 9ddb300d874a30db35e3ad58f188944bef0bf31b Mon Sep 17 00:00:00 2001
+From: Peter Thorson <git@zaphoyd.com>
+Date: Sun, 11 Jun 2017 15:24:43 -0500
+Subject: [PATCH] Update permessage-deflate support to reflect that zlib
+ doesn't support a 256 bit window. Improve extension negotiation error
+ checking and documentation. fixes #596 fixes #653
+
+---
+ changelog.md                                       |   8 ++
+ test/extension/permessage_deflate.cpp              | 153 +++++++++++++++++----
+ .../extensions/permessage_deflate/enabled.hpp      |  94 ++++++++++---
+ websocketpp/impl/connection_impl.hpp               |  10 +-
+ websocketpp/processors/hybi13.hpp                  |  28 +++-
+ 5 files changed, 247 insertions(+), 46 deletions(-)
+
+diff --git a/changelog.md b/changelog.md
+index bba753cb..de98edd2 100644
+#--- a/changelog.md
+#+++ b/changelog.md
+#@@ -17,6 +17,14 @@ HEAD
+# - Compatibility: Update `telemetry_client` to use a slightly more cross platform
+#   method of sleeping. Should work on windows now. Thank you Meir Yanovich for
+#   reporting.
+#+- Compatibility: Updated permessage-deflate support to reflect that the zlib
+#+  library does not actually support a sliding window size of 256 bits. 
+#+  WebSocket++ will no longer negotiate 256 bit deflate windows. If the user
+#+  of the library tries to request a 256 bit window a 512 bit window will be
+#+  specified instead (This was the previous behavior). #596 #653 Thank you 
+#+  Vinnie Falco and Gianfranco Costamagna for reporting.
+#+- Compatibility: Better error handling and logging in cases where extension
+#+  requests parse correctly but negotiation fails. 
+# - Bug: Store loggers in shared pointers to avoid crashes related to connections
+#   trying to write logs entries after their respective endpoint has been
+#   deallocated. Thank you Thalhammer for reporting and Jupp Müller for the 
+diff --git a/test/extension/permessage_deflate.cpp b/test/extension/permessage_deflate.cpp
+index 4cd3e7b6..805afcc3 100644
+--- a/test/extension/permessage_deflate.cpp
++++ b/test/extension/permessage_deflate.cpp
+@@ -186,15 +186,22 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_invalid ) {
+ 
+ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_valid ) {
+     ext_vars v;
++    
++    // confirm that a request for a value of 8 is interpreted as 9
+     v.attr["server_max_window_bits"] = "8";
++    v.esp = v.exts.negotiate(v.attr);
++    BOOST_CHECK( v.exts.is_enabled() );
++    BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
+ 
++    v.attr["server_max_window_bits"] = "9";
+     v.esp = v.exts.negotiate(v.attr);
+     BOOST_CHECK( v.exts.is_enabled() );
+     BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
+-    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
+ 
+-    v.attr["server_max_window_bits"] = "15";
+ 
++    v.attr["server_max_window_bits"] = "15";
+     v.esp = v.exts.negotiate(v.attr);
+     BOOST_CHECK( v.exts.is_enabled() );
+     BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
+@@ -213,7 +220,7 @@ BOOST_AUTO_TEST_CASE( invalid_set_server_max_window_bits ) {
+ 
+ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_decline ) {
+     ext_vars v;
+-    v.attr["server_max_window_bits"] = "8";
++    v.attr["server_max_window_bits"] = "9";
+ 
+     v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::decline);
+     v.esp = v.exts.negotiate(v.attr);
+@@ -223,7 +230,7 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_decline ) {
+     BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate");
+ }
+ 
+-BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept ) {
++BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept_8 ) {
+     ext_vars v;
+     v.attr["server_max_window_bits"] = "8";
+ 
+@@ -232,10 +239,22 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept ) {
+     BOOST_CHECK( v.exts.is_enabled() );
+     BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+     BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
+-    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
+ }
+ 
+-BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest ) {
++BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept ) {
++    ext_vars v;
++    v.attr["server_max_window_bits"] = "9";
++
++    v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::accept);
++    v.esp = v.exts.negotiate(v.attr);
++    BOOST_CHECK( v.exts.is_enabled() );
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
++}
++
++BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest_8 ) {
+     ext_vars v;
+     v.attr["server_max_window_bits"] = "8";
+ 
+@@ -244,10 +263,22 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest ) {
+     BOOST_CHECK( v.exts.is_enabled() );
+     BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+     BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
+-    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
+ }
+ 
+-BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest ) {
++BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest ) {
++    ext_vars v;
++    v.attr["server_max_window_bits"] = "9";
++
++    v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::largest);
++    v.esp = v.exts.negotiate(v.attr);
++    BOOST_CHECK( v.exts.is_enabled() );
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
++}
++
++BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest_8 ) {
+     ext_vars v;
+     v.attr["server_max_window_bits"] = "8";
+ 
+@@ -256,7 +287,19 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest ) {
+     BOOST_CHECK( v.exts.is_enabled() );
+     BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+     BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
+-    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
++}
++
++BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest ) {
++    ext_vars v;
++    v.attr["server_max_window_bits"] = "9";
++
++    v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::smallest);
++    v.esp = v.exts.negotiate(v.attr);
++    BOOST_CHECK( v.exts.is_enabled() );
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
+ }
+ 
+ // Negotiate server_max_window_bits
+@@ -292,7 +335,13 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_valid ) {
+     v.esp = v.exts.negotiate(v.attr);
+     BOOST_CHECK( v.exts.is_enabled() );
+     BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
+-    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
++
++    v.attr["client_max_window_bits"] = "9";
++    v.esp = v.exts.negotiate(v.attr);
++    BOOST_CHECK( v.exts.is_enabled() );
++    BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
+ 
+     v.attr["client_max_window_bits"] = "15";
+     v.esp = v.exts.negotiate(v.attr);
+@@ -311,7 +360,7 @@ BOOST_AUTO_TEST_CASE( invalid_set_client_max_window_bits ) {
+     BOOST_CHECK_EQUAL(v.ec,pmde::make_error_code(pmde::invalid_max_window_bits));
+ }
+ 
+-BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline ) {
++BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline_8 ) {
+     ext_vars v;
+     v.attr["client_max_window_bits"] = "8";
+ 
+@@ -323,7 +372,19 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline ) {
+     BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate");
+ }
+ 
+-BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept ) {
++BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline ) {
++    ext_vars v;
++    v.attr["client_max_window_bits"] = "9";
++
++    v.ec = v.exts.set_client_max_window_bits(9,pmd_mode::decline);
++    v.esp = v.exts.negotiate(v.attr);
++    BOOST_CHECK( v.exts.is_enabled() );
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate");
++}
++
++BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept_8 ) {
+     ext_vars v;
+     v.attr["client_max_window_bits"] = "8";
+ 
+@@ -332,10 +393,22 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept ) {
+     BOOST_CHECK( v.exts.is_enabled() );
+     BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+     BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
+-    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
+ }
+ 
+-BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest ) {
++BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept ) {
++    ext_vars v;
++    v.attr["client_max_window_bits"] = "9";
++
++    v.ec = v.exts.set_client_max_window_bits(15,pmd_mode::accept);
++    v.esp = v.exts.negotiate(v.attr);
++    BOOST_CHECK( v.exts.is_enabled() );
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
++}
++
++BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest_8 ) {
+     ext_vars v;
+     v.attr["client_max_window_bits"] = "8";
+ 
+@@ -344,10 +417,22 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest ) {
+     BOOST_CHECK( v.exts.is_enabled() );
+     BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+     BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
+-    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
+ }
+ 
+-BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest ) {
++BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest ) {
++    ext_vars v;
++    v.attr["client_max_window_bits"] = "9";
++
++    v.ec = v.exts.set_client_max_window_bits(15,pmd_mode::largest);
++    v.esp = v.exts.negotiate(v.attr);
++    BOOST_CHECK( v.exts.is_enabled() );
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
++}
++
++BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest_8 ) {
+     ext_vars v;
+     v.attr["client_max_window_bits"] = "8";
+ 
+@@ -356,7 +441,19 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest ) {
+     BOOST_CHECK( v.exts.is_enabled() );
+     BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+     BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
+-    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
++}
++
++BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest ) {
++    ext_vars v;
++    v.attr["client_max_window_bits"] = "9";
++
++    v.ec = v.exts.set_client_max_window_bits(15,pmd_mode::smallest);
++    v.esp = v.exts.negotiate(v.attr);
++    BOOST_CHECK( v.exts.is_enabled() );
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
++    BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
+ }
+ 
+ 
+@@ -507,7 +604,8 @@ BOOST_AUTO_TEST_CASE( compress_data ) {
+     std::string compress_out;
+     std::string decompress_out;
+ 
+-    v.exts.init(true);
++    v.ec = v.exts.init(true);
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+ 
+     v.ec = v.exts.compress(compress_in,compress_out);
+     BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+@@ -520,7 +618,8 @@ BOOST_AUTO_TEST_CASE( compress_data ) {
+ BOOST_AUTO_TEST_CASE( compress_data_multiple ) {
+     ext_vars v;
+ 
+-    v.exts.init(true);
++    v.ec = v.exts.init(true);
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+ 
+     for (int i = 0; i < 2; i++) {
+         std::string compress_in = "Hello";
+@@ -545,11 +644,12 @@ BOOST_AUTO_TEST_CASE( compress_data_large ) {
+ 
+     websocketpp::http::attribute_list alist;
+ 
+-    alist["server_max_window_bits"] = "8";
+-    v.exts.set_server_max_window_bits(8,websocketpp::extensions::permessage_deflate::mode::smallest);
++    alist["server_max_window_bits"] = "9";
++    v.exts.set_server_max_window_bits(9,websocketpp::extensions::permessage_deflate::mode::smallest);
+ 
+     v.exts.negotiate(alist);
+-    v.exts.init(true);
++    v.ec = v.exts.init(true);
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+ 
+     v.ec = v.exts.compress(compress_in,compress_out);
+     BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+@@ -573,7 +673,8 @@ BOOST_AUTO_TEST_CASE( compress_data_no_context_takeover ) {
+     v.exts.enable_server_no_context_takeover();
+ 
+     v.exts.negotiate(alist);
+-    v.exts.init(true);
++    v.ec = v.exts.init(true);
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+ 
+     v.ec = v.exts.compress(compress_in,compress_out1);
+     BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+@@ -609,7 +710,8 @@ BOOST_AUTO_TEST_CASE( compress_empty ) {
+     std::string compress_out;
+     std::string decompress_out;
+ 
+-    v.exts.init(true);
++    v.ec = v.exts.init(true);
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+ 
+     v.ec = v.exts.compress(compress_in,compress_out);
+     BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+@@ -640,7 +742,8 @@ BOOST_AUTO_TEST_CASE( decompress_data ) {
+     std::string out;
+     std::string reference = "Hello";
+ 
+-    v.exts.init(true);
++    v.ec = v.exts.init(true);
++    BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
+ 
+     v.ec = v.exts.decompress(in,11,out);
+ 
+diff --git a/websocketpp/extensions/permessage_deflate/enabled.hpp b/websocketpp/extensions/permessage_deflate/enabled.hpp
+index 1581f14c..f20a1b1d 100644
+--- a/websocketpp/extensions/permessage_deflate/enabled.hpp
++++ b/websocketpp/extensions/permessage_deflate/enabled.hpp
+@@ -46,7 +46,7 @@
+ namespace websocketpp {
+ namespace extensions {
+ 
+-/// Implementation of the draft permessage-deflate WebSocket extension
++/// Implementation of RFC 7692, the permessage-deflate WebSocket extension
+ /**
+  * ### permessage-deflate interface
+  *
+@@ -174,18 +174,30 @@ namespace websocketpp {
+ namespace extensions {
+ namespace permessage_deflate {
+ 
+-/// Default value for server_max_window_bits as defined by draft 17
++/// Default value for server_max_window_bits as defined by RFC 7692
+ static uint8_t const default_server_max_window_bits = 15;
+-/// Minimum value for server_max_window_bits as defined by draft 17
++/// Minimum value for server_max_window_bits as defined by RFC 7692
++/**
++ * NOTE: A value of 8 is not actually supported by zlib, the deflate
++ * library that WebSocket++ uses. To preserve backwards compatibility
++ * with RFC 7692 and previous versions of the library a value of 8
++ * is accepted by the library but will always be negotiated as 9.
++ */
+ static uint8_t const min_server_max_window_bits = 8;
+-/// Maximum value for server_max_window_bits as defined by draft 17
++/// Maximum value for server_max_window_bits as defined by RFC 7692
+ static uint8_t const max_server_max_window_bits = 15;
+ 
+-/// Default value for client_max_window_bits as defined by draft 17
++/// Default value for client_max_window_bits as defined by RFC 7692
+ static uint8_t const default_client_max_window_bits = 15;
+-/// Minimum value for client_max_window_bits as defined by draft 17
++/// Minimum value for client_max_window_bits as defined by RFC 7692
++/**
++ * NOTE: A value of 8 is not actually supported by zlib, the deflate
++ * library that WebSocket++ uses. To preserve backwards compatibility
++ * with RFC 7692 and previous versions of the library a value of 8
++ * is accepted by the library but will always be negotiated as 9.
++ */
+ static uint8_t const min_client_max_window_bits = 8;
+-/// Maximum value for client_max_window_bits as defined by draft 17
++/// Maximum value for client_max_window_bits as defined by RFC 7692
+ static uint8_t const max_client_max_window_bits = 15;
+ 
+ namespace mode {
+@@ -372,7 +384,7 @@ class enabled {
+     /**
+      * The bits setting is the base 2 logarithm of the maximum window size that
+      * the server must use to compress outgoing messages. The permitted range
+-     * is 8 to 15 inclusive. 8 represents a 256 byte window and 15 a 32KiB
++     * is 9 to 15 inclusive. 9 represents a 512 byte window and 15 a 32KiB
+      * window. The default setting is 15.
+      *
+      * Mode Options:
+@@ -386,6 +398,14 @@ class enabled {
+      * adjusted by the server. A server may unilaterally set this value without
+      * client support.
+      *
++     * NOTE: The permessage-deflate spec specifies that a value of 8 is allowed.
++     * Prior to version 0.8.0 a value of 8 was also allowed by this library.
++     * zlib, the deflate compression library that WebSocket++ uses has always
++     * silently adjusted a value of 8 to 9. In recent versions of zlib (1.2.9 
++     * and greater) a value of 8 is now explicitly rejected. WebSocket++ 0.8.0
++     * continues to perform the 8->9 conversion for backwards compatibility
++     * purposes but this should be considered deprecated functionality.
++     *
+      * @param bits The size to request for the outgoing window size
+      * @param mode The mode to use for negotiating this parameter
+      * @return A status code
+@@ -394,6 +414,12 @@ class enabled {
+         if (bits < min_server_max_window_bits || bits > max_server_max_window_bits) {
+             return error::make_error_code(error::invalid_max_window_bits);
+         }
++
++        // See note in doc comment above about what is happening here
++        if (bits == 8) {
++            bits = 9;
++        }
++
+         m_server_max_window_bits = bits;
+         m_server_max_window_bits_mode = mode;
+ 
+@@ -403,8 +429,8 @@ class enabled {
+     /// Limit client LZ77 sliding window size
+     /**
+      * The bits setting is the base 2 logarithm of the window size that the
+-     * client must use to compress outgoing messages. The permitted range is 8
+-     * to 15 inclusive. 8 represents a 256 byte window and 15 a 32KiB window.
++     * client must use to compress outgoing messages. The permitted range is 9
++     * to 15 inclusive. 9 represents a 512 byte window and 15 a 32KiB window.
+      * The default setting is 15.
+      *
+      * Mode Options:
+@@ -417,6 +443,14 @@ class enabled {
+      * outgoing window size unilaterally. A server may only limit the client's
+      * window size if the remote client supports that feature.
+      *
++     * NOTE: The permessage-deflate spec specifies that a value of 8 is allowed.
++     * Prior to version 0.8.0 a value of 8 was also allowed by this library.
++     * zlib, the deflate compression library that WebSocket++ uses has always
++     * silently adjusted a value of 8 to 9. In recent versions of zlib (1.2.9 
++     * and greater) a value of 8 is now explicitly rejected. WebSocket++ 0.8.0
++     * continues to perform the 8->9 conversion for backwards compatibility
++     * purposes but this should be considered deprecated functionality.
++     *
+      * @param bits The size to request for the outgoing window size
+      * @param mode The mode to use for negotiating this parameter
+      * @return A status code
+@@ -425,6 +459,12 @@ class enabled {
+         if (bits < min_client_max_window_bits || bits > max_client_max_window_bits) {
+             return error::make_error_code(error::invalid_max_window_bits);
+         }
++
++        // See note in doc comment above about what is happening here
++        if (bits == 8) {
++            bits = 9;
++        }
++
+         m_client_max_window_bits = bits;
+         m_client_max_window_bits_mode = mode;
+ 
+@@ -642,11 +682,17 @@ class enabled {
+      * client requested that we use.
+      *
+      * options:
+-     * - decline (refuse to use the attribute)
+-     * - accept (use whatever the client says)
+-     * - largest (use largest possible value)
++     * - decline (ignore value, offer our default instead)
++     * - accept (use the value requested by the client)
++     * - largest (use largest value acceptable to both)
+      * - smallest (use smallest possible value)
+      *
++     * NOTE: As a value of 8 is no longer explicitly supported by zlib but might
++     * be requested for negotiation by an older client/server, if the result of
++     * the negotiation would be to send a value of 8, a value of 9 is offered
++     * instead. This ensures that WebSocket++ will only ever negotiate connections
++     * with compression settings explicitly supported by zlib.
++     *
+      * @param [in] value The value of the attribute from the offer
+      * @param [out] ec A reference to the error code to return errors via
+      */
+@@ -678,6 +724,11 @@ class enabled {
+                 ec = make_error_code(error::invalid_mode);
+                 m_server_max_window_bits = default_server_max_window_bits;
+         }
++
++        // See note in doc comment
++        if (m_server_max_window_bits == 8) {
++            m_server_max_window_bits = 9;
++        }
+     }
+ 
+     /// Negotiate client_max_window_bits attribute
+@@ -687,11 +738,17 @@ class enabled {
+      * negotiation mode.
+      *
+      * options:
+-     * - decline (refuse to use the attribute)
+-     * - accept (use whatever the client says)
+-     * - largest (use largest possible value)
++     * - decline (ignore value, offer our default instead)
++     * - accept (use the value requested by the client)
++     * - largest (use largest value acceptable to both)
+      * - smallest (use smallest possible value)
+      *
++     * NOTE: As a value of 8 is no longer explicitly supported by zlib but might
++     * be requested for negotiation by an older client/server, if the result of
++     * the negotiation would be to send a value of 8, a value of 9 is offered
++     * instead. This ensures that WebSocket++ will only ever negotiate connections
++     * with compression settings explicitly supported by zlib.
++     *
+      * @param [in] value The value of the attribute from the offer
+      * @param [out] ec A reference to the error code to return errors via
+      */
+@@ -727,6 +784,11 @@ class enabled {
+                 ec = make_error_code(error::invalid_mode);
+                 m_client_max_window_bits = default_client_max_window_bits;
+         }
++
++        // See note in doc comment
++        if (m_client_max_window_bits == 8) {
++            m_client_max_window_bits = 9;
++        }
+     }
+ 
+     bool m_enabled;
+diff --git a/websocketpp/impl/connection_impl.hpp b/websocketpp/impl/connection_impl.hpp
+index 105911db..ae55c338 100644
+--- a/websocketpp/impl/connection_impl.hpp
++++ b/websocketpp/impl/connection_impl.hpp
+@@ -1222,12 +1222,18 @@ lib::error_code connection<config>::process_handshake_request() {
+     std::pair<lib::error_code,std::string> neg_results;
+     neg_results = m_processor->negotiate_extensions(m_request);
+ 
+-    if (neg_results.first) {
++    if (neg_results.first == error::make_error_code(error::extension_parse_error)) {
+         // There was a fatal error in extension parsing that should result in
+         // a failed connection attempt.
+-        m_alog.write(log::alevel::devel, "Bad request: " + neg_results.first.message());
++        m_alog.write(log::alevel::info, "Bad request: " + neg_results.first.message());
+         m_response.set_status(http::status_code::bad_request);
+         return neg_results.first;
++    } else if (neg_results.first) {
++        // There was a fatal error in extension processing that is probably our
++        // fault. Consider extension negotiation to have failed and continue as
++        // if extensions were not supported
++        m_alog.write(log::alevel::info, 
++            "Extension negotiation failed: " + neg_results.first.message());
+     } else {
+         // extension negotiation succeeded, set response header accordingly
+         // we don't send an empty extensions header because it breaks many
+diff --git a/websocketpp/processors/hybi13.hpp b/websocketpp/processors/hybi13.hpp
+index 79486654..a95bc649 100644
+--- a/websocketpp/processors/hybi13.hpp
++++ b/websocketpp/processors/hybi13.hpp
+@@ -97,6 +97,11 @@ class hybi13 : public processor<config> {
+     /**
+      * This exists mostly because the code for requests and responses is
+      * identical and I can't have virtual template methods.
++     *
++     * NOTE: this method makes assumptions that the permessage-deflate
++     * extension is the only one supported. If additional extensions are
++     * ever supported it should be reviewed carefully. Most cases where
++     * that assumption is made are explicitly noted.
+      */
+     template <typename header_type>
+     err_str_pair negotiate_extensions_helper(header_type const & header) {
+@@ -149,9 +154,26 @@ class hybi13 : public processor<config> {
+                     } else {
+                         // Note: this list will need commas if WebSocket++ ever
+                         // supports more than one extension
+-                        ret.second += neg_ret.second;
+-                        m_permessage_deflate.init(base::m_server);
+-                        continue;
++                        
++                        // Actually try to initialize the extension before we
++                        // deem negotiation complete
++                        ret.first = m_permessage_deflate.init(base::m_server);
++                        if (!ret.first) {
++
++                            // TODO: support multiple extensions.
++                            // right now, because there is only one extension 
++                            // supported, it failing to negotiate means we are
++                            // done with all negotiating. In the future if more
++                            // extensions are supported a better solution will
++                            // be needed here.
++                            break;
++                        } else {
++                            ret.second += neg_ret.second;
++
++                            // continue looking for more extensions
++                            continue;
++                        }
++                        
+                     }
+                 }
+             }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/disable-tests.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/disable-tests.patch
new file mode 100644
index 0000000..342981d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.7.0/disable-tests.patch
@@ -0,0 +1,51 @@
+Description: Disable failing test_transport_asio_timers.
+Because of "address already in use" error
+/«PKGBUILDDIR»/test/transport/asio/timers.cpp(129): error in "tls_handshake_timeout": check ec == make_error_code(tls_handshake_timeout) failed [websocketpp.transport.asio.socket:8 != websocketpp.transport.asio.socket:5]
+Author: Gianfranco Costamagna <locutusofborg@debian.org>
+
+--- websocketpp-0.7.0.orig/test/transport/CMakeLists.txt
++++ websocketpp-0.7.0/test/transport/CMakeLists.txt
+@@ -1,24 +1,24 @@
+ if (OPENSSL_FOUND)
+ 
+-# Test transport integration
+-file (GLOB SOURCE integration.cpp)
+-
+-init_target (test_transport)
+-build_test (${TARGET_NAME} ${SOURCE})
+-link_boost ()
+-link_openssl()
+-final_target ()
+-set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
+-
+-# Test transport asio timers
+-file (GLOB SOURCE asio/timers.cpp)
+-
+-init_target (test_transport_asio_timers)
+-build_test (${TARGET_NAME} ${SOURCE})
+-link_boost ()
+-link_openssl()
+-final_target ()
+-set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
++## Test transport integration
++#file (GLOB SOURCE integration.cpp)
++#
++#init_target (test_transport)
++#build_test (${TARGET_NAME} ${SOURCE})
++#link_boost ()
++#link_openssl()
++#final_target ()
++#set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
++#
++## Test transport asio timers
++#file (GLOB SOURCE asio/timers.cpp)
++#
++#init_target (test_transport_asio_timers)
++#build_test (${TARGET_NAME} ${SOURCE})
++#link_boost ()
++#link_openssl()
++#final_target ()
++#set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
+ 
+ # Test transport asio security
+ file (GLOB SOURCE asio/security.cpp)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.7.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.7.0.bb
new file mode 100644
index 0000000..65fc974
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.7.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "C++/Boost Asio based websocket client/server library."
+SECTION = "libs/network"
+HOMEPAGE = "https://github.com/zaphoyd/websocketpp"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=4d168d763c111f4ffc62249870e4e0ea"
+DEPENDS = "openssl boost zlib"
+
+SRC_URI = "git://github.com/zaphoyd/websocketpp.git;protocol=https;branch=master"
+
+# tag 0.7.0
+SRCREV= "378437aecdcb1dfe62096ffd5d944bf1f640ccc3"
+
+SRC_URI += "file://0001-Fix-issue-599.patch \
+            file://9ddb300d874a30db35e3ad58f188944bef0bf31b.patch \
+            file://4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch \
+            file://disable-tests.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit cmake
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/files/0001-explicitly-disable-man-generation-disable-documentat.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/files/0001-explicitly-disable-man-generation-disable-documentat.patch
deleted file mode 100644
index b2b0e49..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/files/0001-explicitly-disable-man-generation-disable-documentat.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 41093d9634bfeddcaec866745d8d4022f4c6f8c1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Sun, 19 Feb 2017 21:01:39 +0100
-Subject: [PATCH] explicitly disable man generation --disable-documentation is
- not enough
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index c01c54f..dcdf7a2 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,6 +1,6 @@
- NULL =
- 
--SUBDIRS=po man
-+SUBDIRS=po
- 
- INCLUDES =					\
- 	-I$(top_srcdir)				\
--- 
-2.9.3
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/files/xdg-user-dirs.desktop b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/files/xdg-user-dirs.desktop
deleted file mode 100644
index a9a22d3..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/files/xdg-user-dirs.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=User folders update
-Exec=xdg-user-dirs-update
-StartupNotify=false
-NoDisplay=true
-X-GNOME-Autostart-Phase=Initialization
-X-KDE-autostart-phase=1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.15.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.15.bb
deleted file mode 100644
index c056759..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.15.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "xdg-user-dirs is a tool to help manage user directories like the desktop folder and the music folder"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = " \
-    http://user-dirs.freedesktop.org/releases/${BPN}-${PV}.tar.gz \
-    file://0001-explicitly-disable-man-generation-disable-documentat.patch \
-    file://xdg-user-dirs.desktop \
-"
-SRC_URI[md5sum] = "f5aaf5686ad7d8809a664bfb4566a54d"
-SRC_URI[sha256sum] = "20b4a751f41d0554bce3e0ce5e8d934be98cc62d48f0b90a894c3e1916552786"
-
-inherit autotools gettext
-
-EXTRA_OECONF = "--disable-documentation"
-
-do_install_append () {
-    install -d ${D}${sysconfdir}/xdg/autostart
-    install -m 644 ${WORKDIR}/xdg-user-dirs.desktop ${D}${sysconfdir}/xdg/autostart
-}
-
-CONFFILES_${PN} += " \
-    ${sysconfdir}/xdg/user-dirs.conf \
-    ${sysconfdir}/xdg/user-dirs.defaults \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.17.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.17.bb
new file mode 100644
index 0000000..e3ce926
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.17.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "xdg-user-dirs is a tool to help manage user directories like the desktop folder and the music folder"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "http://user-dirs.freedesktop.org/releases/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "e0564ec6d838e6e41864d872a29b3575"
+SRC_URI[sha256sum] = "2a07052823788e8614925c5a19ef5b968d8db734fdee656699ea4f97d132418c"
+
+inherit autotools gettext
+
+EXTRA_OECONF = "--disable-documentation"
+
+CONFFILES_${PN} += " \
+    ${sysconfdir}/xdg/user-dirs.conf \
+    ${sysconfdir}/xdg/user-dirs.defaults \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb
new file mode 100644
index 0000000..0bdafdf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Xorg drivers for xrdp."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a2523660329fdca3d954c0a87390e007"
+
+inherit autotools pkgconfig 
+
+DEPENDS = "virtual/libx11 xserver-xorg xrdp nasm-native"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "x11 pam"
+
+SRC_URI = "git://github.com/neutrinolabs/xorgxrdp.git"
+
+SRCREV = "c122544f184d4031bbae1ad80fbab554c34a9427"
+
+PV = "0.2.5"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${libdir}/xorg/modules/*"
+
+INSANE_SKIP_${PN} += "xorg-driver-abi"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch
new file mode 100644
index 0000000..5e7fca0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch
@@ -0,0 +1,33 @@
+From d705b1d666cb8713d86ea6fb2fc45c424128285a Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Fri, 1 Dec 2017 10:24:50 +0900
+Subject: [PATCH] Added  req_distinguished_name in /etc/xrdp/openssl.conf,
+ otherwise, cert.pem can't be created.
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ keygen/openssl.conf | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/keygen/openssl.conf b/keygen/openssl.conf
+index 09db6c2..f077d72 100644
+--- a/keygen/openssl.conf
++++ b/keygen/openssl.conf
+@@ -4,6 +4,14 @@ distinguished_name = req_distinguished_name
+ x509_extensions = v3_ca
+ 
+ [req_distinguished_name]
++# Certificate subject
++#countryName = US
++#stateOrProvinceName = CA
++#localityName = Sunnyvale
++#organizationName = xrdp
++#organizationalUnitName =
++commonName = XRDP
++#emailAddress =
+ 
+ [v3_ca]
+ # Extensions for a typical CA - PKIX recommendation.
+-- 
+1.8.4.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch
new file mode 100644
index 0000000..4c93647
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch
@@ -0,0 +1,148 @@
+Subject: [PATCH] Fix CVE-2017-16927
+
+sesman: scpv0, accept variable length data fields
+
+Upstream-Status: Backport 
+
+---
+ sesman/libscp/libscp_v0.c | 32 +++++++++++++++++++++++++-------
+ 1 file changed, 25 insertions(+), 7 deletions(-)
+
+diff --git a/sesman/libscp/libscp_v0.c b/sesman/libscp/libscp_v0.c
+index 5a0c8bf..5693407 100644
+--- a/sesman/libscp/libscp_v0.c
++++ b/sesman/libscp/libscp_v0.c
+@@ -161,7 +161,7 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
+     struct SCP_SESSION *session = 0;
+     tui16 sz;
+     tui32 code = 0;
+-    char buf[257];
++    char *buf = 0;
+ 
+     if (!skipVchk)
+     {
+@@ -226,27 +226,31 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
+ 
+         /* reading username */
+         in_uint16_be(c->in_s, sz);
+-        buf[sz] = '\0';
++        buf = g_new0(char, sz);
+         in_uint8a(c->in_s, buf, sz);
+-
++        buf[sz] = '\0';
+         if (0 != scp_session_set_username(session, buf))
+         {
+             scp_session_destroy(session);
+             log_message(LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting username", __LINE__);
++            g_free(buf);
+             return SCP_SERVER_STATE_INTERNAL_ERR;
+         }
++        g_free(buf);
+ 
+         /* reading password */
+         in_uint16_be(c->in_s, sz);
+-        buf[sz] = '\0';
++        buf = g_new0(char, sz);
+         in_uint8a(c->in_s, buf, sz);
+-
++        buf[sz] = '\0';
+         if (0 != scp_session_set_password(session, buf))
+         {
+             scp_session_destroy(session);
+             log_message(LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting password", __LINE__);
++            g_free(buf);
+             return SCP_SERVER_STATE_INTERNAL_ERR;
+         }
++        g_free(buf);
+ 
+         /* width */
+         in_uint16_be(c->in_s, sz);
+@@ -272,9 +276,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
+ 
+             if (sz > 0)
+             {
++                buf = g_new0(char, sz);
+                 in_uint8a(c->in_s, buf, sz);
+                 buf[sz] = '\0';
+                 scp_session_set_domain(session, buf);
++                g_free(buf);
+             }
+         }
+ 
+@@ -285,9 +291,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
+ 
+             if (sz > 0)
+             {
++                buf = g_new0(char, sz);
+                 in_uint8a(c->in_s, buf, sz);
+                 buf[sz] = '\0';
+                 scp_session_set_program(session, buf);
++                g_free(buf);
+             }
+         }
+ 
+@@ -298,9 +306,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
+ 
+             if (sz > 0)
+             {
++                buf = g_new0(char, sz);
+                 in_uint8a(c->in_s, buf, sz);
+                 buf[sz] = '\0';
+                 scp_session_set_directory(session, buf);
++                g_free(buf);
+             }
+         }
+ 
+@@ -311,9 +321,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
+ 
+             if (sz > 0)
+             {
++                buf = g_new0(char, sz);
+                 in_uint8a(c->in_s, buf, sz);
+                 buf[sz] = '\0';
+                 scp_session_set_client_ip(session, buf);
++                g_free(buf);
+             }
+         }
+     }
+@@ -332,29 +344,35 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
+         scp_session_set_type(session, SCP_GW_AUTHENTICATION);
+         /* reading username */
+         in_uint16_be(c->in_s, sz);
+-        buf[sz] = '\0';
++        buf = g_new0(char, sz);
+         in_uint8a(c->in_s, buf, sz);
++        buf[sz] = '\0';
+ 
+         /* g_writeln("Received user name: %s",buf); */
+         if (0 != scp_session_set_username(session, buf))
+         {
+             scp_session_destroy(session);
+             /* until syslog merge log_message(s_log, LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting        username", __LINE__);*/
++            g_free(buf);
+             return SCP_SERVER_STATE_INTERNAL_ERR;
+         }
++        g_free(buf);
+ 
+         /* reading password */
+         in_uint16_be(c->in_s, sz);
+-        buf[sz] = '\0';
++        buf = g_new0(char, sz);
+         in_uint8a(c->in_s, buf, sz);
++        buf[sz] = '\0';
+ 
+         /* g_writeln("Received password: %s",buf); */
+         if (0 != scp_session_set_password(session, buf))
+         {
+             scp_session_destroy(session);
+             /* until syslog merge log_message(s_log, LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting password", __LINE__); */
++            g_free(buf);
+             return SCP_SERVER_STATE_INTERNAL_ERR;
+         }
++        g_free(buf);
+     }
+     else
+     {
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch
new file mode 100644
index 0000000..deaadde
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch
@@ -0,0 +1,75 @@
+From a9c460f158d68c1b3de6a31ce853de5379977695 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Thu, 30 Nov 2017 11:10:04 +0900
+Subject: [PATCH] Fix sesman.ini and xrdp.ini
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ sesman/sesman.ini | 20 ++++++--------------
+ xrdp/xrdp.ini     | 10 ----------
+ 2 files changed, 6 insertions(+), 24 deletions(-)
+
+diff --git a/sesman/sesman.ini b/sesman/sesman.ini
+index 8225ee4..c09189e 100644
+--- a/sesman/sesman.ini
++++ b/sesman/sesman.ini
+@@ -54,12 +54,14 @@ LogLevel=DEBUG
+ EnableSyslog=1
+ SyslogLevel=DEBUG
+ 
+-[X11rdp]
+-param=X11rdp
+-param=-bs
++[Xorg]
++param=Xorg
++param=-config
++param=xrdp/xorg.conf
++param=-noreset
+ param=-nolisten
+ param=tcp
+-param=-uds
++
+ 
+ [Xvnc]
+ param=Xvnc
+@@ -70,16 +72,6 @@ param=-localhost
+ param=-dpi
+ param=96
+ 
+-[Xorg]
+-param=Xorg
+-param=-config
+-param=xrdp/xorg.conf
+-param=-noreset
+-param=-nolisten
+-param=tcp
+-param=-logfile
+-param=.xorgxrdp.%s.log
+-
+ [Chansrv]
+ ; drive redirection, defaults to xrdp_client if not set
+ FuseMountName=thinclient_drives
+diff --git a/xrdp/xrdp.ini b/xrdp/xrdp.ini
+index cb6d7c3..9f63a69 100644
+--- a/xrdp/xrdp.ini
++++ b/xrdp/xrdp.ini
+@@ -157,16 +157,6 @@ ip=127.0.0.1
+ port=-1
+ code=20
+ 
+-[X11rdp]
+-name=X11rdp
+-lib=libxup.so
+-username=ask
+-password=ask
+-ip=127.0.0.1
+-port=-1
+-xserverbpp=24
+-code=10
+-
+ [Xvnc]
+ name=Xvnc
+ lib=libvnc.so
+-- 
+1.8.4.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-the-compile-error.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-the-compile-error.patch
new file mode 100644
index 0000000..82b2790
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-the-compile-error.patch
@@ -0,0 +1,35 @@
+Subject: [PATCH] Fix the make error
+
+Fix the compile error:
+ *** No rule to make target '../librfxcodec/src/.libs/librfxencode.a', needed by 'xrdp'.  Stop..
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ xrdp/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xrdp/Makefile.am b/xrdp/Makefile.am
+index a259ef3..d5505b2 100644
+--- a/xrdp/Makefile.am
++++ b/xrdp/Makefile.am
+@@ -23,7 +23,7 @@ endif
+ if XRDP_RFXCODEC
+ AM_CPPFLAGS += -DXRDP_RFXCODEC
+ AM_CPPFLAGS += -I$(top_srcdir)/librfxcodec/include
+-XRDP_EXTRA_LIBS += $(top_builddir)/librfxcodec/src/.libs/librfxencode.a
++XRDP_EXTRA_LIBS += $(top_builddir)/librfxcodec/src/.libs/librfxencode.la
+ endif
+ 
+ if XRDP_PIXMAN
+@@ -35,7 +35,7 @@ endif
+ if XRDP_PAINTER
+ AM_CPPFLAGS += -DXRDP_PAINTER
+ AM_CPPFLAGS += -I$(top_srcdir)/libpainter/include
+-XRDP_EXTRA_LIBS += $(top_builddir)/libpainter/src/.libs/libpainter.a
++XRDP_EXTRA_LIBS += $(top_builddir)/libpainter/src/.libs/libpainter.la
+ endif
+ 
+ sbin_PROGRAMS = \
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/xrdp.sysconfig b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/xrdp.sysconfig
new file mode 100644
index 0000000..39f500a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/xrdp.sysconfig
@@ -0,0 +1,4 @@
+# put some options here
+
+XRDP_OPTIONS=""
+SESMAN_OPTIONS=""
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb
new file mode 100644
index 0000000..3ef7c98
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb
@@ -0,0 +1,99 @@
+SUMMARY = "An open source remote desktop protocol(rdp) server."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \
+"
+
+inherit distro_features_check autotools pkgconfig useradd systemd
+
+DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native"
+
+REQUIRED_DISTRO_FEATURES = "x11 pam"
+
+SRC_URI = "git://github.com/neutrinolabs/xrdp.git \
+           file://xrdp.sysconfig \
+           file://0001-Fix-sesman.ini-and-xrdp.ini.patch \
+           file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \
+           file://0001-Fix-the-compile-error.patch \
+           file://0001-Fix-of-CVE-2017-16927.patch \
+           "
+
+SRCREV = "c295dd61b882e8b56677cf12791f43634f9190b5"
+
+PV = "0.9.4+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system xrdp"
+USERADD_PARAM_${PN}  = "--system --home /var/run/xrdp -g xrdp \
+                        --no-create-home --shell /bin/false xrdp"
+
+FILES_${PN} += "${datadir}/dbus-1/services/*.service \
+                ${datadir}/dbus-1/accessibility-services/*.service "
+
+FILES_${PN}-dev += "${libdir}/xrdp/libcommon.so \
+                    ${libdir}/xrdp/libxrdp.so \
+                    ${libdir}/xrdp/libscp.so \
+                    ${libdir}/xrdp/libxrdpapi.so "
+
+EXTRA_OECONF = "--enable-pam-config=suse"
+
+do_configure_prepend() {
+    cd ${S}
+    ./bootstrap
+    cd -
+}
+
+do_compile_prepend() {
+    sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in
+}
+
+
+do_install_append() {
+	install -d ${D}${sysconfdir} 
+	install -d ${D}${sysconfdir}/xrdp
+	install -d ${D}${sysconfdir}/xrdp/pam.d
+	install -d ${D}${sysconfdir}/sysconfig/xrdp
+   
+	# deal with systemd unit files
+	install -d ${D}${systemd_unitdir}/system
+	install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service
+	install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service 
+	sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+	sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+	sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+
+	install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/
+	install -m 0644 ${S}/sesman/sesman.ini ${D}${sysconfdir}/xrdp/
+	install -m 0644 ${S}/sesman/startwm.sh ${D}${sysconfdir}/xrdp/
+	install -m 0644 ${S}/xrdp/xrdp.ini ${D}${sysconfdir}/xrdp/
+	install -m 0644 ${S}/xrdp/xrdp_keyboard.ini ${D}${sysconfdir}/xrdp/
+	install -m 0644 ${S}/instfiles/xrdp.sh ${D}${sysconfdir}/xrdp/
+	install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/
+	install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/
+	chown xrdp:xrdp ${D}${sysconfdir}/xrdp
+}
+
+SYSTEMD_SERVICE_${PN} = "xrdp.service xrdp-sesman.service"
+
+pkg_postinst_${PN}() {
+	if test -z "$D"
+	then
+		if test -x ${bindir}/xrdp-keygen
+		then
+			${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null
+                fi
+		if test ! -s ${sysconfdir}/xrdp/cert.pem
+		then
+			openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \
+			-keyout ${sysconfdir}/xrdp/key.pem \
+			-out ${sysconfdir}/xrdp/cert.pem \
+			-config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1
+			chmod 400 ${sysconfdir}/xrdp/key.pem
+		fi			
+        fi
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.11.bb
deleted file mode 100644
index d663f44b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.11.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Zile is lossy Emacs"
-HOMEPAGE = "http://zile.sourceforge.net/"
-DEPENDS = "ncurses bdwgc"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://ftp.gnu.org/gnu/zile/${BP}.tar.gz \
-           file://remove-help2man.patch \
-"
-
-SRC_URI[md5sum] = "7a460ccec64e3bec2835697b2eae533c"
-SRC_URI[sha256sum] = "1fd27bbddc61491b1fbb29a345d0d344734aa9e80cfa07b02892eedf831fa9cc"
-
-inherit autotools pkgconfig
-
-do_install_append() {
-    rm -rf ${D}${libdir}/charset.alias
-    rmdir --ignore-fail-on-non-empty ${D}${libdir} || true
-}
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
-
-PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb
new file mode 100644
index 0000000..515cf41
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Zile is lossy Emacs"
+HOMEPAGE = "http://zile.sourceforge.net/"
+DEPENDS = "ncurses bdwgc"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+SRC_URI = "http://ftp.gnu.org/gnu/zile/${BP}.tar.gz \
+           file://remove-help2man.patch \
+"
+
+SRC_URI[md5sum] = "c7d7eec93231c6878f255978d9747a73"
+SRC_URI[sha256sum] = "7a78742795ca32480f2bab697fd5e328618d9997d6f417cf1b14e9da9af26b74"
+
+inherit autotools pkgconfig
+
+do_install_append() {
+    rm -rf ${D}${libdir}/charset.alias
+    rmdir --ignore-fail-on-non-empty ${D}${libdir} || true
+}
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
+
+PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.2.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/cppunit_1.13.2.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-test/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/cunit_2.1-3.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/cunit_2.1-3.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/files/fixup-install-docdir.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/cunit/files/fixup-install-docdir.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/files/fixup-install-docdir.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-test/cunit/files/fixup-install-docdir.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cxxtest/cxxtest_4.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/cxxtest/cxxtest_4.3.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-test/cxxtest/cxxtest_4.3.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/evtest/evtest_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/evtest/evtest_git.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fbtest/fb-test_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/fbtest/fb-test_git.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/fbtest/fb-test_git.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-test/fbtest/fb-test_git.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb
index 483dc1f..48cf4e0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.0.bb
@@ -7,16 +7,13 @@
 
 PROVIDES += "gmock"
 
+S = "${WORKDIR}/git"
+SRCREV = "ec44c6c1675c25b9827aacd08c02433cccde7780"
 SRC_URI = "\
-    https://github.com/google/googletest/archive/release-${PV}.tar.gz \
+    git://github.com/google/googletest.git;protocol=https; \
     file://Add-pkg-config-support.patch \
 "
 
-SRC_URI[md5sum] = "16877098823401d1bf2ed7891d7dce36"
-SRC_URI[sha256sum] = "58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8"
-
-S = "${WORKDIR}/googletest-release-${PV}"
-
 inherit cmake
 
 ALLOW_EMPTY_${PN} = "1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
new file mode 100644
index 0000000..d604f86
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
@@ -0,0 +1,141 @@
+From 784dcd09d3f266e271d007f4fd257e85036872ca Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linaro.org>
+Date: Tue, 17 Oct 2017 10:13:20 -0500
+Subject: [PATCH] Several changes to fix musl build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+stress-{context, stackmmap}.c: Set tests to non-implemented because uses
+swapcontext, musl provide the definition but not the implementation due
+  to that functions are pre-POSIX and set to be deprecated.
+  stress-{resources, pty}.c: Doesn't include termio.h and remove stress
+  operations that uses struct termio, musl doesn't provide that struct.
+stress-malloc.c: Check for definition of M_MMAP_THRESHOLD musl doesn't
+  ptovide that constant.
+stress-madvise.c: Add static poision_count integer, definition of
+  MADV_SOFT_OFFLINE doesn't grauntee MADV_HWPOISON to be defined.
+cache.c: Define GLOB_ONLYDIR not available on MUSL.
+
+Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
+Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
+
+Upstream-status: Pending
+
+---
+ cache.c            |  4 ++++
+ stress-madvise.c   |  1 +
+ stress-malloc.c    |  2 +-
+ stress-pty.c       | 18 ------------------
+ stress-resources.c |  1 -
+ stress-stackmmap.c |  2 +-
+ 6 files changed, 7 insertions(+), 21 deletions(-)
+
+diff --git a/cache.c b/cache.c
+index fbf7674..936c1ff 100644
+--- a/cache.c
++++ b/cache.c
+@@ -28,6 +28,10 @@ typedef struct {
+ 
+ #include <glob.h>
+ 
++#ifndef GLOB_ONLYDIR
++#define GLOB_ONLYDIR    0x100
++#endif
++
+ #if defined(__linux__)
+ #define SYS_CPU_PREFIX               "/sys/devices/system/cpu"
+ #define GLOB_PATTERN SYS_CPU_PREFIX  "/cpu[0-9]*"
+diff --git a/stress-madvise.c b/stress-madvise.c
+index 9e71e11..ddf8d2d 100644
+--- a/stress-madvise.c
++++ b/stress-madvise.c
+@@ -147,6 +147,7 @@ static int stress_random_advise(const args_t *args)
+ #if defined(MADV_SOFT_OFFLINE)
+ 	if (advise == MADV_SOFT_OFFLINE) {
+ 		static int soft_offline_count;
++		static int poison_count;
+ 
+ 		/* ..and minimize number of soft offline pages */
+ 		if ((soft_offline_count >= NUM_SOFT_OFFLINE_MAX) ||
+diff --git a/stress-malloc.c b/stress-malloc.c
+index a46b8c6..427827a 100644
+--- a/stress-malloc.c
++++ b/stress-malloc.c
+@@ -99,7 +99,7 @@ int stress_malloc(const args_t *args)
+ 			malloc_max = MIN_MALLOC_MAX;
+ 	}
+ 
+-#if defined(__GNUC__) && defined(__linux__)
++#if defined(__GNUC__) && defined(__linux__) && defined(M_MMAP_THRESHOLD)
+ 	if (get_setting("malloc-threshold", &malloc_threshold))
+ 		(void)mallopt(M_MMAP_THRESHOLD, (int)malloc_threshold);
+ #endif
+diff --git a/stress-pty.c b/stress-pty.c
+index 1bd1fbd..b1fe573 100644
+--- a/stress-pty.c
++++ b/stress-pty.c
+@@ -26,7 +26,6 @@
+ 
+ #if defined(__linux__)
+ 
+-#include <termio.h>
+ #include <termios.h>
+ 
+ typedef struct {
+@@ -108,7 +107,6 @@ int stress_pty(const args_t *args)
+ 		 */
+ 		for (i = 0; i < n; i++) {
+ 			struct termios ios;
+-			struct termio io;
+ 			struct winsize ws;
+ 			int arg;
+ 
+@@ -130,22 +128,6 @@ int stress_pty(const args_t *args)
+ 			if (ioctl(ptys[i].slave, TCSETSF, &ios) < 0)
+ 				pr_fail_err("ioctl TCSETSF on slave pty");
+ #endif
+-#if defined(TCGETA)
+-			if (ioctl(ptys[i].slave, TCGETA, &io) < 0)
+-				pr_fail_err("ioctl TCGETA on slave pty");
+-#endif
+-#if defined(TCSETA)
+-			if (ioctl(ptys[i].slave, TCSETA, &io) < 0)
+-				pr_fail_err("ioctl TCSETA on slave pty");
+-#endif
+-#if defined(TCSETAW)
+-			if (ioctl(ptys[i].slave, TCSETAW, &io) < 0)
+-				pr_fail_err("ioctl TCSETAW on slave pty");
+-#endif
+-#if defined(TCSETAF)
+-			if (ioctl(ptys[i].slave, TCSETAF, &io) < 0)
+-				pr_fail_err("ioctl TCSETAF on slave pty");
+-#endif
+ #if defined(TIOCGLCKTRMIOS)
+ 			if (ioctl(ptys[i].slave, TIOCGLCKTRMIOS, &ios) < 0)
+ 				pr_fail_err("ioctl TIOCGLCKTRMIOS on slave pty");
+diff --git a/stress-resources.c b/stress-resources.c
+index 958c99a..af79abd 100644
+--- a/stress-resources.c
++++ b/stress-resources.c
+@@ -31,7 +31,6 @@
+ #include <sys/inotify.h>
+ #endif
+ #if defined(__linux__)
+-#include <termio.h>
+ #include <termios.h>
+ #endif
+ #if defined(HAVE_LIB_PTHREAD) && defined(__linux__)
+diff --git a/stress-stackmmap.c b/stress-stackmmap.c
+index 9c83a69..2984f09 100644
+--- a/stress-stackmmap.c
++++ b/stress-stackmmap.c
+@@ -24,7 +24,7 @@
+  */
+ #include "stress-ng.h"
+ 
+-#if defined(__linux__)
++#if defined(__linux__) && False
+ 
+ #include <ucontext.h>
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0002-stress-fcntl-fix-build-for-musl.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0002-stress-fcntl-fix-build-for-musl.patch
new file mode 100644
index 0000000..ed3287e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0002-stress-fcntl-fix-build-for-musl.patch
@@ -0,0 +1,25 @@
+From faadbc147394cea9278bc2494f33e3521d88e742 Mon Sep 17 00:00:00 2001
+From: Tim Orling <timothy.t.orling@linux.intel.com>
+Date: Tue, 9 Jan 2018 18:38:45 -0800
+Subject: [PATCH] stress-fcntl: fix build for musl
+
+Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
+
+Upstream-status: Pending
+
+---
+ stress-fcntl.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/stress-fcntl.c b/stress-fcntl.c
+index 2ea867b..e91b345 100644
+--- a/stress-fcntl.c
++++ b/stress-fcntl.c
+@@ -415,6 +415,7 @@ ofd_lock_abort:	{ /* Nowt */ }
+ #if (defined(F_GET_FILE_RW_HINT) && defined(F_SET_FILE_RW_HINT)) | \
+     (defined(F_GET_RW_HINT) && defined(F_SET_RW_HINT))
+ 	{
++		int ret;
+ 		size_t i;
+ 		unsigned long hint;
+ 		static const unsigned long hints[] = {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.14.bb
new file mode 100644
index 0000000..7fab430
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.14.bb
@@ -0,0 +1,25 @@
+SUMMARY = "A tool to load and stress a computer system"
+HOMEPAGE = "http://kernel.ubuntu.com/~cking/stress-ng/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "zlib libaio"
+
+SRC_URI = "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
+           file://0002-stress-fcntl-fix-build-for-musl.patch \
+          "
+SRC_URI_append_libc-musl = " \
+    file://0001-Several-changes-to-fix-musl-build.patch \
+    "
+SRC_URI[md5sum] = "1f8b6c2c2830704d2a2814c16082d48e"
+SRC_URI[sha256sum] = "02cac34a5cb041197af60c1867844c6cbb089a6d10a38cdcf7b8f27bfaa6ef8f"
+
+UPSTREAM_CHECK_URI ?= "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/"
+UPSTREAM_CHECK_REGEX ?= "(?P<pver>\d+(\.\d+)+)\.tar"
+
+CFLAGS += "-Wall -Wextra -DVERSION='"$(VERSION)"'"
+
+do_install_append() {
+    install -d ${D}${bindir}
+    install -m 755 ${S}/stress-ng ${D}${bindir}/stress-ng
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/testfloat/testfloat_3a.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-extended/testfloat/testfloat_3a.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
diff --git a/import-layers/meta-openembedded/meta-perl/README b/import-layers/meta-openembedded/meta-perl/README
index cc965af..67f2910 100644
--- a/import-layers/meta-openembedded/meta-perl/README
+++ b/import-layers/meta-openembedded/meta-perl/README
@@ -52,7 +52,7 @@
 This layer depends on:
 
   URI: git://git.openembedded.org/openembedded-core
-  branch: rocko 
+  branch: master
   revision: HEAD
   prio: default
 
@@ -75,13 +75,14 @@
 -----------
 
 Send patches / pull requests to openembedded-devel@lists.openembedded.org with
-'[meta-perl][rocko]' in the subject.
+'[meta-perl]' in the subject.
 
 When sending single patches, please using something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-perl][rocko][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-perl][PATCH'
 
-rocko Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
+Layer maintainers:
+    Hongxu Jia <hongxu.jia@windriver.com>
+    Tim "moto-timo" Orling <ticotimo@gmail.com>
 
 License
 -------
diff --git a/import-layers/meta-openembedded/meta-perl/conf/layer.conf b/import-layers/meta-openembedded/meta-perl/conf/layer.conf
index a861c3e..ece6dd0 100644
--- a/import-layers/meta-openembedded/meta-perl/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-perl/conf/layer.conf
@@ -14,3 +14,5 @@
 LAYERVERSION_perl-layer = "1"
 
 LAYERDEPENDS_perl-layer = "core openembedded-layer"
+
+LAYERSERIES_COMPAT_perl-layer = "sumo"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.36.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.36.bb
deleted file mode 100644
index 8f26ab0..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.36.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "CGI.pm is a stable, complete and mature solution for processing and preparing \
-HTTP requests and responses. Major features including processing form \
-submissions, file uploads, reading and writing cookies, query string generation \
-and manipulation, and processing and preparing HTTP headers."
-HOMEPAGE = "http://search.cpan.org/~leejo/CGI-4.28/lib/CGI.pod"
-SECTION = "libs"
-LICENSE = "Artistic-2.0 | GPL-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2e9769f0a2613a98bc7fce15dee0c533"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "48566d81f430a7f755bb4d8f426ce35d"
-SRC_URI[sha256sum] = "fefe84d4f2461e867f9be80f3f988e17bcbbcb4e306952cf2fd1dea7e4515490"
-
-S = "${WORKDIR}/CGI-${PV}"
-
-inherit cpan
-
-RPROVIDES_${PN} += "perl-module-cgi"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb
new file mode 100644
index 0000000..db16d83
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "CGI.pm is a stable, complete and mature solution for processing and preparing \
+HTTP requests and responses. Major features including processing form \
+submissions, file uploads, reading and writing cookies, query string generation \
+and manipulation, and processing and preparing HTTP headers."
+HOMEPAGE = "http://search.cpan.org/~leejo/CGI-4.28/lib/CGI.pod"
+SECTION = "libs"
+LICENSE = "Artistic-2.0 | GPL-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2e9769f0a2613a98bc7fce15dee0c533"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "0aeb8563d533e7f83724ed068b5bfc37"
+SRC_URI[sha256sum] = "8c58f4a529bb92a914b22b7e64c5e31185c9854a4070a6dfad44fe5cc248e7d4"
+
+S = "${WORKDIR}/CGI-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} += "\
+    perl-module-deprecate \
+    perl-module-if \
+"
+
+RPROVIDES_${PN} += "perl-module-cgi"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb
index 0b27b5c..c72e536 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb
@@ -25,6 +25,8 @@
 SRC_URI[md5sum] = "8f835ddacb9a4a92a52bbe2d24d18a8e"
 SRC_URI[sha256sum] = "3929a6dbd8d71630f0cb57f85dcef9588cd7ac4c9fa12db79df77b9d3a4d7269"
 
+UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
 S = "${WORKDIR}/DBD-SQLite-${PV}"
 
 inherit cpan
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.83.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.83.bb
deleted file mode 100644
index ee8c67d..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.83.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "Encode - character encodings"
-DESCRIPTION = "The \"Encode\" module provides the interfaces between \
-Perl's strings and the rest of the system.  Perl strings are sequences \
-of characters."
-
-AUTHOR = "Dan Kogai <dankogai+cpan@gmail.com>"
-HOMEPAGE = "https://metacpan.org/release/Encode"
-SECTION = "lib"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://META.json;md5=fdbebc82e925d8acbce42cfad131c4d1"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
-SRC_URI[md5sum] = "0d3f59e8ea704497647eded665919053"
-SRC_URI[sha256sum] = "5d3a90e30aabe78dfcf5e816ffb1da1e33475892dbd0075320315cdce5682988"
-
-S = "${WORKDIR}/Encode-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} += " perl-module-bytes \
-                    perl-module-constant \
-                    perl-module-xsloader \
-"
-
-RPROVIDES_${PN} += "libencode-alias-perl \
-                    libencode-byte-perl \
-                    libencode-cjkconstants-perl \
-                    libencode-cn-perl \
-                    libencode-cn-hz-perl \
-                    libencode-config-perl \
-                    libencode-ebcdic-perl \
-                    libencode-encoder-perl \
-                    libencode-encoding-perl \
-                    libencode-gsm0338-perl \
-                    libencode-guess-perl \
-                    libencode-jp-perl \
-                    libencode-jp-h2z-perl \
-                    libencode-jp-jis7-perl \
-                    libencode-kr-perl \
-                    libencode-kr-2022_kr-perl \
-                    libencode-mime-header-perl \
-                    libencode-mime-name-perl \
-                    libencode-symbol-perl \
-                    libencode-tw-perl \
-                    libencode-unicode--perl \
-                    libencode-unicode-utf7-perl \
-                    libencoding-perl \
-                    libencode-internal-perl \
-                    libencode-mime-header-iso_2022_jp-perl \
-                    libencode-utf8-perl \
-                    libencode-utf_ebcdic-perl \
-                    "
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb
new file mode 100644
index 0000000..9861c56
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb
@@ -0,0 +1,68 @@
+# NOTE:
+#    You should use perl-module-encode rather than this package
+#    unless you specifically need a version newer than what is
+#    provided by perl.
+
+SUMMARY = "Encode - character encodings"
+DESCRIPTION = "The \"Encode\" module provides the interfaces between \
+Perl's strings and the rest of the system.  Perl strings are sequences \
+of characters."
+
+AUTHOR = "Dan Kogai <dankogai+cpan@gmail.com>"
+HOMEPAGE = "https://metacpan.org/release/Encode"
+SECTION = "lib"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://META.json;md5=d8e909447b983532b2b460c830e7a7e4"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
+SRC_URI[md5sum] = "f995e0eb9e52d01ed57abe835bf3ccb6"
+SRC_URI[sha256sum] = "acb3a4af5e3ee38f94de8baa7454e0b836a0649e7ac4180f28dfca439ad60cff"
+
+UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/Encode-${PV}"
+
+inherit cpan
+
+#  file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+#  file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+#  file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+RCONFLICTS_${PN} = "perl-misc"
+
+RDEPENDS_${PN} += " perl-module-bytes \
+                    perl-module-constant \
+                    perl-module-parent \
+                    perl-module-storable \
+                    perl-module-xsloader \
+"
+
+RPROVIDES_${PN} += "libencode-alias-perl \
+                    libencode-byte-perl \
+                    libencode-cjkconstants-perl \
+                    libencode-cn-perl \
+                    libencode-cn-hz-perl \
+                    libencode-config-perl \
+                    libencode-ebcdic-perl \
+                    libencode-encoder-perl \
+                    libencode-encoding-perl \
+                    libencode-gsm0338-perl \
+                    libencode-guess-perl \
+                    libencode-jp-perl \
+                    libencode-jp-h2z-perl \
+                    libencode-jp-jis7-perl \
+                    libencode-kr-perl \
+                    libencode-kr-2022_kr-perl \
+                    libencode-mime-header-perl \
+                    libencode-mime-name-perl \
+                    libencode-symbol-perl \
+                    libencode-tw-perl \
+                    libencode-unicode-perl \
+                    libencode-unicode-utf7-perl \
+                    libencoding-perl \
+                    libencode-internal-perl \
+                    libencode-mime-header-iso_2022_jp-perl \
+                    libencode-utf8-perl \
+                    libencode-utf_ebcdic-perl \
+                    "
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.09.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.09.bb
deleted file mode 100644
index d13cb03..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.09.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "ExtUtils::CppGuess - guess C++ compiler and flags"
-DESCRIPTION = "ExtUtils::CppGuess attempts to guess the system's C++ \
-compiler that is compatible with the C compiler that your perl was built \
-with. \
-It can generate the necessary options to the Module::Build constructor or \
-to ExtUtils::MakeMaker's WriteMakefile function."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~smueller/ExtUtils-CppGuess/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=81;endline=84;md5=84c0390b90ea8c6702ce659b67bed699"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETJ/ExtUtils-CppGuess-${PV}.tar.gz"
-SRC_URI[md5sum] = "f8ada38ee4ad86a4f1e20d8525ce0c99"
-SRC_URI[sha256sum] = "48625195a88c0f2ddc37bbd7a06346aa68ffb6948ba78da3aea47c0db2540f65"
-
-S = "${WORKDIR}/ExtUtils-CppGuess-${PV}"
-
-inherit cpan
-
-do_install () {
-        cpan_do_install
-}
-
-RDEPENDS_${PN} = " libcapture-tiny-perl \
-                   perl-module-scalar-util \
-                   perl-module-io-file \
-                   perl-module-extutils-makemaker \
-                   perl-module-file-spec \
-                   perl-module-exporter \
-                   perl-module-carp \
-                   perl-module-file-temp \
-                   perl-module-lib \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.12.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.12.bb
new file mode 100644
index 0000000..99df6f3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.12.bb
@@ -0,0 +1,37 @@
+SUMMARY = "ExtUtils::CppGuess - guess C++ compiler and flags"
+DESCRIPTION = "ExtUtils::CppGuess attempts to guess the system's C++ \
+compiler that is compatible with the C compiler that your perl was built \
+with. \
+It can generate the necessary options to the Module::Build constructor or \
+to ExtUtils::MakeMaker's WriteMakefile function."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~smueller/ExtUtils-CppGuess/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=81;endline=84;md5=84c0390b90ea8c6702ce659b67bed699"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETJ/ExtUtils-CppGuess-${PV}.tar.gz"
+SRC_URI[md5sum] = "28be49072585b25df87e54180f741a4d"
+SRC_URI[sha256sum] = "31c47b5b15e3e9fd5ae7b35881a0fffd26a2983b241e7e3a1bc340d6d446186b"
+
+S = "${WORKDIR}/ExtUtils-CppGuess-${PV}"
+
+inherit cpan
+
+do_install () {
+        cpan_do_install
+}
+
+RDEPENDS_${PN} = " libcapture-tiny-perl \
+                   perl-module-scalar-util \
+                   perl-module-io-file \
+                   perl-module-extutils-makemaker \
+                   perl-module-file-spec \
+                   perl-module-exporter \
+                   perl-module-carp \
+                   perl-module-file-temp \
+                   perl-module-lib \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb
deleted file mode 100644
index ba5788a..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Perl library for transparent SSL"
-DESCRIPTION = "This module is a true drop-in replacement for IO::Socket::INET that \
-uses SSL to encrypt data before it is transferred to a remote server \
-or client. IO::Socket::SSL supports all the extra features that one \
-needs to write a full-featured SSL client or server application: \
-multiple SSL contexts, cipher selection, certificate verification, and \
-SSL version selection. As an extra bonus, it works perfectly with \
-mod_perl."
-HOMEPAGE = "http://search.cpan.org/dist/IO-Socket-SSL/"
-SECTION = "libs"
-
-LICENSE = "Artistic-1.0|GPLv1+"
-LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
-
-RDEPENDS_${PN} += "perl-module-scalar-util libnet-ssleay-perl"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-${PV}.tar.gz \
-           file://run-ptest \
-          "
-SRC_URI[md5sum] = "2a6268bb42da81e69d1c1feb2fcb0eea"
-SRC_URI[sha256sum] = "acdb67b5b63aea5b7e70c3e4c70a16128810329592b63753a38c794aff76a1dd"
-
-S = "${WORKDIR}/IO-Socket-SSL-${PV}"
-
-inherit cpan ptest
-
-do_install_append () {
-    mkdir -p ${D}${docdir}/${PN}/
-    cp ${S}/BUGS ${D}${docdir}/${PN}/
-    cp ${S}/Changes ${D}${docdir}/${PN}/
-    cp ${S}/README ${D}${docdir}/${PN}/
-    cp -pRP ${S}/docs ${D}${docdir}/${PN}/
-    cp -pRP ${S}/certs ${D}${docdir}/${PN}/
-    cp -pRP ${S}/example ${D}${docdir}/${PN}/
-    cp -pRP ${S}/util ${D}${docdir}/${PN}/
-}
-
-do_install_ptest () {
-    cp -r ${B}/t ${D}${PTEST_PATH}
-    cp -r ${B}/certs ${D}${PTEST_PATH}
-}
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.054.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.054.bb
new file mode 100644
index 0000000..ea78bc4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.054.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Perl library for transparent SSL"
+DESCRIPTION = "This module is a true drop-in replacement for IO::Socket::INET that \
+uses SSL to encrypt data before it is transferred to a remote server \
+or client. IO::Socket::SSL supports all the extra features that one \
+needs to write a full-featured SSL client or server application: \
+multiple SSL contexts, cipher selection, certificate verification, and \
+SSL version selection. As an extra bonus, it works perfectly with \
+mod_perl."
+HOMEPAGE = "http://search.cpan.org/dist/IO-Socket-SSL/"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
+
+RDEPENDS_${PN} += "\
+    libnet-ssleay-perl \
+    perl-module-autoloader \
+    perl-module-scalar-util \
+    perl-module-io-socket \
+"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-${PV}.tar.gz \
+           file://run-ptest \
+          "
+SRC_URI[md5sum] = "e1b412e28d107c716e7ca637e2b7f8bd"
+SRC_URI[sha256sum] = "02ea04e9a336a7d3ca9aa604c0c5b5aaf3efa513cefecfc73cc79ceeb5131e4b"
+
+S = "${WORKDIR}/IO-Socket-SSL-${PV}"
+
+inherit cpan ptest
+
+do_install_append () {
+    mkdir -p ${D}${docdir}/${PN}/
+    cp ${S}/BUGS ${D}${docdir}/${PN}/
+    cp ${S}/Changes ${D}${docdir}/${PN}/
+    cp ${S}/README ${D}${docdir}/${PN}/
+    cp -pRP ${S}/docs ${D}${docdir}/${PN}/
+    cp -pRP ${S}/certs ${D}${docdir}/${PN}/
+    cp -pRP ${S}/example ${D}${docdir}/${PN}/
+}
+
+do_install_ptest () {
+    cp -r ${B}/t ${D}${PTEST_PATH}
+    cp -r ${B}/certs ${D}${PTEST_PATH}
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.13.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.13.bb
deleted file mode 100644
index fd51c16..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.13.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "MIME::Types - Definition of MIME types"
-DESCRIPTION = "MIME types are used in MIME compliant lines, for instance \
-as part of e-mail and HTTP traffic, to indicate the type of content which \
-is transmitted. Sometimes real knowledge about a mime-type is need.\
-\n\
-This module maintains a set of MIME::Type objects, which each describe \
-one known mime type."
-HOMEPAGE = "http://search.cpan.org/~markov/MIME-Types-${PV}"
-SECTION = "libraries"
-
-LICENSE = "Artistic-1.0|GPLv1+"
-LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MIME-Types-${PV}.tar.gz \
-           file://run-ptest \
-          "
-SRC_URI[md5sum] = "f2892ae9e6ea660a58746699c3924817"
-SRC_URI[sha256sum] = "99c3376357bbe22cc8b6c78f560aa18d81621287695cd629008a6c4e66b77bf8"
-
-S = "${WORKDIR}/MIME-Types-${PV}"
-
-inherit cpan ptest
-
-do_install_ptest () {
-    cp -r ${B}/t ${D}${PTEST_PATH}
-}
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb
new file mode 100644
index 0000000..4147530
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmime/libmime-types-perl_2.17.bb
@@ -0,0 +1,42 @@
+SUMMARY = "MIME::Types - Definition of MIME types"
+DESCRIPTION = "MIME types are used in MIME compliant lines, for instance \
+as part of e-mail and HTTP traffic, to indicate the type of content which \
+is transmitted. Sometimes real knowledge about a mime-type is need.\
+\n\
+This module maintains a set of MIME::Type objects, which each describe \
+one known mime type."
+HOMEPAGE = "http://search.cpan.org/~markov/MIME-Types-${PV}"
+SECTION = "libraries"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MIME-Types-${PV}.tar.gz \
+           file://run-ptest \
+          "
+SRC_URI[md5sum] = "6f1441addab947137bac92c379a47ba3"
+SRC_URI[sha256sum] = "e04ed7d42f1ff3150a303805f2689c28f80b92c511784d4641cb7f040d3e8ff6"
+
+S = "${WORKDIR}/MIME-Types-${PV}"
+
+inherit cpan ptest
+
+RDEPENDS_${PN} = "\
+    perl-module-base \
+    perl-module-file-basename \
+    perl-module-file-spec \
+    perl-module-overload \
+"
+
+RDEPENDS_${PN}-ptest = "perl-module-lib perl-module-test-more"
+#RSUGGESTS_${PN}-ptest = "libmojo-base-perl"
+
+do_install () {
+    cpan_do_install
+    install -d ${D}${bindir}
+    install -m 755 ${S}/bin/collect-types ${D}${bindir}/collect-types
+}
+
+do_install_ptest () {
+    cp -r ${B}/t ${D}${PTEST_PATH}
+}
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.2.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.2.bb
index c73a15a..aed65d3 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.2.bb
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.2.bb
@@ -17,9 +17,14 @@
 LIC_FILES_CHKSUM = "file://README;beginline=322;endline=325;md5=086450ce010f6fda25db0b38fcc41086"
 
 SRCNAME = "Module-Pluggable"
-SRC_URI = "https://github.com/moto-timo/${SRCNAME}/archive/${PV}.tar.gz"
-SRC_URI[md5sum] = "e32475d6ff5843f738cedacd3b7a2cdb"
-SRC_URI[sha256sum] = "58c62292eea6d06959eba1b97598650813211265403242d57efb2f605c96059f"
+SRC_URI = "${CPAN_MIRROR}/authors/id/S/SI/SIMONW/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "87ce2971662efd0b69a81bb4dc9ea76c"
+SRC_URI[sha256sum] = "b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df"
+
+PR = "r1"
+
+UPSTREAM_CHECK_REGEX = "Module\-Pluggable\-(?P<pver>(\d+\.\d+))"
+UPSTREAM_CHECK_URI = "https://metacpan.org/release/${SRCNAME}"
 
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.015.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.015.bb
deleted file mode 100644
index b92842c..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.015.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Module::Runtime - runtime module handling"
-DESCRIPTION = "The functions exported by this module deal with runtime \
-handling of Perl modules, which are normally handled at compile time. This \
-module avoids using any other modules, so that it can be used in low-level \
-infrastructure. \
-The parts of this module that work with module names apply the same syntax \
-that is used for barewords in Perl source. In principle this syntax can vary \
-between versions of Perl, and this module applies the syntax of the Perl on \
-which it is running. In practice the usable syntax hasn't changed yet, but \
-there's a good chance of it changing in Perl 5.18. \
-The functions of this module whose purpose is to load modules include \
-workarounds for three old Perl core bugs regarding require. These workarounds \
-are applied on any Perl version where the bugs exist, except for a case where \
-one of the bugs cannot be adequately worked around in pure Perl."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~zefram/Module-Runtime/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=45;endline=46;md5=62e24a93342fede7221d66335c716f34"
-
-SRCNAME = "module-runtime"
-SRC_URI = "https://github.com/moto-timo/${SRCNAME}/archive/${PV}.tar.gz"
-SRC_URI[md5sum] = "ad6ca179c978aa02ac8aa29244ef9beb"
-SRC_URI[sha256sum] = "59effa82b3f6986d28de6154a8f2428157691004d951f936a81e851f4dbcb045"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-test-more \
-                   perl-module-strict \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.016.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.016.bb
new file mode 100644
index 0000000..89f0f70
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.016.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Module::Runtime - runtime module handling"
+DESCRIPTION = "The functions exported by this module deal with runtime \
+handling of Perl modules, which are normally handled at compile time. This \
+module avoids using any other modules, so that it can be used in low-level \
+infrastructure. \
+The parts of this module that work with module names apply the same syntax \
+that is used for barewords in Perl source. In principle this syntax can vary \
+between versions of Perl, and this module applies the syntax of the Perl on \
+which it is running. In practice the usable syntax hasn't changed yet, but \
+there's a good chance of it changing in Perl 5.18. \
+The functions of this module whose purpose is to load modules include \
+workarounds for three old Perl core bugs regarding require. These workarounds \
+are applied on any Perl version where the bugs exist, except for a case where \
+one of the bugs cannot be adequately worked around in pure Perl."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~zefram/Module-Runtime/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=36;endline=44;md5=9416434672a57853d6181f3da9094963"
+
+SRCNAME = "Module-Runtime"
+SRC_URI = "${CPAN_MIRROR}/authors/id/Z/ZE/ZEFRAM/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "d3d47222fa2e3dfcb4526f6cc8437b20"
+SRC_URI[sha256sum] = "68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024"
+
+UPSTREAM_CHECK_REGEX = "Module\-Runtime\-(?P<pver>(\d+\.\d+)).tar"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-test-more \
+                   perl-module-strict \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003002.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003002.bb
deleted file mode 100644
index a0fe492..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003002.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Moo - Minimalist Object Orientation (with Moose compatibility)"
-DESCRIPTION = "This module us an extremely light-weight subset of \"Moose\" \
-optimised for rapid startup and \"pay only for what you use\"."
-
-SECTION = "libs"
-
-HOMEPAGE = "http://metapan.org/release/Moo/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=731;endline=776;md5=27efedd175eeaddbd18f4e3572bd72a8"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Moo-${PV}.tar.gz"
-SRC_URI[md5sum] = "e9f1f3159555ecebcd062e998f297a94"
-SRC_URI[sha256sum] = "f3e9741e79baa63e89f5a08706cd80d18c0a5a37e3d898847e002310e06582f1"
-
-S = "${WORKDIR}/Moo-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " libclass-method-modifiers-perl \
-                   libdevel-globaldestruction-perl \
-                   libmodule-runtime-perl \
-                   librole-tiny-perl \
-                   perl-module-constant \
-                   perl-module-exporter \
-                   perl-module-mro \
-                   perl-module-scalar-util \
-"
-
-RPROVIDES_${PN} = " libmethod-inliner-perl \
-                    libmethod-generate-accessor-perl \
-                    libmethod-generate-buildall-perl \
-                    libmethod-generate-constructor-perl \
-                    libmethod-generate-demolishall-perl \
-                    libmoo-perl \
-                    libmoo-handlemoose-perl \
-                    libmoo-handlemoose-fakemetaclass-perl \
-                    libmoo-object-perl \
-                    libmoo-role-perl \
-                    libsub-defer-perl \
-                    libsub-quote-perl \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003004.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003004.bb
new file mode 100644
index 0000000..a260ab8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libmoo/libmoo-perl_2.003004.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Moo - Minimalist Object Orientation (with Moose compatibility)"
+DESCRIPTION = "This module us an extremely light-weight subset of \"Moose\" \
+optimised for rapid startup and \"pay only for what you use\"."
+
+SECTION = "libs"
+
+HOMEPAGE = "http://metapan.org/release/Moo/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=731;endline=776;md5=27efedd175eeaddbd18f4e3572bd72a8"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Moo-${PV}.tar.gz"
+SRC_URI[md5sum] = "d4fcd0f240033198571fcc81ce7c5f15"
+SRC_URI[sha256sum] = "f8bbb625f8e963eabe05cff9048fdd72bdd26777404ff2c40bc690f558be91e1"
+
+S = "${WORKDIR}/Moo-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " libclass-method-modifiers-perl \
+                   libdevel-globaldestruction-perl \
+                   libmodule-runtime-perl \
+                   librole-tiny-perl \
+                   perl-module-constant \
+                   perl-module-exporter \
+                   perl-module-mro \
+                   perl-module-scalar-util \
+"
+
+RPROVIDES_${PN} = " libmethod-inliner-perl \
+                    libmethod-generate-accessor-perl \
+                    libmethod-generate-buildall-perl \
+                    libmethod-generate-constructor-perl \
+                    libmethod-generate-demolishall-perl \
+                    libmoo-perl \
+                    libmoo-handlemoose-perl \
+                    libmoo-handlemoose-fakemetaclass-perl \
+                    libmoo-object-perl \
+                    libmoo-role-perl \
+                    libsub-defer-perl \
+                    libsub-quote-perl \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.10.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.10.bb
deleted file mode 100644
index 0d89844..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.10.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "This package contains the DNS.pm module with friends."
-HOMEPAGE = "http://www.net-dns.org/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-
-LIC_FILES_CHKSUM = "file://README;md5=92d93d8c5bf22de77578531e283dd219"
-
-DEPENDS += "perl"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "4fa45b0dfe79667453c1553e16e52c2a"
-SRC_URI[sha256sum] = "ebe53e7f433138fb9a7845b4edae6b8f4dc227da97eaf6b347584816ec63a525"
-
-S = "${WORKDIR}/Net-DNS-${PV}"
-
-EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
-
-inherit cpan
-
-do_compile() {
-    export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
-    cpan_do_compile
-}
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.14.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.14.bb
new file mode 100644
index 0000000..efaa7f7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.14.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "This package contains the DNS.pm module with friends."
+HOMEPAGE = "http://www.net-dns.org/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;md5=92d93d8c5bf22de77578531e283dd219"
+
+DEPENDS += "perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "0da1099c0a3548d36ea9e31d5bb9e122"
+SRC_URI[sha256sum] = "83c38a594eeb2c85d66e60047a0f5b403f34bd92a5d13606f02e828d450299fc"
+
+S = "${WORKDIR}/Net-DNS-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+
+RDEPENDS_${PN} = "perl-module-integer"
+
+do_compile() {
+    export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+    cpan_do_compile
+}
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.81.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.81.bb
deleted file mode 100644
index a861b69..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.81.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Net::SSLeay - Perl extension for using OpenSSL"
-DESCRIPTION = "This module offers some high level convenience functions for accessing \
-web pages on SSL servers (for symmetry, same API is offered for \
-accessing http servers, too), a sslcat() function for writing your own \
-clients, and finally access to the SSL api of SSLeay/OpenSSL package \
-so you can write servers or clients for more complicated applications."
-HOMEPAGE = "http://search.cpan.org/dist/Net-SSLeay/"
-SECTION = "libs"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=274;endline=294;md5=67d67095d83e339da538a082fad5f38e"
-
-DEPENDS = "openssl zlib openssl-native"
-RDEPENDS_${PN} += "perl-module-carp \
-                   perl-module-errno \
-                   perl-module-extutils-makemaker \
-                   perl-module-mime-base64 \
-                   perl-module-socket \
-                  "
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-${PV}.tar.gz \
-           file://run-ptest \
-          "
-SRC_URI[md5sum] = "71932ce34d4db44de8d00399c3405792"
-SRC_URI[sha256sum] = "00cbb6174e628b42178e1445c9fd5a3c5ae2cfd6a5a43e03610ba14786f21b7d"
-
-S = "${WORKDIR}/Net-SSLeay-${PV}"
-
-inherit cpan ptest
-
-EXTRA_CPANFLAGS = "LIBS='-L=${STAGING_LIBDIR} -L=${STAGING_BASELIBDIR}' \
-                   INC=-I=${STAGING_INCDIR} \
-                   '-lssl -lcrypto -lz' \
-                  "
-
-do_install_ptest() {
-    cp -r ${B}/t ${D}${PTEST_PATH}
-}
-
-BBCLASSEXTEND = "native"
-
-FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Net/SSLeay/.debug/"
-
-RDEPENDS_${PN}-ptest = " perl"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.84.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.84.bb
new file mode 100644
index 0000000..cfecef9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.84.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Net::SSLeay - Perl extension for using OpenSSL"
+DESCRIPTION = "This module offers some high level convenience functions for accessing \
+web pages on SSL servers (for symmetry, same API is offered for \
+accessing http servers, too), a sslcat() function for writing your own \
+clients, and finally access to the SSL api of SSLeay/OpenSSL package \
+so you can write servers or clients for more complicated applications."
+HOMEPAGE = "http://search.cpan.org/dist/Net-SSLeay/"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=274;endline=294;md5=67d67095d83e339da538a082fad5f38e"
+
+DEPENDS = "openssl zlib openssl-native"
+RDEPENDS_${PN} += "\
+    libssl \
+    libcrypto \
+    perl-module-carp \
+    perl-module-errno \
+    perl-module-extutils-makemaker \
+    perl-module-mime-base64 \
+    perl-module-socket \
+    zlib \
+"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-${PV}.tar.gz \
+           file://run-ptest \
+          "
+SRC_URI[md5sum] = "cfbe968487149626978f427cc9fb8c77"
+SRC_URI[sha256sum] = "823ec3cbb428309d6a9e56f362a9300693ce3215b7fede109adb7be361fff177"
+
+S = "${WORKDIR}/Net-SSLeay-${PV}"
+
+inherit cpan ptest
+
+export OPENSSL_PREFIX="${STAGING_LIBDIR}"
+
+EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR} LIBS='-L${STAGING_LIBDIR} -lcrypto -lssl -L${STAGING_BASELIBDIR} -lz'"
+
+do_install_ptest() {
+    cp -r ${B}/t ${D}${PTEST_PATH}
+}
+
+BBCLASSEXTEND = "native"
+
+FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Net/SSLeay/.debug/"
+
+RDEPENDS_${PN}-ptest = " perl"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000005.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000005.bb
deleted file mode 100644
index f684f68..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000005.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Role::Tiny - Roles. Like a nouvelle cousine portion size of Moose."
-DESCRIPTION = "\"Role::Tiny\" is a minimalist role composition tool."
-
-SECTION = "libs"
-
-HOMEPAGE = "https://metacpan.org/pod/Role::Tiny"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=177;endline=214;md5=26df7e7c20551fb1906e2286624f0b71"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Role-Tiny-${PV}.tar.gz"
-SRC_URI[md5sum] = "c8c5cf1e02d2e0a1ed22530b55b67d66"
-SRC_URI[sha256sum] = "593a29b621e029bf0218d0154d5dfdf6ec502afc49adeeadae6afd0c70063115"
-
-S = "${WORKDIR}/Role-Tiny-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-exporter \
-                   perl-module-strict \
-                   perl-module-test-more \
-                   perl-module-warnings \
-"
-
-RPROVIDES_${PN} = " librole-tiny-perl \
-                    librole-tiny-with-perl \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000006.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000006.bb
new file mode 100644
index 0000000..c2755ea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/librole/librole-tiny-perl_2.000006.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Role::Tiny - Roles. Like a nouvelle cousine portion size of Moose."
+DESCRIPTION = "\"Role::Tiny\" is a minimalist role composition tool."
+
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/pod/Role::Tiny"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=177;endline=214;md5=26df7e7c20551fb1906e2286624f0b71"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/Role-Tiny-${PV}.tar.gz"
+SRC_URI[md5sum] = "7c277728a7e090f64b495857cadfed08"
+SRC_URI[sha256sum] = "cc73418c904a0286ecd8915eac11f5be2a8d1e17ea9cb54c9116b0340cd3e382"
+
+S = "${WORKDIR}/Role-Tiny-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-exporter \
+                   perl-module-strict \
+                   perl-module-test-more \
+                   perl-module-warnings \
+"
+
+RPROVIDES_${PN} = " librole-tiny-perl \
+                    librole-tiny-with-perl \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.36.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.36.bb
deleted file mode 100644
index 1aed5e0..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.36.bb
+++ /dev/null
@@ -1,80 +0,0 @@
-SUMMARY = "Test::Harness - Run Perl standard test scripts with statistics"
-DESCRIPTION = "Although, for historical reasons, the Test::Harness \
-distribution takes its name from this module it now exists only to provide \
-TAP::Harness with an interface that is somewhat backwards compatible \
-with Test::Harness 2.xx. If you're writing new code consider using \
-TAP::Harness directly instead. \
-\
-Emulation is provided for runtests and execute_tests but the \
-pluggable 'Straps' interface that previous versions of Test::Harness \
-supported is not reproduced here. Straps is now available as a stand \
-alone module: Test::Harness::Straps. \
-\
-See TAP::Parser, TAP::Harness for the main documentation for this \
-distribution."
-
-SECTION = "libs"
-
-HOMEPAGE = "http://testanything.org"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=29;endline=30;md5=b08db4360eec119e875dddd7cb8a5ddd"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Test-Harness-${PV}.tar.gz"
-SRC_URI[md5sum] = "4c8d9c77e8e06ca96c7383c05c8f3616"
-SRC_URI[sha256sum] = "e7566f13b041d028b56f184b77ec2545ec6f0bb5a0f8f5368f7e4a08b496b63e"
-
-S = "${WORKDIR}/Test-Harness-${PV}"
-
-inherit cpan
-
-RPROVIDES_${PN} += "libapp-prove-perl \
-                    libapp-prove-state-perl \
-                    libapp-prove-state-result-perl \
-                    libapp-prove-state-result-test-perl \
-                    libtap-base-perl \
-                    libtap-formatter-base-perl \
-                    libtap-formatter-color-perl \
-                    libtap-formatter-console-perl \
-                    libtap-formatter-console-parallelsession-perl \
-                    libtap-formatter-console-session-perl \
-                    libtap-formatter-file-perl \
-                    libtap-formatter-file-session-perl \
-                    libtap-formatter-session-perl \
-                    libtap-harness-perl \
-                    libtap-harness-env-perl \
-                    libtap-object-perl \
-                    libtap-parser-perl \
-                    libtap-parser-aggregator-perl \
-                    libtap-parser-grammar-perl \
-                    libtap-parser-iterator-perl \
-                    libtap-parser-iterator-array-perl \
-                    libtap-parser-iterator-process-perl \
-                    libtap-parser-iterator-stream-perl \
-                    libtap-parser-iteratorfactory-perl \
-                    libtap-parser-multiplexer-perl \
-                    libtap-parser-result-perl \
-                    libtap-parsser-result-bailout-perl \
-                    libtap-parser-result-comment-perl \
-                    libtap-parser-result-plan-perl \
-                    libtap-parser-result-pragma-perl \
-                    libtap-parser-result-test-perl \
-                    libtap-parser-result-unknown-perl \
-                    libtap-parser-result-version-perl \
-                    libtap-parser-result-yaml-perl \
-                    libtap-parser-resultfactory-perl \
-                    libtap-parser-scheduler-perl \
-                    libtap-parser-scheduler-job-perl \
-                    libtap-parser-scheduler-spinner-perl \
-                    libtap-parser-source-perl \
-                    libtap-parser-sourcehandler-perl \
-                    libtap-parser-sourcehandler-executable-perl \
-                    libtap-parser-sourcehandler-file-perl \
-                    libtap-parser-sourcehandler-handle-perl \
-                    libtap-parser-sourcehandler-perl-perl \
-                    libtap-parser-sourcehandler-rawtap-perl \
-                    libtap-parser-yamlish-reader-perl \
-                    libtap-parser-yamlish-writer-perl \
-                    "
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.42.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.42.bb
new file mode 100644
index 0000000..c9ba594
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.42.bb
@@ -0,0 +1,120 @@
+# NOTE:
+#     You should use perl-module-test-harness instead of this package,
+#     unless you specifically need a newer version than what is provided
+#     by perl in oe-core.
+
+SUMMARY = "Test::Harness - Run Perl standard test scripts with statistics"
+DESCRIPTION = "Although, for historical reasons, the Test::Harness \
+distribution takes its name from this module it now exists only to provide \
+TAP::Harness with an interface that is somewhat backwards compatible \
+with Test::Harness 2.xx. If you're writing new code consider using \
+TAP::Harness directly instead. \
+\
+Emulation is provided for runtests and execute_tests but the \
+pluggable 'Straps' interface that previous versions of Test::Harness \
+supported is not reproduced here. Straps is now available as a stand \
+alone module: Test::Harness::Straps. \
+\
+See TAP::Parser, TAP::Harness for the main documentation for this \
+distribution."
+
+SECTION = "libs"
+
+HOMEPAGE = "http://testanything.org"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=29;endline=30;md5=b08db4360eec119e875dddd7cb8a5ddd"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Test-Harness-${PV}.tar.gz"
+SRC_URI[md5sum] = "c794906473f88d6b74194e2d56f16bd6"
+SRC_URI[sha256sum] = "0fd90d4efea82d6e262e6933759e85d27cbcfa4091b14bf4042ae20bab528e53"
+
+UPSTREAM_CHECK_REGEX = "Test\-Harness\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/Test-Harness-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += "\
+    perl-module-benchmark \
+"
+
+RPROVIDES_${PN} += "libapp-prove-perl \
+                    libapp-prove-state-perl \
+                    libapp-prove-state-result-perl \
+                    libapp-prove-state-result-test-perl \
+                    libtap-base-perl \
+                    libtap-formatter-base-perl \
+                    libtap-formatter-color-perl \
+                    libtap-formatter-console-perl \
+                    libtap-formatter-console-parallelsession-perl \
+                    libtap-formatter-console-session-perl \
+                    libtap-formatter-file-perl \
+                    libtap-formatter-file-session-perl \
+                    libtap-formatter-session-perl \
+                    libtap-harness-perl \
+                    libtap-harness-env-perl \
+                    libtap-object-perl \
+                    libtap-parser-perl \
+                    libtap-parser-aggregator-perl \
+                    libtap-parser-grammar-perl \
+                    libtap-parser-iterator-perl \
+                    libtap-parser-iterator-array-perl \
+                    libtap-parser-iterator-process-perl \
+                    libtap-parser-iterator-stream-perl \
+                    libtap-parser-iteratorfactory-perl \
+                    libtap-parser-multiplexer-perl \
+                    libtap-parser-result-perl \
+                    libtap-parsser-result-bailout-perl \
+                    libtap-parser-result-comment-perl \
+                    libtap-parser-result-plan-perl \
+                    libtap-parser-result-pragma-perl \
+                    libtap-parser-result-test-perl \
+                    libtap-parser-result-unknown-perl \
+                    libtap-parser-result-version-perl \
+                    libtap-parser-result-yaml-perl \
+                    libtap-parser-resultfactory-perl \
+                    libtap-parser-scheduler-perl \
+                    libtap-parser-scheduler-job-perl \
+                    libtap-parser-scheduler-spinner-perl \
+                    libtap-parser-source-perl \
+                    libtap-parser-sourcehandler-perl \
+                    libtap-parser-sourcehandler-executable-perl \
+                    libtap-parser-sourcehandler-file-perl \
+                    libtap-parser-sourcehandler-handle-perl \
+                    libtap-parser-sourcehandler-perl-perl \
+                    libtap-parser-sourcehandler-rawtap-perl \
+                    libtap-parser-yamlish-reader-perl \
+                    libtap-parser-yamlish-writer-perl \
+                    "
+
+do_install_prepend() {
+	# these tests are inappropriate on target
+	rm -rf ${B}/t/000-load.t
+	rm -rf ${B}/t/state.t
+	# these tests require "-T" (taint) option on command line
+	rm -rf ${B}/t/aggregator.t
+	rm -rf ${B}/t/bailout.t
+	rm -rf ${B}/t/base.t
+	rm -rf ${B}/t/callbacks.t
+	rm -rf ${B}/t/errors.t
+	rm -rf ${B}/t/nested.t
+	rm -rf ${B}/t/object.t
+	rm -rf ${B}/t/premature-bailout.t
+	rm -rf ${B}/t/results.t
+	rm -rf ${B}/t/streams.t
+	rm -rf ${B}/t/yamlish-output.t
+	rm -rf ${B}/t/compat/version.t
+}
+
+do_install_append() {
+	install -d ${D}/usr/local/bin
+	# do not clobber perl-misc /usr/bin/prove
+	install -m 0755 ${B}/bin/prove ${D}/usr/local/bin/
+	rm -rf ${D}${bindir}/prove
+	rm -rf ${D}${bindir}
+}
+
+FILES_${PN} += "/usr/local/bin/prove"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0129.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0129.bb
deleted file mode 100644
index a8cc269..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0129.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Perl interface to the libxml2 library"
-DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \
-with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \
-interface and a XML::XPath-like interface to XPath API of libxml2. \
-The module is split into several packages which are not described in this \
-section; unless stated otherwise, you only need to use XML::LibXML; in \
-your programs."
-
-HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0|GPLv1+"
-DEPENDS += "libxml2 \
-        libxml-sax-perl-native \
-        zlib \
-"
-RDEPENDS_${PN} += "libxml2 \
-        libxml-sax-perl \
-        libxml-sax-base-perl \
-        zlib \
-"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-${PV}.tar.gz;name=libxml \
-    file://disable-libxml2-check.patch \
-    file://fix-CATALOG-conditional-compile.patch \
-    file://using-DOCB-conditional.patch \
-"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=64eda1bc135f0ece1d1187f2a8ac82c1 \
-    file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446 \
-"
-SRC_URI[libxml.md5sum] = "5806b69d54a2d7884b8d22b395888436"
-SRC_URI[libxml.sha256sum] = "5ca0269ba06800c84061a7f3333c85fab5584d69cd7b4e0641963da7fd36b366"
-
-S = "${WORKDIR}/XML-LibXML-${PV}"
-
-inherit cpan
-
-EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}"
-
-BBCLASSEXTEND = "native"
-
-CFLAGS += " -D_GNU_SOURCE "
-BUILD_CFLAGS += " -D_GNU_SOURCE "
-
-FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0132.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0132.bb
new file mode 100644
index 0000000..1f18401
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0132.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Perl interface to the libxml2 library"
+DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \
+with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \
+interface and a XML::XPath-like interface to XPath API of libxml2. \
+The module is split into several packages which are not described in this \
+section; unless stated otherwise, you only need to use XML::LibXML; in \
+your programs."
+
+HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0|GPLv1+"
+DEPENDS += "libxml2 \
+        libxml-sax-perl-native \
+        zlib \
+"
+RDEPENDS_${PN} += "\
+    libxml2 \
+    libxml-sax-perl \
+    libxml-sax-base-perl \
+    perl-module-encode \
+    perl-module-data-dumper \
+    zlib \
+"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-${PV}.tar.gz;name=libxml \
+    file://disable-libxml2-check.patch \
+    file://fix-CATALOG-conditional-compile.patch \
+    file://using-DOCB-conditional.patch \
+"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=64eda1bc135f0ece1d1187f2a8ac82c1 \
+    file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446 \
+"
+SRC_URI[libxml.md5sum] = "43546fd9a3974f19323f9fb04861ece9"
+SRC_URI[libxml.sha256sum] = "721452e3103ca188f5968ab06d5ba29fe8e00e49f4767790882095050312d476"
+
+S = "${WORKDIR}/XML-LibXML-${PV}"
+
+inherit cpan
+
+EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}"
+
+BBCLASSEXTEND = "native"
+
+CFLAGS += " -D_GNU_SOURCE "
+BUILD_CFLAGS += " -D_GNU_SOURCE "
+
+FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/"
diff --git a/import-layers/meta-openembedded/meta-python/README b/import-layers/meta-openembedded/meta-python/README
index 43740f6..0566e49 100644
--- a/import-layers/meta-openembedded/meta-python/README
+++ b/import-layers/meta-openembedded/meta-python/README
@@ -17,12 +17,12 @@
 
 	URI: git://git.openembedded.org/openembedded-core
 	layers: meta
-	branch: rocko 
+	branch: master
 	revision: HEAD
 
 	URI: git://git.openembedded.org/meta-openembedded
 	layers: meta-oe
-	branch:  rocko
+	branch: master
 	revision: HEAD
 
 Please follow the recommended setup procedures of your OE distribution.
@@ -47,8 +47,7 @@
 Maintenance
 -------------------------
 
-Maintainers:
+Layer Maintainers:
         Tim "moto-timo" Orling <TicoTimo@gmail.com>
-        Paul "bluelightning" Eggleton <paul.eggleton@linux.intel.com>
         Derek Straka <derek@asterius.io>
 
diff --git a/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass b/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass
deleted file mode 100644
index e5d7ab3..0000000
--- a/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass
+++ /dev/null
@@ -1,26 +0,0 @@
-def pypi_package(d):
-    bpn = d.getVar('BPN')
-    if bpn.startswith('python-'):
-        return bpn[7:]
-    elif bpn.startswith('python3-'):
-        return bpn[8:]
-    return bpn
-
-PYPI_PACKAGE ?= "${@pypi_package(d)}"
-PYPI_PACKAGE_EXT ?= "tar.gz"
-
-def pypi_src_uri(d):
-    package = d.getVar('PYPI_PACKAGE')
-    package_ext = d.getVar('PYPI_PACKAGE_EXT')
-    pv = d.getVar('PV')
-    return 'https://files.pythonhosted.org/packages/source/%s/%s/%s-%s.%s' % (package[0], package, package, pv, package_ext)
-
-PYPI_SRC_URI ?= "${@pypi_src_uri(d)}"
-
-HOMEPAGE ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/"
-SECTION = "devel/python"
-SRC_URI += "${PYPI_SRC_URI}"
-S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}"
-
-UPSTREAM_CHECK_URI ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/"
-UPSTREAM_CHECK_REGEX ?= "/${PYPI_PACKAGE}/(?P<pver>(\d+[\.\-_]*)+)"
diff --git a/import-layers/meta-openembedded/meta-python/conf/layer.conf b/import-layers/meta-openembedded/meta-python/conf/layer.conf
index d53677f..7089071 100644
--- a/import-layers/meta-openembedded/meta-python/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-python/conf/layer.conf
@@ -14,4 +14,6 @@
 
 LAYERDEPENDS_meta-python = "core openembedded-layer"
 
+LAYERSERIES_COMPAT_meta-python = "sumo"
+
 LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
index 8b2a192..4577873 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
@@ -69,7 +69,6 @@
                   python-pkgutil \
                   python-pyopenssl \
                   python-re \
-                  python-readline \
                   python-setuptools \
                   python-shell \
                   python-simplejson \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc
index b9535fc..05fbae4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc.inc
@@ -7,7 +7,7 @@
 DEPENDS += "${PYTHON_PN}-gevent"
 RDEPENDS_${PN} += "${PYTHON_PN}-gevent ${PYTHON_PN}-msgpack ${PYTHON_PN}-gsocketpool"
 
-SRC_URI[md5sum] = "66e6cf367ea71cfed8938a27e9c183c3"
-SRC_URI[sha256sum] = "5ccada6526d48ac4d95a7bbdc093586663841560337032a503f57ccfae69d7bf"
+SRC_URI[md5sum] = "acde1f346411997d76ab89790a356823"
+SRC_URI[sha256sum] = "e8ddd47e7a2fb2d3b203fcc522443ee5be56c8f7e2c6d915c047445951cef1fb"
 
 inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.14.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.16.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.14.bb
rename to import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python-mprpc_0.1.16.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.14.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.16.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.14.bb
rename to import-layers/meta-openembedded/meta-python/recipes-connectivity/python-mprpc/python3-mprpc_0.1.16.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.62.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.62.bb
deleted file mode 100644
index 041c4ff..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.62.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Python Remote Objects"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=378acef375e17a3bff03bd0f78c53220"
-
-SRC_URI[md5sum] = "6e2fef3dc8b29773a87abbaa8e9abe15"
-SRC_URI[sha256sum] = "e301edfb2bc47768b7222a68cae8de8be796d1d9f61cdbd1af9039985ed5009c"
-
-PYPI_PACKAGE = "Pyro4"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-logging \
-    ${PYTHON_PN}-selectors34 \
-    ${PYTHON_PN}-serpent \
-    ${PYTHON_PN}-threading \
-    ${PYTHON_PN}-zlib \
-    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.63.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.63.bb
new file mode 100644
index 0000000..6f683e3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.63.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python Remote Objects"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=378acef375e17a3bff03bd0f78c53220"
+
+SRC_URI[md5sum] = "e1d772b67bf7c6f75fa3174bc95c8839"
+SRC_URI[sha256sum] = "67d2b34156619ba37e92100af95aade8129dd2b7327eb05821d43887451f7d7b"
+
+PYPI_PACKAGE = "Pyro4"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-selectors34 \
+    ${PYTHON_PN}-serpent \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-zlib \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.10.0.bb
deleted file mode 100644
index e6f61bd..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.10.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Python bindings for the Apache Thrift RPC system"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=26a2009ddcb7c4162f8bafd5ef73c670"
-
-SRC_URI[md5sum] = "76bb768a210257dd203923110042e560"
-SRC_URI[sha256sum] = "b7f6c09155321169af03f9fb20dc15a4a0c7481e7c334a5ba8f7f0d864633209"
-
-PYPI_PACKAGE_EXT = "zip"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-logging \
-    ${PYTHON_PN}-six \
-    ${PYTHON_PN}-stringold \
-    ${PYTHON_PN}-threading \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb
new file mode 100644
index 0000000..8047ec7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Python bindings for the Apache Thrift RPC system"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=e3641ae1a26cf5c12a3a71bd3030ab0e"
+
+SRC_URI[md5sum] = "36165d5c80e6b101dbe9fcf7ef524d51"
+SRC_URI[sha256sum] = "7d59ac4fdcb2c58037ebd4a9da5f9a49e3e034bf75b3f26d9fe48ba3d8806e6b"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-stringold \
+    ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb
index 72f0921..9d851ab 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb
@@ -10,7 +10,27 @@
 
 inherit pypi setuptools
 
+PACKAGES =+ "${PN}-tests ${PN}-samples"
+
+FILES_${PN}-samples += " \
+    ${PYTHON_SITEPACKAGES_DIR}/rtm/samples \
+"
+
+FILES_${PN}-tests += " \
+    ${PYTHON_SITEPACKAGES_DIR}/rtm/tests \
+"
+
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-json \
+    ${PYTHON_PN}-logging \
     ${PYTHON_PN}-netclient \
-    "
+"
+
+RDEPENDS_${PN}-samples += " \
+    ${PN} \
+"
+
+RDEPENDS_${PN}-tests += " \
+    ${PN} \
+    ${PYTHON_PN}-unittest \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
new file mode 100644
index 0000000..f1a6412
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
@@ -0,0 +1,15 @@
+DESCRIPTION = "A database migration tool for SQLAlchemy"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c5f1361296835ff94bda73db7dd312a6"
+
+SRC_URI[md5sum] = "5cfef58641c9a94d4a5d547e951a7dda"
+SRC_URI[sha256sum] = "13b8611788acf0d7b617775db5c2ae26554a6d4263c590ef628d448fd05aef56"
+
+PYPI_PACKAGE = "alembic"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-dateutil \
+    ${PYTHON_PN}-editor \
+    ${PYTHON_PN}-mako \
+    ${PYTHON_PN}-sqlalchemy \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_0.9.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_0.9.8.bb
new file mode 100644
index 0000000..efcb2b1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_0.9.8.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-alembic.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
index 41b7342..5c37995 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
@@ -6,8 +6,18 @@
 
 PYPI_PACKAGE = "asn1crypto"
 
-SRC_URI[md5sum] = "97d54665c397b72b165768398dfdd876"
-SRC_URI[sha256sum] = "0874981329cfebb366d6584c3d16e913f2a0eb026c9463efcc4aaf42a9d94d70"
+SRC_URI[md5sum] = "de3520426e81a6581352d4366f310eb1"
+SRC_URI[sha256sum] = "9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49"
 
 inherit pypi
+
+RDEPENDS_${PN}_class-target += " \
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-crypt \
+    ${PYTHON_PN}-ctypes \
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-netclient \
+"
+
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.23.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.23.0.bb
deleted file mode 100644
index 6af60c2..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.23.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-asn1crypto.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.24.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.24.0.bb
new file mode 100644
index 0000000..46aace2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_0.24.0.bb
@@ -0,0 +1,7 @@
+inherit setuptools
+require python-asn1crypto.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-textutils \ 
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
index 4cb1a3c..ead2b6e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
@@ -4,17 +4,28 @@
 LICENSE = "LGPL-2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
-SRC_URI[md5sum] = "6f65e4ea8290ec032320460905afb828"
-SRC_URI[sha256sum] = "492c2a2044adbf6a84a671b7522e9295ad2f6a7c781b899014308db25312dd35"
+SRC_URI[md5sum] = "7d7dc000b25f0cbfcca20cb9a8dc0310"
+SRC_URI[sha256sum] = "35cfae47aac19c7b407b7095410e895e836f2285ccf1220336afba744cc4c5f2"
 
 inherit pypi
 
+PACKAGES =+ "${PN}-tests"
+
+FILES_${PN}-tests += " \
+    ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \
+    ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \
+"
+
 RDEPENDS_${PN}_class-target += "\
     ${PYTHON_PN}-distutils \
     ${PYTHON_PN}-lazy-object-proxy \
+    ${PYTHON_PN}-logging \
     ${PYTHON_PN}-six \
-    ${PYTHON_PN}-subprocess \
     ${PYTHON_PN}-wrapt \
-    ${PYTHON_PN}-re \
     ${PYTHON_PN}-setuptools \
 "
+
+RDEPENDS_${PN}-tests_class-target += "\
+    ${PYTHON_PN}-unittest \
+    ${PYTHON_PN}-xml \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.5.3.bb
deleted file mode 100644
index f7a0a5e..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.5.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit setuptools
-require python-astroid.inc
-
-RDEPENDS_${PN}_class-target += "${PYTHON_PN}-enum34 \
-                                ${PYTHON_PN}-importlib \
-                                ${PYTHON_PN}-singledispatch \
-                               "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.3.bb
new file mode 100644
index 0000000..687394d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.3.bb
@@ -0,0 +1,10 @@
+inherit setuptools
+require python-astroid.inc
+
+RDEPENDS_${PN}_class-target += " \
+    ${PYTHON_PN}-enum34 \
+    ${PYTHON_PN}-backports-functools-lru-cache \
+    ${PYTHON_PN}-re \
+    ${PYTHON_PN}-singledispatch \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attr.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attr.inc
new file mode 100644
index 0000000..1d93dd7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attr.inc
@@ -0,0 +1,9 @@
+DESCRIPTION = "Simple decorator to set attributes of target function or class in a DRY way"
+HOMEPAGE = "https://github.com/denis-ryzhkov/attr"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=59805a0285f4d2b6abdedae73db4f5c1"
+
+SRC_URI[md5sum] = "68b9a503991241fb2df28488686b0e1e"
+SRC_URI[sha256sum] = "9091548058d17f132596e61fa7518e504f76b9a4c61ca7d86e1f96dbf7d4775d"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attr_0.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attr_0.3.1.bb
new file mode 100644
index 0000000..979d6cb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attr_0.3.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-attr.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
index edde79e..c29f058 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
@@ -3,7 +3,12 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff"
 
-SRC_URI[md5sum] = "4314f784ca3174d91956da9828248960"
-SRC_URI[sha256sum] = "c78f53e32d7cf36d8597c8a2c7e3c0ad210f97b9509e152e4c37fa80869f823c"
+SRC_URI[md5sum] = "d7a89063b2e0fd36bd82389c4d82821d"
+SRC_URI[sha256sum] = "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9"
 
 inherit pypi
+
+RDEPENDS_${PN}_class-target += " \
+    ${PYTHON_PN}-cryptography \
+    ${PYTHON_PN}-ctypes \
+"    
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_17.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_17.3.0.bb
deleted file mode 100644
index a6fdf15..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_17.3.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-attrs.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_17.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_17.4.0.bb
new file mode 100644
index 0000000..e3bec0f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_17.4.0.bb
@@ -0,0 +1,6 @@
+inherit setuptools
+require python-attrs.inc
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
index 0ebb220..d6def98 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
@@ -15,10 +15,10 @@
  setup.py | 10 ----------
  1 file changed, 10 deletions(-)
 
-diff --git a/setup.py b/setup.py
-index d360c64..7b4180a 100644
---- a/setup.py
-+++ b/setup.py
+Index: Automat-0.6.0/setup.py
+===================================================================
+--- Automat-0.6.0.orig/setup.py
++++ Automat-0.6.0/setup.py
 @@ -4,14 +4,6 @@ Setup file for automat
  
  from setuptools import setup, find_packages
@@ -46,7 +46,4 @@
 -        'm2r',
      ],
      install_requires=[
-         "attrs>=16.1.0",
--- 
-2.7.4
-
+         "attrs",
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
index eaeb020..a3299e4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
@@ -1,18 +1,41 @@
 DESCRIPTION = "SDK for connecting to AWS IoT using Python."
 HOMEPAGE = "https://github.com/aws/aws-iot-device-sdk-python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9ac49901b833e769c7d6f21e8dbd7b30"
+LICENSE = "Apache-2.0 & (EPL-1.0 | EDL-1.0)"
+LICENSE_${PN}-examples = "Apache-2.0"
+LIC_FILES_CHKSUM = "\
+    file://LICENSE.txt;md5=9ac49901b833e769c7d6f21e8dbd7b30 \
+    file://AWSIoTPythonSDK/core/protocol/paho/client.py;endline=14;md5=5a3c8a1a4bb71bd934f450ecff972ad9 \
+"
 
-SRC_URI[md5sum] = "e6781f6c42bbc547d508d6fa6720ac8f"
-SRC_URI[sha256sum] = "6b2865d4f518794b96a834fc81b568428daa0ef92037da2e9288b4af5d8dd736"
+SRC_URI[md5sum] = "97e8cf0d40ef3765d979c19b534a716d"
+SRC_URI[sha256sum] = "d68cbff396143e837b4c23b6621d3b7ae374281afc75eed8e51a28625d9125ba"
 
 inherit pypi
 
 PYPI_PACKAGE = "AWSIoTPythonSDK"
 
+do_install_append() {
+        install -d -m0755 ${D}${datadir}/${BPN}/examples
+        cp --preserve=mode,timestamps -R ${S}/samples/* ${D}${datadir}/${BPN}/examples
+        # this requires the full blown AWS Python SDK
+        rm -r ${D}${datadir}/${BPN}/examples/basicPubSub
+}
+
+PACKAGES =+ "${PN}-examples"
+
 RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-pyopenssl \
+    ${PYTHON_PN}-crypt \
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-io \
     ${PYTHON_PN}-json \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-math \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-threading \
 "
+RDEPENDS_${PN}-examples += "${PN}"
+
+FILES_${PN}-examples = "${datadir}/${BPN}/examples"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.2.0.bb
deleted file mode 100644
index 12ae978..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.2.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-aws-iot-device-sdk-python.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.3.1.bb
new file mode 100644
index 0000000..490e973
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.3.1.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-aws-iot-device-sdk-python.inc
+
+RDEPENDS_${PN}-examples += "${PYTHON_PN}-argparse"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
index 5e6ca3d..4dcb255 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
@@ -3,8 +3,8 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e6eeaabc92cfc2d03f53e789324d7292"
 
-SRC_URI[md5sum] = "60228b3ce93a203357158b909afe8ae1"
-SRC_URI[sha256sum] = "6007daf714d0cd5524bbe436e2d42b3c20e68da66289559341e48d2cd6d25811"
+SRC_URI[md5sum] = "152a6b17fe4110b95675aceb9af9fab2"
+SRC_URI[sha256sum] = "8ce4cb6fdd4393edd323227cba3a077bceb2a6ce5201c902c65e730046f41f14"
 
 PYPI_PACKAGE = "Babel"
 
@@ -13,8 +13,13 @@
 CLEANBROKEN = "1"
 
 RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-difflib \
+    ${PYTHON_PN}-distutils \
+    ${PYTHON_PN}-netserver \
     ${PYTHON_PN}-numbers \
     ${PYTHON_PN}-pickle \
     ${PYTHON_PN}-pytz \
+    ${PYTHON_PN}-shell \
     ${PYTHON_PN}-threading \
 "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.1.bb
deleted file mode 100644
index e0eadcd..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-babel.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.3.bb
new file mode 100644
index 0000000..f7c166e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.3.bb
@@ -0,0 +1,6 @@
+inherit setuptools
+require python-babel.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc
index 667a3fb..4490969 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc
@@ -4,12 +4,14 @@
 
 DEPENDS += "${PYTHON_PN}-cffi-native"
 
-SRC_URI[md5sum] = "20da8b40790caad99c4086dba533154b"
-SRC_URI[sha256sum] = "6645c8d0ad845308de3eb9be98b6fd22a46ec5412bfc664a423e411cdd8f5488"
+SRC_URI[md5sum] = "8408abc974446e64862a9742104e97b6"
+SRC_URI[sha256sum] = "67ed1a374c9155ec0840214ce804616de49c3df9c5bc66740687c1c9b1cd9e8d"
 
 inherit pypi
 
 RDEPENDS_${PN}_class-target += "\
     ${PYTHON_PN}-cffi \
+    ${PYTHON_PN}-ctypes \
+    ${PYTHON_PN}-shell \
     ${PYTHON_PN}-six \
 "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb
deleted file mode 100644
index 2433354..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-bcrypt.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.4.bb
new file mode 100644
index 0000000..b136aa4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.4.bb
@@ -0,0 +1,6 @@
+inherit setuptools
+require python-bcrypt.inc
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.5.bb
deleted file mode 100644
index 541a79d..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "A behavior-driven development framework, Python style"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d950439e8ea6ed233e4288f5e1a49c06"
-
-SRC_URI[md5sum] = "3af4bc2886d2be982e41bfaba61da3bc"
-SRC_URI[sha256sum] = "81b731ac5187e31e4aad2594944fa914943683a9818320846d037c5ebd6d5d0b"
-
-RDEPENDS_${PN} += "python-difflib python-setuptools python-pkgutil python-misc python-argparse python-xml python-importlib python-enum34 python-parse python-parse-type python-six"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb
new file mode 100644
index 0000000..6797302
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb
@@ -0,0 +1,10 @@
+SUMMARY = "A behavior-driven development framework, Python style"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d950439e8ea6ed233e4288f5e1a49c06"
+
+SRC_URI[md5sum] = "3f05c859a1c45f5ed33e925817ad887d"
+SRC_URI[sha256sum] = "b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86"
+
+RDEPENDS_${PN} += "python-difflib python-setuptools python-pkgutil python-misc python-argparse python-xml python-enum34 python-parse python-parse-type python-six"
+
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc
index 7b6e0d1..38a22f6 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc
@@ -8,4 +8,4 @@
 
 inherit pypi
 
-BBCLASSEXTEND = "nativesdk"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-blinker.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-blinker.inc
new file mode 100644
index 0000000..eaf3908
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-blinker.inc
@@ -0,0 +1,7 @@
+DESCRIPTION = "Fast, simple object-to-object and broadcast signaling."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=946d7e89af6f7733aeaebed5635d2682"
+
+SRC_URI[md5sum] = "8b3722381f83c2813c52de3016b68d33"
+SRC_URI[sha256sum] = "471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-blinker_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-blinker_1.4.bb
index 0ce141f..bc4164e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-blinker_1.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-blinker_1.4.bb
@@ -1,8 +1,2 @@
-DESCRIPTION = "Fast, simple object-to-object and broadcast signaling."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=946d7e89af6f7733aeaebed5635d2682"
-
-SRC_URI[md5sum] = "8b3722381f83c2813c52de3016b68d33"
-SRC_URI[sha256sum] = "471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6"
-
 inherit pypi setuptools
+require python-blinker.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
index 1dbc809..a71c47b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
@@ -3,7 +3,15 @@
 LICENSE = "LGPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=38138baa100d7259934590850bc0406e"
 
-SRC_URI[md5sum] = "b2a164887c1c6a2a2490b5afb36e36db"
-SRC_URI[sha256sum] = "b961b6ce75a7f08b586f4d2cae8cdc409881731b851fc405fa21cb16bad00d87"
+SRC_URI[md5sum] = "3310f0aa2a8492d0ff614ecf636ec8a8"
+SRC_URI[sha256sum] = "4a5c01dd67feeda35f88e6c12ea14ac8cabd426b9be0cc5f9fd083fe90a9dbfc"
 
 PYPI_PACKAGE="python-can"
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-ctypes \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-misc \
+    ${PYTHON_PN}-netserver \
+    ${PYTHON_PN}-sqlite3 \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.0.0b1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.0.0b1.bb
deleted file mode 100644
index ec81a9e..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.0.0b1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require python-can.inc
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "python-sqlite3"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.1.0.bb
new file mode 100644
index 0000000..f0edb64
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.1.0.bb
@@ -0,0 +1,8 @@
+require python-can.inc
+inherit pypi setuptools
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-argparse \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-zlib \
+"    
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
index a522e67..1648d3e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
@@ -8,8 +8,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
 SRCNAME = "cassandra-driver"
 
-SRC_URI[md5sum] = "1659b074e10c613e5ba1cdf92974a57a"
-SRC_URI[sha256sum] = "643bed0fac08ee91630f0f35556bb62c3b4b007c20d4e6e8d349f769ea648150"
+SRC_URI[md5sum] = "5c8b4a3adfc48180e8ec38b8c4e996fd"
+SRC_URI[sha256sum] = "61b670fb2ba95d51d91fa7b589aae3666df494713f5d1ed78bb5c510778d77f0"
 
 DISTUTILS_BUILD_ARGS += " \
     --no-libev \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
index e550f7e..26df5c1 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
@@ -7,7 +7,7 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1"
 
-SRC_URI[md5sum] = "48e8370da8b370a16e223ee9c7b6b063"
-SRC_URI[sha256sum] = "40523d2efb60523e113b44602298f0960e900388cf3bb6043f645cf57ea9e3f5"
+SRC_URI[md5sum] = "068fd5c3c690ae47504b3e0bf4e56c4c"
+SRC_URI[sha256sum] = "edbc3f203427eef571f79a7692bb160a2b0f7ccaa31953e99bd17e307cf63f7d"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.7.27.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2018.1.18.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.7.27.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2018.1.18.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
index 8dcdb63..e6071ee 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
@@ -4,11 +4,13 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
 DEPENDS += "libffi ${PYTHON_PN}-pycparser"
 
-SRC_URI[md5sum] = "a731487324b501c8295221b629d3f5f3"
-SRC_URI[sha256sum] = "ab87dd91c0c4073758d07334c1e5f712ce8fe48f007b86f8238773963ee700a6"
+SRC_URI[md5sum] = "ac8492f4ad952360737413e82d661908"
+SRC_URI[sha256sum] = "e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4"
 
 RDEPENDS_${PN}_class-target = " \
+    ${PYTHON_PN}-ctypes \
     ${PYTHON_PN}-io \
+    ${PYTHON_PN}-shell \
 "
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.2.bb
deleted file mode 100644
index 3cd62d1..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-cffi.inc
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.5.bb
new file mode 100644
index 0000000..bc667b8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.11.5.bb
@@ -0,0 +1,6 @@
+require python-cffi.inc
+inherit pypi setuptools
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
index 6035488..6305299 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
@@ -11,3 +11,13 @@
 SRC_URI[sha256sum] = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"
 
 BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES =+ "${PN}-cli"
+RDEPENDS_${PN}-cli = "${PN} "
+FILES_${PN}-cli += " \
+    ${PYTHON_SITEPACKAGES_DIR}/chardet/cli \
+"
+
+RDEPENDS_${PN}_class-target += " \
+    ${PYTHON_PN}-logging \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb
index b7a46e9..3b6feee 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.4.bb
@@ -1,2 +1,4 @@
 inherit setuptools
 require python-chardet.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-argparse"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.7.bb
deleted file mode 100644
index fa1ef5f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.7.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Extra features for standard library's cmd module"
-HOMEPAGE = "http://packages.python.org/cmd2/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=49;endline=49;md5=0f13c9cfc75288223cf7edd2f3b985a2"
-
-SRC_URI[md5sum] = "576b78add6d652b48dcf9362cece88ef"
-SRC_URI[sha256sum] = "b4e2fb9fc656adccc4d01dfd55ab5a9b05890e961950543f692e7885725c2d72"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-doctest \
-    ${PYTHON_PN}-pyparsing \
-    ${PYTHON_PN}-shell \
-    ${PYTHON_PN}-six \
-    ${PYTHON_PN}-stringold \
-    ${PYTHON_PN}-subprocess \
-    ${PYTHON_PN}-threading \
-    ${PYTHON_PN}-textutils \
-    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.8.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.8.1.bb
new file mode 100644
index 0000000..145ab98
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.8.1.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Extra features for standard library's cmd module"
+HOMEPAGE = "http://packages.python.org/cmd2/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=51;endline=51;md5=0f13c9cfc75288223cf7edd2f3b985a2"
+
+SRC_URI[md5sum] = "701b916ffac99137bea413205106f993"
+SRC_URI[sha256sum] = "d09976f9ad2327883c2d07b5acb42e66ad52b17e352873c22041ed124bfe8aba"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-doctest \
+    ${PYTHON_PN}-pyparsing \
+    ${PYTHON_PN}-pyperclip \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-stringold \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-textutils \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc
new file mode 100644
index 0000000..c1fb858
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc
@@ -0,0 +1,11 @@
+SUMMARY = "This module provides the ConfigParser class which implements a basic configuration language which provides a structure similar to what’s found in Microsoft Windows INI files."
+SECTION = "devel/python"
+HOMEPAGE = "https://docs.python.org/3/library/configparser.html"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+
+SRC_URI[md5sum] = "cfdd915a5b7a6c09917a64a573140538"
+SRC_URI[sha256sum] = "5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.5.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.5.0.bb
new file mode 100644
index 0000000..69f045d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.5.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-configparser.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
index e9e4019..00bb87b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
@@ -8,8 +8,8 @@
     ${PYTHON_PN}-cryptography \
 "
 
-SRC_URI[md5sum] = "1db4c09062a3a8e1e2d1f5e3e4d752d7"
-SRC_URI[sha256sum] = "beb831aa73663a224f4d7520483ed02da544533bb03b26ec07a5f9a0dd0941e1"
+SRC_URI[md5sum] = "ef115b870cc8d8b9f0f4189b512bc170"
+SRC_URI[sha256sum] = "78c4b4f3f84853ea5d038e2f53d355229dd8119fe9cf949c3e497c85c760a5ca"
 
 PYPI_PACKAGE = "cryptography_vectors"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.1.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.0.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.1.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
index 4ba3e32..4be7907 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
@@ -10,8 +10,8 @@
     ${PYTHON_PN}-six \
 "
 
-SRC_URI[md5sum] = "24cbdab3fda22be31dd3aef2808f5d2f"
-SRC_URI[sha256sum] = "d04bb2425086c3fe86f7bc48915290b13e798497839fbb18ab7f6dffcf98cc3a"
+SRC_URI[md5sum] = "9f39d4d8f2b05f295fa0ff52475ec4f2"
+SRC_URI[sha256sum] = "e4d967371c5b6b2e67855066471d844c5d52d210c36c28d49a8507b96e2c5291"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-cffi \
@@ -28,7 +28,6 @@
     ${PYTHON_PN}-numbers \
     ${PYTHON_PN}-asn1crypto \
     ${PYTHON_PN}-pycparser \
-    ${PYTHON_PN}-subprocess \
     ${PYTHON_PN}-setuptools \
     ${PYTHON_PN}-six \
     ${PYTHON_PN}-threading \
@@ -55,6 +54,4 @@
     ${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \
 "
 
-LDFLAGS_append = " -pthread"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.0.3.bb
deleted file mode 100644
index f5b1e0b..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.0.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-inherit pypi setuptools
-require python-cryptography.inc
-
-SRC_URI += " \
-    file://run-ptest \
-"
-
-DEPENDS += " \
-    ${PYTHON_PN}-enum34 \
-"
-
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-enum34 \
-    ${PYTHON_PN}-ipaddress \
-"
-
-RDEPENDS_${PN}_class-target += " \
-    ${PYTHON_PN}-enum34 \
-    ${PYTHON_PN}-ipaddress \
-    ${PYTHON_PN}-contextlib \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.1.4.bb
new file mode 100644
index 0000000..9c2f884
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.1.4.bb
@@ -0,0 +1,22 @@
+inherit pypi setuptools
+require python-cryptography.inc
+
+SRC_URI += " \
+    file://run-ptest \
+"
+
+DEPENDS += " \
+    ${PYTHON_PN}-enum34 \
+"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-enum34 \
+    ${PYTHON_PN}-ipaddress \
+"
+
+RDEPENDS_${PN}_class-target += " \
+    ${PYTHON_PN}-enum34 \
+    ${PYTHON_PN}-ipaddress \
+    ${PYTHON_PN}-contextlib \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
index 572cb96..5d3b9d5 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
@@ -5,17 +5,31 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
 PYPI_PACKAGE = "Cython"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[md5sum] = "b93750b34382b025d678bea819b7491b"
-SRC_URI[sha256sum] = "e6840a2ba2704f4ffb40e454c36f73aeb440a4005453ee8d7ff6a00d812ba176"
+SRC_URI[md5sum] = "0e0568d6bed4b09ad01afe0a38805305"
+SRC_URI[sha256sum] = "634e2f10fc8d026c633cffacb45cd8f4582149fa68e1428124e762dbc566e68a"
 
 inherit pypi
 
 RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-misc \
     ${PYTHON_PN}-netserver \
-    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-pkgutil \
+    ${PYTHON_PN}-pyparsing \
+    ${PYTHON_PN}-setuptools \
     ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-xml \
+"
+
+RDEPENDS_${PN}_class-nativesdk += "\
+    nativesdk-${PYTHON_PN}-misc \
+    nativesdk-${PYTHON_PN}-netserver \
+    nativesdk-${PYTHON_PN}-pkgutil \
+    nativesdk-${PYTHON_PN}-pyparsing \
+    nativesdk-${PYTHON_PN}-setuptools \
+    nativesdk-${PYTHON_PN}-shell \
+    nativesdk-${PYTHON_PN}-xml \
 "
 
 do_install_append() {
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.27.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.27.1.bb
deleted file mode 100644
index bdf9490..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.27.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-inherit setuptools
-require python-cython.inc
-
-UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Cython/"
-UPSTREAM_CHECK_REGEX = "/Cython/(?P<pver>(\d+[\.\-_]*)+)"
-
-RDEPENDS_${PN} += "\
-    python-distribute \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.2.bb
new file mode 100644
index 0000000..d803a6e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.2.bb
@@ -0,0 +1,10 @@
+inherit setuptools
+require python-cython.inc
+
+UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Cython/"
+UPSTREAM_CHECK_REGEX = "/Cython/(?P<pver>(\d+[\.\-_]*)+)"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-distribute \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
index ca51059..333b5e2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
@@ -1,11 +1,11 @@
 SUMMARY = "Extensions to the standard Python datetime module"
 DESCRIPTION = "The dateutil module provides powerful extensions to the datetime module available in the Python standard library."
 HOMEPAGE = "https://dateutil.readthedocs.org"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=31f72d4cad3675fb091537b9b2f32de0"
+LICENSE = "BSD-3-Clause & Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3155c7bdc71f66e02678411d2abf996"
 
-SRC_URI[md5sum] = "db38f6b4511cefd76014745bb0cc45a4"
-SRC_URI[sha256sum] = "891c38b2a02f5bb1be3e4793866c8df49c7d19baabf9c1bad62547e0b4866aca"
+SRC_URI[md5sum] = "03a08c8bcf0a2b29f1cd21b9de4d12fb"
+SRC_URI[sha256sum] = "9d8074be4c993fbe4947878ce593052f71dac82932a677d49194d8ce9778002e"
 
 PYPI_PACKAGE = "python-dateutil"
 inherit pypi
@@ -14,7 +14,8 @@
 FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo"
 
 RDEPENDS_${PN}_class-target = "\
-    ${PYTHON_PN}-core \
     ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-numbers \
     ${PYTHON_PN}-six \
-    "
+    ${PYTHON_PN}-stringold \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.7.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.7.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.4.bb
deleted file mode 100644
index 271b559..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.4.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Python bindings for the DBus inter-process communication system"
-SECTION = "devel/python"
-HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0b83047ce9e948b67c0facc5f233476a"
-DEPENDS = "expat dbus dbus-glib virtual/libintl python-pyrex-native"
-
-SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "7372a588c83a7232b4e08159bfd48fe5"
-SRC_URI[sha256sum] = "e2f1d6871f74fba23652e51d10873e54f71adab0525833c19bad9e99b1b2f9cc"
-S = "${WORKDIR}/dbus-python-${PV}"
-
-inherit distutils-base autotools pkgconfig
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[docs] = "--enable-html-docs,--disable-html-docs,python3-docutils-native"
-PACKAGECONFIG[api-docs] = "--enable-api-docs,--disable-api-docs,python3-docutils-native python3-epydoc-native"
-
-export STAGING_LIBDIR
-export STAGING_INCDIR
-
-RDEPENDS_${PN} = "python-io python-logging python-stringold python-threading python-xml"
-
-FILES_${PN}-dev += "${libdir}/pkgconfig"
-
-do_install_append() {
-    # Remove files that clash with python3-dbus; their content is same
-    rm ${D}${includedir}/dbus-1.0/dbus/dbus-python.h ${D}${libdir}/pkgconfig/dbus-python.pc
-}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.6.bb
new file mode 100644
index 0000000..0f18ccc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.6.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Python bindings for the DBus inter-process communication system"
+SECTION = "devel/python"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+LICENSE = "MIT & AFL-2.1 | GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4 \
+		    file://dbus-gmain/COPYING;md5=05c3eacd50f69bb1d58afec460baad57 "
+DEPENDS = "expat dbus dbus-glib virtual/libintl python-pyrex-native"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \
+"
+
+SRC_URI[md5sum] = "1ce1ddf2582060f8f971652ea54cc17e"
+SRC_URI[sha256sum] = "32f29c17172cdb9cb61c68b1f1a71dfe7351506fc830869029c47449bd04faeb"
+S = "${WORKDIR}/dbus-python-${PV}"
+
+inherit distutils-base autotools pkgconfig
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[docs] = "--enable-html-docs,--disable-html-docs,python3-docutils-native"
+PACKAGECONFIG[api-docs] = "--enable-api-docs,--disable-api-docs,python3-docutils-native python3-epydoc-native"
+
+export STAGING_LIBDIR
+export STAGING_INCDIR
+
+RDEPENDS_${PN} = "python-io python-logging python-stringold python-threading python-xml"
+
+FILES_${PN}-dev += "${libdir}/pkgconfig"
+
+do_install_append() {
+    # Remove files that clash with python3-dbus; their content is same
+    rm ${D}${includedir}/dbus-1.0/dbus/dbus-python.h ${D}${libdir}/pkgconfig/dbus-python.pc
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch
index fdd00b6..c4d8178 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch
@@ -1,7 +1,8 @@
-From eebe0f66435c4d821b0f5f93f69efe17b4a384c2 Mon Sep 17 00:00:00 2001
+From c4436fd42f2936e5fb0f95434d06e45aa9959ca0 Mon Sep 17 00:00:00 2001
 From: Simon Busch <simon.busch@lge.com>
 Date: Wed, 9 Apr 2014 13:18:33 +0200
-Subject: [PATCH 1/2] Add functionality to add own objects to internal object
+Subject: [PATCH] Add functionality to add own objects to internal object
+
  list
 
 In some case the tests might want to create dynamically dbus objects which extended
@@ -9,17 +10,18 @@
 register those objects with the internal object manager of dbusmock.
 
 Signed-off-by: Simon Busch <simon.busch@lge.com>
+
 ---
- dbusmock/__init__.py   |    4 ++--
- dbusmock/mockobject.py |    8 ++++++++
+ dbusmock/__init__.py   | 4 ++--
+ dbusmock/mockobject.py | 8 ++++++++
  2 files changed, 10 insertions(+), 2 deletions(-)
 
 diff --git a/dbusmock/__init__.py b/dbusmock/__init__.py
-index f799cc7..6718c06 100644
+index 8a482ab..3d5d71a 100644
 --- a/dbusmock/__init__.py
 +++ b/dbusmock/__init__.py
 @@ -14,8 +14,8 @@ __license__ = 'LGPL 3+'
- __version__ = '0.10.1'
+ __version__ = '0.16.7'
  
  from dbusmock.mockobject import (DBusMockObject, MOCK_IFACE,
 -                                 OBJECT_MANAGER_IFACE, get_object, get_objects)
@@ -30,10 +32,10 @@
 -           'DBusTestCase', 'get_object', 'get_objects']
 +           'DBusTestCase', 'get_object', 'get_objects', 'add_object']
 diff --git a/dbusmock/mockobject.py b/dbusmock/mockobject.py
-index 97b79ce..a98e03d 100644
+index 586dbad..e4f130f 100644
 --- a/dbusmock/mockobject.py
 +++ b/dbusmock/mockobject.py
-@@ -682,6 +682,14 @@ dbus.service._method_lookup = _dbusmock_method_lookup
+@@ -688,6 +688,14 @@ dbus.service._method_lookup = _dbusmock_method_lookup
  # Helper API for templates
  #
  
@@ -48,6 +50,3 @@
  
  def get_objects():
      '''Return all existing object paths'''
--- 
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch
index 981694f..06ab1f0 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch
@@ -1,22 +1,23 @@
-From ff1dffd5673bcd2cbd9554ad62476d108dbc18af Mon Sep 17 00:00:00 2001
+From 03bd5cb77c54033857810bb17562859eefa41221 Mon Sep 17 00:00:00 2001
 From: Simon Busch <simon.busch@lge.com>
 Date: Wed, 9 Apr 2014 13:20:33 +0200
-Subject: [PATCH 2/2] Add possibility to import templates from packages
+Subject: [PATCH] Add possibility to import templates from packages
 
 Does not have any unit tests yet.
 
 Signed-off-by: Simon Busch <simon.busch@lge.com>
+
 ---
- dbusmock/mockobject.py |    3 +++
+ dbusmock/mockobject.py | 3 +++
  1 file changed, 3 insertions(+)
 
 diff --git a/dbusmock/mockobject.py b/dbusmock/mockobject.py
-index a98e03d..9530c2a 100644
+index e4f130f..389df70 100644
 --- a/dbusmock/mockobject.py
 +++ b/dbusmock/mockobject.py
-@@ -49,6 +49,9 @@ def load_module(name):
- 
-         return module
+@@ -46,6 +46,9 @@ def load_module(name):
+             exec(f.read(), mod.__dict__, mod.__dict__)
+         return mod
  
 +    if '.' in name:
 +        return importlib.import_module(name)
@@ -24,6 +25,3 @@
      return importlib.import_module('dbusmock.templates.' + name)
  
  
--- 
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.16.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.16.7.bb
index fb8c0aa..ec8c54a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.16.7.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.16.7.bb
@@ -20,7 +20,6 @@
 
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-dbus \
-    ${PYTHON_PN}-importlib \
     ${PYTHON_PN}-pygobject \
     ${PYTHON_PN}-xml \
     "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
index 859f972..44edb8a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
@@ -9,8 +9,8 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=893f896413826096ce5270c700a498fd"
 
-SRC_URI[md5sum] = "a0f7f4fe00ae2dde93494d90c192cf8c"
-SRC_URI[sha256sum] = "7cb64d38cb8002971710c8899fbdfb859a23a364b7c99dab19d1f719c2ba16b5"
+SRC_URI[md5sum] = "249e7299b9b4bced0c382343f84eb1c0"
+SRC_URI[sha256sum] = "c39efa13fbdeb4506c476c9b3babf6a718da943dab7811c206005a4a956c080c"
 
 inherit pypi
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.3.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.1.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.3.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south.inc
index ce904b6..e4f03b9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south.inc
@@ -10,7 +10,7 @@
 PYPI_PACKAGE = "South"
 inherit pypi
 
-BBCLASSEXTEND = "nativesdk"
+BBCLASSEXTEND = "native nativesdk"
 
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-django \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
index 58fd70a..4ef2d7f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
@@ -3,22 +3,30 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
 
-SRC_URI[md5sum] = "8cef0d42aabacbc414ec4fbbb6056f3c"
-SRC_URI[sha256sum] = "1836878162dfdf865492bacfdff0321e4ee8f1e7d51d93192546000b54982b29"
+SRC_URI[md5sum] = "f306015e16a8d5024dbac923ac34fffb"
+SRC_URI[sha256sum] = "22383567385a9c406d8a5ce080a2694c82c6b733e157922197e8b393bb3aacd9"
 
 PYPI_PACKAGE = "Django"
 inherit pypi
 
 FILES_${PN} += "${datadir}/django"
 
-BBCLASSEXTEND = "nativesdk"
+BBCLASSEXTEND = "native nativesdk"
 
 RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-compression \
+    ${PYTHON_PN}-ctypes \
     ${PYTHON_PN}-datetime \
-    ${PYTHON_PN}-importlib \
+    ${PYTHON_PN}-email \
+    ${PYTHON_PN}-html \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-multiprocessing \
+    ${PYTHON_PN}-netserver \
     ${PYTHON_PN}-numbers \
-    ${PYTHON_PN}-pip \
     ${PYTHON_PN}-pkgutil \
-    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-pytz \
     ${PYTHON_PN}-threading \
-    "
+    ${PYTHON_PN}-unixadmin \
+    ${PYTHON_PN}-xml \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.10.bb
new file mode 100644
index 0000000..d2347cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.10.bb
@@ -0,0 +1,8 @@
+require python-django.inc
+inherit setuptools
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-argparse \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-zlib \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.5.bb
deleted file mode 100644
index ccd7714..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.5.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-django.inc
-inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate.inc
new file mode 100644
index 0000000..ecf74a0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate.inc
@@ -0,0 +1,11 @@
+SUMMARY = "Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API."
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
+
+SRC_URI[md5sum] = "45bd97e6f7888aac24ae86013c57638e"
+SRC_URI[sha256sum] = "4b8ce6f33633c9dd9175b228d21c00c801b6bd0327747cd5e17fc2da934c3a69"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-threading \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb
index 13ebf92..c19445e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb
@@ -1,13 +1,2 @@
-SUMMARY = "Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API."
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
-
-SRC_URI[md5sum] = "45bd97e6f7888aac24ae86013c57638e"
-SRC_URI[sha256sum] = "4b8ce6f33633c9dd9175b228d21c00c801b6bd0327747cd5e17fc2da934c3a69"
-
 inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-numbers \
-    ${PYTHON_PN}-threading \
-    "
+require python-dominate.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-editor.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-editor.inc
new file mode 100644
index 0000000..30650bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-editor.inc
@@ -0,0 +1,9 @@
+DESCRIPTION = "Programmatically open and editor, capture the result"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+SRC_URI[md5sum] = "0aca5f2ef176ce68e98a5b7e31372835"
+SRC_URI[sha256sum] = "a3c066acee22a1c94f63938341d4fb374e3fdd69366ed6603d7b24bed1efc565"
+
+PYPI_PACKAGE = "python-editor"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-editor_1.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-editor_1.0.3.bb
new file mode 100644
index 0000000..f7a9a8c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-editor_1.0.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-editor.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc
new file mode 100644
index 0000000..5a3884a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc
@@ -0,0 +1,21 @@
+SUMMARY = "Python evdev lib"
+HOMEPAGE = "https://github.com/gvalkov/python-evdev"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=18debddbb3f52c661a129724a883a8e2"
+
+SRC_URI[md5sum] = "c7e855ae9f97f869a59e75b29f05ce74"
+SRC_URI[sha256sum] = "57edafc469a414f58b51af1bfb9ee2babb9f626dd2df530d71c1176871850aa1"
+
+do_compile_prepend() {
+    rm -rf ${S}/evdev/ecodes.c
+}
+
+DISTUTILS_BUILD_ARGS = "build_ecodes --evdev-headers ${STAGING_DIR_TARGET}/usr/include/linux/input.h:${STAGING_DIR_TARGET}/usr/include/linux/input-event-codes.h"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-ctypes \
+    ${PYTHON_PN}-fcntl \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-stringold \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb
index 0875da4..6354136 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb
@@ -1,17 +1,2 @@
-SUMMARY = "Python evdev lib"
-HOMEPAGE = "https://github.com/gvalkov/python-evdev"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=18debddbb3f52c661a129724a883a8e2"
-
-SRC_URI[md5sum] = "c7e855ae9f97f869a59e75b29f05ce74"
-SRC_URI[sha256sum] = "57edafc469a414f58b51af1bfb9ee2babb9f626dd2df530d71c1176871850aa1"
-
 inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-ctypes \
-    ${PYTHON_PN}-fcntl \
-    ${PYTHON_PN}-io \
-    ${PYTHON_PN}-shell \
-    ${PYTHON_PN}-stringold \
-    "
+require python-evdev.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc
new file mode 100644
index 0000000..b60ee17
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "i18n and l10n support for Flask based on babel and pytz"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=51917f3e8e858f5ae295a7d0e2eb3cc9"
+
+SRC_URI[md5sum] = "07803453743f139309021572a799c6b3"
+SRC_URI[sha256sum] = "c0d75710bd4b0fe866f9f2347de6e19208712f9cec006436b4c1c15d4cb0c939"
+
+PYPI_PACKAGE = "Flask-Babel"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-speaklater \
+    ${PYTHON_PN}-babel \
+    ${PYTHON_PN}-flask \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel_0.11.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel_0.11.2.bb
new file mode 100644
index 0000000..38e78c7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel_0.11.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-flask-babel.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap.inc
new file mode 100644
index 0000000..0723b97
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap.inc
@@ -0,0 +1,14 @@
+DESCRIPTION = "An extension that includes Bootstrap in your project, without any boilerplate code."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a03749709f06118a17349deb5a210619"
+
+SRC_URI[md5sum] = "e40d50f5c5b6438c1c6200a6f2871f81"
+SRC_URI[sha256sum] = "cb08ed940183f6343a64e465e83b3a3f13c53e1baabb8d72b5da4545ef123ac8"
+
+PYPI_PACKAGE = "Flask-Bootstrap"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-dominate \
+    ${PYTHON_PN}-flask \
+    ${PYTHON_PN}-visitor \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb
index 2b2a6f9..eeaade9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb
@@ -1,16 +1,2 @@
-DESCRIPTION = "An extension that includes Bootstrap in your project, without any boilerplate code."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a03749709f06118a17349deb5a210619"
-
-SRC_URI[md5sum] = "e40d50f5c5b6438c1c6200a6f2871f81"
-SRC_URI[sha256sum] = "cb08ed940183f6343a64e465e83b3a3f13c53e1baabb8d72b5da4545ef123ac8"
-
-PYPI_PACKAGE = "Flask-Bootstrap"
-
 inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-dominate \
-    ${PYTHON_PN}-flask \
-    ${PYTHON_PN}-visitor \
-    "
+require python-flask-bootstrap.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc
index 7dddba0..59eb64f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc
@@ -6,8 +6,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8aa87a1cd9fa41d969ad32cfdac2c596"
 
-SRC_URI[md5sum] = "e050efaa2c4dbc2d97f480a70f4d44aa"
-SRC_URI[sha256sum] = "d25e356b14a59f52da0ab30c31c2ad285fa23a840f0f6971df7ed247c77082a7"
+SRC_URI[md5sum] = "25b34c74bd509792f291c16e184225df"
+SRC_URI[sha256sum] = "c815c1ac7b3e35e2081685e389a665f2c74d7e077cb93cecabaea352da4752ec"
 
 PYPI_PACKAGE = "Flask-Login"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc
new file mode 100644
index 0000000..bb08703
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc
@@ -0,0 +1,12 @@
+SUMMARY = "Flask extension for sending email"
+DESCRIPTION = "A Flask extension for sending email"
+HOMEPAGE = " https://github.com/rduplain/flask-email"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5b16dfa6d3f275ace5985bb92949f770"
+
+SRC_URI[md5sum] = "04b35a42a44ec7aa724ec8ce55e2e08e"
+SRC_URI[sha256sum] = "22e5eb9a940bf407bcf30410ecc3708f3c56cc44b29c34e1726fe85006935f41"
+
+PYPI_PACKAGE = "Flask-Mail"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail_0.9.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail_0.9.1.bb
new file mode 100644
index 0000000..8324da8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail_0.9.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-flask-mail.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc
new file mode 100644
index 0000000..7af4fe1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc
@@ -0,0 +1,14 @@
+DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alembic"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85"
+
+SRC_URI[md5sum] = "def4106c80897b7fad2afb3bc05360e4"
+SRC_URI[sha256sum] = "b709ca8642559c3c5a81a33ab10839fa052177accd5ba821047a99db635255ed"
+
+PYPI_PACKAGE = "Flask-Migrate"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-flask-sqlalchemy \
+    ${PYTHON_PN}-alembic \
+    ${PYTHON_PN}-flask \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.1.1.bb
new file mode 100644
index 0000000..ece516f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.1.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-flask-migrate.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav.inc
new file mode 100644
index 0000000..932ccdf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "Easily create navigation for Flask applications."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=2729ee82259d601d90d28b0574d12416"
+
+SRC_URI[md5sum] = "4d51cfd06d58f8d0fe85775a6696c0e5"
+SRC_URI[sha256sum] = "44e40b755380a1e68ab521a2f9174de259a2c94ddcdaabf36b3aca2e110a33f4"
+
+PYPI_PACKAGE = "flask-nav"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-blinker \
+    ${PYTHON_PN}-flask \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav_0.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav_0.6.bb
new file mode 100644
index 0000000..30b5b3b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-nav_0.6.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-flask-nav.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
index e11283e..fb2d6ed 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
@@ -3,7 +3,7 @@
 HOMEPAGE = "https://github.com/mitsuhiko/flask/"
 SECTION = "devel/python"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;startline=1;endline=24;md5=424c4e1047d28e01b4e4634a069c019d"
+LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;beginline=1;endline=24;md5=424c4e1047d28e01b4e4634a069c019d"
 
 SRC_URI[md5sum] = "d7a1b717f27154e1f3a355f8ec2467d6"
 SRC_URI[sha256sum] = "2baaa2ba5107d72b3a8bd4b5c0c8881316e35340ad1ae979cc13f1f3c8843b3d"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc
new file mode 100644
index 0000000..0485f85
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful.inc
@@ -0,0 +1,16 @@
+SUMMARY = "Simple framework for creating REST APIs"
+DESCRIPTION = "\
+Flask-RESTful is an extension for Flask that adds support for quickly building \
+REST APIs"
+HOMEPAGE = "https://github.com/flask-restful/flask-restful"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=685bb55ed99a366bb431995f5eef2783"
+
+SRC_URI[md5sum] = "8243ca101185b130d8fa529cbdbdbddd"
+SRC_URI[sha256sum] = "5795519501347e108c436b693ff9a4d7b373a3ac9069627d64e4001c05dd3407"
+
+inherit pypi
+
+PYPI_PACKAGE = "Flask-RESTful"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful_0.3.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful_0.3.6.bb
new file mode 100644
index 0000000..1968d1d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-restful_0.3.6.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-flask-restful.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc
new file mode 100644
index 0000000..fca777b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "Scripting support for flask"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e686048adb69341fc8a08caeda528b41"
+
+SRC_URI[md5sum] = "3fbd91fe13cebedfb2431331f6eabb68"
+SRC_URI[sha256sum] = "6425963d91054cfcc185807141c7314a9c5ad46325911bd24dcb489bd0161c65"
+
+PYPI_PACKAGE = "Flask-Script"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-flask \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script_2.0.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script_2.0.6.bb
new file mode 100644
index 0000000..b7d55af
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script_2.0.6.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-flask-script.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc
new file mode 100644
index 0000000..e0efbc6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "Adds SQLAlchemy support to your Flask application."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5ed1b8cc741515a835a7f6bf2f62ef4a"
+
+SRC_URI[md5sum] = "373ce61dfd03b593ad2eaba68c9fee35"
+SRC_URI[sha256sum] = "5971b9852b5888655f11db634e87725a9031e170f37c0ce7851cf83497f56e53"
+
+PYPI_PACKAGE = "Flask-SQLAlchemy"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.0.bb
deleted file mode 100644
index 8799767..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Adds SQLAlchemy support to your Flask application."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5ed1b8cc741515a835a7f6bf2f62ef4a"
-
-SRC_URI[md5sum] = "c86449f44e90e996142872ac4b97f7ee"
-SRC_URI[sha256sum] = "da19ff62e31f82825b5467811c76e2a1c60bba927e175fe091a6f739063dd829"
-
-PYPI_PACKAGE = "Flask-SQLAlchemy"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.2.bb
new file mode 100644
index 0000000..3dc355c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.3.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-flask-sqlalchemy.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-uploads.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-uploads.inc
new file mode 100644
index 0000000..cd7ac1a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-uploads.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "Flexible and efficient upload handling for Flask"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=b712ac634b39469660c9bdfb8d03421c"
+
+SRC_URI[md5sum] = "e5eee34aa92b64a4d22847672b3858a1"
+SRC_URI[sha256sum] = "53ecbd6033667d50ae02b63adebbaa33c7fc56c09e5293025810cf9d841ecb02"
+
+PYPI_PACKAGE = "Flask-Uploads"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-flask \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-uploads_0.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-uploads_0.2.1.bb
new file mode 100644
index 0000000..d39b07f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-uploads_0.2.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-flask-uploads.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc
new file mode 100644
index 0000000..c2b7182
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Customizable user account management for Flask"
+DESCRIPTION = "Customizable User Account Management for Flask; Register \
+Confirm email, Login, Change username, Change password, Forgot Password \
+and more."
+HOMEPAGE = " https://github.com/lingthio/Flask-User"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=97de97cd9d6e23c88129d884588ce71a"
+
+SRC_URI[md5sum] = "f7965e66ca139c8436896da07e66c21f"
+SRC_URI[sha256sum] = "601abcc0343dfbae0c56273d98362d5cdc266ac84d20b3f65a212e4a2c83b302"
+
+PYPI_PACKAGE = "Flask-User"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-flask \
+    ${PYTHON_PN}-flask-login \
+    ${PYTHON_PN}-flask-mail \
+    ${PYTHON_PN}-babel"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user_0.6.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user_0.6.19.bb
new file mode 100644
index 0000000..654d377
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user_0.6.19.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-flask-user.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc
new file mode 100644
index 0000000..3c90656
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc
@@ -0,0 +1,15 @@
+DESCRIPTION = "Simple integration of Flask and WTForms."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3ca6bb31670492f791e6a9f2fb9f8a80"
+
+SRC_URI[md5sum] = "586f50f233926cade42e3d744aca3e8f"
+SRC_URI[sha256sum] = "5d14d55cfd35f613d99ee7cba0fc3fbbe63ba02f544d349158c14ca15561cc36"
+
+PYPI_PACKAGE = "Flask-WTF"
+
+RDEPENDS_${PN} = "\
+    ${PYTHON_PN}-flask \
+    ${PYTHON_PN}-itsdangerous \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-wtforms \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf/import-simplejson-as-json.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf/import-simplejson-as-json.patch
deleted file mode 100644
index 678f706..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf/import-simplejson-as-json.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Subject: [PATCH] import simplejson as json
-
-At runtime python-Flask-WTF tries to import json, but the module is not 
-available, import simplejson as json solve the issue.
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- flask_wtf/recaptcha/validators.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/flask_wtf/recaptcha/validators.py b/flask_wtf/recaptcha/validators.py
-index bcff23d..4a244bb 100644
---- a/flask_wtf/recaptcha/validators.py
-+++ b/flask_wtf/recaptcha/validators.py
-@@ -8,7 +8,7 @@ from flask import request, current_app
- from wtforms import ValidationError
- from werkzeug import url_encode
- from .._compat import to_bytes, to_unicode
--import json
-+import simplejson as json
- 
- RECAPTCHA_VERIFY_SERVER = 'https://www.google.com/recaptcha/api/siteverify'
- RECAPTCHA_ERROR_CODES = {
--- 
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf_0.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf_0.12.bb
deleted file mode 100644
index 79afaf6..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf_0.12.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Simple integration of Flask and WTForms."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=507e8635f25a06dc4f041a3a1b3359b3"
-
-SRC_URI[md5sum] = "c53a74e8ba481bf53405fd5efdf0339e"
-SRC_URI[sha256sum] = "bd99316c97ed1d1cb90b8f0c242c86420a891a6a2058f20717e424bf5b0bb80e"
-
-SRC_URI += " file://import-simplejson-as-json.patch"
-
-PYPI_PACKAGE = "Flask-WTF"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
-    python-wtforms \
-    python-simplejson \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf_0.14.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf_0.14.2.bb
new file mode 100644
index 0000000..dbf091b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf_0.14.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-flask-wtf.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc
new file mode 100644
index 0000000..a1fe14e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "XStatic support for flask"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=659968f6ebd4b70b6c3190d20b4a924c"
+
+SRC_URI[md5sum] = "2f56023e1444c8bd1fec41afe93de743"
+SRC_URI[sha256sum] = "226ea8e97065a9488b59bfe5c94af4c6e2ea70a25052e301fb231a1381490133"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-flask-xstatic:"
+SRC_URI += "file://remove-pip-requires.patch"
+
+PYPI_PACKAGE = "Flask-XStatic"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-flask \
+    ${PYTHON_PN}-xstatic \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic/remove-pip-requires.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic/remove-pip-requires.patch
new file mode 100644
index 0000000..a2d620a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic/remove-pip-requires.patch
@@ -0,0 +1,7 @@
+--- Flask-XStatic-0.0.1/setup.py.orig	2015-01-30 08:01:56.000000000 -0800
++++ Flask-XStatic-0.0.1/setup.py	2017-04-17 21:40:32.570181626 -0700
+@@ -1,4 +1,3 @@
+-from pip.req import parse_requirements
+ import setuptools
+ 
+ with open('README.rst') as f:
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic_0.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic_0.0.1.bb
new file mode 100644
index 0000000..dff14a8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic_0.0.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-flask-xstatic.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
index 76b5fba..ecf5619 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
@@ -13,4 +13,4 @@
 
 PYPI_PACKAGE = "Flask"
 
-RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous ${PYTHON_PN}-click"
+RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-werkzeug-tests ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous ${PYTHON_PN}-click"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb
new file mode 100644
index 0000000..46f7fe5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Clean single-source support for Python 3 and 2"
+HOMEPAGE = "https://python-future.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3f457538b297bd0ef86564b8ac216ad7"
+
+SRC_URI[md5sum] = "3e8e88a2bda48d54b1da7634d04760d7"
+SRC_URI[sha256sum] = "e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb"
+
+PYPI_PACKAGE_HASH = "99abde815842bc6e97d5a7806ad51236630da14ca2f3b1fce94c0bb94d3d"
+
+inherit pypi setuptools
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
index 8889cfb..13513f2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
@@ -11,7 +11,6 @@
 RDEPENDS_${PN} = "${PYTHON_PN}-greenlet \
 		  ${PYTHON_PN}-mime \
 		  ${PYTHON_PN}-pprint \
-		  ${PYTHON_PN}-re \
 		 "
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/python-gevent:"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb
index f357c95..f13bfd7 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb
@@ -1,3 +1,4 @@
 require python-gevent.inc
 inherit setuptools
 
+RDEPENDS_${PN} += "${PYTHON_PN}-re"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
index 35820db..7a42240 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
@@ -3,7 +3,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \
                     file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
 
-SRC_URI[md5sum] = "e8637647d58a26c4a1f51ca393e53c00"
-SRC_URI[sha256sum] = "e4c99c6010a5d153d481fdaf63b8a0782825c0721506d880403a3b9b82ae347e"
+SRC_URI[md5sum] = "6e0b9dd5385f81d478451ec8ed1d62b3"
+SRC_URI[sha256sum] = "0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4"
 
 inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.13.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.13.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.6.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.6.3.bb
deleted file mode 100644
index 0fb136b..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.6.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Google gRPC tools"
-HOMEPAGE = "http://www.grpc.io/"
-SECTION = "devel/python"
-
-DEPENDS = "python-grpcio"
-RDEPENDS_${PN} = "python-grpcio"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
-
-inherit pypi setuptools
-
-SRC_URI[md5sum] = "835f19142e26cb7ad68cec3a083ecda2"
-SRC_URI[sha256sum] = "57b3110ced50a18f1b2bf7da58ed011f57278b48084ed8013c67a34d42a5ca37"
-
-# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools)
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.8.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.8.4.bb
new file mode 100644
index 0000000..45e0cc1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.8.4.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Google gRPC tools"
+HOMEPAGE = "http://www.grpc.io/"
+SECTION = "devel/python"
+
+DEPENDS = "python-grpcio"
+RDEPENDS_${PN} = "python-grpcio"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+inherit pypi setuptools
+
+SRC_URI[md5sum] = "e04e65afe60410cf178ff2698f052a7c"
+SRC_URI[sha256sum] = "edc84c09039d3a01012ccd97450abd06ee6b980710f6d9f191b50deb6774a75c"
+
+# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools)
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
index 3abbc6d..0c1d964 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
@@ -18,19 +18,16 @@
  setup.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/setup.py b/setup.py
-index cb85273..f79878d 100644
---- a/setup.py
-+++ b/setup.py
-@@ -116,7 +116,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
-   elif 'win32' in sys.platform:
-     EXTRA_ENV_COMPILE_ARGS += ' -D_PYTHON_MSVC'
+Index: grpcio-1.8.4/setup.py
+===================================================================
+--- grpcio-1.8.4.orig/setup.py
++++ grpcio-1.8.4/setup.py
+@@ -115,7 +115,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
+     else:
+       EXTRA_ENV_COMPILE_ARGS += ' -D_ftime=_ftime64 -D_timeb=__timeb64'
    elif "linux" in sys.platform:
 -    EXTRA_ENV_COMPILE_ARGS += ' -std=c++11 -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions'
 +    EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
    elif "darwin" in sys.platform:
-     EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv'
+     EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
  
--- 
-2.13.4
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.6.0.bb
deleted file mode 100644
index 7155f42..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.6.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "Google gRPC"
-HOMEPAGE = "http://www.grpc.io/"
-SECTION = "devel/python"
-
-DEPENDS = "python-protobuf"
-
-SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \
-           "
-RDEPENDS_${PN} = "python-enum34 \
-                  python-futures \
-                  python-protobuf \
-                  python-setuptools \
-                  python-six \
-"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
-
-inherit pypi setuptools
-
-SRC_URI[md5sum] = "c91b8c105ff4163b41790f3b63db92e1"
-SRC_URI[sha256sum] = "6cd793d515ec53587a8968f2a53647f1449763ad06be0d287e3c1e47418e1e50"
-
-# For usage in other recipes when compiling protobuf files (e.g. by grpcio-tools)
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.8.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.8.4.bb
new file mode 100644
index 0000000..bec9d84
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.8.4.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Google gRPC"
+HOMEPAGE = "http://www.grpc.io/"
+SECTION = "devel/python"
+
+DEPENDS = "python-protobuf"
+
+SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch "
+
+RDEPENDS_${PN} = "python-enum34 \
+                  python-futures \
+                  python-protobuf \
+                  python-setuptools \
+                  python-six \
+"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+inherit pypi setuptools
+
+SRC_URI[md5sum] = "7860f7c61de3890323670b7b1ff63e56"
+SRC_URI[sha256sum] = "88d87aab9c7889b3ab29dd74aac1a5493ed78b9bf5afba1c069c9dd5531f951d"
+
+# For usage in other recipes when compiling protobuf files (e.g. by grpcio-tools)
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
index 9c59e0d..0eb8bf3 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
@@ -2,13 +2,14 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1ba5ada9e6fead1fdc32f43c9f10ba7c"
 
-SRC_URI[md5sum] = "8578e4e3a341436cb9743a9e4a299239"
-SRC_URI[sha256sum] = "ee747c0ffd3028d2722061936b5c65ee4fe13c8e4613519b4447123fc4546298"
+SRC_URI[md5sum] = "942a0688d6bdf20d087c9805c40182ad"
+SRC_URI[sha256sum] = "66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736"
 
 inherit pypi
 
 RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-lxml \
     ${PYTHON_PN}-six \
     ${PYTHON_PN}-webencodings \
     ${PYTHON_PN}-xml \
-    "
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_1.0.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_1.0.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc
index d9fac09..17a3449 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc
@@ -7,4 +7,8 @@
 SRC_URI[md5sum] = "e8473d9dc1b220911cac2edd53b1d973"
 SRC_URI[sha256sum] = "a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19"
 
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc
index 3675458..b63fac9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc
@@ -12,3 +12,9 @@
     ${PYTHON_PN}-twisted \
     ${PYTHON_PN}-click \
 "
+
+# -native is needed to build python[3]-twisted, however, we need to take steps to
+# prevent a circular dependency. The build apparently does not use the part of
+# python-incremental which uses python-twisted, so this hack is OK.
+RDEPENDS_${PYTHON_PN}-incremental-native_remove = "${PYTHON_PN}-twisted-native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.18.bb
deleted file mode 100644
index cc4f589..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.18.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2."
-HOMEPAGE = "https://github.com/phihag/ipaddress"
-LICENSE = "Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7f538584cc3407bf76042def7168548a"
-
-DEPENDS += "python-pip"
-
-SRC_URI[md5sum] = "310c2dfd64eb6f0df44aa8c59f2334a7"
-SRC_URI[sha256sum] = "5d8534c8e185f2d8a1fda1ef73f2c8f4b23264e8e30063feeb9511d492a413e1"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.19.bb
new file mode 100644
index 0000000..9c50b46
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.19.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2."
+HOMEPAGE = "https://github.com/phihag/ipaddress"
+LICENSE = "Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7f538584cc3407bf76042def7168548a"
+
+DEPENDS += "python-pip"
+
+SRC_URI[md5sum] = "d0687efaf93a32476d81e90ba0609c57"
+SRC_URI[sha256sum] = "200d8686011d470b5e4de207d803445deee427455cd0cb7c982b68cf82524f81"
+
+inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc
index 45da75f..61e9abb 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc
@@ -6,4 +6,8 @@
 SRC_URI[md5sum] = "4de940f691c5ea759fb254384c8ddcf6"
 SRC_URI[sha256sum] = "49c4b20e1f38aa5cf109ddcd39647ac419f928512c869dc01d5c7098eddede82"
 
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
index 9884c44..6d13e5f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
@@ -4,7 +4,12 @@
 SECTION = "devel/python"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
 
-SRC_URI[md5sum] = "34915a2ce60e6fe3dbcbf5982deef9b4"
-SRC_URI[sha256sum] = "79f46172d3a4e2e53e7016e663cc7a8b538bec525c36675fcfd2767df30b3983"
+SRC_URI[md5sum] = "fb554e9c8f9aa76e333a03d470a5cf52"
+SRC_URI[sha256sum] = "b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8"
 
 inherit pypi
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-shell \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.3.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.15.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.3.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous.inc
index 73951fa..84f9e77 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous.inc
@@ -7,3 +7,8 @@
 SRC_URI[sha256sum] = "cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"
 
 CLEANBROKEN = "1"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-simplejson \
+    ${PYTHON_PN}-netclient \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous_0.24.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous_0.24.bb
index 0e156be..8c99cb4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous_0.24.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-itsdangerous_0.24.bb
@@ -1,2 +1,6 @@
 inherit pypi setuptools
 require python-itsdangerous.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-zlib \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3.inc
new file mode 100644
index 0000000..a0e802c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3.inc
@@ -0,0 +1,15 @@
+SUMMARY = "Module for serializing and de-serializing Java objects."
+DESCRIPTION = "python-javaobj is a python library that provides functions\
+ for reading and writing (writing is WIP currently) Java objects serialized\
+ or will be deserialized by ObjectOutputStream. This form of object\
+ representation is a standard data interchange format in Java world."
+HOMEPAGE = "https://github.com/tcalmant/python-javaobj"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://javaobj.py;beginline=21;endline=33;md5=8b504419ce78f8133b21b4d4a89ef7e9"
+
+SRC_URI[md5sum] = "f669bb8099380e3dd84db3d542aa5b68"
+SRC_URI[sha256sum] = "b8b0d310fd97e1c7914d7911ee9d3f4b3d84d2a674aa95a4b0da3d8f155fc1bb"
+
+inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3_0.2.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3_0.2.4.bb
new file mode 100644
index 0000000..ed34740
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-javaobj-py3_0.2.4.bb
@@ -0,0 +1,2 @@
+require python-javaobj-py3.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
index 35cbb0b..0c0bf0d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
@@ -4,12 +4,12 @@
 
 PYPI_PACKAGE = "Jinja2"
 
-SRC_URI[md5sum] = "6411537324b4dba0956aaa8109f3c77b"
-SRC_URI[sha256sum] = "ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff"
+SRC_URI[md5sum] = "61ef1117f945486472850819b8d1eb3d"
+SRC_URI[sha256sum] = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"
 
 RDEPENDS_${PN} += "${PYTHON_PN}-io ${PYTHON_PN}-pickle ${PYTHON_PN}-crypt \
-    ${PYTHON_PN}-math ${PYTHON_PN}-netclient ${PYTHON_PN}-re ${PYTHON_PN}-textutils \
-    ${PYTHON_PN}-lang ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-markupsafe \
+    ${PYTHON_PN}-math ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-markupsafe \
     ${PYTHON_PN}-json ${PYTHON_PN}-threading ${PYTHON_PN}-numbers"
 
 CLEANBROKEN = "1"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.10.bb
new file mode 100644
index 0000000..5233cf4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.10.bb
@@ -0,0 +1,8 @@
+inherit pypi setuptools
+require python-jinja2.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-lang \
+    ${PYTHON_PN}-re \
+    ${PYTHON_PN}-textutils \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.6.bb
deleted file mode 100644
index ec8e7ed..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-jinja2.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
new file mode 100644
index 0000000..409c09a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
@@ -0,0 +1,12 @@
+SUMMARY  = "Appling JSON patches in Python 2.6+ and 3.x"
+HOMEPAGE = "https://github.com/stefankoegl/python-json-patch"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3"
+
+inherit pypi
+
+SRC_URI[md5sum] = "83c4c9faccb4a2ff8c1db80cbddc590d"
+SRC_URI[sha256sum] = "49f29cab70e9068db3b1dc6b656cbe2ee4edf7dfe9bf5a0055f17a4b6804a4b9"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-json ${PYTHON_PN}-jsonpointer ${PYTHON_PN}-netclient ${PYTHON_PN}-stringold"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.16.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.16.bb
deleted file mode 100644
index bbc61a4..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.16.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY  = "Appling JSON patches in Python 2.6+ and 3.x"
-HOMEPAGE = "https://github.com/stefankoegl/python-json-patch"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3"
-
-inherit pypi setuptools
-
-SRC_URI[md5sum] = "8ef1ceb00dcf992c9e43611f698f9279"
-SRC_URI[sha256sum] = "f025c28a08ce747429ee746bb21796c3b6417ec82288f8fe6514db7398f2af8a"
-
-RDEPENDS_${PN} += "${PYTHON_PN}-json ${PYTHON_PN}-jsonpointer ${PYTHON_PN}-netclient ${PYTHON_PN}-re ${PYTHON_PN}-stringold"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.23.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.23.bb
new file mode 100644
index 0000000..90cd318
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.23.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-jsonpatch.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-re"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc
new file mode 100644
index 0000000..4ed01ed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Resolve JSON Pointers in Python"
+HOMEPAGE = "https://github.com/stefankoegl/python-json-pointer"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=32b15c843b7a329130f4e266a281ebb3"
+
+inherit pypi
+
+SRC_URI[md5sum] = "741b98d0e693b08b5e44e0a9da5a7bb7"
+SRC_URI[sha256sum] = "c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83975362"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-json \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.12.bb
deleted file mode 100644
index f5c1aa8..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_1.12.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Resolve JSON Pointers in Python"
-HOMEPAGE = "https://github.com/stefankoegl/python-json-pointer"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3"
-
-inherit pypi setuptools
-
-SRC_URI[md5sum] = "eaaad79e983d58ecbee5b4a326723777"
-SRC_URI[sha256sum] = "819b6dd4fd0a18ac219e02a0117f24b2d31296b0c475c33862cfa9a1616d62c3"
-
-RDEPENDS_${PN} += "python-re python-json"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_2.0.bb
new file mode 100644
index 0000000..e13a776
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer_2.0.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-jsonpointer.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-re"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
index db57c69..6fdc024 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
@@ -11,17 +11,13 @@
     ${PYTHON_PN}-core \
     ${PYTHON_PN}-io \
     ${PYTHON_PN}-json \
-    ${PYTHON_PN}-lang \
     ${PYTHON_PN}-netclient \
     ${PYTHON_PN}-numbers \
     ${PYTHON_PN}-pkgutil \
     ${PYTHON_PN}-pprint \
-    ${PYTHON_PN}-re \
     ${PYTHON_PN}-rfc3987 \
     ${PYTHON_PN}-shell \
     ${PYTHON_PN}-strict-rfc3339 \
-    ${PYTHON_PN}-subprocess \
-    ${PYTHON_PN}-textutils \
     ${PYTHON_PN}-unittest \
 "
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb
index 3bb5220..b677c64 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb
@@ -5,4 +5,8 @@
     ${PYTHON_PN}-argparse \
     ${PYTHON_PN}-contextlib \
     ${PYTHON_PN}-functools32 \
+    ${PYTHON_PN}-lang \
+    ${PYTHON_PN}-re \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-textutils \ 
 "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb
index cd15760..9ad865d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb
@@ -11,3 +11,9 @@
 
 SRC_URI[md5sum] = "a6a1a82957a23afdf44cfdd039b65ff9"
 SRC_URI[sha256sum] = "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
index 7c0a7d7..3f3a1e2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
@@ -11,15 +11,15 @@
                     file://doc/licenses/elementtree.txt;md5=eb34d036a6e3d56314ee49a6852ac891 \
                     file://doc/licenses/BSD.txt;md5=700a1fc17f4797d4f2d34970c8ee694b \
                     file://doc/licenses/GPL.txt;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;startline=2;endline=7;md5=a2914d12acc7066b3f5b60e8f94a012e \
-                    file://src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl;startline=2;endline=24;md5=96976dcc66249c51e8026b159ca5e755 \
-                    file://src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl;startline=2;endline=7;md5=5cac4ad4b5e131a10e9af755b10fbbb7 \
+                    file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;beginline=2;endline=7;md5=939e7430ce85e1242ff50c4ee9430752 \
+                    file://src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl;beginline=2;endline=24;md5=cc86b7b2bbc678e13f58ea403eb9929b \
+                    file://src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl;beginline=2;endline=7;md5=5b03236d293dc3784205542b409d2f53 \
                     "
 
 DEPENDS += "libxml2 libxslt"
 
-SRC_URI[md5sum] = "247580bd5d942872bd972ad0086e5cbf"
-SRC_URI[sha256sum] = "be3aaeb5f468a49f523f16736ccff7d82af2b4b303292ba3d052b5b28f3fbe47"
+SRC_URI[md5sum] = "c266d9062e23b08f66426979a2b36f51"
+SRC_URI[sha256sum] = "e2629cdbcad82b83922a3488937632a4983ecc0fed3e5cfbf430d069382eeb9b"
 
 DISTUTILS_BUILD_ARGS += " \
                      --with-xslt-config='pkg-config libxslt' \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.1.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
index 819c8e5..c71b16f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
@@ -1,4 +1,4 @@
-From f11b9c71080513f9b867ba8f40613ba2ebc6e960 Mon Sep 17 00:00:00 2001
+From dfb83a41aaeae326e9b6f02b233af375bc7b8815 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Fri, 29 Mar 2013 15:17:17 +0100
 Subject: [PATCH] setup.py: link in sysroot, not in host directories
@@ -10,12 +10,12 @@
  setup.py | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 
-Index: M2Crypto-0.23.0/setup.py
-===================================================================
---- M2Crypto-0.23.0.orig/setup.py
-+++ M2Crypto-0.23.0/setup.py
-@@ -62,7 +62,7 @@ class _M2CryptoBuildExt(build_ext.build_
-             self.openssl = 'c:\\pkg'
+diff --git a/setup.py b/setup.py
+index 3407c82..15ed7cd 100644
+--- a/setup.py
++++ b/setup.py
+@@ -127,7 +127,7 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+                 self.openssl = os.path.join(self.openssl, 'OpenSSL')
          else:
              self.libraries = ['ssl', 'crypto']
 -            self.openssl = '/usr'
@@ -23,7 +23,7 @@
  
      def finalize_options(self):
          '''Overloaded build_ext implementation to append custom openssl
-@@ -75,8 +75,8 @@ class _M2CryptoBuildExt(build_ext.build_
+@@ -143,8 +143,8 @@ class _M2CryptoBuildExt(build_ext.build_ext):
          if _openssl and os.path.isdir(_openssl):
              self.openssl = _openssl
  
@@ -34,3 +34,6 @@
  
          if platform.system() == "Linux":
              if _multiarch:  # on Fedora/RHEL it is an empty string
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc
new file mode 100644
index 0000000..a9fa556
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc
@@ -0,0 +1,21 @@
+SUMMARY = "A super-fast templating language that borrows the best ideas from the existing templating languages"
+HOMEPAGE = "http://www.makotemplates.org/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1bb21fa2d2f7a534c884b990430a6863"
+
+PYPI_PACKAGE = "Mako"
+
+inherit pypi
+
+SRC_URI[md5sum] = "5836cc997b1b773ef389bf6629c30e65"
+SRC_URI[sha256sum] = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae"
+
+RDEPENDS_${PN} = " \
+    ${PYTHON_PN}-html \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.7.bb
new file mode 100644
index 0000000..3372eeb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.7.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-mako.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
index e50f8ce..927f844 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
@@ -9,4 +9,4 @@
 PYPI_PACKAGE = "MarkupSafe"
 inherit pypi
 
-RDEPENDS_${PN} += "${PYTHON_PN}-re ${PYTHON_PN}-stringold"
+RDEPENDS_${PN} += "${PYTHON_PN}-stringold"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb
index 5c9884b..05bbe8a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb
@@ -1,4 +1,6 @@
 inherit setuptools
 require python-markupsafe.inc
 
+RDEPENDS_${PN} += "${PYTHON_PN}-re"
+
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.3.bb
deleted file mode 100644
index ee91d18..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.3.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "An implementation of time.monotonic() for Python 2.0 through 3.2"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-
-SRC_URI[md5sum] = "34351251d1a67667a25cd7673d2e44bf"
-SRC_URI[sha256sum] = "2b469e2d7dd403f7f7f79227fe5ad551ee1e76f8bb300ae935209884b93c7c1b"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "${PYTHON_PN}-ctypes ${PYTHON_PN}-io ${PYTHON_PN}-re ${PYTHON_PN}-threading"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.4.bb
new file mode 100644
index 0000000..4c5d8ae
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.4.bb
@@ -0,0 +1,10 @@
+SUMMARY = "An implementation of time.monotonic() for Python 2.0 through 3.2"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+SRC_URI[md5sum] = "29302cd6b1013b3ab0d1ed78e20d22f2"
+SRC_URI[sha256sum] = "a02611d5b518cd4051bf22d21bd0ae55b3a03f2d2993a19b6c90d9d168691f84"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "${PYTHON_PN}-ctypes ${PYTHON_PN}-io ${PYTHON_PN}-re ${PYTHON_PN}-threading"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
index 228ce59..fdc8926 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
@@ -2,8 +2,12 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
 
-SRC_URI[md5sum] = "dcd854fb41ee7584ebbf35e049e6be98"
-SRC_URI[sha256sum] = "1a2b19df0f03519ec7f19f826afb935b202d8979b0856c6fb3dc28955799f886"
+SRC_URI[md5sum] = "6d644c06a87a5a111bbbf5b34b4be440"
+SRC_URI[sha256sum] = "378cc8a6d3545b532dfd149da715abae4fda2a3adb6d74e525d0d5e51f46909b"
 
 PYPI_PACKAGE = "msgpack-python"
 inherit pypi
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-io \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
index 133cab1..d743023 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
@@ -3,8 +3,8 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://MANIFEST.in;md5=ce22c0cd986d2de3f7073cd6b5523ae0"
 
-SRC_URI[md5sum] = "59a2f0a5b3b60e6c520a9cc7be9aff87"
-SRC_URI[sha256sum] = "7bfd8c5cfcbc241a93ca6a4e45f952650f5c7ecf7c49b1dbcf5f4d390240be0b"
+SRC_URI[md5sum] = "a0d349cf9530e331697a6e5ab1f40de6"
+SRC_URI[sha256sum] = "fba4d4798dcac2965874f24afb6631b4326baa4bd02505744d34f690c354856a"
 
 PYPI_PACKAGE = "ndg_httpsclient"
 
@@ -13,6 +13,13 @@
     ${PYTHON_PN}-pyasn1 \
 "
 
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-pyopenssl \
+    ${PYTHON_PN}-pyasn1 \
+"
+
 BBCLASSEXTEND = "native nativesdk"
 
 UPSTREAM_CHECK_REGEX = ""
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
index 26b0f1e..5b6d4df 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
@@ -6,3 +6,8 @@
 SRC_URI[sha256sum] = "38aeec7cdd035081d3a4c306394b19d677623bf76fa0913f6695127c7753aefd"
 
 inherit pypi
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-pprint \
+    ${PYTHON_PN}-xml \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
index 5e089a9..ca5a79a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
@@ -1,2 +1,6 @@
 require python-netaddr.inc
 inherit setuptools
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-textutils \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb
deleted file mode 100644
index bda8ae3..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "Python package for creating and manipulating graphs and networks"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=925586ea588eb990de840dc71ea3752f"
-
-SRC_URI[md5sum] = "6ef584a879e9163013e9a762e1cf7cd1"
-SRC_URI[sha256sum] = "0d0e70e10dfb47601cbb3425a00e03e2a2e97477be6f80638fef91d54dd1e4b8"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "python-2to3"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb
new file mode 100644
index 0000000..bc0c686
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Python package for creating and manipulating graphs and networks"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3376ff7c9c58048c62d91431f7f08cde"
+
+SRC_URI[md5sum] = "4a2c2a62dfc46ba7d594daca7c834995"
+SRC_URI[sha256sum] = "64272ca418972b70a196cb15d9c85a5a6041f09a2f32e0d30c0255f25d458bb1"
+
+PYPI_PACKAGE_EXT = "zip"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "python-2to3"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc
new file mode 100644
index 0000000..c5de8a0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc
@@ -0,0 +1,25 @@
+SUMMARY = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
+HOMEPAGE = "https://github.com/idan/oauthlib"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5ba9ce41463615e082609806255bce1b"
+
+SRC_URI = "https://pypi.python.org/packages/a5/8a/212e9b47fb54be109f3ff0684165bb38c51117f34e175c379fce5c7df754/oauthlib-${PV}.tar.gz"
+SRC_URI[md5sum] = "277a9a966cc8c72e492b4eeb41332445"
+SRC_URI[sha256sum] = "ce57b501e906ff4f614e71c36a3ab9eacbb96d35c24d1970d2539bbc3ec70ce1"
+
+S = "${WORKDIR}/oauthlib-${PV}"
+
+# The following configs & dependencies are from setuptools extras_require.
+# These dependencies are optional, hence can be controlled via PACKAGECONFIG.
+# The upstream names may not correspond exactly to bitbake package names.
+#
+# Uncomment this line to enable all the optional features.
+#PACKAGECONFIG ?= "test signedtoken signals rsa"
+PACKAGECONFIG[test] = ",,,${PYTHON_PN}-blinker ${PYTHON_PN}-cryptography ${PYTHON_PN}-nose ${PYTHON_PN}-pyjwt"
+PACKAGECONFIG[signedtoken] = ",,,${PYTHON_PN}-cryptography ${PYTHON_PN}-pyjwt"
+PACKAGECONFIG[signals] = ",,,${PYTHON_PN}-blinker"
+PACKAGECONFIG[rsa] = ",,,${PYTHON_PN}-cryptography"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-core ${PYTHON_PN}-crypt ${PYTHON_PN}-datetime ${PYTHON_PN}-json ${PYTHON_PN}-logging ${PYTHON_PN}-math ${PYTHON_PN}-netclient ${PYTHON_PN}-unittest"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb
new file mode 100644
index 0000000..4329d21
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-oauthlib.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-re ${PYTHON_PN}-lang"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
index ad1ce6a..f834e6f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
@@ -7,13 +7,15 @@
 SRCNAME = "paho-mqtt"
 
 inherit pypi
-SRC_URI[md5sum] = "b9338236e2836e8579ef140956189cc4"
-SRC_URI[sha256sum] = "2c9ef5494cfc1e41a9fff6544c5a2cd59ea5d401d9119a06ecf7fad6a2ffeb93"
+SRC_URI[md5sum] = "2cc27d8b369700b1fc99325add0dadd2"
+SRC_URI[sha256sum] = "31911f6031de306c27ed79dc77b690d7c55b0dcb0f0434ca34ec6361d0371122"
 
 DEPENDS += "${PYTHON_PN}-pytest-runner-native"
 
 RDEPENDS_${PN} = "\
-               ${PYTHON_PN}-math \
-               ${PYTHON_PN}-io \
-               ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-math \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-threading \
 "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb
deleted file mode 100644
index f369b2e..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.0.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit setuptools
-require python-paho-mqtt.inc
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb
new file mode 100644
index 0000000..a103117
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb
@@ -0,0 +1,6 @@
+inherit setuptools
+require python-paho-mqtt.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pam_1.8.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pam_1.8.2.bb
index 05bddd5..60a3b43 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pam_1.8.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pam_1.8.2.bb
@@ -10,3 +10,6 @@
 inherit pypi setuptools
 
 RDEPENDS_${PN} = "libpam"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc
index d1f3707..b9f84a6 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc
@@ -3,13 +3,12 @@
 high-performance, easy-to-use data structures and data analysis tools for \
 the Python programming language."
 HOMEPAGE = "http://pandas.pydata.org/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=66017d3134349017409386be85176145"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ee0470f2de336c370a71c2f8d5e81c11"
 
-SRC_URI[md5sum] = "4df858f28b4bf4fa07d9fbb7f2568173"
-SRC_URI[sha256sum] = "a777e07633d83d546c55706420179551c8e01075b53c497dcf8ae4036766bc66"
+SRC_URI[md5sum] = "c7a2757b607748255f3270221ac61d59"
+SRC_URI[sha256sum] = "44a94091dd71f05922eec661638ec1a35f26d573c119aa2fad964f10a2880e6c"
 
-PYPI_PACKAGE = "pandas"
 inherit pypi
 
 DEPENDS += " \
@@ -17,6 +16,7 @@
 "
 
 RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-json \
     ${PYTHON_PN}-numpy \
     ${PYTHON_PN}-dateutil \
     ${PYTHON_PN}-pytz \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.20.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.20.3.bb
deleted file mode 100644
index 20973c8..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.20.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit setuptools
-require python-pandas.inc
-
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-json \
-    ${PYTHON_PN}-importlib \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.22.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.22.0.bb
new file mode 100644
index 0000000..b3bfab9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.22.0.bb
@@ -0,0 +1,7 @@
+inherit setuptools
+require python-pandas.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-future \
+    ${PYTHON_PN}-json \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb
index 037221a..8e16372 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Parse strings using a specification based on the Python format() syntax"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://parse.py;md5=a84b494563bba466a2f02b05f2e6ad4a;startline=1191;endline=1210"
+LIC_FILES_CHKSUM = "file://parse.py;beginline=1191;endline=1209;md5=5147afdd9b3615290ad8733f0137a1a1"
 
 SRC_URI[md5sum] = "42002338551bdfa0f01bbe4e679a17dd"
 SRC_URI[sha256sum] = "8048dde3f5ca07ad7ac7350460952d83b63eaacecdac1b37f45fd74870d849d2"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
index f289c0e..9e477ec 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
@@ -11,3 +11,9 @@
 
 SRC_URI[md5sum] = "254869dae3fd9f09f0746a3cb29a0b15"
 SRC_URI[sha256sum] = "3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-crypt \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-netclient \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.0.bb
deleted file mode 100644
index 262b862..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Python style guide checker"
-HOMEPAGE = "https://github.com/dreamhost/cliff"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.rst;md5=d8ebbbe831259ce010179d2f310b0f3e"
-
-SRC_URI[md5sum] = "2b03109b0618afe3b04b3e63b334ac9d"
-SRC_URI[sha256sum] = "a113d5f5ad7a7abacef9df5ec3f2af23a20a28005921577b15dd584d099d5900"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
-    python-prettytable \
-    python-cmd2 \
-    python-pyparsing"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb
new file mode 100644
index 0000000..b12d72d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Python style guide checker"
+HOMEPAGE = "https://github.com/dreamhost/cliff"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=d8ebbbe831259ce010179d2f310b0f3e"
+
+SRC_URI[md5sum] = "603821d06db945c71d811b5a8d78423c"
+SRC_URI[sha256sum] = "fe249b52e20498e59e0b5c5256aa52ee99fc295b26ec9eaa85776ffdb9fe6374"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += " \
+    python-prettytable \
+    python-cmd2 \
+    python-pyparsing"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
index 47d0979..fa8ad01 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
@@ -4,15 +4,11 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1c7a725251880af8c6a148181665385b"
 
-SRCNAME = "pexpect"
-
-SRC_URI[md5sum] = "3694410001a99dff83f0b500a1ca1c95"
-SRC_URI[sha256sum] = "3d132465a75b57aa818341c6521392a06cc660feb3988d7f1074f39bd23c9a92"
+SRC_URI[md5sum] = "913fc0a68a915cdf6ad4250493c94cf7"
+SRC_URI[sha256sum] = "9f8eb3277716a01faafaba553d629d3d60a1a624c7cf45daa600d2148c30020c"
 
 UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/pexpect"
 
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
 RDEPENDS_${PN} = "\
     ${PYTHON_PN}-core \
     ${PYTHON_PN}-io \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.5.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.2.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.5.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb
deleted file mode 100644
index 5ddd8d5..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "PIP is a tool for installing and managing Python packages"
-HOMEPAGE = "https://pip.pypa.io/"
-LICENSE = "MIT & LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452"
-
-SRC_URI[md5sum] = "35f01da33009719497f01a4ba69d63c9"
-SRC_URI[sha256sum] = "09f243e1a7b461f654c26a725fa373211bb7ff17a9300058b205c61658ca940d"
-
-inherit pypi setuptools
-
-# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
-RDEPENDS_${PN}_class-target = "python-modules python-distribute"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.3.bb
new file mode 100644
index 0000000..e3fc6ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.3.bb
@@ -0,0 +1,14 @@
+SUMMARY = "PIP is a tool for installing and managing Python packages"
+HOMEPAGE = "https://pip.pypa.io/"
+LICENSE = "MIT & LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452"
+
+SRC_URI[md5sum] = "b15b33f9aad61f88d0f8c866d16c55d8"
+SRC_URI[sha256sum] = "7bf48f9a693be1d58f49f7af7e0ae9fe29fd671cde8a55e6edca3581c4ef5796"
+
+inherit pypi setuptools
+
+# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
+RDEPENDS_${PN}_class-target = "python-modules python-distribute python-misc"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc
new file mode 100644
index 0000000..320359a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Plugin and hook calling mechanisms for python"
+HOMEPAGE = "https://github.com/pytest-dev/pluggy"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=338dad807ed9337bfaeb9979c3bfe20f"
+
+SRC_URI[md5sum] = "ffdde7c3a5ba9a440404570366ffb6d5"
+SRC_URI[sha256sum] = "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.6.0.bb
new file mode 100644
index 0000000..edcd4f5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.6.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pluggy.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc
new file mode 100644
index 0000000..a744950
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc
@@ -0,0 +1,18 @@
+SUMMARY = "Python Lex and Yacc"
+DESCRIPTION = "Python ply: PLY is yet another implementation of lex and yacc for Python"
+HOMEPAGE = "https://pypi.python.org/pypi/ply"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://README.md;beginline=5;endline=32;md5=f5ee5c355c0e6719c787a71b8f0fa96c"
+
+SRC_URI[md5sum] = "6465f602e656455affcd7c5734c638f8"
+SRC_URI[sha256sum] = "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"
+
+inherit pypi
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.10.bb
deleted file mode 100644
index 8e61efa..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.10.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Python Lex and Yacc"
-DESCRIPTION = "Python ply: PLY is yet another implementation of lex and yacc for Python"
-HOMEPAGE = "https://pypi.python.org/pypi/ply"
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://README.md;beginline=3;endline=30;md5=fcb04bc2f765e46ab7084d6ab6e452bb"
-
-SRCNAME = "ply"
-
-SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "1d63c166ab250bab87d8dcc42dcca70e"
-SRC_URI[sha256sum] = "96e94af7dd7031d8d6dd6e2a8e0de593b511c211a86e28a9c9621c275ac8bacb"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.11.bb
new file mode 100644
index 0000000..2b6165c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.11.bb
@@ -0,0 +1,2 @@
+require python-ply.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
index 78b6717..b342aef 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
@@ -3,7 +3,7 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=411780c0b7fa756753e94affeee5bc99"
 
-SRC_URI[md5sum] = "7147050a95c9f494248557b42b58ad79"
-SRC_URI[sha256sum] = "930f2c1e18503e8f8c403abe2e02166c4a881941745147e712cdd4f49f3fb964"
+SRC_URI[md5sum] = "ad53883ede48aeac7ae584f0de0240e8"
+SRC_URI[sha256sum] = "c90eb810cde8ebb06dafcb8796f9a95228ce796531bc806e794c2f4649aa1b10"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend_1.0.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend_1.0.9.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend_1.0.8.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend_1.0.9.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
index f5ed349..cc409a4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
@@ -10,7 +10,6 @@
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-core \
     ${PYTHON_PN}-six \
-    ${PYTHON_PN}-subprocess \
     ${PYTHON_PN}-terminal \
     ${PYTHON_PN}-threading \
     ${PYTHON_PN}-wcwidth \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.15.bb
index 76e8410..527c905 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.15.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.15.bb
@@ -1,2 +1,6 @@
 inherit pypi setuptools
 require python-prompt-toolkit.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
index 2f59ef9..b84983d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
@@ -2,15 +2,24 @@
 HOMEPAGE = "https://developers.google.com/protocol-buffers/"
 SECTION = "devel/python"
 
-RDEPENDS_${PN} = "python-six"
-
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
 
 inherit pypi
 
-SRC_URI[md5sum] = "bfc0c61c156a995e909521697e755780"
-SRC_URI[sha256sum] = "ef02609ef445987976a3a26bff77119c518e0915c96661c3a3b17856d0ef6374"
+SRC_URI[md5sum] = "393a53483224cb338df5c643646c0300"
+SRC_URI[sha256sum] = "09879a295fd7234e523b62066223b128c5a8a88f682e3aff62fb115e4a0d8be0"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-pkgutil \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-unittest \
+"
 
 # For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools)
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.5.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.4.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.5.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
index c9a7f6d..5d8e61f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
@@ -2,11 +2,19 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
 
-SRC_URI[md5sum] = "529244aea5d32fb0c2ea46d80ce54abc"
-SRC_URI[sha256sum] = "12dd9c8abbad15f055e9579130035b38617020ce176f4a498b7870e6321ffa67"
+SRC_URI[md5sum] = "3b291833dbea631db9d271aa602a169a"
+SRC_URI[sha256sum] = "e2467e9312c2fa191687b89ff4bc2ad8843be4af6fb4dc95a7cc5f7d7a327b18"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES_${PN}-tests += " \
+    ${PYTHON_SITEPACKAGES_DIR}/psutil/test* \
+    ${PYTHON_SITEPACKAGES_DIR}/psutil/__pycache__/test* \
+"
+
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-shell \
-    ${PYTHON_PN}-subprocess \
     ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-xml \
 "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.3.1.bb
deleted file mode 100644
index bf402aa..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.3.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-psutil.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.3.bb
new file mode 100644
index 0000000..9aabfb2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.3.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools
+require python-psutil.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
index 1aef0e7..c7d6727 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
@@ -1,9 +1,9 @@
 SUMMARY = "Library with cross-python path, ini-parsing, io, code, log facilities"
 HOMEPAGE = "http://py.readthedocs.io/"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b506f3df287708b2f99588b5cc351091"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
 
-SRC_URI[md5sum] = "d9c3d8f734b0819ff48e355d77bf1730"
-SRC_URI[sha256sum] = "0f2d585d22050e90c7d293b6451c83db097df77871974d90efd5a30dc12fcde3"
+SRC_URI[md5sum] = "279ca69c632069e1b71e11b14641ca28"
+SRC_URI[sha256sum] = "ca18943e28235417756316bfada6cd96b23ce60dd532642690dcfdaba988a76d"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.34.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.5.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.34.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.5.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
new file mode 100644
index 0000000..9fa54cf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
@@ -0,0 +1,16 @@
+SUMMARY = "A collection of ASN.1-based protocols modules."
+DESCRIPTION = "A collection of ASN.1 modules expressed in form of pyasn1\
+ classes. Includes protocols PDUs definition (SNMP, LDAP etc.) and various\
+ data structures (X.509, PKCS etc.)."
+HOMEPAGE = "https://github.com/etingof/pyasn1-modules"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=280606d9c18f200e03e0c247ac61475a"
+
+SRC_URI[md5sum] = "ff938698590f314ff9b3d5c48737d899"
+SRC_URI[sha256sum] = "af00ea8f2022b6287dc375b2c70f31ab5af83989fc6fe9eacd4976ce26cd7ccc"
+
+inherit pypi
+
+RDEPENDS_${PN} = "${PYTHON_PN}-pyasn1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.1.bb
new file mode 100644
index 0000000..eb78884
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.1.bb
@@ -0,0 +1,2 @@
+require python-pyasn1-modules.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
index dedb191..f3c32e0 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
@@ -3,12 +3,11 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=280606d9c18f200e03e0c247ac61475a"
 
-SRC_URI[md5sum] = "a2d01c561d4996055641bbbb74eda58f"
-SRC_URI[sha256sum] = "f0380ea97db0ede095a0dd87ce3003d46c197191f924206e43f776fc77e51f09"
+SRC_URI[md5sum] = "cb5883ddc6a9f405600429f37cf0759c"
+SRC_URI[sha256sum] = "d258b0a71994f7770599835249cece1caef3c70def868c4915e6e5ca49b67d15"
 
 RDEPENDS_${PN}_class-target += " \
     ${PYTHON_PN}-codecs \
-    ${PYTHON_PN}-lang \
     ${PYTHON_PN}-logging \
     ${PYTHON_PN}-math \
     ${PYTHON_PN}-shell \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.3.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.3.6.bb
deleted file mode 100644
index 4461918..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.3.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-pyasn1.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.2.bb
new file mode 100644
index 0000000..a13c74d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.2.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools
+require python-pyasn1.inc
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-lang \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
index e273a8d..e441dc6 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
@@ -1,7 +1,7 @@
 SUMMARY = "Seamless operability between C++11 and Python"
 HOMEPAGE = "https://github.com/wjakob/pybind11"
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9b27fac7e937323e3de9ca3a7db38e37"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=beb87117af69fd10fbf9fb14c22a2e62"
 
-SRC_URI[md5sum] = "f454d8991f47befe56d4126df861fc96"
-SRC_URI[sha256sum] = "a96a924fae6e2721efbf24f47561284fd1ea0b655619a8621c4423036183b824"
+SRC_URI[md5sum] = "2c651a75a20dabbaa18a8b023ffd54c0"
+SRC_URI[sha256sum] = "cbb036a8aad59a199ad672f98813f85c672642c6a67b4ff3868b1d6abc5fae3e"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez.inc
new file mode 100644
index 0000000..399fe57
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez.inc
@@ -0,0 +1,21 @@
+DESCRIPTION = "Bluetooth Python extension module"
+HOMEPAGE = "http://karulis.github.io/pybluez/"
+SECTION = "devel/python"
+
+DEPENDS = "bluez5"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
+
+inherit pypi
+
+SRC_URI = "https://pypi.python.org/packages/c1/98/3149481d508bee174335be6725880f00d297afebe75c15e917af8f6fe169/PyBluez-0.22.zip"
+SRC_URI[md5sum] = "49dab9d5a8f0b798c8125c7f649be3cd"
+SRC_URI[sha256sum] = "4ce006716a54d9d18e8186a3f1c8b12a8e6befecffe8fd5828a291fb694ce49d"
+
+S = "${WORKDIR}/PyBluez-${PV}"
+
+RDEPENDS_${PN} += "\
+    bluez5 \
+    ${PYTHON_PN}-fcntl \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb
index eab9c54..3158f4b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybluez_0.22.bb
@@ -1,17 +1,2 @@
-DESCRIPTION = "Bluetooth Python extension module"
-HOMEPAGE = "http://karulis.github.io/pybluez/"
-SECTION = "devel/python"
-
-RDEPENDS_${PN} = "bluez5"
-DEPENDS = "bluez5"
-
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
-
-inherit pypi setuptools
-
-SRC_URI = "https://pypi.python.org/packages/c1/98/3149481d508bee174335be6725880f00d297afebe75c15e917af8f6fe169/PyBluez-0.22.zip"
-SRC_URI[md5sum] = "49dab9d5a8f0b798c8125c7f649be3cd"
-SRC_URI[sha256sum] = "4ce006716a54d9d18e8186a3f1c8b12a8e6befecffe8fd5828a291fb694ce49d"
-
-S = "${WORKDIR}/PyBluez-${PV}"
+require python-pybluez.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
index 6b05482..d112d9f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
@@ -9,7 +9,8 @@
 BBCLASSEXTEND = "native nativesdk"
 
 RDEPENDS_${PN}_class-target += "\
-    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-ply \
+    ${PYTHON_PN}-pprint \
     cpp \
     cpp-symlinks \
     "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb
index adbc1a8..9874273 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb
@@ -1,2 +1,6 @@
 inherit pypi setuptools
 require python-pycparser.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc
index fb2c17d..232cdb7 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc
@@ -3,12 +3,16 @@
 LICENSE = "PSFv2"
 LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=35f354d199e8cb7667b059a23578e63d"
 
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-pycrypto:"
 
 DEPENDS += " gmp"
 
 inherit pypi autotools-brokensep
 
+SRC_URI += "file://cross-compiling.patch \
+            file://CVE-2013-7459.patch \
+           "
+
 SRC_URI[md5sum] = "55a61a054aa66812daf5161a0d5d7eda"
 SRC_URI[sha256sum] = "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
index 919f91e..e13db01 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
@@ -1,10 +1,6 @@
 inherit distutils
 require python-pycrypto.inc
 
-SRC_URI += "file://cross-compiling.patch \
-            file://CVE-2013-7459.patch \
-           "
-
 # We explicitly call distutils_do_install, since we want it to run, but
 # *don't* want the autotools install to run, since this package doesn't
 # provide a "make install" target.
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc
new file mode 100644
index 0000000..c4969f9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome.inc
@@ -0,0 +1,29 @@
+SUMMARY = "Cryptographic library for Python"
+DESCRIPTION = "PyCryptodome is a self-contained Python package of low-level\
+ cryptographic primitives."
+HOMEPAGE = "http://www.pycryptodome.org"
+LICENSE = "PD & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=775fe77831c03bf82f35abc0e230d4c1"
+
+SRC_URI[md5sum] = "a2587b6381b0ef4eb960cea1e7507d04"
+SRC_URI[sha256sum] = "c5dd29e9f1b733e74311bf95d0e544e91bd1d14bc0366e8f443562d8d9920b7d"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-math \
+"
+
+RDEPENDS_${PN}-tests += " \
+    ${PYTHON_PN}-unittest \
+"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES_${PN}-tests += " \
+    ${PYTHON_SITEPACKAGES_DIR}/Crypto/SelfTest/ \
+    ${PYTHON_SITEPACKAGES_DIR}/Crypto/SelfTest/__pycache__/ \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.4.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.4.11.bb
new file mode 100644
index 0000000..c7701eb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycryptodome_3.4.11.bb
@@ -0,0 +1,2 @@
+require python-pycryptodome.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus.inc
new file mode 100644
index 0000000..0773b7f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus.inc
@@ -0,0 +1,11 @@
+DESCRIPTION = "Pythonic DBus library"
+HOMEPAGE = "https://pypi.python.org/pypi/pydbus/"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a916467b91076e631dd8edb7424769c7"
+
+SRC_URI[md5sum] = "c6abd44862322679bd4e907bebc3e0d0"
+SRC_URI[sha256sum] = "4207162eff54223822c185da06c1ba8a34137a9602f3da5a528eedf3f78d0f2c"
+
+S = "${WORKDIR}/pydbus-${PV}"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-pygobject"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus_0.6.0.bb
new file mode 100644
index 0000000..1722a80
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pydbus_0.6.0.bb
@@ -0,0 +1,2 @@
+require python-pydbus.inc
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect.inc
new file mode 100644
index 0000000..d2d41d5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect.inc
@@ -0,0 +1,11 @@
+SUMMARY = "Python expectaton library"
+DESCRIPTION = "Minimal but very flexible implementation of the expect pattern"
+SECTION = "devel/python"
+HOMEPAGE = " https://bitbucket.org/dwt/pyexpect"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://README.md;md5=500b884e9dcd5f677a53cbbee8ace939"
+
+inherit pypi
+
+SRC_URI[md5sum] = "c71307d6c7096fdbde0813018dfa0092"
+SRC_URI[sha256sum] = "d656ef7e07a8aa539ce0a4883a683341037b6fc1c329bf55b63bffbf2cce9582"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect_1.0.17.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect_1.0.17.bb
new file mode 100644
index 0000000..d26beb7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyexpect_1.0.17.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pyexpect.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.2.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.2.3.bb
deleted file mode 100644
index 05e3413..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.2.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "passive checker of Python programs"
-HOMEPAGE = "https://github.com/dreamhost/cliff"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.rst;md5=eb48916870306ef34a061cec727ccae5"
-
-SRC_URI[md5sum] = "995747589e97c75055cf5b4e1e031e0b"
-SRC_URI[sha256sum] = "2e4a1b636d8809d8f0a69f341acf15b2e401a3221ede11be439911d23ce2139e"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
-    python-prettytable \
-    python-cmd2 \
-    python-pyparsing"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb
new file mode 100644
index 0000000..2444859
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "passive checker of Python programs"
+HOMEPAGE = "https://github.com/dreamhost/cliff"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=029ce1beb023f2c4ca9f417e4984a865"
+
+SRC_URI[md5sum] = "b385b0e4cd40a522553e97cd2d83573e"
+SRC_URI[sha256sum] = "8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-prettytable \
+    ${PYTHON_PN}-cmd2 \
+    ${PYTHON_PN}-pyparsing"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0001-reflect-2.1-reporting-for-key-imports.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0001-reflect-2.1-reporting-for-key-imports.patch
index f587037..1f31cb8 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0001-reflect-2.1-reporting-for-key-imports.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0001-reflect-2.1-reporting-for-key-imports.patch
@@ -1,7 +1,7 @@
-From 1c1812def711803382cc28caea1f35fb7ef774b0 Mon Sep 17 00:00:00 2001
+From ed44474c11f577c1644910964a917a4cf701bb0f Mon Sep 17 00:00:00 2001
 From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
 Date: Tue, 26 Jan 2016 14:24:26 -0500
-Subject: [PATCH 1/5] reflect 2.1 reporting for key imports
+Subject: [PATCH] reflect 2.1 reporting for key imports
 
 GnuPG 2.1 changes how it reports key imports.  These changes should
 make the pygpgme test suite compatible with GnuPG 2.1.
@@ -12,6 +12,7 @@
 Upstream-Status: Backport
 
 Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
+
 ---
  tests/test_import.py | 22 +++++++++++-----------
  1 file changed, 11 insertions(+), 11 deletions(-)
@@ -86,3 +87,4 @@
 +                          None, gpgme.IMPORT_NEW | gpgme.IMPORT_SECRET))
          self.assertEqual(result.imports[3],
                           ('93C2240D6B8AA10AB28F701D2CF46B7FC97E6B0F',
+                           None, gpgme.IMPORT_NEW))
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0002-passphrase_cb-is-deprecated.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0002-passphrase_cb-is-deprecated.patch
index ccd941f..c18cf3f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0002-passphrase_cb-is-deprecated.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0002-passphrase_cb-is-deprecated.patch
@@ -1,7 +1,7 @@
-From dc75482af095d667a4a92655c4e7eb312e80c42d Mon Sep 17 00:00:00 2001
+From ba0dc8273e4f83bcd2d43baa5910aae34b93048c Mon Sep 17 00:00:00 2001
 From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
 Date: Mon, 1 Feb 2016 19:25:12 -0500
-Subject: [PATCH 2/5] passphrase_cb is deprecated
+Subject: [PATCH] passphrase_cb is deprecated
 
 https://bugs.gnupg.org/gnupg/issue767 indicates that
 gpgme_set_passphrase_cb is a deprecated corner of the API and that
@@ -19,6 +19,7 @@
 Upstream-Status: Backport
 
 Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
+
 ---
  tests/util.py | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)
@@ -48,3 +49,4 @@
 +
          # import requested keys into the keyring
          ctx = gpgme.Context()
+         for key in self.import_keys:
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0003-handle-generic-error-when-no-passphrase-callback-pre.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0003-handle-generic-error-when-no-passphrase-callback-pre.patch
index 462f442..6acb68b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0003-handle-generic-error-when-no-passphrase-callback-pre.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0003-handle-generic-error-when-no-passphrase-callback-pre.patch
@@ -1,7 +1,7 @@
-From 024fe219582143017b2f02bc924c0ed107b63619 Mon Sep 17 00:00:00 2001
+From 579b5930e15de8855bf63b3c20b6c3aaf894c3eb Mon Sep 17 00:00:00 2001
 From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
 Date: Mon, 1 Feb 2016 19:27:59 -0500
-Subject: [PATCH 3/5] handle generic error when no passphrase callback present
+Subject: [PATCH] handle generic error when no passphrase callback present
 
 apparently gpg 2.1 returns ERR_GENERAL right now if the pinentry was
 in loopback mode and no passphrase callback was supplied.  Earlier
@@ -10,6 +10,7 @@
 Upstream-Status: Backport
 
 Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
+
 ---
  tests/test_passphrase.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -26,3 +27,4 @@
 +            self.assertEqual(exc.args[1], gpgme.ERR_GENERAL)
          else:
              self.fail('gpgme.GpgmeError not raised')
+ 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface.inc
new file mode 100644
index 0000000..620b244
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface.inc
@@ -0,0 +1,11 @@
+SUMMARY = "Pyiface is a package that exposes the network interfaces of the operating system in a easy to use and transparent way"
+SECTION = "devel/python"
+HOMEPAGE = "https://pypi.python.org/pypi/pyiface/"
+LICENSE = "GPLv3+"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fe869ee987a340198fb0d54c55c47f1"
+
+SRC_URI[md5sum] = "06c3c71fe51df740dae6a88a13afb5e0"
+SRC_URI[sha256sum] = "4bb79100cbcf7344a1ccaddc578cd6455da47d8eac6eb1bf903ec32e043af924"
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.5.bb
new file mode 100644
index 0000000..854cb30
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.5.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pyiface.inc
\ No newline at end of file
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
index 0168f1a..975f11c 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
@@ -2,7 +2,12 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ab173cade7965b411528464589a08382"
 
-RDEPENDS_${PN} += "python-threading python-io python-subprocess python-misc python-shell"
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-misc \
+    ${PYTHON_PN}-shell \
+"
 
 SRC_URI[md5sum] = "8e580fa1ff3971f94a6f81672b76c406"
 SRC_URI[sha256sum] = "9c998a5d7606ca835065cdabc013ae6c66eb9ea76a00a1e3bc6e0cfe2b4f71f4"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify_0.9.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify_0.9.6.bb
index d1f84c3..0c9a2c7 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify_0.9.6.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify_0.9.6.bb
@@ -1,2 +1,6 @@
 inherit setuptools
 require python-pyinotify.inc
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks.inc
new file mode 100644
index 0000000..d866c56
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks.inc
@@ -0,0 +1,22 @@
+SUMMARY = "Pure-Python Java Keystore (JKS) library"
+DESCRIPTION = "PyJKS enables Python projects to load and manipulate\
+ Java KeyStore (JKS) data without a JVM dependency. PyJKS supports JKS,\
+ JCEKS, BKS and UBER (BouncyCastle) keystores."
+HOMEPAGE = "http://github.com/kurtbrose/pyjks"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9694d6cc724caf7f7386be88a4a81958"
+
+SRC_URI[md5sum] = "d53501e7c80d465969742bc6bee91d49"
+SRC_URI[sha256sum] = "709c44a303dd6b2464078ebeb677417e717818d4b3dc3844a462bef9d215dcc8"
+
+inherit pypi
+
+RDEPENDS_${PN} = "\
+    ${PYTHON_PN}-javaobj-py3 \
+    ${PYTHON_PN}-pyasn1 \
+    ${PYTHON_PN}-pyasn1-modules \
+    ${PYTHON_PN}-pycryptodome \
+    ${PYTHON_PN}-twofish\
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks_17.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks_17.1.1.bb
new file mode 100644
index 0000000..ce99f28
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjks_17.1.1.bb
@@ -0,0 +1,2 @@
+require python-pyjks.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc
new file mode 100644
index 0000000..9f9282e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc
@@ -0,0 +1,17 @@
+SUMMARY = "JSON Web Token implementation in Python"
+SUMMARY = "JSON Web Token implementation in Python"
+DESCRIPTION = "A Python implementation of JSON Web Token draft 32.\
+ Original implementation was written by https://github.com/progrium"
+HOMEPAGE = "http://github.com/jpadilla/pyjwt"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=68626705a7b513ca8d5f44a3e200ed0c"
+
+SRC_URI[md5sum] = "f7dbe0d62f2087a7605946aeeca02541"
+SRC_URI[sha256sum] = "dacba5786fe3bf1a0ae8673874e29f9ac497860955c501289c63b15d3daae63a"
+
+PYPI_PACKAGE = "PyJWT"
+inherit pypi
+
+RDEPENDS_${PN} = "${PYTHON_PN}-cryptography"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.1.bb
new file mode 100644
index 0000000..f0a77b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.1.bb
@@ -0,0 +1,2 @@
+require python-pyjwt.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc
index c55bce6..ba85b98 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint.inc
@@ -3,23 +3,13 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
 
-SRC_URI[md5sum] = "98a1ee985a3ebc876a20eb7577dbab68"
-SRC_URI[sha256sum] = "1f65b3815c3bf7524b845711d54c4242e4057dd93826586620239ecdfe591fb1"
+SRC_URI[md5sum] = "2eb5f3cb8fe567eaf5420dd415012202"
+SRC_URI[sha256sum] = "c77311859e0c2d7932095f30d2b1bfdc4b6fe111f534450ba727a52eae330ef2"
 
 inherit pypi
 
 DEPENDS += "${PYTHON_PN}-pytest-runner-native"
 
-RDEPENDS_${PN} += "${PYTHON_PN}-astroid \
-                   ${PYTHON_PN}-isort \
-                   ${PYTHON_PN}-numbers \
-                   ${PYTHON_PN}-shell \
-                   ${PYTHON_PN}-json \
-                   ${PYTHON_PN}-pkgutil \
-                   ${PYTHON_PN}-difflib \
-                   ${PYTHON_PN}-netserver \
-                  "
-
 do_install_append(){
     rm ${D}${bindir}/pylint
     cat >> ${D}${bindir}/pylint <<EOF
@@ -30,3 +20,19 @@
     chmod 755 ${D}${bindir}/pylint
     sed -i -e 's:^#!/usr/bin/python:#!/usr/bin/env\ ${PYTHON_PN}:g' ${D}/${PYTHON_SITEPACKAGES_DIR}/pylint/test/data/ascript
 }
+
+PACKAGES =+ "${PN}-tests"
+FILES_${PN}-tests+= " \
+    ${PYTHON_SITEPACKAGES_DIR}/pylint/test/ \
+    ${PYTHON_SITEPACKAGES_DIR}/pylint/testutils.py \
+"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-astroid \
+                   ${PYTHON_PN}-isort \
+                   ${PYTHON_PN}-numbers \
+                   ${PYTHON_PN}-shell \
+                   ${PYTHON_PN}-json \
+                   ${PYTHON_PN}-pkgutil \
+                   ${PYTHON_PN}-difflib \
+                   ${PYTHON_PN}-netserver \
+                  "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.7.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.8.3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.7.4.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.8.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
index 21ba7bb..7765cc5 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
@@ -3,7 +3,13 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
 
-SRC_URI[md5sum] = "2024babd97ab57ca0360394edc37f2b6"
-SRC_URI[sha256sum] = "7480acada8cba9472a85070c57baad89ae9deed826a7515a4c149ac48920c273"
+SRC_URI[md5sum] = "d4fee2abb2d7468010b7fe9ebc68b0cb"
+SRC_URI[sha256sum] = "304fbd8862dfde27d767c093de87fec42fc63c70d8393643d1a3b4f765aae78f"
 
-RDEPENDS_${PN} += " ${PYTHON_PN}-requests ${PYTHON_PN}-json ${PYTHON_PN}-jsonschema"
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-dateutil \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-jsonschema \
+    ${PYTHON_PN}-requests \
+    ${PYTHON_PN}-six \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.80.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.89.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.80.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.89.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
index 7f199b4..baf3dd5 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
@@ -6,10 +6,10 @@
 MongoDB. The gridfs package is a gridfs implementation on top of pymongo."
 HOMEPAGE = "http://github.com/mongodb/mongo-python-driver"
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2a944942e1496af1886903d274dedb13"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[md5sum] = "35ae53073a25603591e085b18bc5a0ec"
-SRC_URI[sha256sum] = "e820d93414f3bec1fa456c84afbd4af1b43ff41366321619db74e6bc065d6924"
+SRC_URI[md5sum] = "0d72c87fb93cea0759529befafefce54"
+SRC_URI[sha256sum] = "f7ebcb846962ee40374db2d9014a89bea9c983ae63c1877957c3a0a756974796"
 
 PACKAGES =+ "${PYTHON_PN}-bson"
 
@@ -17,6 +17,7 @@
 
 RDEPENDS_${PYTHON_PN}-bson += " \
      ${PYTHON_PN}-datetime \
+     ${PYTHON_PN}-json \
      ${PYTHON_PN}-netclient \
      ${PYTHON_PN}-numbers \
      ${PYTHON_PN}-threading \
@@ -24,4 +25,5 @@
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-bson \
+    ${PYTHON_PN}-pprint \
 "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.6.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.5.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.6.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc
new file mode 100644
index 0000000..6a39896
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc
@@ -0,0 +1,11 @@
+SUMMARY = "Linux network configuration library for Python"
+DESCRIPTION = "This library contains Python bindings to ioctl calls"
+SECTION = "devel/python"
+HOMEPAGE = "http://github.com/rlisagor/pynetlinux"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=74e1861736ee959824fe7542323c12e9"
+
+inherit pypi
+
+SRC_URI[md5sum] = "3336e5d4a478acca4e35bf3125b4f883"
+SRC_URI[sha256sum] = "4ad08298c9f5ba15a11cddc639ba8778cabdfc402b51066d9e0a325e5a5b391c"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux_1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux_1.1.bb
new file mode 100644
index 0000000..c45ad6a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux_1.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pynetlinux.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
index 1bf8324..7722e8e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
@@ -5,8 +5,8 @@
 
 DEPENDS += "openssl ${PYTHON_PN}-cryptography"
 
-SRC_URI[md5sum] = "09dcd307b8d2068f9dd5aaa3a3a88992"
-SRC_URI[sha256sum] = "29630b9064a82e04d8242ea01d7c93d70ec320f5e3ed48e95fcabc6b1d0f6c76"
+SRC_URI[md5sum] = "d9c5134db8bf3183573b7840954cac94"
+SRC_URI[sha256sum] = "2c10cfba46a52c0b0950118981d61e72c1e5b1aac451ca1bc77de1a679456773"
 
 PYPI_PACKAGE = "pyOpenSSL"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_17.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_17.5.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_17.3.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_17.5.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
index 19f6d55..e30839f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
@@ -18,4 +18,4 @@
     ${PYTHON_PN}-threading \
 "
 
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc
new file mode 100644
index 0000000..e05de67
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "A cross-platform clipboard module for Python. (only handles plain text for now)"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1ed92115c8f96b19ec34ed09df586e51"
+
+SRC_URI[md5sum] = "d2f6a3129cd6f2518b52bb0b8deeeda7"
+SRC_URI[sha256sum] = "ce829433a9af640e08ee89b20f7c62132714bcc5d77df114044d0fccb8c3b3b8"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-ctypes \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.0.bb
new file mode 100644
index 0000000..6c9fcbd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.0.bb
@@ -0,0 +1,7 @@
+inherit setuptools
+require python-pyperclip.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-contextlib \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc
index da1d4cd..9ec9866 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc
@@ -1,26 +1,25 @@
 SUMMARY = "A pure Python netlink and Linux network configuration library"
 LICENSE = "GPLv2 & Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.GPL.v2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://LICENSE.Apache.v2;md5=3b83ef96387f14655fc854ddc3c6bd57"
+                    file://LICENSE.Apache.v2;md5=34281e312165f843a2b7d1f114fe65ce"
 
-SRC_URI[md5sum] = "733adb362b6603c7269c0b3df3045a55"
-SRC_URI[sha256sum] = "5cdf44656cf623369f0cbf183d9d14a1a50ebdffbd50d4e30ffda62c0a05d7b3"
-
-SRC_URI += "file://import-simplejson-as-json.patch"
+SRC_URI[md5sum] = "9c251543c4282a2f8b1a8d6aa8afc688"
+SRC_URI[sha256sum] = "7afad28ee0a0f3e7c34adaa9f953d00560ed9910203e93f107833b6e8d151171"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyroute2:"
 
 inherit pypi
 
-RDEPENDS_${PN} += "\
-  ${PYTHON_PN}-distutils \
-  ${PYTHON_PN}-simplejson \
-  ${PYTHON_PN}-multiprocessing \
-  ${PYTHON_PN}-io ${PYTHON_PN}-pprint \
-  ${PYTHON_PN}-pickle \
-  ${PYTHON_PN}-logging \
-  ${PYTHON_PN}-threading \
-  ${PYTHON_PN}-textutils \
-  ${PYTHON_PN}-subprocess \
-  ${PYTHON_PN}-netclient \
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-ctypes \
+    ${PYTHON_PN}-distutils \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-multiprocessing \
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-pkgutil \
+    ${PYTHON_PN}-pprint \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-unixadmin \
 "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2/import-simplejson-as-json.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2/import-simplejson-as-json.patch
deleted file mode 100644
index d73da07..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2/import-simplejson-as-json.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Upstream-Status: Inappropriate [wrong dependency]
-
-Subject: [PATCH] import simplejson as json
-
-At runtime python-pyroute2 tries to import json, but the module is not 
-available, import simplejson as json solve the issue.
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- pyroute2/netlink/rtnl/ifinfmsg.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pyroute2/netlink/rtnl/ifinfmsg.py b/pyroute2/netlink/rtnl/ifinfmsg.py
-index 4f14f25..55643eb 100644
---- a/pyroute2/netlink/rtnl/ifinfmsg.py
-+++ b/pyroute2/netlink/rtnl/ifinfmsg.py
-@@ -1,5 +1,5 @@
- import os
--import json
-+import simplejson as json
- import errno
- import select
- import struct
--- 
-2.1.4
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.3.22.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.3.22.bb
deleted file mode 100644
index 7b9c8e0..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.3.22.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-pyroute2.inc
-inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.4.21.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.4.21.bb
new file mode 100644
index 0000000..f25f1b4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.4.21.bb
@@ -0,0 +1,6 @@
+require python-pyroute2.inc
+inherit setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
index 99c6fc4..52a7e05 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
@@ -2,26 +2,41 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d476d94926db6e0008a5b3860d1f5c0d"
 
-# FIXME might stop packaging serialwin32 and serialjava files
+SRC_URI[md5sum] = "ed6183b15519a0ae96675e9c3330c69b"
+SRC_URI[sha256sum] = "6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627"
+
+inherit pypi
+
+PACKAGES =+ "${PN}-java ${PN}-osx ${PN}-win32 ${PN}-tools"
+
+FILES_${PN}-java = " \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/*java* \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/__pycache__/*java* \
+"
+
+FILES_${PN}-osx = " \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/tools/*osx* \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/tools/__pycache__/*osx* \
+"
+
+FILES_${PN}-win32 = " \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/*serialcli* \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/__pycache__/*serialcli* \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/*win32* \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/__pycache__/*win32* \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/tools/miniterm* \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/tools/__pycache__/miniterm* \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/tools/*windows* \
+    ${PYTHON_SITEPACKAGES_DIR}/serial/tools/__pycache__/*windows* \
+"
 
 RDEPENDS_${PN} = "\
     ${PYTHON_PN}-fcntl \
     ${PYTHON_PN}-io \
     ${PYTHON_PN}-logging \
     ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-shell \
     ${PYTHON_PN}-stringold \
     ${PYTHON_PN}-threading \
 "
-
-SRC_URI[md5sum] = "ed6183b15519a0ae96675e9c3330c69b"
-SRC_URI[sha256sum] = "6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627"
-
-inherit pypi
-
-do_install_append() {
-	# We don't support jpython now.
-	if [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/serial/serialjava.py ]; then
-		rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/serial/serialjava.py
-		rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/serial/serialjava.pyc
-	fi
-}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.bb
index 91a0f26..fd852a2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.4.bb
@@ -1,4 +1,4 @@
 inherit setuptools
 require python-pyserial.inc
 
-RDEPENDS_${PN} += "${PYTHON_PN}-importlib"
+RDEPENDS_${PN} += "${PYTHON_PN}-argparse"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.1.2.bb
deleted file mode 100644
index aa234dd..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.1.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "SNMP SMI/MIB Parser"
-DESCRIPTION = "A pure-Python implementation of SNMP/SMI MIB \
-  parsing and conversion library. Can produce PySNMP MIB modules. \
-"
-HOMEPAGE = "https://pypi.python.org/pypi/pysmi"
-SECTION = "devel/python"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=d8b1bbadd635f187dee74d999a8c67b8"
-
-SRCNAME = "pysmi"
-
-SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "f8754e9ed75698cc16b40f125df85b12"
-SRC_URI[sha256sum] = "e0912180fc6faa9c264df78f97e7c451f77f84f5bd840098d2ce7b1bf70082bc"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
-
-RDEPENDS_${PN} = "python-ply"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb
new file mode 100644
index 0000000..24759b5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "SNMP SMI/MIB Parser"
+DESCRIPTION = "A pure-Python implementation of SNMP/SMI MIB \
+  parsing and conversion library. Can produce PySNMP MIB modules. \
+"
+HOMEPAGE = "https://pypi.python.org/pypi/pysmi"
+SECTION = "devel/python"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=d8b1bbadd635f187dee74d999a8c67b8"
+
+SRC_URI[md5sum] = "3b0f71e4e9f730d211f09d8ef5371140"
+SRC_URI[sha256sum] = "2a315cc3e556b3428372b69da663a24d2f0df9e9ab075b022cb133855f25aef7"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} = "python-ply"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
index cf9509a..53ec1b7 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
@@ -3,13 +3,16 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16"
 
-SRC_URI[md5sum] = "07007ec7ed46292dab06013f2e3af365"
-SRC_URI[sha256sum] = "d00329f27efa157db7efe3ca26fcd69033cd61f83822461ee3f8a353b48e33cf"
+SRC_URI[md5sum] = "441c4e3bf5b042f7e70613cd871df26c"
+SRC_URI[sha256sum] = "3fe52c55890a248676fd69dc9e3c4e811718b777834bcaab7a8125cf9deac672"
 
 PYPI_PACKAGE = "PySocks"
 
 RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-email \
     ${PYTHON_PN}-io \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-shell \
 "
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.8.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.7.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.8.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pystache.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pystache.inc
new file mode 100644
index 0000000..6dbc99f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pystache.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Python implementation of Mustache"
+HOMEPAGE = "https://github.com/defunkt/pystache"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb4417802c56384aac71b34505528a60"
+
+SRC_URI[md5sum] = "485885e67a0f6411d5252e69b20a35ca"
+SRC_URI[sha256sum] = "f7bbc265fb957b4d6c7c042b336563179444ab313fb93a719759111eabd3b85a"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-netserver \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pystache_0.5.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pystache_0.5.4.bb
new file mode 100644
index 0000000..a455012
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pystache_0.5.4.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-pystache.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
index c173a18..7546743 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
@@ -1,16 +1,16 @@
 SUMMARY = "Invoke py.test as distutils command with dependency resolution"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e38b971c2b4c33b978d1b9c9ece9ae63"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
 
-SRC_URI[md5sum] = "a8dd57c80cde37a587dd8c37740c1ab1"
-SRC_URI[sha256sum] = "5c9093e7a18780409d9a389f20366f2fd39acfb1db61545fdb2e90cdbd0bcae4"
+SRC_URI[md5sum] = "8f8363a52bbabc4cedd5e239beb2ba11"
+SRC_URI[sha256sum] = "0f7c3a3cf5aead13f54baaa01ceb49e5ae92aba5d3ff1928e81e189c40bc6703"
 
 inherit pypi
 
 DEPENDS += " \
     ${PYTHON_PN}-setuptools-scm-native"
 
-RDEPENDS_${PN} = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-argparse ${PYTHON_PN}-debugger ${PYTHON_PN}-json \
+RDEPENDS_${PN} = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-debugger ${PYTHON_PN}-json \
                   ${PYTHON_PN}-io"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.12.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.12.1.bb
deleted file mode 100644
index 0a5055c..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.12.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools
-require python-pytest-runner.inc
-
-# Dependency only exists for python2
-RDEPENDS_${PN} += "python-compiler"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_3.0.bb
new file mode 100644
index 0000000..1765a73
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_3.0.bb
@@ -0,0 +1,5 @@
+inherit setuptools
+require python-pytest-runner.inc
+
+# Dependency only exists for python2
+RDEPENDS_${PN} += "python-argparse python-compiler"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
index 6140250..4feb9a0 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
@@ -3,18 +3,21 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c39b24965f4aef64222cb35de9d47cc4"
 
-SRC_URI[md5sum] = "401c005bd57f71e63ba015ab086fe67d"
-SRC_URI[sha256sum] = "f46e49e0340a532764991c498244a60e3a37d7424a532b3ff1a6a7653f1a403a"
+SRC_URI[md5sum] = "1b83a25d45fad893f430fc5031653c56"
+SRC_URI[sha256sum] = "117bad36c1a787e1a8a659df35de53ba05f9f3398fb9e4ac17e80ad5903eb8c5"
 
 SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch \
                    file://pytest_version_fix.patch "
 
 RDEPENDS_${PN}_class-target += " \
-    ${PYTHON_PN}-argparse \
+    ${PYTHON_PN}-attrs \
     ${PYTHON_PN}-debugger \
+    ${PYTHON_PN}-doctest \
     ${PYTHON_PN}-json \
+    ${PYTHON_PN}-pluggy \
     ${PYTHON_PN}-py \
     ${PYTHON_PN}-setuptools \
+    ${PYTHON_PN}-six \
 "
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/python-pytest:"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
index e283b17..06dfcdf 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
@@ -1,29 +1,32 @@
-From e2d81009c790b4ebeced8408b6bae78060cabcaf Mon Sep 17 00:00:00 2001
+From 24a901fd17926e8e05be4ed2e01b0113a2e3a852 Mon Sep 17 00:00:00 2001
 From: Derek Straka <derek@asterius.io>
-Date: Wed, 5 Jul 2017 09:35:51 -0400
-Subject: [PATCH 1/1] setup.py: remove the setup_requires for setuptools-scm
+Date: Tue, 19 Dec 2017 11:36:39 -0500
+Subject: [PATCH] [PATCH 1/1] setup.py: remove the setup_requires for
+ setuptools-scm
 
 The setup_requires argument forces the download of the egg file for setuptools-scm
 during the do_compile phase.  This download is incompatible with the typical fetch
 and mirror structure.  The only usage of scm is the generation of the _version.py
 file and in the release tarball it is already correctly created
 
+Upstream-Status: Inappropriate [oe specific]
+
 Signed-off-by: Derek Straka <derek@asterius.io>
 ---
  setup.py | 1 -
  1 file changed, 1 deletion(-)
 
 diff --git a/setup.py b/setup.py
-index 751868c..ef6ebf1 100644
+index 3eb38ef..1163202 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -71,7 +71,6 @@ def main():
+@@ -82,7 +82,6 @@ def main():
          keywords="test unittest",
          cmdclass={'test': PyTest},
          # the following should be enabled for release
 -        setup_requires=['setuptools-scm'],
+         python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
          install_requires=install_requires,
          extras_require=extras_require,
-         packages=['_pytest', '_pytest.assertion', '_pytest._code', '_pytest.vendored_packages'],
 -- 
 2.7.4
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch
index 908f862..b373d93 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch
@@ -36,7 +36,7 @@
 +        return version_match.group(1)
 +    raise RuntimeError("Unable to find version string.")
  
- def has_environment_marker_support():
+ def get_environment_marker_support_level():
      """
 @@ -59,9 +72,7 @@ def main():
          name='pytest',
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.2.2.bb
deleted file mode 100644
index d322f09..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.2.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-pytest.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.4.2.bb
new file mode 100644
index 0000000..201ab05
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.4.2.bb
@@ -0,0 +1,8 @@
+inherit pypi setuptools
+require python-pytest.inc
+
+RDEPENDS_${PN}_class-target += " \
+    ${PYTHON_PN}-argparse \
+    ${PYTHON_PN}-compiler \
+    ${PYTHON_PN}-funcsigs \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
index 1c6564b..519487f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
@@ -1,17 +1,19 @@
 SUMMARY = "World timezone definitions, modern and historical"
 HOMEPAGE = "http://pythonhosted.org/pytz"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=39ea92752a35cf67d8a885d8e3af3c69"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4878a915709225bceab739bdc2a18e8d"
 
 inherit pypi
-PYPI_PACKAGE_EXT = "zip"
 
-SRC_URI[md5sum] = "f89bde8a811c8a1a5bac17eaaa94383c"
-SRC_URI[sha256sum] = "f5c056e8f62d45ba8215e5cb8f50dfccb198b4b9fbea8500674f3443e4689589"
+SRC_URI[md5sum] = "f054437920c895dd14a4509fabafe029"
+SRC_URI[sha256sum] = "c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749"
 
 RDEPENDS_${PN}_class-target += "\
     ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-doctest \
     ${PYTHON_PN}-io \
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-pprint \
     ${PYTHON_PN}-threading \
 "
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2017.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2018.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2017.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2018.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc
index ab4c5fd..cb906c9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc
@@ -14,6 +14,5 @@
     ${PYTHON_PN}-ctypes \
     ${PYTHON_PN}-misc \
     ${PYTHON_PN}-six \
-    ${PYTHON_PN}-subprocess \
     ${PYTHON_PN}-threading \
 "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
index 32573b7..a3e1501 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
@@ -2,6 +2,7 @@
 
 RDEPENDS_${PN} = "\
     ${PYTHON_PN}-contextlib \
+    ${PYTHON_PN}-subprocess \
 "
 
 inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
index af20109..30bbe85 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
@@ -1,10 +1,10 @@
 SUMMARY = "PyUSB provides USB access on the Python language"
 HOMEPAGE = "http://pyusb.sourceforge.net/"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=50d46bda6248a0b4a46a6d59a66ee08e"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=51691ed11cc2c7ae93e383f60ed49b0f"
 DEPENDS += "libusb1"
 
-SRC_URI[md5sum] = "bc12e83ff3ef1045d4306d13a9955fc1"
-SRC_URI[sha256sum] = "14ec66077bdcd6f1aa9e892a0a35a54bb3c1ec56aa740ead64349c18f0186d19"
+SRC_URI[md5sum] = "862b56452c64948c787ad8ef9498590b"
+SRC_URI[sha256sum] = "4e9b72cc4a4205ca64fbf1f3fff39a335512166c151ad103e55c8223ac147362"
 
 inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.0b2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.0b2.bb
deleted file mode 100644
index bb73d9f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.0b2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit distutils
-require python-pyusb.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.2.bb
new file mode 100644
index 0000000..99a795b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb_1.0.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pyusb.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
index a3cf677..3fef0ca 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
@@ -11,4 +11,8 @@
 SRC_URI[md5sum] = "4c129761b661d181ebf7ff4eb2d79950"
 SRC_URI[sha256sum] = "592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab"
 
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis.inc
index 571bb08..1a65d73 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-redis.inc
@@ -6,3 +6,7 @@
 
 SRC_URI[md5sum] = "048348d8cfe0b5d0bba2f4d835005c3b"
 SRC_URI[sha256sum] = "a22ca993cea2962dbb588f9f30d0015ac4afcc45bee27d3978c0dbe9e97c6c0f"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc
new file mode 100644
index 0000000..78bbbc6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc
@@ -0,0 +1,26 @@
+SUMMARY = "A Python generic test automation framework"
+DESCRIPTION = "Generic open source test atomation framework for acceptance\
+testing and acceptance test-driven development (ATDD). It has easy-to-use\
+tabular test data syntax and it utilizes the keyword-driven testing approach.\
+Its testing capabilities can be extended by test libraries implemented either\
+with Python or Java, and users can create new higher-level keywords from\
+existing ones using the same syntax that is used for creating test cases."
+HOMEPAGE = "http://robotframework.org"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit pypi
+
+SRC_URI[md5sum] = "ea49a54b9d7e38302712194e85c37eaa"
+SRC_URI[sha256sum] = "2018f233568227f9af8c366f93e243a157b742f3baf5b649ecc9750ac0ee1ff7"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-pprint \
+    ${PYTHON_PN}-xml \
+    ${PYTHON_PN}-difflib \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-html \
+    ${PYTHON_PN}-docutils \
+    ${PYTHON_PN}-ctypes \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.2.bb
new file mode 100644
index 0000000..ff7dedb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.2.bb
@@ -0,0 +1,6 @@
+inherit setuptools
+require python-robotframework.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-zlib \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc
new file mode 100644
index 0000000..783d05b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "Bindings for the scrypt key derivation function library"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=8bef8e6712b1be5aa76af1ebde9d6378"
+HOMEPAGE="https://bitbucket.org/mhallin/py-scrypt/overview"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-scrypt:"
+
+SRC_URI += "file://0001-py-scrypt-remove-the-hard-coded-include-paths.patch"
+
+SRC_URI[md5sum] = "ae8e3263aa31b040c1f9c7f1e1843a56"
+SRC_URI[sha256sum] = "f8239b2d47fa1d40bc27efd231dc7083695d10c1c2ac51a99380360741e0362d"
+
+inherit pypi
+
+RDEPENDS_${PN}_class-target += "\
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch
new file mode 100644
index 0000000..d535e43
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt/0001-py-scrypt-remove-the-hard-coded-include-paths.patch
@@ -0,0 +1,26 @@
+From d8db473ce9346cd6254c90e13ac45b3bbde494c4 Mon Sep 17 00:00:00 2001
+From: Derek Straka <derek@asterius.io>
+Date: Sun, 11 Mar 2018 19:55:38 -0400
+Subject: [PATCH] py-scrypt: remove the hard coded include paths
+
+Upstream-Status: Pending
+
+Signed-off-by: Derek Straka <derek@asterius.io>
+---
+ setup.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index e36adc4..2ebfbf1 100644
+--- a/setup.py
++++ b/setup.py
+@@ -24,7 +24,6 @@ if sys.platform.startswith('linux'):
+                      ('HAVE_SYS_SYSINFO_H', '1'),
+                      ('_FILE_OFFSET_BITS', '64')]
+     libraries = ['crypto', 'rt']
+-    includes = ['/usr/local/include', '/usr/include']
+     CFLAGS.append('-O2')
+ elif sys.platform.startswith('win32'):
+     define_macros = [('inline', '__inline')]
+-- 
+2.7.4
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt_0.8.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt_0.8.6.bb
new file mode 100644
index 0000000..9fbd00e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt_0.8.6.bb
@@ -0,0 +1,3 @@
+inherit setuptools python-dir
+require python-scrypt.inc
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
index 6454ee0..3f51bc2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
@@ -1,9 +1,9 @@
 SUMMARY = "Serialization based on ast.literal_eval"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=9f611d4c9e2816d387bab64c40d93294"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=acdea68f0e5a89eb6cbfdf54e38c356e"
 
-SRC_URI[md5sum] = "d9d6afa51f2560cf5933dcdfd947011d"
-SRC_URI[sha256sum] = "8480ce3d8864b8974d9fe396998c6a7dae96edb68edf905bfd32ea9a11853ba5"
+SRC_URI[md5sum] = "d0c50f1943ff86d830eb3fe40f6dc1e3"
+SRC_URI[sha256sum] = "b6855483d95a03b6aee358363684cd38a3a670240da5bc6da4253079cb07b8df"
 
 inherit pypi
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.23.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.24.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.23.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.24.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
index 81bbf33..eb66580 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
@@ -1,14 +1,14 @@
 SUMMARY = "the blessed package to manage your versions by scm tags"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
 
-SRC_URI[md5sum] = "f17493d53f0d842bb0152f214775640b"
-SRC_URI[sha256sum] = "49ab4685589986a42da85706b3311a2f74f1af567d39fee6cb1e088d7a75fb5f"
+SRC_URI[md5sum] = "1b55f9cedde4a33ab5d286c5f30e86db"
+SRC_URI[sha256sum] = "e163e8a12d2121f77575773cfc2b5988275dc1f1d2541fdf780127c29dbbea9c"
 
 PYPI_PACKAGE = "setuptools_scm"
 inherit pypi
 
-RDEPENDS_${PN}_class-target = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-argparse ${PYTHON_PN}-debugger ${PYTHON_PN}-json"
+RDEPENDS_${PN}_class-target = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-debugger ${PYTHON_PN}-json"
 RDEPENDS_${PN}_class-native = "${PYTHON_PN}-setuptools-native"
 
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.6.bb
deleted file mode 100644
index 5f9bb0b..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-setuptools-scm.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.7.bb
new file mode 100644
index 0000000..64b36e3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.7.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-setuptools-scm.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-argparse"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
index 13c0456..e28d518 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
@@ -4,14 +4,20 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c6338d7abd321c0b50a2a547e441c52e"
 
-SRC_URI[md5sum] = "6e2f1bd5fb0a926facf5d89d217a7183"
-SRC_URI[sha256sum] = "01a22d49ddd9a168b136f26cac87d9a335660ce07aa5c630b8e3607d6f4325e7"
+SRC_URI[md5sum] = "870bf6257465ce2ee8cad14e2394f7eb"
+SRC_URI[sha256sum] = "4c4ecf20e054716cc1e5a81cadc44d3f4027108d8dd0861d8b1e3bd7a32d4f0a"
 
 inherit pypi
 
 RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-re \
     ${PYTHON_PN}-io \
     ${PYTHON_PN}-netserver \
     ${PYTHON_PN}-numbers \
 "
+
+PACKAGES =+ "${PN}-tests"
+RDEPENDS_${PN}-tests = "${PN} ${PYTHON_PN}-unittest"
+FILES_${PN}-tests+= " \
+    ${PYTHON_SITEPACKAGES_DIR}/simplejson/tests \
+    ${PYTHON_SITEPACKAGES_DIR}/simplejson/tool.py* \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.11.1.bb
deleted file mode 100644
index e33edfe..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.11.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-simplejson.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.13.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.13.2.bb
new file mode 100644
index 0000000..24ad9a9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.13.2.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-simplejson.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-re"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc
index ded30ce..f472a57 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc
@@ -1,18 +1,12 @@
 SUMMARY = "Set of i2c tools for linux - Python module"
 LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://smbusmodule.c;startline=1;endline=17;md5=fa24df321a520ff8e10f203425ab9fa8"
+LIC_FILES_CHKSUM = "file://smbusmodule.c;beginline=1;endline=17;md5=fa24df321a520ff8e10f203425ab9fa8"
+PR = "r1"
 
-SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/i2c-tools-${PV}.tar.bz2 \
-"
-SRC_URI[md5sum] = "7104a1043d11a5e2c7b131614eb1b962"
-SRC_URI[sha256sum] = "db5e69f2e2a6e3aa2ecdfe6a5f490b149c504468770f58921c8c5b8a7860a441"
+SRC_URI = "${KERNELORG_MIRROR}/software/utils/i2c-tools/i2c-tools-${PV}.tar.gz "
+SRC_URI[md5sum] = "d92a288d70f306d3895e3a7e9c14c9aa"
+SRC_URI[sha256sum] = "5b60daf6f011de0acb61de57dba62f2054bb39f19961d67e0c91610f071ca403"
 
 DEPENDS += "i2c-tools"
 
 S = "${WORKDIR}/i2c-tools-${PV}/py-smbus/"
-
-do_configure_prepend() {
-    # Adjust for OE header rename
-    sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: Module.mk
-    sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: smbusmodule.c
-}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_4.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_4.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.11.bb
deleted file mode 100644
index cbdc6bd..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.11.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Interactive SNMP tool"
-DESCRIPTION = "Snimpy is a Python-based tool providing a simple interface to build SNMP query"
-HOMEPAGE = "https://pypi.python.org/pypi/snimpy"
-SECTION = "devel/python"
-
-DEPENDS = "libsmi python-cffi-native python-vcversioner-native"
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://docs/license.rst;md5=7c53ab2d1240828625c3e093d049d4f4"
-
-SRCNAME = "snimpy"
-
-SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "7f6270ce2e7206df165602e66d5ceb96"
-SRC_URI[sha256sum] = "10410614c7bff1053ca65bd760ce919f1a074f4988b857df4c57cf35847922b0"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
-
-RDEPENDS_${PN} = "python-cffi \
-                  python-pycparser \
-                  python-pysnmp \
-                  python-setuptools \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.12.bb
new file mode 100644
index 0000000..c5af48d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.12.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Interactive SNMP tool"
+DESCRIPTION = "Snimpy is a Python-based tool providing a simple interface to build SNMP query"
+HOMEPAGE = "https://pypi.python.org/pypi/snimpy"
+SECTION = "devel/python"
+
+DEPENDS += "libsmi python-cffi-native python-vcversioner-native"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=7c53ab2d1240828625c3e093d049d4f4"
+
+SRC_URI[md5sum] = "6d016b6356db432e6a87ad708eb8fcb6"
+SRC_URI[sha256sum] = "04efcfba867ffb0e10cc8d7f93a553ceb6bdf2ee34e49762749028a2c76096c1"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} = "python-cffi \
+                  python-pycparser \
+                  python-pysnmp \
+                  python-setuptools \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc
new file mode 100644
index 0000000..94fa8a6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc
@@ -0,0 +1,9 @@
+DESCRIPTION = "Media asset management for Python, with glue code for various frameworks"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b810770075a29bf44b96607440e7c801"
+
+SRC_URI[md5sum] = "e8d5dbe36e53d5a35cff227e795e8bbf"
+SRC_URI[sha256sum] = "59fea336d0eed38c1f0bf3181ee1222d0ef45f3a9dd34ebe65e6bfffdd6a65a9"
+
+PYPI_PACKAGE = "speaklater"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater_1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater_1.3.bb
new file mode 100644
index 0000000..56fd555
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater_1.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-speaklater.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
index cc8e82f..0c191ae 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
@@ -2,13 +2,13 @@
 application developers the full power and flexibility of SQL"
 HOMEPAGE = "http://www.sqlalchemy.org/"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=452f4b8adb0feba42e5be5f1fbfbf538"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b1c412c9d8d1ce018f7a9374407c22bb"
 
 PYPI_PACKAGE = "SQLAlchemy"
 inherit pypi
 
-SRC_URI[md5sum] = "b32669d53e903b3512065026552f3bff"
-SRC_URI[sha256sum] = "f1191e29e35b6fe1aef7175a09b1707ebb7bd08d0b17cb0feada76c49e5a2d1e"
+SRC_URI[md5sum] = "03db1c8f8ae911977c0bf3950a4c9c21"
+SRC_URI[sha256sum] = "6b55ec379c11ad696f9371ce8e0de93c7f21134323f56a56a1b0d8fbef17013c"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-json \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.17.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.14.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.17.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc
new file mode 100644
index 0000000..5be5de0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd.inc
@@ -0,0 +1,18 @@
+SUMMARY = "Python interface for libsystemd"
+HOMEPAGE = "https://github.com/systemd/python-systemd"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
+
+PYPI_PACKAGE = "systemd-python"
+DEPENDS += "systemd (<=234)"
+RDEPENDS_${PN} += "systemd ${PYTHON_PN}-syslog ${PYTHON_PN}-logging"
+REQUIRED_DISTRO_FEATURES = "systemd"
+inherit pypi distro_features_check
+
+SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
+SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
+
+# allow for common patches for python- and python3-systemd
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-systemd:"
+
+SRC_URI_append_libc-musl = " file://0001-Provide-implementation-of-strndupa-for-musl.patch"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd/0001-Provide-implementation-of-strndupa-for-musl.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd/0001-Provide-implementation-of-strndupa-for-musl.patch
new file mode 100644
index 0000000..d7085a8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd/0001-Provide-implementation-of-strndupa-for-musl.patch
@@ -0,0 +1,42 @@
+From 8b639f9faf6199e47b9eae0698d01a22917b6abe Mon Sep 17 00:00:00 2001
+From: Tim Orling <timothy.t.orling@linux.intel.com>
+Date: Fri, 29 Dec 2017 09:17:17 -0800
+Subject: [PATCH] Provide implementation of strndupa for musl
+
+Reuse the approach from oe-core:
+/meta/recipes-core/systemd/systemd/0002-src-basic-missing.h-check-for-missing-strndupa.patch
+
+Original patch author: Emil Renner Berthing <systemd@esmil.dk>
+
+Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com
+---
+Upstream-Status: Pending
+
+ systemd/util.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/systemd/util.c b/systemd/util.c
+index e02c825..277e611 100644
+--- a/systemd/util.c
++++ b/systemd/util.c
+@@ -34,6 +34,17 @@
+ 
+ #include "util.h"
+ 
++#if !HAVE_DECL_STRNDUPA
++#define strndupa(s, n) \
++  ({ \
++    const char *__old = (s); \
++    size_t __len = strnlen(__old, (n)); \
++    char *__new = (char *)alloca(__len + 1); \
++    __new[__len] = '\0'; \
++    (char *)memcpy(__new, __old, __len); \
++  })
++#endif
++
+ int safe_atou(const char *s, unsigned *ret_u) {
+         char *x = NULL;
+         unsigned long l;
+-- 
+2.13.6
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb
index ef11831..80f2900 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb
@@ -1,13 +1,2 @@
-SUMMARY = "Python interface for libsystemd"
-HOMEPAGE = "https://github.com/systemd/python-systemd"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
-
-PYPI_PACKAGE = "systemd-python"
-DEPENDS += "systemd (<=234)"
-RDEPENDS_${PN} += "systemd"
-REQUIRED_DISTRO_FEATURES = "systemd"
-inherit pypi setuptools distro_features_check
-
-SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
-SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
+require python-systemd.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
index 2c58655..29d10da 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
@@ -4,13 +4,14 @@
 polling, WebSockets, and other applications that require a long-lived connection to each user."
 HOMEPAGE = "http://www.tornadoweb.org/en/stable/"
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://setup.py;startline=2;endline=15;md5=5ab7571a79ad62d0ca7aea308bac7560"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=3;endline=15;md5=8d463fc66ff8f275354ffe88d1896e12"
 
-SRC_URI[md5sum] = "ab41f6765d58089f30ba51e8ec084a7b"
-SRC_URI[sha256sum] = "1fb8e494cd46c674d86fac5885a3ff87b0e283937a47d74eb3c02a48c9e89ad0"
+SRC_URI[md5sum] = "a5fc7fd4aea94867609a491ce65786f1"
+SRC_URI[sha256sum] = "6d14e47eab0e15799cf3cdcc86b0b98279da68522caace2bd7ce644287685f0a"
 
-RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-numbers ${PYTHON_PN}-email ${PYTHON_PN}-subprocess \
-                   ${PYTHON_PN}-pkgutil ${PYTHON_PN}-html ${PYTHON_PN}-json ${PYTHON_PN}-certifi ${PYTHON_PN}-threading"
+RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-numbers ${PYTHON_PN}-email \
+                   ${PYTHON_PN}-pkgutil ${PYTHON_PN}-html ${PYTHON_PN}-json ${PYTHON_PN}-certifi ${PYTHON_PN}-threading \
+                   ${PYTHON_PN}-ctypes"
 
 RDEPENDS_${PN}-test += "${PN} ${PYTHON_PN}-unittest"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.2.bb
deleted file mode 100644
index 5d11475..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.2.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit pypi setuptools
-require python-tornado.inc
-RDEPENDS_${PN} += "${PYTHON_PN}-backports-ssl ${PYTHON_PN}-backports-abc ${PYTHON_PN}-singledispatch"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.3.bb
new file mode 100644
index 0000000..193a4db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.3.bb
@@ -0,0 +1,8 @@
+inherit pypi setuptools
+require python-tornado.inc
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-backports-abc \
+    ${PYTHON_PN}-backports-ssl \
+    ${PYTHON_PN}-singledispatch \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
index 0dd584f..6480ad5 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
@@ -39,6 +39,10 @@
     ${PN}-bin \
 "
 
+DEPENDS += " \
+    ${PYTHON_PN}-incremental-native \
+"
+
 RDEPENDS_${PN} = "\
     ${PN}-bin \
     ${PN}-core \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb
index 7fc8c65..2be1709 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb
@@ -2,9 +2,3 @@
 require python-twisted.inc
 
 RDEPENDS_${PN}-core += "${PYTHON_PN}-contextlib"
-
-# Not yet ported to py3 yet available in py2
-# See src/twisted/python/_setup.py -- notPortedModules
-RDEPENDS_${PN} += "\
-    ${PN}-news \
-    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twofish.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twofish.inc
new file mode 100644
index 0000000..79ab285
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twofish.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Bindings for the Twofish implementation by Niels Ferguson"
+DESCRIPTION = "Bindings for the Twofish implementation by Niels Ferguson\
+ libtwofish-dev."
+HOMEPAGE = "http://github.com/keybase/python-twofish"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=33a63abf6d7567b1689d8ce69f00e43b"
+
+SRC_URI[md5sum] = "d7d22f16dc4ffa0e3ae2200654033abe"
+SRC_URI[sha256sum] = "b09d8bb50d33b23ff34cafb1f9209f858f752935c6a5c901efb92a41acb830fa"
+
+inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twofish_0.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twofish_0.3.0.bb
new file mode 100644
index 0000000..85b0215
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twofish_0.3.0.bb
@@ -0,0 +1,2 @@
+require python-twofish.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
index 46be47c..a0ee6b2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
@@ -3,7 +3,7 @@
 LICENSE = "PSF"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f"
 
-SRC_URI[md5sum] = "143af0bf3afd1887622771f2f1ffe8e1"
-SRC_URI[sha256sum] = "d514bd84b284dd3e844f0305ac07511f097e325171f6cc4a20878d11ad771849"
+SRC_URI[md5sum] = "5b2ade08d83be488f17b5fe587c27c74"
+SRC_URI[sha256sum] = "d400a9344254803a2368533e4533a4200d21eb7b6b729c173bc38201a74db3f2"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc
index 9654d5a..c3d0bfe 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc
@@ -2,7 +2,7 @@
 DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3."
 
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;startline=8;endline=9;md5=4f369b3c3c290b4aede8796a4065e5ab"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e"
 
 SRC_URI[md5sum] = "42f77b0cce686dfa4da2e68480b1dd24"
 SRC_URI[sha256sum] = "f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc
index 0402550..fc12062 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff.inc
@@ -3,7 +3,12 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3"
 
-SRC_URI[md5sum] = "c8099edf89d2e3bac16123766625a38b"
-SRC_URI[sha256sum] = "a7baf71846a68c5305a7d6005dfb5eca8798f13861176355a285cbda3206824d"
+SRC_URI[md5sum] = "47f669d7273541fec45e4cc0fba8d8e9"
+SRC_URI[sha256sum] = "9c9ab5fb96b6988b4cd5def6b275492442c04a570900d33aa6373105780025bc"
 
 inherit pypi
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-io \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.5.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.4.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.5.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-visitor.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-visitor.inc
new file mode 100644
index 0000000..8c2288c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-visitor.inc
@@ -0,0 +1,6 @@
+SUMMARY = "A tiny pythonic visitor implementation."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+
+SRC_URI[md5sum] = "94a024ed0ec1b02b4497c15267d319ca"
+SRC_URI[sha256sum] = "2c737903b2b6864ebc6167eef7cf3b997126f1aa94bdf590f90f1436d23e480a"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.3.bb
index 1236506..eee25a5 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.3.bb
@@ -1,8 +1,2 @@
-SUMMARY = "A tiny pythonic visitor implementation."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
-
-SRC_URI[md5sum] = "94a024ed0ec1b02b4497c15267d319ca"
-SRC_URI[sha256sum] = "2c737903b2b6864ebc6167eef7cf3b997126f1aa94bdf590f90f1436d23e480a"
-
 inherit pypi setuptools
+require python-visitor.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
index fe1ab95..a02bbbb 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
@@ -1,9 +1,9 @@
 SUMMARY = "Simple Python module for working with HTML/CSS color definitions."
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=358df7e9eb65e1843dbb36abd476c5c0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=197add016087e6884a012b0f185d44ad"
 
-SRC_URI[md5sum] = "4733fa1077f680bbdd918cdef1e32c11"
-SRC_URI[sha256sum] = "e47e68644d41c0b1f1e4d939cfe4039bdf1ab31234df63c7a4f59d4766487206"
+SRC_URI[md5sum] = "40890db38b2a856e526a568864025fe6"
+SRC_URI[sha256sum] = "030562f624467a9901f0b455fef05486a88cfb5daa1e356bd4aacea043850b59"
 
 RDEPENDS_${PN}_class-target = "\
     ${PYTHON_PN}-stringold \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.8.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.7.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.8.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
index ed57c52..34ca706 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
@@ -1,10 +1,13 @@
 SUMMARY = "Character encoding aliases for legacy web content"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;startline=8;endline=9;md5=af5c81bfe98855a56d36b6ba5de2906f"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
 
 SRC_URI[md5sum] = "32f6e261d52e57bf7e1c4d41546d15b8"
 SRC_URI[sha256sum] = "b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"
 
 inherit pypi
 
-RDEPENDS_${PN} += "${PYTHON_PN}-codecs"
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-json \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
index b2949a3..c04a4e0 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
@@ -8,15 +8,23 @@
 of community contributed addon modules."
 HOMEPAGE = "http://werkzeug.pocoo.org/"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a68f5361a2b2ca9fdf26b38aaecb6faa"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ed9a0b7c0254616d72dadb98b293ef1b"
 
-SRC_URI[md5sum] = "e385b2c5a7193cff24c689b31e1124dc"
-SRC_URI[sha256sum] = "903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"
+SRC_URI[md5sum] = "6d20b5be2d245be4ac7706cc390d130c"
+SRC_URI[sha256sum] = "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c"
 
 PYPI_PACKAGE = "Werkzeug"
 
 CLEANBROKEN = "1"
 
+PACKAGES =+ "${PN}-tests"
+FILES_${PN}-tests+= " \
+    ${PYTHON_SITEPACKAGES_DIR}/werkzeug/test* \
+    ${PYTHON_SITEPACKAGES_DIR}/werkzeug/__pycache__/test* \
+    ${PYTHON_SITEPACKAGES_DIR}/werkzeug/contrib/test* \
+    ${PYTHON_SITEPACKAGES_DIR}/werkzeug/contrib/__pycache__/test* \
+"
+
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-datetime \
     ${PYTHON_PN}-difflib \
@@ -24,11 +32,16 @@
     ${PYTHON_PN}-html \
     ${PYTHON_PN}-io \
     ${PYTHON_PN}-json \
+    ${PYTHON_PN}-netclient \
     ${PYTHON_PN}-netserver \
     ${PYTHON_PN}-numbers \
     ${PYTHON_PN}-pkgutil \
     ${PYTHON_PN}-pprint \
-    ${PYTHON_PN}-subprocess \
     ${PYTHON_PN}-threading \
     ${PYTHON_PN}-unixadmin \
 "
+
+RDEPENDS_${PN}-tests = " \
+    ${PN} \
+    ${PYTHON_PN}-unittest \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.12.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.12.2.bb
deleted file mode 100644
index 3892f13..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.12.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit pypi setuptools
-require python-werkzeug.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-zlib"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.14.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.14.1.bb
new file mode 100644
index 0000000..db41161
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.14.1.bb
@@ -0,0 +1,7 @@
+inherit pypi setuptools
+require python-werkzeug.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-zlib \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc
index 0a2cf3b..a4ca5dc 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc
@@ -12,3 +12,13 @@
 
 PYPI_PACKAGE = "Whoosh"
 PYPI_PACKAGE_EXT = "zip"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-email \
+    ${PYTHON_PN}-multiprocessing \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-stringold \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh_2.7.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh_2.7.4.bb
index 48df360..3b4291f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh_2.7.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh_2.7.4.bb
@@ -1,2 +1,6 @@
 inherit pypi setuptools
 require python-whoosh.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc
new file mode 100644
index 0000000..916697f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "A flexible forms validation and rendering library for python web development."
+HOMEPAGE = "https://pypi.python.org/pypi/WTForms"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c459accc90c6ed6a94878c8fe0535be2"
+
+SRC_URI[md5sum] = "6938a541fafd1a1ae2f6b9b88588eef2"
+SRC_URI[sha256sum] = "ffdf10bd1fa565b8233380cb77a304cd36fd55c73023e91d4b803c96bc11d46f"
+
+PYPI_PACKAGE = "WTForms"
+PYPI_PACKAGE_EXT = "zip"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-netserver \
+    ${PYTHON_PN}-numbers \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.1.bb
index 5ddcb48..fdb015e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.1.bb
@@ -1,18 +1,2 @@
-DESCRIPTION = "A flexible forms validation and rendering library for python web development."
-HOMEPAGE = "https://pypi.python.org/pypi/WTForms"
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c459accc90c6ed6a94878c8fe0535be2"
-
-SRC_URI[md5sum] = "6938a541fafd1a1ae2f6b9b88588eef2"
-SRC_URI[sha256sum] = "ffdf10bd1fa565b8233380cb77a304cd36fd55c73023e91d4b803c96bc11d46f"
-
-PYPI_PACKAGE = "WTForms"
-PYPI_PACKAGE_EXT = "zip"
-
 inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-netserver \
-    ${PYTHON_PN}-numbers \
-    "
+require python-wtforms.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome.inc
new file mode 100644
index 0000000..d13cb83
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome.inc
@@ -0,0 +1,17 @@
+DESCRIPTION = "Font Awesome icons packaged for setuptools (easy_install) / pip."
+HOMEPAGE = "https://pypi.python.org/pypi/XStatic-Font-Awesome"
+SECTION = "devel/python"
+LICENSE = "Apache-2"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=313d021898694cd2b0ea6508bdfe51a2"
+
+PYPI_PACKAGE = "XStatic-Font-Awesome"
+
+inherit pypi
+
+SRC_URI[md5sum] = "141a0e9a7e21e82f922573a00ae0c166"
+SRC_URI[sha256sum] = "e01fb480caaa7c7963dcb3328a4700e631bef6070db0e8b685816d220e685f6c"
+
+DEPENDS += " \
+        ${PYTHON_PN}-xstatic \
+        ${PYTHON_PN}-pip \
+        "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome_4.7.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome_4.7.0.0.bb
new file mode 100644
index 0000000..41e85f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic-font-awesome_4.7.0.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-xstatic-font-awesome.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic.inc
new file mode 100644
index 0000000..f7c7db9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic.inc
@@ -0,0 +1,14 @@
+DESCRIPTION = "XStatic base package with minimal support code"
+HOMEPAGE = "https://pypi.python.org/pypi/XStatic"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.txt;md5=36a1e7eaa71e1bd07b8d2247839f228e"
+
+PYPI_PACKAGE = "XStatic"
+
+SRC_URI[md5sum] = "7064b5ea7fd1ee990e0ae0538301d9bc"
+SRC_URI[sha256sum] = "0ec93d7c66ebb9e0d31b664753437dc8634cb66e13310cb47c9eb1e0bc66d726"
+
+DEPENDS += " \
+        ${PYTHON_PN}-pip \
+        "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic_1.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic_1.0.1.bb
new file mode 100644
index 0000000..8073037
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xstatic_1.0.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-xstatic.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi.inc
new file mode 100644
index 0000000..651ce77
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi.inc
@@ -0,0 +1,16 @@
+SUMMARY  = "Yet Another Python Profiler"
+HOMEPAGE = "http://yappi.googlecode.com/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=6b131c3041637f6a5175a43112dde05c"
+
+SRC_URI[md5sum] = "dc56240575c99938a924eaeb7c0d8beb"
+SRC_URI[sha256sum] = "5f657129e1b9b952379ffbc009357d0dcdb58c50f3bfe88ffbb992e4b27b263c"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-threading \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb
index 51308c8..a3bdde5 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb
@@ -1,15 +1,2 @@
-SUMMARY  = "Yet Another Python Profiler"
-HOMEPAGE = "http://yappi.googlecode.com/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=6b131c3041637f6a5175a43112dde05c"
-
-SRC_URI[md5sum] = "dc56240575c99938a924eaeb7c0d8beb"
-SRC_URI[sha256sum] = "5f657129e1b9b952379ffbc009357d0dcdb58c50f3bfe88ffbb992e4b27b263c"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-pickle \
-    ${PYTHON_PN}-threading \
-    "
+require python-yappi.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc
index 4b38aea..1fab2cc 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc
@@ -11,6 +11,8 @@
 
 RPROVIDES_${PN} += "zope-interfaces"
 
+RDEPENDS_${PN}_class-target += "${PYTHON_PN}-datetime"
+
 FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug"
 FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c"
 FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_0.9.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_0.9.8.bb
new file mode 100644
index 0000000..e248fe7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_0.9.8.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-alembic.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_0.24.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_0.24.0.bb
new file mode 100644
index 0000000..cfbe575
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_0.24.0.bb
@@ -0,0 +1,6 @@
+inherit setuptools3
+require python-asn1crypto.inc
+
+RDEPENDS_${PN}_class-target += " \
+    ${PYTHON_PN}-shell \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.5.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-attr_0.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-attr_0.3.1.bb
new file mode 100644
index 0000000..e80648c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-attr_0.3.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-attr.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_17.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_17.4.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_17.3.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_17.4.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.6.0.bb
index 0469e61..2c74764 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.6.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.6.0.bb
@@ -1,4 +1,2 @@
 inherit setuptools3
 require python-automat.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-enum "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.3.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.2.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.3.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.1.bb
deleted file mode 100644
index 05084ac..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools3
-require python-babel.inc
-
-# Requires _pydecimal.py which is in misc
-RDEPENDS_${PN} += "${PYTHON_PN}-misc"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.3.bb
new file mode 100644
index 0000000..0715d59
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-babel.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.4.bb
new file mode 100644
index 0000000..924b3cf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.4.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-blinker.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.0.0b1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.0.0b1.bb
deleted file mode 100644
index a1d45b8..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.0.0b1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require python-can.inc
-inherit pypi setuptools3
-
-RDEPENDS_${PN} += "python3-sqlite3"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.1.0.bb
new file mode 100644
index 0000000..aaa9e81
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.1.0.bb
@@ -0,0 +1,7 @@
+require python-can.inc
+inherit pypi setuptools3
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-compression \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.11.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.13.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.11.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.13.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.7.27.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2018.1.18.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.7.27.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2018.1.18.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.5.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.11.5.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
index ecd1514..1920644 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
@@ -1,4 +1,2 @@
 inherit pypi setuptools3
 require python-click.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-enum"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.5.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.5.0.bb
new file mode 100644
index 0000000..770cba5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.5.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-configparser.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb
deleted file mode 100644
index 6aa5c59..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Code coverage measurement for Python"
-HOMEPAGE = "https://coverage.readthedocs.io"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
-
-SRC_URI[md5sum] = "4c4d997cb32be4703f1fde54e6cd1b1c"
-SRC_URI[sha256sum] = "7a9c44400ee0f3b4546066e0710e1250fd75831adc02ab99dda176ad8726f424"
-
-inherit pypi setuptools3
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.2.bb
new file mode 100644
index 0000000..c983e0b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_4.4.2.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Code coverage measurement for Python"
+HOMEPAGE = "https://coverage.readthedocs.io"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
+
+SRC_URI[md5sum] = "29a9fe85377e0f7327cf5db1e335483f"
+SRC_URI[sha256sum] = "309d91bd7a35063ec7a0e4d75645488bfab3f0b66373e7722f23da7f5b0f34cc"
+
+inherit pypi setuptools3
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.1.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.0.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.1.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.0.3.bb
deleted file mode 100644
index f807042..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.0.3.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-inherit pypi setuptools3
-require python-cryptography.inc
-
-SRC_URI += " \
-    file://run-ptest \
-"
-
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-lang \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.1.4.bb
new file mode 100644
index 0000000..1959233
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.1.4.bb
@@ -0,0 +1,8 @@
+inherit pypi setuptools3
+require python-cryptography.inc
+
+LDSHARED += "-pthread"
+
+SRC_URI += " \
+    file://run-ptest \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.27.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.28.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.27.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.28.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.7.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.7.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.1.2.bb
deleted file mode 100644
index 7840b20..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.1.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools3
-require python-decorator.inc
-
-RDEPENDS_${PN}_class-target += "\
-    ${PYTHON_PN}-enum \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.3.0.bb
new file mode 100644
index 0000000..844cbdc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.3.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-decorator.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.10.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.5.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.10.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb
index 26024c6..ce4dfdc 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb
@@ -1,9 +1,2 @@
 inherit setuptools3
 require python-dnspython.inc
-
-# Requires _pydecimal.py which is in misc
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-enum \
-    ${PYTHON_PN}-misc \
-    ${PYTHON_PN}-selectors \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.3.1.bb
new file mode 100644
index 0000000..5304ccc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.3.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-dominate.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-editor_1.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-editor_1.0.3.bb
new file mode 100644
index 0000000..8ad2b86
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-editor_1.0.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-editor.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_0.7.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_0.7.0.bb
new file mode 100644
index 0000000..3a92b6e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-evdev_0.7.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-evdev.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_0.11.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_0.11.2.bb
new file mode 100644
index 0000000..104e7c2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_0.11.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-babel.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-bootstrap_3.3.7.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-bootstrap_3.3.7.1.bb
new file mode 100644
index 0000000..877c754
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-bootstrap_3.3.7.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-bootstrap.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.4.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.4.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.4.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-mail_0.9.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-mail_0.9.1.bb
new file mode 100644
index 0000000..0b963be
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-mail_0.9.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-mail.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.1.1.bb
new file mode 100644
index 0000000..c98cbfd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.1.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-migrate.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-nav_0.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-nav_0.6.bb
new file mode 100644
index 0000000..d251152
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-nav_0.6.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-nav.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.6.bb
new file mode 100644
index 0000000..6bff59a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.6.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-flask-restful.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-script_2.0.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-script_2.0.6.bb
new file mode 100644
index 0000000..9f88519
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-script_2.0.6.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-script.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.3.2.bb
new file mode 100644
index 0000000..07f45bc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sqlalchemy_2.3.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-sqlalchemy.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-uploads_0.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-uploads_0.2.1.bb
new file mode 100644
index 0000000..758c2ac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-uploads_0.2.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-uploads.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-user_0.6.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-user_0.6.19.bb
new file mode 100644
index 0000000..251017f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-user_0.6.19.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-user.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.2.bb
new file mode 100644
index 0000000..52362a8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-wtf.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-xstatic_0.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-xstatic_0.0.1.bb
new file mode 100644
index 0000000..5412bef
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-xstatic_0.0.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-flask-xstatic.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.13.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.12.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.13.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib_0.999999999.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib_1.0.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib_0.999999999.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-html5lib_1.0.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_17.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_17.3.1.bb
index 3d30af2..70813bf 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_17.3.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_17.3.1.bb
@@ -1,4 +1,2 @@
 inherit setuptools3
 require python-hyperlink.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-selectors ${PYTHON_PN}-enum"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.2.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.3.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.2.15.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-isort_4.3.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_0.24.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_0.24.bb
index cd30825..a71c20f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_0.24.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_0.24.bb
@@ -1,2 +1,6 @@
 inherit pypi setuptools3
 require python-itsdangerous.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-compression \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.2.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.2.4.bb
new file mode 100644
index 0000000..0ec23ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.2.4.bb
@@ -0,0 +1,2 @@
+require python-javaobj-py3.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.bb
new file mode 100644
index 0000000..61156b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-jinja2.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.6.bb
deleted file mode 100644
index 8375f8c..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.6.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit pypi setuptools3
-require python-jinja2.inc
-
-# Requires _pydecimal which is in misc
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-misc \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.23.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.23.bb
new file mode 100644
index 0000000..73efcee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.23.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-jsonpatch.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.0.bb
new file mode 100644
index 0000000..8d0a09b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpointer_2.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-jsonpointer.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
index 5aaee68..9269907 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
@@ -1,6 +1,2 @@
 inherit pypi setuptools3
 require python-jsonschema.inc
-
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-misc \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb
deleted file mode 100644
index 362ca1a..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.37.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "langtable is used to guess reasonable defaults for locale,\
-keyboard, territory"
-HOMEPAGE = "https://github.com/mike-fabian/langtable/"
-LICENSE = "GPLv3+"
-SECTION = "devel/python"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "3f001eef027ba69ef2fdb35c670b7da26b79b5e2"
-PV = "0.0.37+git${SRCPV}"
-SRC_URI = "git://github.com/mike-fabian/langtable.git;branch=master \
-"
-
-inherit setuptools3 python3native
-
-DISTUTILS_INSTALL_ARGS = "--prefix=${D}/${prefix} \
-    --install-data=${D}/${datadir}/langtable"
-
-FILES_${PN} += "${datadir}/*"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.38.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.38.bb
new file mode 100644
index 0000000..0ca58c7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.38.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "langtable is used to guess reasonable defaults for locale,\
+keyboard, territory"
+HOMEPAGE = "https://github.com/mike-fabian/langtable/"
+LICENSE = "GPLv3+"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "35687ca957b746f153a6872139462b1443f8cad1"
+PV = "0.0.38+git${SRCPV}"
+SRC_URI = "git://github.com/mike-fabian/langtable.git;branch=master \
+"
+
+inherit setuptools3 python3native
+
+DISTUTILS_INSTALL_ARGS = "--prefix=${D}/${prefix} \
+    --install-data=${D}/${datadir}/langtable"
+
+FILES_${PN} += "${datadir}/*"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-compression \
+    ${PYTHON_PN}-doctest \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-xml \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.1.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.4.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.4.8.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.2.0.bb
deleted file mode 100644
index c6556b3..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.2.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc."
-HOMEPAGE = "https://github.com/aio-libs/multidict/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e74c98abe0de8f798ca609137f9cef4a"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "a01da31ca1855557a1b2e053c933af2f"
-SRC_URI[sha256sum] = "e27a7a95317371c15ecda7206f6e8c144f10a337bb2c3e61b5176deafbb88cb2"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb
new file mode 100644
index 0000000..7f9cd55
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc."
+HOMEPAGE = "https://github.com/aio-libs/multidict/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e74c98abe0de8f798ca609137f9cef4a"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "06ca91d993de2d04c7ee6df0cbb44ea2"
+SRC_URI[sha256sum] = "f82e61c7408ed0dce1862100db55595481911f159d6ddec0b375d35b6449509b"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb
index 35440bc..93df83a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.3.bb
@@ -10,3 +10,5 @@
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
 inherit setuptools3 python3native pypi
+
+RDEPENDS_${PN} += "${PYTHON_PN}-datetime"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-oauthlib_2.0.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-oauthlib_2.0.6.bb
new file mode 100644
index 0000000..da13b55
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-oauthlib_2.0.6.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-oauthlib.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.20.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.22.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.20.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.22.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.5.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.2.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.5.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb
deleted file mode 100644
index c88d9a0..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.1.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Pidfile featuring stale detection and file-locking, can also \
-be used as context-manager or decorator"
-HOMEPAGE = "https://github.com/trbs/pid/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=83d53cbd3105063f20305bc313464e29"
-
-SRC_URI[md5sum] = "9634b1e3d545544a9d496e25e4530d14"
-SRC_URI[sha256sum] = "b443169d3dc21397695b4a82016fadb4cfdb0ed8b2ddb4aaa428e1701bb34e1f"
-
-inherit pypi setuptools3
-
-SRC_URI += " \
-    file://0001-remove-requirement-of-nose.patch \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.0.bb
new file mode 100644
index 0000000..e438319
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pid_2.2.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Pidfile featuring stale detection and file-locking, can also \
+be used as context-manager or decorator"
+HOMEPAGE = "https://github.com/trbs/pid/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=83d53cbd3105063f20305bc313464e29"
+
+SRC_URI[md5sum] = "04d30308013d16aa882b3806feda8ab2"
+SRC_URI[sha256sum] = "d8bb2ceec21a4ae84be6e9d320db1f56934b30e676e31c6f098ca7218b3d67d4"
+
+inherit pypi setuptools3
+
+SRC_URI += " \
+    file://0001-remove-requirement-of-nose.patch \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.6.0.bb
new file mode 100644
index 0000000..941e8e3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.6.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pluggy.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ply_3.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ply_3.11.bb
new file mode 100644
index 0000000..72410ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ply_3.11.bb
@@ -0,0 +1,2 @@
+require python-ply.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pretend_1.0.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pretend_1.0.9.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pretend_1.0.8.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pretend_1.0.9.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.15.bb
index d8f6389..0e99917 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.15.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.15.bb
@@ -3,7 +3,5 @@
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-datetime \
-    ${PYTHON_PN}-enum \
     ${PYTHON_PN}-shell \
-    ${PYTHON_PN}-textutils \
 "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.5.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.4.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.5.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.4.3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.3.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.4.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.34.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.5.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.34.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.5.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.1.bb
new file mode 100644
index 0000000..3b1186f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.1.bb
@@ -0,0 +1,2 @@
+require python-pyasn1-modules.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.3.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.3.6.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.22.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.22.bb
new file mode 100644
index 0000000..9712a76
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.22.bb
@@ -0,0 +1,2 @@
+require python-pybluez.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto_2.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto_2.6.1.bb
new file mode 100644
index 0000000..02d634c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycrypto_2.6.1.bb
@@ -0,0 +1,9 @@
+inherit distutils3
+require python-pycrypto.inc
+
+# We explicitly call distutils_do_install, since we want it to run, but
+# *don't* want the autotools install to run, since this package doesn't
+# provide a "make install" target.
+do_install() {
+       distutils3_do_install
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.4.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.4.11.bb
new file mode 100644
index 0000000..0c062dd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycryptodome_3.4.11.bb
@@ -0,0 +1,2 @@
+require python-pycryptodome.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
new file mode 100644
index 0000000..7ed1c63
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
@@ -0,0 +1,2 @@
+require python-pydbus.inc
+inherit pypi setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.17.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.17.bb
new file mode 100644
index 0000000..bfd5840
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyexpect_1.0.17.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pyexpect.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.5.bb
new file mode 100644
index 0000000..721e7b1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.5.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pyiface.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_17.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_17.1.1.bb
new file mode 100644
index 0000000..8982fce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjks_17.1.1.bb
@@ -0,0 +1,2 @@
+require python-pyjks.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.1.bb
new file mode 100644
index 0000000..dc16d22
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.1.bb
@@ -0,0 +1,2 @@
+require python-pyjwt.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.7.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.8.3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.7.4.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_1.8.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.80.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.89.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.80.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.89.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.5.1.bb
deleted file mode 100644
index 9f02cab..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.5.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-inherit pypi setuptools3
-require python-pymongo.inc
-
-# Requires _pydecimal which is in misc
-RDEPENDS_${PYTHON_PN}-bson += " \
-    ${PYTHON_PN}-enum \
-    ${PYTHON_PN}-misc \
-    ${PYTHON_PN}-selectors \
-    ${PYTHON_PN}-subprocess \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.6.1.bb
new file mode 100644
index 0000000..5164b18
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.6.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pymongo.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pynetlinux_1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pynetlinux_1.1.bb
new file mode 100644
index 0000000..f6d9e3c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pynetlinux_1.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pynetlinux.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_17.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_17.5.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_17.3.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_17.5.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.0.bb
new file mode 100644
index 0000000..ee6f88b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pyperclip.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.3.22.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.4.21.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.3.22.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.4.21.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb
index 44c1368..17ed3f8 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.4.bb
@@ -5,5 +5,3 @@
     rm -f ${D}${bindir}/miniterm.py
     rmdir ${D}${bindir}
 }
-
-RDEPENDS_${PN} += "${PYTHON_PN}-enum ${PYTHON_PN}-selectors"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.7.bb
deleted file mode 100644
index f8aa01b..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.7.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-inherit pypi setuptools3
-require python-pysocks.inc
-
-RDEPENDS_${PN}_class-target += "\
-    ${PYTHON_PN}-enum \
-    ${PYTHON_PN}-netclient \
-    ${PYTHON_PN}-selectors \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.8.bb
new file mode 100644
index 0000000..bbda05a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.8.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools3
+require python-pysocks.inc
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-netclient \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.12.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_3.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.12.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_3.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.4.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.2.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.4.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2017.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2018.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2017.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2018.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb
index 0292555..a62d944 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.21.0.bb
@@ -1,8 +1,2 @@
 require python-pyudev.inc
-
-RDEPENDS_${PN} = "\
-    ${PYTHON_PN}-lang \
-"
-
 inherit pypi setuptools3
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.0b2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.0b2.bb
deleted file mode 100644
index 813e6f0..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.0b2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit distutils3
-require python-pyusb.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb
new file mode 100644
index 0000000..1ecede7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyusb_1.0.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pyusb.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.18.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.18.4.bb
index d91d993..0a2410f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.18.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.18.4.bb
@@ -1,5 +1,2 @@
 inherit setuptools3
 require python-requests.inc
-
-# Add the runtime depends for selectors.py
-RDEPENDS_${PN} += "${PYTHON_PN}-misc"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.2.bb
new file mode 100644
index 0000000..8f613c3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-robotframework.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.23.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.23.bb
new file mode 100644
index 0000000..3e7baf4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.23.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Packet crafting/sending/sniffing, PCAP processing tool,\
+based on scapy with python3 compatibility"
+SECTION = "devel/python"
+HOMEPAGE = "https://github.com/phaethon/scapy"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=95ea6ecfc360eb47fe6f470ad736d7cd"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "scapy-python3"
+
+SRC_URI[md5sum] = "8642d09ca727e7e2b455223ae94059b7"
+SRC_URI[sha256sum] = "8760991a67162f43af4d9e64828bcefc100ba88859b75177ae9f7ace56e58186"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb
new file mode 100644
index 0000000..f496653
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.6.bb
@@ -0,0 +1,3 @@
+inherit setuptools3 python3-dir
+require python-scrypt.inc
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.23.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.23.bb
deleted file mode 100644
index 199dcfa..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.23.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-inherit setuptools3
-require python-serpent.inc
-
-# Requires _pydecimal which is in misc
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-enum \
-    ${PYTHON_PN}-misc \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.24.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.24.bb
new file mode 100644
index 0000000..1e04def
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.24.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-serpent.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.7.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.6.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.7.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.11.1.bb
deleted file mode 100644
index d44bc15..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.11.1.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit setuptools3
-require python-simplejson.inc
-
-# Requires _pydecimal which is in misc
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-misc \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.13.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.13.2.bb
new file mode 100644
index 0000000..38f406c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.13.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-simplejson.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_3.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_4.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_3.1.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_4.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-speaklater_1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-speaklater_1.3.bb
new file mode 100644
index 0000000..aa4f699
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-speaklater_1.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-speaklater.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.14.bb
deleted file mode 100644
index 01f1e97..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.14.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools3
-require python-sqlalchemy.inc
-
-# Requires _pydecimal.py which is in misc
-RDEPENDS_${PN} += "${PYTHON_PN}-enum ${PYTHON_PN}-misc"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb
new file mode 100644
index 0000000..86cf9ed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.17.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-sqlalchemy.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
index 845b7d9..580d993 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
@@ -1,13 +1,2 @@
-SUMMARY = "Python interface for libsystemd"
-HOMEPAGE = "https://github.com/systemd/python-systemd"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
-
-PYPI_PACKAGE = "systemd-python"
-DEPENDS += "systemd (<=234)"
-RDEPENDS_${PN} += "systemd"
-REQUIRED_DISTRO_FEATURES = "systemd"
-inherit pypi setuptools3 distro_features_check
-
-SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
-SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
+require python-systemd.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.5.3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.5.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.5.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_17.9.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_17.9.0.bb
index d7533d8..6bd8c52 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_17.9.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_17.9.0.bb
@@ -1,7 +1,7 @@
 inherit pypi setuptools3
 require python-twisted.inc
 
-RDEPENDS_${PN}-core += "python3-lang"
+PACKAGES_remove = "${PN}-src"
 
 FILES_${PN}-core_append += " \
   ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
new file mode 100644
index 0000000..e593f6f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
@@ -0,0 +1,2 @@
+require python-twofish.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.5.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.4.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.5.5.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
index 189a65a..f6372c8 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
@@ -17,8 +17,4 @@
     install -m 0644 ${S}/vcversioner*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
 }
 
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-subprocess \
-    "
-
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-visitor_0.1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-visitor_0.1.3.bb
new file mode 100644
index 0000000..b9bc51d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-visitor_0.1.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-visitor.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.8.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.7.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.8.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb
new file mode 100644
index 0000000..414129c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)"
+HOMEPAGE = "https://github.com/aaugustin/websockets"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5070256738c06d2e59adbec1f4057dac"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "9e8c6b3c70def4146d75fbb0f52bdfc7"
+SRC_URI[sha256sum] = "da4d4fbe059b0453e726d6d993760065d69b823a27efc3040402a6fcfe6a1ed9"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN} = "\
+    ${PYTHON_PN}-asyncio \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.12.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.14.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.12.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.14.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.1.bb
new file mode 100644
index 0000000..add59cf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-wtforms.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb
new file mode 100644
index 0000000..639f80d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-xstatic-font-awesome.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.1.bb
new file mode 100644
index 0000000..76cb702
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-xstatic.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_0.98.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_0.98.bb
new file mode 100644
index 0000000..07da5b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_0.98.bb
@@ -0,0 +1,2 @@
+require python-yappi.inc
+inherit setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0014-invoking-dd-with-infinite-timeout.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0014-invoking-dd-with-infinite-timeout.patch
new file mode 100644
index 0000000..12a9e4f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0014-invoking-dd-with-infinite-timeout.patch
@@ -0,0 +1,31 @@
+From 92fe7dfd01131c93a9b2013cabf77d5f46900fab Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 6 Mar 2018 17:28:56 +0800
+Subject: [PATCH] invoking dd with infinite timeout
+
+This large timeout is needed when running on machines with
+lots of disks, or with slow disks.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/devices/partition.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/devices/partition.py b/blivet/devices/partition.py
+index a7372fb..8947472 100644
+--- a/blivet/devices/partition.py
++++ b/blivet/devices/partition.py
+@@ -594,7 +594,7 @@ class PartitionDevice(StorageDevice):
+         cmd = ["dd", "if=/dev/zero", "of=%s" % device, "bs=%d" % bs,
+                "seek=%d" % start, "count=%d" % count]
+         try:
+-            util.run_program(cmd)
++            util.run_program(cmd, timeout=-1)
+         except OSError as e:
+             log.error(str(e))
+         finally:
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb
index cacca67..46dc32d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb
@@ -23,6 +23,7 @@
            file://0011-invoking-fsck-with-infinite-timeout.patch \
            file://0012-invoking-mkfs-with-infinite-timeout.patch \
            file://0013-Revert-Adapt-to-logging-module-name-change.patch \
+           file://0014-invoking-dd-with-infinite-timeout.patch \
 "
 
 inherit distro_features_check
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb
index ac507ca..28c2565 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb
@@ -13,7 +13,7 @@
 "
 
 inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "systemd"
+REQUIRED_DISTRO_FEATURES = "x11 systemd"
 
 inherit setuptools3 python3native
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb
deleted file mode 100644
index 6ace497..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.45.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "A python library for handling exceptions"
-DESCRIPTION = "The python-meh package is a python library for handling, saving, and reporting \
-exceptions."
-HOMEPAGE = "http://git.fedorahosted.org/git/?p=python-meh.git"
-LICENSE = "GPLv2+"
-
-inherit setuptools3
-
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \
-"
-SRCREV = "2bfc751fd680515d44f7096945a1e282a1f7d6aa"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-FILES_${PN} += "${datadir}/*"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.46.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.46.bb
new file mode 100644
index 0000000..40e2cbd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.46.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A python library for handling exceptions"
+DESCRIPTION = "The python-meh package is a python library for handling, saving, and reporting \
+exceptions."
+HOMEPAGE = "http://git.fedorahosted.org/git/?p=python-meh.git"
+LICENSE = "GPLv2+"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \
+"
+SRCREV = "bb1156728a4f76e5e3638ab20b9454a1568a99db"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+FILES_${PN} += "${datadir}/*"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
index 65f8ca1..a0ec028 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
@@ -6,16 +6,17 @@
 LICENSE = "GPL-2.0+"
 LIC_FILES_CHKSUM = "\
     file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
-    file://src/_pedmodule.c;startline=10;endline=22;md5=ebcb25dde1ac9c46e986dec79b404e7e \
+    file://src/_pedmodule.c;beginline=10;endline=22;md5=9e53304db812b80d0939e11bb69dcab2 \
 "
 DEPENDS += "parted"
 
 # upstream only publishes releases in github archives which are discouraged
-SRCREV = "69c4a478e43d3eff6ae3a0116fa38da06776d5f5"
-SRC_URI = "git://github.com/rhinstaller/pyparted.git;protocol=https \
-           file://0001-fix-version-float-check.patch \
-"
+SRCREV = "1fdb15120f35f5da1dc7ec116522f0c796a8376a"
+SRC_URI = "git://github.com/rhinstaller/pyparted.git;protocol=https"
+
 S = "${WORKDIR}/git"
 
-RDEPENDS_${PN} += "parted (>= 2.3)"
+RDEPENDS_${PN}_class-target += " \
+    parted (>= 2.3) \
+"
 RDEPENDS_${PN}_class-native = ""
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted/0001-fix-version-float-check.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted/0001-fix-version-float-check.patch
deleted file mode 100644
index db3ab9f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted/0001-fix-version-float-check.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-check_mod_version breaks if module version is of x.y.z form
-use a regex to help cast x.y.z version to a float
-
-Upstream-Status: Pending
-
-Index: git/setup.py
-===================================================================
---- git.orig/setup.py
-+++ git/setup.py
-@@ -25,6 +25,7 @@ import glob
- import os
- import platform
- import sys
-+import re
- from distutils.ccompiler import new_compiler
- from distutils.errors import CompileError
- from distutils.errors import LinkError
-@@ -51,6 +52,8 @@ def pkgconfig(*packages, **kwargs):
- 
- def check_mod_version(module, version):
-     modversion = subprocess.check_output(["pkg-config", "--modversion", module])
-+    match = re.search('([0-9]+\.[0-9]+)', modversion)
-+    modversion = match.group(0)
-     if not float(modversion) >= float(version):
-         sys.stderr.write("*** Minimum required %s version: %s, found: %s\n" % (module, version, modversion,))
-         sys.exit(1)
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb
deleted file mode 100644
index 8a15a89..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.10.7.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require python-pyparted.inc
-
-DEPENDS += "python-re"
-
-PV = "3.10.7+git${SRCPV}"
-
-inherit distutils
-
-RDEPENDS_${PN} += "python-stringold python-codecs python-math"
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb
new file mode 100644
index 0000000..7d00fd7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb
@@ -0,0 +1,10 @@
+require python-pyparted.inc
+
+PV = "3.10.7+git${SRCPV}"
+
+inherit distutils
+
+RDEPENDS_${PN} += "python-stringold python-codecs python-math python-subprocess"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted/0001-fix-version-float-check.patch b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted/0001-fix-version-float-check.patch
deleted file mode 100644
index 14fb0bb..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted/0001-fix-version-float-check.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-check_mod_version breaks if module version is of x.y.z form
-use a regex to help cast x.y.z version to a float
-
-Upstream-Status: Pending
-
-Index: git/setup.py
-===================================================================
---- git.orig/setup.py
-+++ git/setup.py
-@@ -25,6 +25,7 @@ import glob
- import os
- import platform
- import sys
-+import re
- from distutils.ccompiler import new_compiler
- from distutils.errors import CompileError
- from distutils.errors import LinkError
-@@ -51,6 +52,8 @@ def pkgconfig(*packages, **kwargs):
- 
- def check_mod_version(module, version):
-     modversion = subprocess.check_output(["pkg-config", "--modversion", module])
-+    match = re.search(b'([0-9]+\.[0-9]+)', modversion)
-+    modversion = match.group(0)
-     if not float(modversion) >= float(version):
-         sys.stderr.write("*** Minimum required %s version: %s, found: %s\n" % (module, version, modversion,))
-         sys.exit(1)
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.10.7.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.10.7.bb
deleted file mode 100644
index ff72c2a..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.10.7.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require python-pyparted.inc
-
-DEPENDS += "python3-re"
-
-PV = "3.10.7+git${SRCPV}"
-
-inherit distutils3
-
-RDEPENDS_${PN} += "python3-stringold python3-codecs python3-math"
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb
new file mode 100644
index 0000000..4d6f97b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb
@@ -0,0 +1,10 @@
+require python-pyparted.inc
+
+PV = "3.10.7+git${SRCPV}"
+
+inherit distutils3
+
+RDEPENDS_${PN} += "python3-stringold python3-codecs python3-math"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-webserver/README b/import-layers/meta-openembedded/meta-webserver/README
index f2928ab..7b60630 100644
--- a/import-layers/meta-openembedded/meta-webserver/README
+++ b/import-layers/meta-openembedded/meta-webserver/README
@@ -13,14 +13,14 @@
 
 URI: git://github.com/openembedded/oe-core.git
 subdirectory: meta
-branch: rocko 
+branch: master
 revision: HEAD
 
 For some recipes, the meta-oe layer is required:
 
 URI: git://github.com/openembedded/meta-oe.git
 subdirectory: meta-oe
-branch: rocko 
+branch: master
 revision: HEAD
 
 
diff --git a/import-layers/meta-openembedded/meta-webserver/conf/layer.conf b/import-layers/meta-openembedded/meta-webserver/conf/layer.conf
index 84fdd81..f205ef2 100644
--- a/import-layers/meta-openembedded/meta-webserver/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-webserver/conf/layer.conf
@@ -17,6 +17,8 @@
 
 LAYERDEPENDS_webserver = "core openembedded-layer"
 
+LAYERSERIES_COMPAT_webserver = "sumo"
+
 LICENSE_PATH += "${LAYERDIR}/licenses"
 
 SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb
deleted file mode 100644
index 4e893db..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
-extensible web server."
-SUMMARY = "Apache HTTP Server"
-HOMEPAGE = "http://httpd.apache.org/"
-DEPENDS = "expat-native pcre-native apr-native apr-util-native"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-
-inherit autotools pkgconfig native
-
-SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
-           file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
-          "
-
-S = "${WORKDIR}/httpd-${PV}"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
-SRC_URI[md5sum] = "97b6bbfa83c866dbe20ef317e3afd108"
-SRC_URI[sha256sum] = "71fcc128238a690515bd8174d5330a5309161ef314a326ae45c7c15ed139c13a"
-
-EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
-                --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
-                --prefix=${prefix} --datadir=${datadir}/apache2 \
-               "
-
-do_install () {
-    install -d ${D}${bindir} ${D}${libdir}
-    cp server/gen_test_char ${D}${bindir}
-    install -m 755 support/apxs ${D}${bindir}/
-    install -m 755 httpd ${D}${bindir}/
-    install -d ${D}${datadir}/apache2/build
-    cp ${S}/build/*.mk ${D}${datadir}/apache2/build
-    cp build/*.mk ${D}${datadir}/apache2/build
-    cp ${S}/build/instdso.sh ${D}${datadir}/apache2/build
-
-    install -d ${D}${includedir}/apache2
-    cp ${S}/include/* ${D}${includedir}/apache2
-    cp include/* ${D}${includedir}/apache2
-    cp ${S}/os/unix/os.h ${D}${includedir}/apache2
-    cp ${S}/os/unix/unixd.h ${D}${includedir}/apache2
-
-    cp support/envvars-std ${D}${bindir}/envvars
-    chmod 755 ${D}${bindir}/envvars
-}
-
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.29.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.29.bb
new file mode 100644
index 0000000..36f073c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.29.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
+extensible web server."
+SUMMARY = "Apache HTTP Server"
+HOMEPAGE = "http://httpd.apache.org/"
+DEPENDS = "expat-native pcre-native apr-native apr-util-native"
+SECTION = "net"
+LICENSE = "Apache-2.0"
+
+inherit autotools pkgconfig native
+
+SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
+           file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
+          "
+
+S = "${WORKDIR}/httpd-${PV}"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a62b0c7623826ff99766ff13fb9007f8"
+SRC_URI[md5sum] = "0c599404ef6b69eee95bcd9fcd094407"
+SRC_URI[sha256sum] = "777753a5a25568a2a27428b2214980564bc1c38c1abf9ccc7630b639991f7f00"
+
+EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
+                --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
+                --prefix=${prefix} --datadir=${datadir}/apache2 \
+               "
+
+do_install () {
+    install -d ${D}${bindir} ${D}${libdir}
+    cp server/gen_test_char ${D}${bindir}
+    install -m 755 support/apxs ${D}${bindir}/
+    install -m 755 httpd ${D}${bindir}/
+    install -d ${D}${datadir}/apache2/build
+    cp ${S}/build/*.mk ${D}${datadir}/apache2/build
+    cp build/*.mk ${D}${datadir}/apache2/build
+    cp ${S}/build/instdso.sh ${D}${datadir}/apache2/build
+
+    install -d ${D}${includedir}/apache2
+    cp ${S}/include/* ${D}${includedir}/apache2
+    cp include/* ${D}${includedir}/apache2
+    cp ${S}/os/unix/os.h ${D}${includedir}/apache2
+    cp ${S}/os/unix/unixd.h ${D}${includedir}/apache2
+
+    cp support/envvars-std ${D}${bindir}/envvars
+    chmod 755 ${D}${bindir}/envvars
+}
+
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
index c90279d..92c53f3 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
@@ -4,11 +4,13 @@
 #
 # Upstream-Status: Inappropriate [configuration]
 
---- a/configure.in
-+++ b/configure.in
-@@ -638,10 +638,7 @@
- AC_DEFINE_UNQUOTED(APACHE_MPM_DIR, "$MPM_DIR",
- 	[Location of the source for the current MPM])
+Index: httpd-2.4.29/configure.in
+===================================================================
+--- httpd-2.4.29.orig/configure.in
++++ httpd-2.4.29/configure.in
+@@ -855,10 +855,7 @@ AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "
+ AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "${rel_sysconfdir}/mime.types",
+ 	[Location of the MIME types config file, relative to the Apache root directory])
  
 -perlbin=`$ac_aux_dir/PrintPath perl`
 -if test "x$perlbin" = "x"; then
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch
index 413dc53..f13da91 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch
@@ -1,11 +1,11 @@
  build/ltmain.sh | 32 +++++++++++++++++++++++++++-----
  1 file changed, 27 insertions(+), 5 deletions(-)
 
-diff --git a/build/ltmain.sh b/build/ltmain.sh
-index 5eca4ae..805b461 100644
---- a/build/ltmain.sh
-+++ b/build/ltmain.sh
-@@ -6944,7 +6944,7 @@ func_mode_link ()
+Index: httpd-2.4.29/build/ltmain.sh
+===================================================================
+--- httpd-2.4.29.orig/build/ltmain.sh
++++ httpd-2.4.29/build/ltmain.sh
+@@ -6969,7 +6969,7 @@ func_mode_link ()
  	dir=$func_resolve_sysroot_result
  	# We need an absolute path.
  	case $dir in
@@ -14,7 +14,7 @@
  	*)
  	  absdir=`cd "$dir" && pwd`
  	  test -z "$absdir" && \
-@@ -8137,7 +8137,7 @@ func_mode_link ()
+@@ -8167,7 +8167,7 @@ func_mode_link ()
  	    $ECHO "*** $linklib is not portable!"
  	  fi
  	  if test lib = "$linkmode" &&
@@ -23,7 +23,7 @@
  	    # Hardcode the library path.
  	    # Skip directories that are in the system default run-time
  	    # search path.
-@@ -8404,7 +8404,7 @@ func_mode_link ()
+@@ -8434,7 +8434,7 @@ func_mode_link ()
  
  	if test lib = "$linkmode"; then
  	  if test -n "$dependency_libs" &&
@@ -32,7 +32,7 @@
  	       test yes = "$build_old_libs" ||
  	       test yes = "$link_static"; }; then
  	    # Extract -R from dependency_libs
-@@ -9025,7 +9025,8 @@ func_mode_link ()
+@@ -9086,7 +9086,8 @@ func_mode_link ()
  	  *) func_append finalize_rpath " $libdir" ;;
  	  esac
  	done
@@ -42,7 +42,7 @@
  	  dependency_libs="$temp_xrpath $dependency_libs"
  	fi
        fi
-@@ -9473,7 +9474,7 @@ EOF
+@@ -9534,7 +9535,7 @@ EOF
  	case $archive_cmds in
  	  *\$LD\ *) wl= ;;
          esac
@@ -51,7 +51,7 @@
  	  # Hardcode the library paths
  	  hardcode_libdirs=
  	  dep_rpath=
-@@ -10211,6 +10212,27 @@ EOF
+@@ -10272,6 +10273,27 @@ EOF
        # Now hardcode the library paths
        rpath=
        hardcode_libdirs=
@@ -79,6 +79,3 @@
        for libdir in $compile_rpath $finalize_rpath; do
  	if test -n "$hardcode_libdir_flag_spec"; then
  	  if test -n "$hardcode_libdir_separator"; then
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch
index 584ddc8..e4e01b2 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch
@@ -10,11 +10,11 @@
  support/apachectl.in |   14 ++++++++++----
  1 files changed, 10 insertions(+), 4 deletions(-)
 
-diff --git a/support/apachectl.in b/support/apachectl.in
-index d4dff38..109ea13 100644
---- a/support/apachectl.in
-+++ b/support/apachectl.in
-@@ -51,11 +51,11 @@ fi
+Index: httpd-2.4.29/support/apachectl.in
+===================================================================
+--- httpd-2.4.29.orig/support/apachectl.in
++++ httpd-2.4.29/support/apachectl.in
+@@ -52,11 +52,11 @@ fi
  # a command that outputs a formatted text version of the HTML at the
  # url given on the command line.  Designed for lynx, however other
  # programs may work.  
@@ -28,7 +28,7 @@
  #
  # Set this variable to a command that increases the maximum
  # number of file descriptors allowed per child process. This is
-@@ -91,10 +91,16 @@ configtest)
+@@ -92,10 +92,16 @@ configtest)
      ERROR=$?
      ;;
  status)
@@ -46,7 +46,4 @@
 +    fi
      ;;
  *)
-     $HTTPD $ARGV
--- 
-1.6.4
-
+     $HTTPD "$@"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb
deleted file mode 100644
index 1880867..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb
+++ /dev/null
@@ -1,194 +0,0 @@
-DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
-extensible web server."
-SUMMARY = "Apache HTTP Server"
-HOMEPAGE = "http://httpd.apache.org/"
-DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-
-SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
-           file://server-makefile.patch \
-           file://httpd-2.4.1-corelimit.patch \
-           file://httpd-2.4.4-export.patch \
-           file://httpd-2.4.1-selinux.patch \
-           file://apache-configure_perlbin.patch \
-           file://replace-lynx-to-curl-in-apachectl-script.patch \
-           file://apache-ssl-ltmain-rpath.patch \
-           file://httpd-2.4.3-fix-race-issue-of-dir-install.patch \
-           file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
-           file://configure-allow-to-disable-selinux-support.patch \
-           file://init \
-           file://apache2-volatile.conf \
-           file://apache2.service \
-           file://volatiles.04_apache2 \
-          "
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
-SRC_URI[md5sum] = "97b6bbfa83c866dbe20ef317e3afd108"
-SRC_URI[sha256sum] = "71fcc128238a690515bd8174d5330a5309161ef314a326ae45c7c15ed139c13a"
-
-S = "${WORKDIR}/httpd-${PV}"
-
-inherit autotools update-rc.d pkgconfig systemd
-
-SYSTEMD_SERVICE_${PN} = "apache2.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
-
-CFLAGS_append = " -DPATH_MAX=4096"
-CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl "
-EXTRA_OECONF = "--enable-ssl \
-    --with-ssl=${STAGING_LIBDIR}/.. \
-    --with-expat=${STAGING_LIBDIR}/.. \
-    --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
-    --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
-    --enable-info \
-    --enable-rewrite \
-    --with-dbm=sdbm \
-    --with-berkeley-db=no \
-    --localstatedir=/var/${BPN} \
-    --with-gdbm=no \
-    --with-ndbm=no \
-    --includedir=${includedir}/${BPN} \
-    --datadir=${datadir}/${BPN} \
-    --sysconfdir=${sysconfdir}/${BPN} \
-    --libexecdir=${libdir}/${BPN}/modules \
-    ap_cv_void_ptr_lt_long=no \
-    --enable-mpms-shared \
-    ac_cv_have_threadsafe_pollset=no"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
-PACKAGECONFIG[selinux] = "--enable-selinux --enable-layout=Debian --prefix=${base_prefix}/,--disable-selinux,libselinux,libselinux"
-PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
-
-do_configure_prepend() {
-        sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libdir}/cgi-bin:g' ${S}/config.layout
-}
-
-do_install_append() {
-    install -d ${D}/${sysconfdir}/init.d
-    cat ${WORKDIR}/init | \
-        sed -e 's,/usr/sbin/,${sbindir}/,g' \
-            -e 's,/usr/bin/,${bindir}/,g' \
-            -e 's,/usr/lib,${libdir}/,g' \
-            -e 's,/etc/,${sysconfdir}/,g' \
-            -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN}
-    chmod 755 ${D}/${sysconfdir}/init.d/${BPN}
-    # remove the goofy original files...
-    rm -rf ${D}/${sysconfdir}/${BPN}/original
-    # Expat should be found in the staging area via DEPENDS...
-    rm -f ${D}/${libdir}/libexpat.*
-
-    install -d ${D}${sysconfdir}/${BPN}/conf.d
-    install -d ${D}${sysconfdir}/${BPN}/modules.d
-
-    # Ensure configuration file pulls in conf.d and modules.d
-    printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
-    printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
-    printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
-    # match with that is in init script
-    printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
-    # Set 'ServerName' to fix error messages when restart apache service
-    sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf
-
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -d ${D}${sysconfdir}/tmpfiles.d/
-        install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
-    elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
-        install -d ${D}${sysconfdir}/default/volatiles
-        install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2
-    fi
-
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system
-    sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service
-    sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service
-
-    chown -R root:root ${D}
-}
-
-do_install_append_class-target() {
-    sed -i -e 's,${STAGING_DIR_HOST},,g' \
-           -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
-           -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk
-
-    sed -i -e 's,${STAGING_DIR_HOST},,g' \
-           -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
-    rm -rf ${D}${localstatedir}/run
-}
-
-SYSROOT_PREPROCESS_FUNCS += "apache_sysroot_preprocess"
-
-apache_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
-    install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts}/
-    install -d ${SYSROOT_DESTDIR}${sbindir}/
-    install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir}/
-    sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
-    sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
-
-    sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
-    sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
-    sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
-    sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
-    sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
-    sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
-    sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
-}
-
-#
-# implications - used by update-rc.d scripts
-#
-INITSCRIPT_NAME = "apache2"
-INITSCRIPT_PARAMS = "defaults 91 20"
-LEAD_SONAME = "libapr-1.so.0"
-
-PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
-
-CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \
-                   ${sysconfdir}/${BPN}/magic \
-                   ${sysconfdir}/${BPN}/mime.types \
-                   ${sysconfdir}/init.d/${BPN} "
-
-# we override here rather than append so that .so links are
-# included in the runtime package rather than here (-dev)
-# and to get build, icons, error into the -dev package
-FILES_${PN}-dev = "${datadir}/${BPN}/build \
-                   ${datadir}/${BPN}/icons \
-                   ${datadir}/${BPN}/error \
-                   ${bindir}/apr-config ${bindir}/apu-config \
-                   ${libdir}/apr*.exp \
-                   ${includedir}/${BPN} \
-                   ${libdir}/*.la \
-                   ${libdir}/*.a \
-                   ${bindir}/apxs \
-                "
-
-
-# manual to manual
-FILES_${PN}-doc += " ${datadir}/${BPN}/manual"
-
-FILES_${PN}-scripts += "${bindir}/dbmmanage"
-
-#
-# override this too - here is the default, less datadir
-#
-FILES_${PN} =  "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* ${sysconfdir} \
-                ${sharedstatedir} ${localstatedir} /bin /sbin /lib/*.so* \
-                ${libdir}/${BPN}"
-
-# we want htdocs and cgi-bin to go with the binary
-FILES_${PN} += "${datadir}/${BPN}/htdocs ${datadir}/${BPN}/cgi-bin"
-
-#make sure the lone .so links also get wrapped in the base package
-FILES_${PN} += "${libdir}/lib*.so ${libdir}/pkgconfig/*"
-
-FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
-
-RDEPENDS_${PN} += "openssl libgcc"
-RDEPENDS_${PN}-scripts += "perl ${PN}"
-RDEPENDS_${PN}-dev = "perl"
-
-FILES_${PN} += "${libdir}/cgi-bin"
-FILES_${PN} += "${datadir}/${BPN}/"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.29.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.29.bb
new file mode 100644
index 0000000..f0298b9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.29.bb
@@ -0,0 +1,194 @@
+DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
+extensible web server."
+SUMMARY = "Apache HTTP Server"
+HOMEPAGE = "http://httpd.apache.org/"
+DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util"
+SECTION = "net"
+LICENSE = "Apache-2.0"
+
+SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
+           file://server-makefile.patch \
+           file://httpd-2.4.1-corelimit.patch \
+           file://httpd-2.4.4-export.patch \
+           file://httpd-2.4.1-selinux.patch \
+           file://apache-configure_perlbin.patch \
+           file://replace-lynx-to-curl-in-apachectl-script.patch \
+           file://apache-ssl-ltmain-rpath.patch \
+           file://httpd-2.4.3-fix-race-issue-of-dir-install.patch \
+           file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
+           file://configure-allow-to-disable-selinux-support.patch \
+           file://init \
+           file://apache2-volatile.conf \
+           file://apache2.service \
+           file://volatiles.04_apache2 \
+          "
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a62b0c7623826ff99766ff13fb9007f8"
+SRC_URI[md5sum] = "0c599404ef6b69eee95bcd9fcd094407"
+SRC_URI[sha256sum] = "777753a5a25568a2a27428b2214980564bc1c38c1abf9ccc7630b639991f7f00"
+
+S = "${WORKDIR}/httpd-${PV}"
+
+inherit autotools update-rc.d pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "apache2.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
+
+CFLAGS_append = " -DPATH_MAX=4096"
+CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl "
+EXTRA_OECONF = "--enable-ssl \
+    --with-ssl=${STAGING_LIBDIR}/.. \
+    --with-expat=${STAGING_LIBDIR}/.. \
+    --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
+    --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
+    --enable-info \
+    --enable-rewrite \
+    --with-dbm=sdbm \
+    --with-berkeley-db=no \
+    --localstatedir=/var/${BPN} \
+    --with-gdbm=no \
+    --with-ndbm=no \
+    --includedir=${includedir}/${BPN} \
+    --datadir=${datadir}/${BPN} \
+    --sysconfdir=${sysconfdir}/${BPN} \
+    --libexecdir=${libdir}/${BPN}/modules \
+    ap_cv_void_ptr_lt_long=no \
+    --enable-mpms-shared \
+    ac_cv_have_threadsafe_pollset=no"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+PACKAGECONFIG[selinux] = "--enable-selinux --enable-layout=Debian --prefix=${base_prefix}/,--disable-selinux,libselinux,libselinux"
+PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
+
+do_configure_prepend() {
+        sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libdir}/cgi-bin:g' ${S}/config.layout
+}
+
+do_install_append() {
+    install -d ${D}/${sysconfdir}/init.d
+    cat ${WORKDIR}/init | \
+        sed -e 's,/usr/sbin/,${sbindir}/,g' \
+            -e 's,/usr/bin/,${bindir}/,g' \
+            -e 's,/usr/lib,${libdir}/,g' \
+            -e 's,/etc/,${sysconfdir}/,g' \
+            -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN}
+    chmod 755 ${D}/${sysconfdir}/init.d/${BPN}
+    # remove the goofy original files...
+    rm -rf ${D}/${sysconfdir}/${BPN}/original
+    # Expat should be found in the staging area via DEPENDS...
+    rm -f ${D}/${libdir}/libexpat.*
+
+    install -d ${D}${sysconfdir}/${BPN}/conf.d
+    install -d ${D}${sysconfdir}/${BPN}/modules.d
+
+    # Ensure configuration file pulls in conf.d and modules.d
+    printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+    printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+    printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+    # match with that is in init script
+    printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+    # Set 'ServerName' to fix error messages when restart apache service
+    sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/tmpfiles.d/
+        install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
+    elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/default/volatiles
+        install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2
+    fi
+
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system
+    sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service
+    sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service
+
+    chown -R root:root ${D}
+}
+
+do_install_append_class-target() {
+    sed -i -e 's,${STAGING_DIR_HOST},,g' \
+           -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
+           -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk
+
+    sed -i -e 's,${STAGING_DIR_HOST},,g' \
+           -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
+    rm -rf ${D}${localstatedir}/run
+}
+
+SYSROOT_PREPROCESS_FUNCS += "apache_sysroot_preprocess"
+
+apache_sysroot_preprocess () {
+    install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+    install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+    install -d ${SYSROOT_DESTDIR}${sbindir}/
+    install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir}/
+    sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
+    sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
+
+    sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+    sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+    sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+    sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+    sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+    sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+    sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+}
+
+#
+# implications - used by update-rc.d scripts
+#
+INITSCRIPT_NAME = "apache2"
+INITSCRIPT_PARAMS = "defaults 91 20"
+LEAD_SONAME = "libapr-1.so.0"
+
+PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
+
+CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \
+                   ${sysconfdir}/${BPN}/magic \
+                   ${sysconfdir}/${BPN}/mime.types \
+                   ${sysconfdir}/init.d/${BPN} "
+
+# we override here rather than append so that .so links are
+# included in the runtime package rather than here (-dev)
+# and to get build, icons, error into the -dev package
+FILES_${PN}-dev = "${datadir}/${BPN}/build \
+                   ${datadir}/${BPN}/icons \
+                   ${datadir}/${BPN}/error \
+                   ${bindir}/apr-config ${bindir}/apu-config \
+                   ${libdir}/apr*.exp \
+                   ${includedir}/${BPN} \
+                   ${libdir}/*.la \
+                   ${libdir}/*.a \
+                   ${bindir}/apxs \
+                "
+
+
+# manual to manual
+FILES_${PN}-doc += " ${datadir}/${BPN}/manual"
+
+FILES_${PN}-scripts += "${bindir}/dbmmanage"
+
+#
+# override this too - here is the default, less datadir
+#
+FILES_${PN} =  "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* ${sysconfdir} \
+                ${sharedstatedir} ${localstatedir} /bin /sbin /lib/*.so* \
+                ${libdir}/${BPN}"
+
+# we want htdocs and cgi-bin to go with the binary
+FILES_${PN} += "${datadir}/${BPN}/htdocs ${datadir}/${BPN}/cgi-bin"
+
+#make sure the lone .so links also get wrapped in the base package
+FILES_${PN} += "${libdir}/lib*.so ${libdir}/pkgconfig/*"
+
+FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
+
+RDEPENDS_${PN} += "openssl libgcc"
+RDEPENDS_${PN}-scripts += "perl ${PN}"
+RDEPENDS_${PN}-dev = "perl"
+
+FILES_${PN} += "${libdir}/cgi-bin"
+FILES_${PN} += "${datadir}/${BPN}/"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.3.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.3.bb
deleted file mode 100644
index 7b6ab26..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.3.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "Lightweight secure web server"
-HOMEPAGE = "http://www.hiawatha-webserver.org"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "libxml2 libxslt"
-
-SECTION = "net"
-
-SRC_URI = "http://hiawatha-webserver.org/files/${BP}.tar.gz \
-           file://hiawatha-init \
-           file://hiawatha.service "
-
-SRC_URI[md5sum] = "31567dfc18d435bd419be279f7970019"
-SRC_URI[sha256sum] = "99d185fb16bb1ab706724494d3cac86464f1485ed4b0fff09a192eca6da5ff8e"
-
-INITSCRIPT_NAME = "hiawatha"
-INITSCRIPT_PARAMS = "defaults 70"
-
-SYSTEMD_SERVICE_${PN} = "hiawatha.service"
-
-inherit cmake update-rc.d systemd
-
-EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \
-                  -DENABLE_CACHE=OFF \
-                  -DENABLE_DEBUG=OFF \
-                  -DENABLE_SSL=OFF \
-                  -DENABLE_TOOLKIT=OFF \
-                  -DENABLE_CHROOT=OFF \
-                  -DENABLE_XSLT=ON \
-                  -DENABLE_TOMAHAWK=OFF \
-                  -DCMAKE_INSTALL_MANDIR=${mandir} \
-                  -DCMAKE_INSTALL_BINDIR=${bindir} \
-                  -DCMAKE_INSTALL_SBINDIR=${sbindir} \
-                  -DCMAKE_INSTALL_SYSCONFDIR=${sysconfdir} \
-                  -DCMAKE_INSTALL_LIBDIR=${libdir} \
-                  -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=${localstatedir}"
-
-do_install_append() {
-    # Copy over init script and sed in the correct sbin path
-    sed -i 's,sed_sbin_path,${sbindir},' ${WORKDIR}/hiawatha-init
-    mkdir -p ${D}${sysconfdir}/init.d
-    install -m 0755 ${WORKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha
-
-    # configure php-fcgi to have a working configuration
-    # by default if php is installed
-    echo "Server = ${bindir}/php-cgi ; 2 ; 127.0.0.1:2005 ; nobody:nobody ; ${sysconfdir}/php/hiawatha-php5/php.ini" >> ${D}${sysconfdir}/hiawatha/php-fcgi.conf
-
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        install -d ${D}/${systemd_unitdir}/system
-        install -m 644 ${WORKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system
-    fi
-
-    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" "${D}${localstatedir}/run"
-}
-
-CONFFILES_${PN} = " \
-    ${sysconfdir}/hiawatha/cgi-wrapper.conf \
-    ${sysconfdir}/hiawatha/hiawatha.conf \
-    ${sysconfdir}/hiawatha/index.xslt \
-    ${sysconfdir}/hiawatha/mimetype.conf \
-    ${sysconfdir}/hiawatha/php-fcgi.conf \
-"
-
-FILES_${PN}-dev = "${libdir}/hiawatha/*${SOLIBSDEV}"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb
new file mode 100644
index 0000000..4c3ca55
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb
@@ -0,0 +1,64 @@
+SUMMARY = "Lightweight secure web server"
+HOMEPAGE = "http://www.hiawatha-webserver.org"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS = "libxml2 libxslt"
+
+SECTION = "net"
+
+SRC_URI = "http://hiawatha-webserver.org/files/${BP}.tar.gz \
+           file://hiawatha-init \
+           file://hiawatha.service "
+
+SRC_URI[md5sum] = "581aa71c831172ba06910deda717302f"
+SRC_URI[sha256sum] = "363e99d84a85dafbb74bcc30b3e30286053ec2abbc7afe08cd87193611735f74"
+
+INITSCRIPT_NAME = "hiawatha"
+INITSCRIPT_PARAMS = "defaults 70"
+
+SYSTEMD_SERVICE_${PN} = "hiawatha.service"
+
+inherit cmake update-rc.d systemd
+
+EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \
+                  -DENABLE_CACHE=OFF \
+                  -DENABLE_DEBUG=OFF \
+                  -DENABLE_SSL=OFF \
+                  -DENABLE_TOOLKIT=OFF \
+                  -DENABLE_CHROOT=OFF \
+                  -DENABLE_XSLT=ON \
+                  -DENABLE_TOMAHAWK=OFF \
+                  -DCMAKE_INSTALL_MANDIR=${mandir} \
+                  -DCMAKE_INSTALL_BINDIR=${bindir} \
+                  -DCMAKE_INSTALL_SBINDIR=${sbindir} \
+                  -DCMAKE_INSTALL_SYSCONFDIR=${sysconfdir} \
+                  -DCMAKE_INSTALL_LIBDIR=${libdir} \
+                  -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=${localstatedir}"
+
+do_install_append() {
+    # Copy over init script and sed in the correct sbin path
+    sed -i 's,sed_sbin_path,${sbindir},' ${WORKDIR}/hiawatha-init
+    mkdir -p ${D}${sysconfdir}/init.d
+    install -m 0755 ${WORKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha
+
+    # configure php-fcgi to have a working configuration
+    # by default if php is installed
+    echo "Server = ${bindir}/php-cgi ; 2 ; 127.0.0.1:2005 ; nobody:nobody ; ${sysconfdir}/php/hiawatha-php5/php.ini" >> ${D}${sysconfdir}/hiawatha/php-fcgi.conf
+
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+        install -d ${D}/${systemd_unitdir}/system
+        install -m 644 ${WORKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system
+    fi
+
+    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" "${D}${localstatedir}/run"
+}
+
+CONFFILES_${PN} = " \
+    ${sysconfdir}/hiawatha/cgi-wrapper.conf \
+    ${sysconfdir}/hiawatha/hiawatha.conf \
+    ${sysconfdir}/hiawatha/index.xslt \
+    ${sysconfdir}/hiawatha/mimetype.conf \
+    ${sysconfdir}/hiawatha/php-fcgi.conf \
+"
+
+FILES_${PN}-dev = "${libdir}/hiawatha/*${SOLIBSDEV}"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb
index 97dc276..559d251 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb
@@ -17,6 +17,9 @@
 SRC_URI[md5sum] = "9699e4c9ea6ce6b989907c252ae80254"
 SRC_URI[sha256sum] = "7c3d845306aa74ee6effd7ab6169d16ac4e6450e564954d0d0baa2d1e9be1a22"
 
+UPSTREAM_CHECK_URI = "https://github.com/monkey/monkey/releases"
+UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+).tar.gz"
+
 EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \
                 --logdir=${localstatedir}/log/monkey/ \
                 --pidfile=${localstatedir}/run/monkey.pid \
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch
new file mode 100644
index 0000000..ffd5ee3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch
@@ -0,0 +1,80 @@
+From be9970aa16c5142ef814531d74a07990a8e9eb14 Mon Sep 17 00:00:00 2001
+From: Derek Straka <derek@asterius.io>
+Date: Fri, 1 Dec 2017 10:32:29 -0500
+Subject: [PATCH] Allow the overriding of the endianness via the configure flag
+ --with-endian
+
+The existing configure options contain the --with-endian; however, the command
+line flag does not actually function.  It does not set the endianness and it
+appears to do nothing.
+
+Upstream-Status: Pending
+
+Signed-off-by: Derek Straka <derek@asterius.io>
+
+diff --git a/auto/endianness b/auto/endianness
+index 1b552b6..be84487 100644
+--- a/auto/endianness
++++ b/auto/endianness
+@@ -13,7 +13,13 @@ checking for system byte ordering
+ END
+ 
+ 
+-cat << END > $NGX_AUTOTEST.c
++if [ ".$NGX_WITH_ENDIAN" = ".little" ]; then
++    echo " little endian"
++    have=NGX_HAVE_LITTLE_ENDIAN . auto/have
++elif [ ".$NGX_WITH_ENDIAN" = ".big" ]; then
++    echo " big endian"
++else
++    cat << END > $NGX_AUTOTEST.c
+ 
+ int main(void) {
+     int i = 0x11223344;
+@@ -26,25 +32,26 @@ int main(void) {
+ 
+ END
+ 
+-ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
+-          -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
++    ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
++              -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
+ 
+-eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
++    eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
+ 
+-if [ -x $NGX_AUTOTEST ]; then
+-    if $NGX_AUTOTEST >/dev/null 2>&1; then
+-        echo " little endian"
+-        have=NGX_HAVE_LITTLE_ENDIAN . auto/have
+-    else
+-        echo " big endian"
+-    fi
++    if [ -x $NGX_AUTOTEST ]; then
++        if $NGX_AUTOTEST >/dev/null 2>&1; then
++            echo " little endian"
++            have=NGX_HAVE_LITTLE_ENDIAN . auto/have
++        else
++            echo " big endian"
++        fi
+ 
+-    rm -rf $NGX_AUTOTEST*
++        rm -rf $NGX_AUTOTEST*
+ 
+-else
+-    rm -rf $NGX_AUTOTEST*
++    else
++        rm -rf $NGX_AUTOTEST*
+ 
+-    echo
+-    echo "$0: error: cannot detect system byte ordering"
+-    exit 1
++        echo
++        echo "$0: error: cannot detect system byte ordering"
++        exit 1
++    fi
+ fi
+-- 
+2.7.4
+
+
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-cross.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-cross.patch
index 5e96644..0a18bcd 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-cross.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx-cross.patch
@@ -3,10 +3,11 @@
 Upstream-Status: Pending
 
 
-diff -uraN nginx-1.0.11.orig/auto/feature nginx-1.0.11/auto/feature
---- nginx-1.0.11.orig/auto/feature	2011-05-11 06:50:19.000000000 -0500
-+++ nginx-1.0.11/auto/feature	2011-12-27 13:56:42.323370040 -0600
-@@ -49,12 +49,20 @@
+Index: nginx-1.12.2/auto/feature
+===================================================================
+--- nginx-1.12.2.orig/auto/feature
++++ nginx-1.12.2/auto/feature
+@@ -49,12 +49,20 @@ eval "/bin/sh -c \"$ngx_test\" >> $NGX_A
  
  if [ -x $NGX_AUTOTEST ]; then
  
@@ -29,7 +30,7 @@
                  ngx_found=yes
  
                  if test -n "$ngx_feature_name"; then
-@@ -68,17 +75,27 @@
+@@ -68,17 +76,27 @@ if [ -x $NGX_AUTOTEST ]; then
  
          value)
              # /bin/sh is used to intercept "Killed" or "Abort trap" messages
@@ -61,7 +62,7 @@
              else
                  echo " found but is not working"
              fi
-@@ -86,7 +105,7 @@
+@@ -86,7 +104,7 @@ END
  
          bug)
              # /bin/sh is used to intercept "Killed" or "Abort trap" messages
@@ -70,10 +71,11 @@
                  echo " not found"
  
              else
-diff -uraN nginx-1.0.11.orig/auto/options nginx-1.0.11/auto/options
---- nginx-1.0.11.orig/auto/options	2011-12-14 07:34:16.000000000 -0600
-+++ nginx-1.0.11/auto/options	2011-12-27 13:56:42.323370040 -0600
-@@ -353,6 +353,18 @@
+Index: nginx-1.12.2/auto/options
+===================================================================
+--- nginx-1.12.2.orig/auto/options
++++ nginx-1.12.2/auto/options
+@@ -386,6 +386,18 @@ $0: warning: the \"--with-sha1-asm\" opt
          --test-build-epoll)              NGX_TEST_BUILD_EPOLL=YES   ;;
          --test-build-solaris-sendfilev)  NGX_TEST_BUILD_SOLARIS_SENDFILEV=YES ;;
  
@@ -92,7 +94,7 @@
          *)
              echo "$0: error: invalid option \"$option\""
              exit 1
-@@ -533,6 +445,17 @@
+@@ -568,6 +580,17 @@ cat << END
  
    --with-debug                       enable debug logging
  
@@ -110,7 +112,7 @@
  END
  
      exit 1
-@@ -554,6 +577,8 @@
+@@ -576,6 +599,8 @@ fi
  
  if [ ".$NGX_PLATFORM" = ".win32" ]; then
      NGX_WINE=$WINE
@@ -119,10 +121,11 @@
  fi
  
  
-diff -uraN nginx-1.0.11.orig/auto/types/sizeof nginx-1.0.11/auto/types/sizeof
---- nginx-1.0.11.orig/auto/types/sizeof	2006-06-28 11:00:26.000000000 -0500
-+++ nginx-1.0.11/auto/types/sizeof	2011-12-27 13:56:42.323370040 -0600
-@@ -12,9 +12,12 @@
+Index: nginx-1.12.2/auto/types/sizeof
+===================================================================
+--- nginx-1.12.2.orig/auto/types/sizeof
++++ nginx-1.12.2/auto/types/sizeof
+@@ -12,9 +12,12 @@ checking for $ngx_type size
  
  END
  
@@ -137,7 +140,7 @@
  
  #include <sys/types.h>
  #include <sys/time.h>
-@@ -33,15 +36,16 @@
+@@ -33,15 +36,16 @@ int main(void) {
  END
  
  
@@ -160,10 +163,11 @@
  fi
  
  
-diff -uraN nginx-1.0.11.orig/auto/unix nginx-1.0.11/auto/unix
---- nginx-1.0.11.orig/auto/unix	2011-12-14 07:34:16.000000000 -0600
-+++ nginx-1.0.11/auto/unix	2011-12-27 13:56:42.327370060 -0600
-@@ -393,13 +393,13 @@
+Index: nginx-1.12.2/auto/unix
+===================================================================
+--- nginx-1.12.2.orig/auto/unix
++++ nginx-1.12.2/auto/unix
+@@ -587,13 +587,13 @@ ngx_feature_libs=
  
  # C types
  
@@ -181,8 +185,8 @@
  ngx_param=NGX_PTR_SIZE; ngx_value=$ngx_size; . auto/types/value
  
  
-@@ -416,7 +416,7 @@
- 
+@@ -604,7 +604,7 @@ NGX_INCLUDE_AUTO_CONFIG_H="#include \"ng
+ ngx_type="uint32_t"; ngx_types="u_int32_t"; . auto/types/typedef
  ngx_type="uint64_t"; ngx_types="u_int64_t"; . auto/types/typedef
  
 -ngx_type="sig_atomic_t"; ngx_types="int"; . auto/types/typedef
@@ -190,9 +194,9 @@
  . auto/types/sizeof
  ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value
  
-@@ -432,15 +432,15 @@
+@@ -620,15 +620,15 @@ ngx_type="rlim_t"; ngx_types="int"; . au
  
- . auto/endianess
+ . auto/endianness
  
 -ngx_type="size_t"; . auto/types/sizeof
 +ngx_type="size_t"; ngx_param="SIZE_T"; . auto/types/sizeof
@@ -208,4 +212,4 @@
 +ngx_type="time_t"; ngx_param="TIME_T"; . auto/types/sizeof
  ngx_param=NGX_TIME_T_SIZE; ngx_value=$ngx_size; . auto/types/value
  ngx_param=NGX_TIME_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
- 
+ ngx_param=NGX_MAX_TIME_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
index 4a97e26..e6ae52a 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
@@ -14,13 +14,14 @@
 SRC_URI = " \
     http://nginx.org/download/nginx-${PV}.tar.gz \
     file://nginx-cross.patch \
+    file://0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch \
     file://nginx.conf \
     file://nginx.init \
     file://nginx-volatile.conf \
     file://nginx.service \
 "
 
-inherit update-rc.d useradd systemd
+inherit siteinfo update-rc.d useradd systemd
 
 SYSTEMD_SERVICE_${PN} = "nginx.service"
 
@@ -50,7 +51,7 @@
 
     ./configure \
     --crossbuild=Linux:${TUNE_ARCH} \
-    --with-endian=${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
+    --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
     --with-int=4 \
     --with-long=${PTRSIZE} \
     --with-long-long=8 \
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.1.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.1.bb
deleted file mode 100644
index 7f0e3ad..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require nginx.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=903753de5f86a1ee0341fd2f9491b282"
-
-SRC_URI[md5sum] = "a307e74aca95403e5ee00f153807ce58"
-SRC_URI[sha256sum] = "8793bf426485a30f91021b6b945a9fd8a84d87d17b566562c3797aba8fac76fb"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.2.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.2.bb
new file mode 100644
index 0000000..85ad29b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.12.2.bb
@@ -0,0 +1,6 @@
+require nginx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=903753de5f86a1ee0341fd2f9491b282"
+
+SRC_URI[md5sum] = "4d2fc76211435f029271f1cf6d7eeae3"
+SRC_URI[sha256sum] = "305f379da1d5fb5aefa79e45c829852ca6983c7cd2a79328f8e084a324cf0416"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.5.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.5.bb
deleted file mode 100644
index 9f2c117..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require nginx.inc
-
-# 1.12.x branch is the current stable branch, the recommended default
-# 1.13.x is the current mainline branches containing all new features
-DEFAULT_PREFERENCE = "-1"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=903753de5f86a1ee0341fd2f9491b282"
-
-SRC_URI[md5sum] = "f193722159adfb1eb8117c0491fd17ec"
-SRC_URI[sha256sum] = "0e75b94429b3f745377aeba3aff97da77bf2b03fcb9ff15b3bad9b038db29f2e"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.9.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.9.bb
new file mode 100644
index 0000000..9234794
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.13.9.bb
@@ -0,0 +1,10 @@
+require nginx.inc
+
+# 1.12.x branch is the current stable branch, the recommended default
+# 1.13.x is the current mainline branches containing all new features
+DEFAULT_PREFERENCE = "-1"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3691402cc54ce09f800ca348634a2dfe"
+
+SRC_URI[md5sum] = "dcd482dd98d2022659212f183e8fe81b"
+SRC_URI[sha256sum] = "5faea18857516fe68d30be39c3032bd22ed9cf85e1a6fdf32e3721d96ff7fa42"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
index c9fe55b..37bd753 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
@@ -14,6 +14,9 @@
 SRC_URI[md5sum] = "3cda1b6c8c8542b1510eadb8e540d8b6"
 SRC_URI[sha256sum] = "a1ee2806432eaf5b5dd267a0523701f9f1fa00fefd499d5bec42165a41e05846"
 
+UPSTREAM_CHECK_URI = "https://github.com/blueness/sthttpd/releases/"
+UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+).tar.gz"
+
 S = "${WORKDIR}/sthttpd-${PV}"
 
 inherit autotools update-rc.d systemd
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.6.bb b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.6.bb
deleted file mode 100644
index 672db58..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.6.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Web-based MySQL administration interface"
-HOMEPAGE = "http://www.phpmyadmin.net"
-# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT
-LICENSE = "GPLv2 & LGPLv3 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c \
-                    file://js/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \
-"
-
-SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
-           file://apache.conf \
-"
-
-SRC_URI[md5sum] = "a9aec05d44c68b4ac5e4987118d70cd7"
-SRC_URI[sha256sum] = "5fab6b92336386646bbb189d55817799487b5c27b06cab0cdfdcab3c88f5988f"
-
-S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages"
-
-inherit allarch
-
-do_install() {
-    install -d ${D}${datadir}/${BPN}
-    cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN}
-    chown -R root:root ${D}${datadir}/${BPN}
-    # Don't install patches to target
-    rm -rf ${D}${datadir}/${BPN}/patches
-
-    install -d ${D}${sysconfdir}/apache2/conf.d
-    install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
-
-    # Remove a few scripts that explicitly require bash (!)
-    rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh
-}
-
-FILES_${PN} = "${datadir}/${BPN} \
-               ${sysconfdir}/apache2/conf.d"
-
-RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.9.bb b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.9.bb
new file mode 100644
index 0000000..071572d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.9.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Web-based MySQL administration interface"
+HOMEPAGE = "http://www.phpmyadmin.net"
+# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT
+LICENSE = "GPLv2 & LGPLv3 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c \
+                    file://js/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \
+"
+
+SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
+           file://apache.conf \
+"
+
+SRC_URI[md5sum] = "0a862e3fa52c8b9078e0441ee82be831"
+SRC_URI[sha256sum] = "f19b503f0afb0dd3389d4bb11dab3f438d36e85eef11a5c400c592fd5f539398"
+
+UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/"
+UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P<pver>\d+(\.\d+)+)-all-languages.tar.xz"
+
+S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages"
+
+inherit allarch
+
+do_install() {
+    install -d ${D}${datadir}/${BPN}
+    cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN}
+    chown -R root:root ${D}${datadir}/${BPN}
+    # Don't install patches to target
+    rm -rf ${D}${datadir}/${BPN}/patches
+
+    install -d ${D}${sysconfdir}/apache2/conf.d
+    install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
+
+    # Remove a few scripts that explicitly require bash (!)
+    rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh
+}
+
+FILES_${PN} = "${datadir}/${BPN} \
+               ${sysconfdir}/apache2/conf.d"
+
+RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb b/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb
deleted file mode 100644
index 7741378..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Debugging and profiling extension for PHP"
-LICENSE = "Xdebug"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34df3a274aa12b795417c65634c07f16"
-
-DEPENDS = "php"
-
-SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
-
-SRC_URI[md5sum] = "6167b1e104f1108d77f08eb561a12b22"
-SRC_URI[sha256sum] = "7fda9020fd5a2c549ae5a692fcabbb00f74e39dda81d53d25e622bdab4880ec2"
-
-inherit autotools
-
-EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config"
-
-do_configure() {
-    cd ${S}
-    ${STAGING_BINDIR_CROSS}/phpize
-    cd ${B}
-
-    # Running autoreconf as autotools_do_configure would do here
-    # breaks the libtool configuration resulting in a failure later
-    # in do_compile. It's possible this may be fixable, however the
-    # easiest course of action for the moment is to avoid doing that.
-    oe_runconf
-}
-
-do_install() {
-    oe_runmake install INSTALL_ROOT=${D}
-}
-
-FILES_${PN} += "${libdir}/php*/extensions/*/*.so"
-FILES_${PN}-dbg += "${libdir}/php*/extensions/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.0.bb b/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.0.bb
new file mode 100644
index 0000000..6516988
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.6.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Debugging and profiling extension for PHP"
+LICENSE = "Xdebug"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34df3a274aa12b795417c65634c07f16"
+
+DEPENDS = "php re2c-native"
+
+SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
+
+SRC_URI[md5sum] = "ed3545852e6f4a00fb8730362d0431ee"
+SRC_URI[sha256sum] = "b5264cc03bf68fcbb04b97229f96dca505d7b87ec2fb3bd4249896783d29cbdc"
+
+inherit autotools
+
+EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config"
+
+do_configure() {
+    cd ${S}
+    ${STAGING_BINDIR_CROSS}/phpize
+    cd ${B}
+
+    # Running autoreconf as autotools_do_configure would do here
+    # breaks the libtool configuration resulting in a failure later
+    # in do_compile. It's possible this may be fixable, however the
+    # easiest course of action for the moment is to avoid doing that.
+    oe_runconf
+}
+
+do_install() {
+    oe_runmake install INSTALL_ROOT=${D}
+}
+
+FILES_${PN} += "${libdir}/php*/extensions/*/*.so"
+FILES_${PN}-dbg += "${libdir}/php*/extensions/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
index 9a3a4a5..6a0d75e 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
@@ -11,17 +11,17 @@
  1 file changed, 1 deletion(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index 3ccf82f8..a852e529 100644
+index 2ea9e40..acb1bd8 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -52,7 +52,6 @@ SUBDIRS = \
+@@ -56,7 +56,6 @@ SUBDIRS = \
  	src \
  	system \
  	web \
 -	contrib \
+ 	tests \
  	$(NULL)
  
- dist_noinst_DATA= \
 -- 
 2.13.2
 
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
index 1003662..b0f1602 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
@@ -1,15 +1,15 @@
 HOMEPAGE = "https://github.com/firehol/netdata/"
 SUMMARY = "Real-time performance monitoring"
 LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a4a3b650ea3f74269cdfd45a3550e219 \
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=95b49e9ea979a337578f13c2a3ab9535 \
                     file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
                    "
 
 SRC_URI = "git://github.com/firehol/netdata.git;protocol=https \
            file://0001-makefile-Do-not-build-contrib-dir.patch \
 "
-SRCREV = "f5fa346a188e906a8f2cce3c2cf32a88ce81c666"
-PV = "1.6.0+git${SRCPV}"
+SRCREV = "89ed309252981ddd50f697fde4fe93019cb3e652"
+PV = "1.8.0+git${SRCPV}"
 
 # patch to disable timeout because timeout are not available with actual version
 # of core-utils
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch
index 1ca1480..9aad894 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch
@@ -7,11 +7,11 @@
 
 Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
 
-diff --git a/webmin/webmin-lib.pl b/webmin/webmin-lib.pl
-index 57a37f7..838b944 100755
---- a/webmin/webmin-lib.pl
-+++ b/webmin/webmin-lib.pl
-@@ -1086,28 +1086,28 @@
+Index: webmin-1.850/webmin/webmin-lib.pl
+===================================================================
+--- webmin-1.850.orig/webmin/webmin-lib.pl
++++ webmin-1.850/webmin/webmin-lib.pl
+@@ -1112,28 +1112,28 @@ my %miniserv;
  &load_theme_library();	# So that UI functions work
  
  # Need OS upgrade
@@ -62,4 +62,3 @@
  
  # Password close to expiry
  my $warn_days = $config{'warn_days'};
-
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch
index 177d8a3..d5dfed5 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch
@@ -14,11 +14,11 @@
  exports/exports-lib.pl |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/exports/exports-lib.pl b/exports/exports-lib.pl
-index 22891c0..1c67494 100755
---- a/exports/exports-lib.pl
-+++ b/exports/exports-lib.pl
-@@ -273,7 +273,7 @@ return !&has_command("rpc.nfsd") && !&has_command("nfsd") &&
+Index: webmin-1.850/exports/exports-lib.pl
+===================================================================
+--- webmin-1.850.orig/exports/exports-lib.pl
++++ webmin-1.850/exports/exports-lib.pl
+@@ -301,7 +301,7 @@ return !&has_command("rpc.nfsd") && !&ha
  sub restart_mountd
  {
  # Try exportfs -r first
@@ -27,6 +27,3 @@
  	my $out = &backquote_logged("$config{'apply_cmd'} 2>&1 </dev/null");
  	if (!$? && $out !~ /invalid|error|failed/i) {
  		# Looks like it worked!
--- 
-1.7.9.5
-
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch
index 5563227..4212917 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch
@@ -11,11 +11,11 @@
  init/init-lib.pl |  5 +++--
  2 files changed, 17 insertions(+), 15 deletions(-)
 
-diff --git a/init/index.cgi b/init/index.cgi
-index d48b793..30dafd4 100755
---- a/init/index.cgi
-+++ b/init/index.cgi
-@@ -45,19 +45,20 @@ elsif ($init_mode eq "init" && $access{'bootup'}) {
+Index: webmin-1.850/init/index.cgi
+===================================================================
+--- webmin-1.850.orig/init/index.cgi
++++ webmin-1.850/init/index.cgi
+@@ -45,19 +45,20 @@ elsif ($init_mode eq "init" && $access{'
  					     : "$config{'init_dir'}/$ac[0]");
  		}
  	@runlevels = &list_runlevels();
@@ -49,11 +49,11 @@
  
  	# For each action, look at /etc/rc*.d/* files to see if it is 
  	# started at boot
-diff --git a/init/init-lib.pl b/init/init-lib.pl
-index ead21ed..b41794b 100755
---- a/init/init-lib.pl
-+++ b/init/init-lib.pl
-@@ -119,8 +119,9 @@ List boot time action names from init.d, such as httpd and cron.
+Index: webmin-1.850/init/init-lib.pl
+===================================================================
+--- webmin-1.850.orig/init/init-lib.pl
++++ webmin-1.850/init/init-lib.pl
+@@ -124,8 +124,9 @@ List boot time action names from init.d,
  =cut
  sub list_actions
  {
@@ -64,7 +64,7 @@
  opendir(DIR, $dir);
  foreach $f (sort { lc($a) cmp lc($b) } readdir(DIR)) {
  	if ($f eq "." || $f eq ".." || $f =~ /\.bak$/ || $f eq "functions" ||
-@@ -128,7 +129,7 @@ foreach $f (sort { lc($a) cmp lc($b) } readdir(DIR)) {
+@@ -133,7 +134,7 @@ foreach $f (sort { lc($a) cmp lc($b) } r
  	    -d "$dir/$f" || $f =~ /\.swp$/ || $f eq "skeleton" ||
  	    $f =~ /\.lock$/ || $f =~ /\.dpkg-(old|dist)$/ ||
  	    $f =~ /^\.depend\./ || $f eq '.legacy-bootordering' ||
@@ -73,6 +73,3 @@
  	if (@stbuf = stat("$dir/$f")) {
  		push(@rv, "$f $stbuf[1]");
  		}
---
-2.0.0
-
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch
index 7d20aff..5549392 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch
@@ -3,9 +3,11 @@
 # Upstream-status: Not appropriate [config]
 #
 # Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---- webmin-1.570.orig/net/module.info
-+++ webmin-1.570/net/module.info
-@@ -11,7 +11,7 @@ desc_ko_KR.UTF-8=네트워크 구성
+Index: webmin-1.850/net/module.info
+===================================================================
+--- webmin-1.850.orig/net/module.info
++++ webmin-1.850/net/module.info
+@@ -14,7 +14,7 @@ desc_ko_KR.UTF-8=네트워크 구성
  name=Networking
  desc_tr=Að Yapýlandýrmasý
  desc_de=Netzwerkkonfiguration
@@ -14,8 +16,10 @@
  desc_sk=Konfigurácia siete
  desc_zh_CN=ÍøÂçÅäÖÃ
  risk=low medium high
+Index: webmin-1.850/net/generic-linux-lib.pl
+===================================================================
 --- /dev/null
-+++ webmin-1.570/net/generic-linux-lib.pl
++++ webmin-1.850/net/generic-linux-lib.pl
 @@ -0,0 +1,2 @@
 +do 'linux-lib.pl';
 +
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/nfs-export.patch b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/nfs-export.patch
index c17e3b2..426d637 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/nfs-export.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/files/nfs-export.patch
@@ -12,11 +12,11 @@
 
 Signed-off-by: Yu Ke <ke.yu@intel.com>
 
-diff --git a/exports/save_export.cgi b/exports/save_export.cgi
-index 3bc2f97..3e60298 100755
---- a/exports/save_export.cgi
-+++ b/exports/save_export.cgi
-@@ -40,7 +40,7 @@ else {
+Index: webmin-1.850/exports/save_export.cgi
+===================================================================
+--- webmin-1.850.orig/exports/save_export.cgi
++++ webmin-1.850/exports/save_export.cgi
+@@ -50,7 +50,7 @@ else {
  			&error(&text('save_enetmask', $in{'netmask'}));
  		$exp{'host'} = $in{'network'}."/".$in{'netmask'};
  		}
@@ -25,9 +25,9 @@
  	else {
  		$in{'host'} =~ /\*/ || &to_ipaddress($in{'host'}) ||
  			&error(&text('save_ehost', $in{'host'}));
-@@ -70,6 +70,11 @@ else {
- 
- 	delete($opts{'no_subtree_check'}); delete($opts{'subtree_check'});
+@@ -87,6 +87,11 @@ else {
+ 	delete($opts{'no_subtree_check'});
+ 	delete($opts{'subtree_check'});
  	$opts{'no_subtree_check'} = "" if ($in{'no_subtree_check'});
 +	if ($in{'no_subtree_check'}) {
 +		$opts{'no_subtree_check'} = "";
@@ -35,5 +35,5 @@
 +		$opts{'subtree_check'} = "";
 +	}
  
- 	delete($opts{'nohide'}); delete($opts{'hide'});
- 	$opts{'nohide'} = "" if ($in{'nohide'});
+ 	delete($opts{'nohide'});
+ 	delete($opts{'hide'});
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
index ae88eb6..ce9bc92 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
@@ -24,6 +24,9 @@
 SRC_URI[md5sum] = "cd6ee98f73f9418562197675b952d81b"
 SRC_URI[sha256sum] = "c66caa9e4cb50d5447bc8aceb7989d2284dde060278f404b13e171c7ce1690e1"
 
+UPSTREAM_CHECK_URI = "http://www.webmin.com/download.html"
+UPSTREAM_CHECK_REGEX = "webmin-(?P<pver>\d+(\.\d+)+).tar.gz"
+
 inherit perlnative update-rc.d systemd
 
 do_configure() {
diff --git a/import-layers/meta-openembedded/meta-xfce/README b/import-layers/meta-openembedded/meta-xfce/README
index 3367797..7431e8b 100644
--- a/import-layers/meta-openembedded/meta-xfce/README
+++ b/import-layers/meta-openembedded/meta-xfce/README
@@ -1,11 +1,11 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: rocko
+branch: master
 revision: HEAD
 
 URI: git://github.com/openembedded/meta-oe.git
-branch: rocko
+branch: master
 revision: HEAD
 meta-xfce depends on meta-oe, meta-gnome and meta-multimedia in this repository.
 
@@ -14,10 +14,9 @@
 
 BBMASK = "meta-xfce/recipes-multimedia"
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce][rocko]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce]' in the subject'
 
 When sending single patches, please using something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-xfce][rocko][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-xfce][PATCH'
 
-rocko Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
+Layer maintainer: Andreas Müller <schnitzeltony@googlemail.com>
diff --git a/import-layers/meta-openembedded/meta-xfce/conf/layer.conf b/import-layers/meta-openembedded/meta-xfce/conf/layer.conf
index ad25dcb..bee8e70 100644
--- a/import-layers/meta-openembedded/meta-xfce/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-xfce/conf/layer.conf
@@ -18,6 +18,8 @@
 LAYERDEPENDS_xfce-layer += "multimedia-layer"
 LAYERDEPENDS_xfce-layer += "meta-python"
 
+LAYERSERIES_COMPAT_xfce-layer = "sumo"
+
 SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
   xfce4-session->machine-host \
 "
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0001-add_launcher-Exit-early-if-no-row-is-selected.patch b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0001-add_launcher-Exit-early-if-no-row-is-selected.patch
deleted file mode 100644
index fb2dfc9..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0001-add_launcher-Exit-early-if-no-row-is-selected.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 1060e7ac8a63b93d56006718f0e9b1d9382b2226 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Mon, 31 Oct 2016 08:33:16 +0100
-Subject: [PATCH] add_launcher: Exit early if no row is selected
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Stolen from [1]
-
-[1] http://pkgs.fedoraproject.org/cgit/rpms/menulibre.git/tree/menulibre-add-launcher-none-check.patch
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- menulibre/MenulibreApplication.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/menulibre/MenulibreApplication.py b/menulibre/MenulibreApplication.py
-index e234800..ac73b03 100644
---- a/menulibre/MenulibreApplication.py
-+++ b/menulibre/MenulibreApplication.py
-@@ -1418,6 +1418,10 @@ class MenulibreWindow(Gtk.ApplicationWindow):
-         model, parent_data = self.treeview.get_parent_row_data()
-         model, row_data = self.treeview.get_selected_row_data()
- 
-+        # Exit early if no row is selected
-+        if not row_data:
-+            return
-+
-         # Currently selected item is a directory, take its categories.
-         if row_data[2] == MenuItemTypes.DIRECTORY:
-             self.treeview.add_child(new_row_data)
--- 
-2.5.5
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0002-setup.py-avoid-usr-share-share-paths.patch b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0002-setup.py-avoid-usr-share-share-paths.patch
deleted file mode 100644
index b63d4dc..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0002-setup.py-avoid-usr-share-share-paths.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 99788b4557543c490493ce1b827538c49142c25d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Mon, 31 Oct 2016 09:08:51 +0100
-Subject: [PATCH] setup.py: avoid /usr/share/share paths
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- setup.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 5fc237d..c4fbf7c 100644
---- a/setup.py
-+++ b/setup.py
-@@ -143,7 +143,7 @@ class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
- 
-         if self.root:
-             target_data = os.path.relpath(self.install_data, self.root) + os.sep
--            target_pkgdata = os.path.join(target_data, 'share', 'menulibre', '')
-+            target_pkgdata = os.path.join(target_data, 'menulibre', '')
-             target_scripts = os.path.join(self.install_scripts, '')
- 
-             data_dir = os.path.join(self.prefix, 'share', 'menulibre', '')
-@@ -152,7 +152,7 @@ class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
-             # --user install
-             self.root = ''
-             target_data = os.path.relpath(self.install_data) + os.sep
--            target_pkgdata = os.path.join(target_data, 'share', 'menulibre', '')
-+            target_pkgdata = os.path.join(target_data, 'menulibre', '')
-             target_scripts = os.path.join(self.install_scripts, '')
- 
-             # Use absolute paths
--- 
-2.5.5
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0003-MenulibreXdg.py-fix-loading-of-desktop-files.patch b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0003-MenulibreXdg.py-fix-loading-of-desktop-files.patch
deleted file mode 100644
index 1e92088..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/files/0003-MenulibreXdg.py-fix-loading-of-desktop-files.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 90098d835b62b38ac396d55b80a684770dbaacde Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Mon, 31 Oct 2016 15:50:52 +0100
-Subject: [PATCH] MenulibreXdg.py: fix loading of desktop files
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-fixes:
-| UnicodeDecodeError: 'ascii' codec can't decode byet 0xd9 in position 235: ordinal not in range(128)
-
-and information display not properly filled.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- menulibre/MenulibreXdg.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/menulibre/MenulibreXdg.py b/menulibre/MenulibreXdg.py
-index e04c5e6..14b2593 100644
---- a/menulibre/MenulibreXdg.py
-+++ b/menulibre/MenulibreXdg.py
-@@ -74,7 +74,7 @@ class MenulibreDesktopEntry:
- 
-     def load_properties(self, filename):
-         """Load the properties."""
--        input_file = open(filename)
-+        input_file = open(filename, 'rt', encoding='utf-8')
-         self.load_properties_from_text(input_file.read())
-         input_file.close()
- 
--- 
-2.5.5
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.1.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.1.3.bb
deleted file mode 100644
index 69e52fe..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.1.3.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "An advanced menu editor"
-HOMEPAGE = "https://launchpad.net/menulibre"
-SECTION = "x11/graphics"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "python3-distutils-extra-native intltool-native"
-
-inherit distutils3 gtk-icon-cache
-
-SRC_URI = " \
-    https://launchpad.net/menulibre/2.1/${PV}/+download/${PN}-${PV}.tar.gz \
-    file://0001-add_launcher-Exit-early-if-no-row-is-selected.patch \
-    file://0002-setup.py-avoid-usr-share-share-paths.patch \
-    file://0003-MenulibreXdg.py-fix-loading-of-desktop-files.patch \
-"
-SRC_URI[md5sum] = "19d9d3337322eb5513454bb8cdfb739b"
-SRC_URI[sha256sum] = "bdd69740119902f1b1f8c7831155f4428403792a0a6c4287bcbb395c4e71fb31"
-
-do_install_append() {
-    sed -i 's:${D}::g' ${D}${datadir}/applications/menulibre.desktop
-}
-
-FILES_${PN} += " \
-    ${datadir}/applications \
-    ${datadir}/menulibre \
-    ${datadir}/icons \
-"
-
-RDEPENDS_${PN} += " \
-    gtk+3 \
-    python3-pygobject \
-    gnome-menus3 \
-    python3-unixadmin \
-    python3-psutil \
-"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.1.5.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.1.5.bb
new file mode 100644
index 0000000..d1f3471
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.1.5.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "An advanced menu editor"
+HOMEPAGE = "https://launchpad.net/menulibre"
+SECTION = "x11/graphics"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = " \
+    python3-distutils-extra-native \
+    intltool-native \
+"
+
+inherit distutils3 gtk-icon-cache distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://launchpad.net/menulibre/2.1/${PV}/+download/${PN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "efc7edb49bb0e5fea49e158b40573334"
+SRC_URI[sha256sum] = "ef05b2722bab2acb7070d6c8ed0e7bd58bd4a4540bf498af9e889944f9da08b5"
+
+do_compile() {
+}
+
+do_install_append() {
+    sed -i 's:${D}::g' ${D}${datadir}/applications/menulibre.desktop
+    sed -i 's:share/share:share:g' ${D}${PYTHON_SITEPACKAGES_DIR}/menulibre_lib/menulibreconfig.py
+}
+
+FILES_${PN} += " \
+    ${datadir}/applications \
+    ${datadir}/menulibre \
+    ${datadir}/icons \
+"
+
+RDEPENDS_${PN} += " \
+    gtk+3 \
+    gtksourceview3 \
+    python3-pygobject \
+    gnome-menus3 \
+    python3-unixadmin \
+    python3-psutil \
+"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
index e275af0..a27c8f5 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
@@ -12,7 +12,9 @@
 PV = "0.5.3"
 S = "${WORKDIR}/git"
 
-inherit xfce-git gettext pkgconfig autotools gtk-icon-cache
+inherit xfce-git gettext pkgconfig autotools gtk-icon-cache distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 # install tap files for thunar-archive-plugin in ${libdir}/thunar-archive-plugin
 EXTRA_OECONF += "--libexecdir=${libdir}"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/files/0001-fix-Name-Comment-fields.patch b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/files/0001-fix-Name-Comment-fields.patch
new file mode 100644
index 0000000..e872249
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/files/0001-fix-Name-Comment-fields.patch
@@ -0,0 +1,34 @@
+From fb1f83c04dd5262897b09e60fa8b39090d0d4619 Mon Sep 17 00:00:00 2001
+From: Rex Dieter <rdieter@math.unl.edu>
+Date: Thu, 12 Nov 2015 13:53:03 -0600
+Subject: [PATCH] fix Name/Comment fields
+
+Validate as a valid .desktop file per
+http://standards.freedesktop.org/desktop-entry-spec/latest/
+
+See also issue #2
+
+Upstream-Status: Applied [1]
+
+[1] https://github.com/ncopa/xfce-polkit/commit/fb1f83c04dd5262897b09e60fa8b39090d0d4619
+---
+ xfce-polkit.desktop.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/xfce-polkit.desktop.in b/xfce-polkit.desktop.in
+index 8575896..dd9f09c 100644
+--- a/xfce-polkit.desktop.in
++++ b/xfce-polkit.desktop.in
+@@ -1,7 +1,7 @@
+ [Desktop Entry]
+ Type=Application
+-_Name=XFCE PolKit
+-_Comment=Policykit Authentication Agent
++Name=XFCE PolKit
++Comment=Policykit Authentication Agent
+ Exec=@xfce_polkit_libexecdir@/xfce-polkit
+ Icon=gtk-dialog-authentication
+ NotShowIn=GNOME;KDE;
+-- 
+2.14.3
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb
index 1fb4a5b..54bf7c7 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb
@@ -6,6 +6,9 @@
 
 inherit xfce-app
 
-SRC_URI = "git://github.com/ncopa/${BPN}.git"
+SRC_URI = " \
+    git://github.com/ncopa/${BPN}.git \
+    file://0001-fix-Name-Comment-fields.patch \
+"
 SRCREV = "6ad1ee833c9e22e4dd72a8f7d54562d046965283"
 S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.6.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.6.bb
deleted file mode 100644
index ac2360a..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.6.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Easily themable notification daemon with transparency effects"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-notifyd"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "libxfce4util libxfce4ui xfconf gtk+ dbus dbus-glib libnotify \
-    dbus-glib-native \
-"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "19e602fa5e33afaf7563f069261ae1db"
-SRC_URI[sha256sum] = "f4ca7c0dadd3d4cdf8cd3c8ae60ccea77b8cf409f8517161796364eb1d766cf9"
-
-do_compile_prepend() {
-    mkdir -p xfce4-notifyd
-}
-
-FILES_${PN} += " \
-    ${systemd_user_unitdir} \
-    ${libdir}/xfce4/notifyd \
-    ${datadir}/themes \
-    ${datadir}/dbus-1 \
-"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.4.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.4.2.bb
new file mode 100644
index 0000000..15ec51b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.4.2.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Easily themable notification daemon with transparency effects"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-notifyd"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = " \
+    dbus \
+    dbus-glib \
+    dbus-glib-native \
+    libnotify \
+    libxfce4util \
+    libxfce4ui \
+    xfconf \
+    xfce4-panel \
+"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "ecb930ef6ae6e1f310a5afe5f638eff8"
+SRC_URI[sha256sum] = "f6f28af47fdfb41db84bd003f0d76f5f4abf2137d1e27e9d378f063bb8f82356"
+
+# Avoid trouble with other desktops e.g KDE which also ships dbus service named
+# org.freedesktop.Notifications
+EXTRA_OECONF = "--disable-dbus-start-daemon"
+
+do_compile_prepend() {
+    mkdir -p xfce4-notifyd xfce4-notifyd-config
+}
+
+FILES_${PN} += " \
+    ${systemd_user_unitdir} \
+    ${datadir}/xfce4 \
+    ${datadir}/themes \
+    ${datadir}/dbus-1 \
+    ${libdir}/xfce4 \
+"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.6.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.6.bb
deleted file mode 100644
index f42edb6..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.6.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Terminal emulator for the Xfce desktop environment"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui"
-
-inherit xfce-app
-
-FILES_${PN} += "${datadir}/xfce4 \
-                ${datadir}/gnome-control-center"
-
-SRC_URI[md5sum] = "92f5a3366e30f5f8238d8250f730b6af"
-SRC_URI[sha256sum] = "bc2a560409a0f0b666d1c557e991748b986ec27572a45ae88b0ee5a480d881d7"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.3.bb
new file mode 100644
index 0000000..7630abc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.3.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Terminal emulator for the Xfce desktop environment"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui"
+
+inherit xfce-app
+
+FILES_${PN} += "${datadir}/xfce4 \
+                ${datadir}/gnome-control-center"
+
+SRC_URI[md5sum] = "f014d613438848b452f1f9eecbf7027d"
+SRC_URI[sha256sum] = "dafa155177934fc7dce2d4efb33402f74b1a593a17ff17d2187a6429f599dfd6"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb
index d0a0598..28f9cde 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb
@@ -3,13 +3,15 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
 DEPENDS = "libxfce4util garcon xfconf libxfce4ui xfce4-panel exo vala xfce4-dev-tools-native"
 
-inherit xfce
+inherit xfce pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "http://archive.xfce.org/src/bindings/${BPN}/${@xfce_verdir("${PV}")}/${BPN}-${PV}.tar.bz2"
 SRC_URI[md5sum] = "0bbb1d6e473e0fe9b335b7b1b49d8a71"
 SRC_URI[sha256sum] = "07a8f2b7c09fcdd3d86e0c52adea3c58ca011d0142a93997a01b4af77260ae7b"
 
-EXTRA_OECONF = "-with-vala-api=0.36"
+EXTRA_OECONF = "-with-vala-api=0.38"
 
 FILES_${PN} += "${datadir}/vala-*/vapi"
 
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch
deleted file mode 100644
index d77ce4d..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/0001-Rename-use-of-stdout-and-stderr.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 7ee62ef0083844ab2fffcd106e3ee2e5f29b2a91 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 12 Jul 2017 18:53:56 -0700
-Subject: [PATCH] Rename use of stdout and stderr
-
-Since it shadow the standard definitions especially
-seen on musl where libc defines these as macros they
-cause all short of compilation errors on musl, using
-a leading underscore makes it unique
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- imsettings-daemon/imsettings-proc.c | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/imsettings-daemon/imsettings-proc.c b/imsettings-daemon/imsettings-proc.c
-index 915e78b..b78fcff 100644
---- a/imsettings-daemon/imsettings-proc.c
-+++ b/imsettings-daemon/imsettings-proc.c
-@@ -39,8 +39,8 @@
- #define MAXRESTART 3
- 
- typedef struct _IMSettingsProcInfo {
--	GIOChannel     *stdout;
--	GIOChannel     *stderr;
-+	GIOChannel     *_stdout;
-+	GIOChannel     *_stderr;
- 	GPid            pid;
- 	GTimeVal        started_time;
- 	guint           id;
-@@ -368,12 +368,12 @@ _start_process(IMSettingsProc     *proc,
- 					     &ofd, &efd,
- 					     error)) {
- 			pinfo->pid = pid;
--			pinfo->stdout = g_io_channel_unix_new(ofd);
--			pinfo->stderr = g_io_channel_unix_new(efd);
--			g_io_channel_set_close_on_unref(pinfo->stdout, TRUE);
--			g_io_channel_set_close_on_unref(pinfo->stderr, TRUE);
--			pinfo->oid = g_io_add_watch(pinfo->stdout, G_IO_IN, _log_write_cb, proc);
--			pinfo->eid = g_io_add_watch(pinfo->stderr, G_IO_IN, _log_write_cb, proc);
-+			pinfo->_stdout = g_io_channel_unix_new(ofd);
-+			pinfo->_stderr = g_io_channel_unix_new(efd);
-+			g_io_channel_set_close_on_unref(pinfo->_stdout, TRUE);
-+			g_io_channel_set_close_on_unref(pinfo->_stderr, TRUE);
-+			pinfo->oid = g_io_add_watch(pinfo->_stdout, G_IO_IN, _log_write_cb, proc);
-+			pinfo->eid = g_io_add_watch(pinfo->_stderr, G_IO_IN, _log_write_cb, proc);
- 			g_get_current_time(&pinfo->started_time);
- 			pinfo->id = g_child_watch_add(pid, _watch_im_status_cb, proc);
- 
-@@ -521,13 +521,13 @@ imsettings_proc_get_property(GObject    *object,
- static void
- imsettings_proc_info_finalize(IMSettingsProcInfo *pinfo)
- {
--	if (pinfo->stdout) {
--		g_io_channel_unref(pinfo->stdout);
--		pinfo->stdout = NULL;
-+	if (pinfo->_stdout) {
-+		g_io_channel_unref(pinfo->_stdout);
-+		pinfo->_stdout = NULL;
- 	}
--	if (pinfo->stderr) {
--		g_io_channel_unref(pinfo->stderr);
--		pinfo->stderr = NULL;
-+	if (pinfo->_stderr) {
-+		g_io_channel_unref(pinfo->_stderr);
-+		pinfo->_stderr = NULL;
- 	}
- 	if (pinfo->oid > 0) {
- 		g_source_remove(pinfo->oid);
--- 
-2.13.2
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/gtk-is-required-by-notify.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/gtk-is-required-by-notify.patch
deleted file mode 100644
index d42358d..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/gtk-is-required-by-notify.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-gtk+ is required by linnotify. So make sure gtk be linked before libnotify
-
-Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
-
-diff -Nurp imsettings-1.6.7.orig/configure.ac imsettings-1.6.7/configure.ac
---- imsettings-1.6.7.orig/configure.ac	2013-11-26 16:09:09.000000000 +0800
-+++ imsettings-1.6.7/configure.ac	2014-12-30 11:27:44.370003209 +0800
-@@ -93,8 +93,8 @@ PKG_CHECK_MODULES(LIBNOTIFY, libnotify,
- 		has_old_libnotify=yes
- 		PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED)
- 		AC_DEFINE(HAS_OLD_LIBNOTIFY,, [Using older libnotify])
--		IMDAEMON_CFLAGS="$GTK_CFLAGS $LIBNOTIFY_OLD_CFLAGS"
--		IMDAEMON_LIBS="$GTK_LIBS $LIBNOTIFY_OLD_LIBS"],[
-+		IMDAEMON_CFLAGS="$LIBNOTIFY_OLD_CFLAGS $GTK_CFLAGS"
-+		IMDAEMON_LIBS="$LIBNOTIFY_OLD_LIBS $GTK_LIBS"],[
- 		has_old_libnotify=no
- 		IMDAEMON_CFLAGS="$LIBNOTIFY_CFLAGS"
- 		IMDAEMON_LIBS="$LIBNOTIFY_LIBS"])
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch
deleted file mode 100644
index d5ac87d..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-multi-line ACLOCAL_AMFLAGS isn't supported by autoreconf.
-It will cause configure error as follow.
-
-  aclocal: error: non-option arguments are not accepted: '\'.
-
-Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
-
-diff -Nurp imsettings-1.7.1.orig/Makefile.am imsettings-1.7.1/Makefile.am
---- imsettings-1.7.1.orig/Makefile.am	2013-02-08 11:33:59.000000000 +0900
-+++ imsettings-1.7.1/Makefile.am	2015-06-24 14:15:32.070000007 +0900
-@@ -1,7 +1,7 @@
- NULL =
- SUBDIRS = data imsettings imsettings-daemon backends utils po tests docs
- 
--ACLOCAL_AMFLAGS = -Im4macros
-+ACLOCAL_AMFLAGS = -I m4macros $(NULL)
- 
- CONFIGURE_DEPENDENCIES =		\
- 	requires			\
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb
deleted file mode 100644
index 7a4ce05..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.2.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Delivery framework for general Input Method configuration"
-DESCRIPTION = "IMSettings is a framework that delivers Input Method \
-settings and applies the changes so they take effect \
-immediately without any need to restart applications \
-or the desktop. \
-This package contains the core DBus services and some utilities."
-HOMEPAGE = "http://code.google.com/p/imsettings/"
-SECTION = "Applications/System"
-
-inherit autotools gtk-doc gobject-introspection
-
-SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2 \
-           file://gtk-is-required-by-notify.patch \
-           file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch \
-           file://0001-Rename-use-of-stdout-and-stderr.patch \
-           "
-
-SRC_URI[md5sum] = "8153b0583a9f47d8a62af1f92fb9d3bf"
-SRC_URI[sha256sum] = "41addf0458f760212b6b6100835066e16deb3a8a50eb005a0fc17fbac0a2ae66"
-
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-EXTRA_OECONF = "--with-xinputsh=50-xinput.sh \
-                --disable-static \
-               "
-
-DEPENDS = "gtk+ gconf libnotify dbus-glib libgxim xfconf intltool-native"
-
-RDEPENDS_${PN} += "bash"
-
-FILES_${PN} += "${datadir}/dbus-1/* ${datadir}/gir-1.0/* ${libdir}/girepository-1.0/*"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb
new file mode 100644
index 0000000..8f622bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Delivery framework for general Input Method configuration"
+DESCRIPTION = "IMSettings is a framework that delivers Input Method \
+settings and applies the changes so they take effect \
+immediately without any need to restart applications \
+or the desktop. \
+This package contains the core DBus services and some utilities."
+HOMEPAGE = "http://code.google.com/p/imsettings/"
+SECTION = "Applications/System"
+
+inherit autotools gtk-doc gobject-introspection distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2 \
+           "
+
+SRC_URI[md5sum] = "c6c65a2b2654fe9dfe9ab2e8b80c079a"
+SRC_URI[sha256sum] = "196d3a74cef254ff812c32682d1818d740e36a68b976fef9e99748d23a71a71a"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+EXTRA_OECONF = "--with-xinputsh=50-xinput.sh \
+                --disable-static \
+               "
+
+DEPENDS = "gtk+ gconf libnotify dbus-glib libgxim xfconf intltool-native"
+
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN} += "${datadir}/dbus-1/* ${datadir}/gir-1.0/* ${libdir}/girepository-1.0/*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/0001-Makefile.am-use-LIBTOOL-instead-of-hardcoded-libtool.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique/0001-Makefile.am-use-LIBTOOL-instead-of-hardcoded-libtool.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/0001-Makefile.am-use-LIBTOOL-instead-of-hardcoded-libtool.patch
rename to import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique/0001-Makefile.am-use-LIBTOOL-instead-of-hardcoded-libtool.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/0001-test-unique-Add-format-qualifier-s-for-string.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique/0001-test-unique-Add-format-qualifier-s-for-string.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/0001-test-unique-Add-format-qualifier-s-for-string.patch
rename to import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique/0001-test-unique-Add-format-qualifier-s-for-string.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/build.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique/build.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/build.patch
rename to import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique/build.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/fix_for_compile_with_gcc-4.6.0.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique/fix_for_compile_with_gcc-4.6.0.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/fix_for_compile_with_gcc-4.6.0.patch
rename to import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique/fix_for_compile_with_gcc-4.6.0.patch
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/noconst.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique/noconst.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-gnome/libunique/libunique/noconst.patch
rename to import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique/noconst.patch
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique_1.1.6.bb b/import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique_1.1.6.bb
new file mode 100644
index 0000000..49ed07a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-extended/libunique/libunique_1.1.6.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Library for supporting single instance GTK+ applications"
+DESCRIPTION = "Unique is a library for writing single instance GTK+ applications. If you launch a single instance application twice, the second instance will either just quit or will send a message to the running instance."
+HOMEPAGE = "https://wiki.gnome.org/Attic/LibUnique"
+BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=libunique"
+
+SRC_URI = "${GNOME_MIRROR}/libunique/1.1/libunique-${PV}.tar.bz2 \
+           file://fix_for_compile_with_gcc-4.6.0.patch \
+           file://noconst.patch \
+           file://build.patch \
+           file://0001-Makefile.am-use-LIBTOOL-instead-of-hardcoded-libtool.patch \
+           file://0001-test-unique-Add-format-qualifier-s-for-string.patch \
+           "
+
+SRC_URI[md5sum] = "7955769ef31f1bc4f83446dbb3625e6d"
+SRC_URI[sha256sum] = "e5c8041cef8e33c55732f06a292381cb345db946cf792a4ae18aa5c66cdd4fbb"
+
+PR = "r7"
+
+DEPENDS = "dbus-glib-native glib-2.0 gtk+"
+
+PACKAGECONFIG ??= "dbus"
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+
+inherit autotools pkgconfig gobject-introspection distro_features_check gtk-doc
+
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_0.8.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_0.8.1.bb
deleted file mode 100644
index 824611a..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_0.8.1.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-DESCRIPTION = "Parole is a modern simple media player based on the GStreamer framework"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/parole"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-app gtk-doc mime
-
-DEPENDS += " \
-    glib-2.0 \
-    dbus-glib \
-    gtk+3 \
-    \
-    xfce4-dev-tools-native \
-    libxfce4util \
-    libxfce4ui \
-    xfconf \
-    \
-    gstreamer1.0-plugins-base \
-    taglib \
-"
-
-SRC_URI[md5sum] = "361e3059f1263c76a3711db2c7c1a97b"
-SRC_URI[sha256sum] = "4b216f5200490f8d2a9bf1b3fcd9a8b20834c95249bf13b9170c82e1fcbd80f4"
-
-RDEPENDS_${PN} += "gstreamer1.0-plugins-good"
-
-EXTRA_OECONF = "--disable-gtk-doc"
-
-PACKAGECONFIG ??= "notify"
-PACKAGECONFIG[clutter] = "--enable-clutter, --disable-clutter, clutter"
-PACKAGECONFIG[notify] = "--enable-notify-plugin, --disable-notify-plugin, libnotify"
-
-FILES_${PN} += " \
-    ${datadir}/appdata \
-    ${libdir}/parole-0/*.so \
-"
-FILES_${PN}-dbg += "${libdir}/parole-0/.debug"
-FILES_${PN}-dev += "${libdir}/parole-0/*.la"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.0.bb
new file mode 100644
index 0000000..479f1a4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.0.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "Parole is a modern simple media player based on the GStreamer framework"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/parole"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce-app gtk-doc mime
+
+DEPENDS += " \
+    glib-2.0 \
+    dbus-glib \
+    gtk+3 \
+    \
+    xfce4-dev-tools-native \
+    libxfce4util \
+    libxfce4ui \
+    xfconf \
+    \
+    gstreamer1.0-plugins-base \
+    taglib \
+"
+
+SRC_URI[md5sum] = "d00d3ca571900826bf5e1f6986e42992"
+SRC_URI[sha256sum] = "6666b335aeb690fb527f77b62c322baf34834b593659fdcd21d21ed3f1e14010"
+
+RDEPENDS_${PN} += "gstreamer1.0-plugins-good"
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+PACKAGECONFIG ??= "notify"
+PACKAGECONFIG[clutter] = "--enable-clutter, --disable-clutter, clutter"
+PACKAGECONFIG[notify] = "--enable-notify-plugin, --disable-notify-plugin, libnotify"
+
+FILES_${PN} += " \
+    ${datadir}/appdata \
+    ${libdir}/parole-0/*.so \
+"
+FILES_${PN}-dbg += "${libdir}/parole-0/.debug"
+FILES_${PN}-dev += "${libdir}/parole-0/*.la"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.2.4.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.2.4.bb
deleted file mode 100644
index 4c7ca70..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.2.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Pulseaudio mixer for the xfce panel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f5eac6bb0d6ec0dc655e417781d4015f"
-
-inherit xfce-panel-plugin distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "pulseaudio x11"
-
-DEPENDS += "pulseaudio"
-
-SRC_URI[md5sum] = "e0ffde419fa030f1f9bd0b56e3264a1c"
-SRC_URI[sha256sum] = "8d9330ddf1d44a864a36d566cce4b76d4f859c5984bba7653d7dc39aa24d5c3e"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libnotify] = "--enable-libnotify,--disable-libnotify,libnotify"
-
-RRECOMMENDS_${PN} = "pavucontrol"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.0.bb
new file mode 100644
index 0000000..f5417a1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Pulseaudio mixer for the xfce panel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f5eac6bb0d6ec0dc655e417781d4015f"
+
+inherit xfce-panel-plugin distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "pulseaudio x11"
+
+DEPENDS += "pulseaudio"
+
+SRC_URI[md5sum] = "12f3dd97e02c604e2023b5baf30d4a6c"
+SRC_URI[sha256sum] = "aef9ad68a0b604a6aeca4c08146f3eb42bedb4fe1c8b65b82679cec0e2fc1cb3"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libnotify] = "--enable-libnotify,--disable-libnotify,libnotify"
+
+RRECOMMENDS_${PN} = "pavucontrol"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin/0001-Specify-string-format-explicitly.patch b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin/0001-Specify-string-format-explicitly.patch
deleted file mode 100644
index 3f0bb05..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin/0001-Specify-string-format-explicitly.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 6b786e1c161026ab5486ac218891a85db65bf3ba Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 22 Mar 2017 15:28:24 -0700
-Subject: [PATCH] Specify string format explicitly
-
-Avoids below errors when compiling with -Wformat-security
-
-error: format string is not a string literal (potentially insecure)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/xfcetimer.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/xfcetimer.c b/src/xfcetimer.c
-index 601772f..4b89682 100644
---- a/src/xfcetimer.c
-+++ b/src/xfcetimer.c
-@@ -190,7 +190,7 @@ static gboolean update_function (gpointer data){
- 
-     dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
-                                     GTK_MESSAGE_WARNING,
--                                    GTK_BUTTONS_NONE, dialog_message);
-+                                    GTK_BUTTONS_NONE, "%s", dialog_message);
-                            
-     gtk_window_set_title ((GtkWindow *) dialog, dialog_title);                                    
-  
--- 
-2.12.0
-
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb
deleted file mode 100644
index 9615192..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "XFCE panel plugin to generate alarm messages"
-DESCRIPTION = "This is a simple plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-timer-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ae39271267fd63eb7619432ff24e7ff1"
-
-inherit xfce-panel-plugin
-
-SRC_URI += "file://0001-Specify-string-format-explicitly.patch"
-
-SRC_URI[md5sum] = "3be2a4ccfb2af20441b1d25c2cea5f28"
-SRC_URI[sha256sum] = "39d7d21f099bc4219f6a6156142f0bbb8374986ee1970a9c0c8dc138b87f867c"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.7.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.7.0.bb
new file mode 100644
index 0000000..2ddc6f6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.7.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "XFCE panel plugin to generate alarm messages"
+DESCRIPTION = "This is a simple plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-timer-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ae39271267fd63eb7619432ff24e7ff1"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "32e6a14e80bf9a93db2f2b3bfd7de920"
+SRC_URI[sha256sum] = "2e4e5343e39926230cc981d5fe56cd58a2f3817d2e9b6089b5673a2e39bf7e9b"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.10.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.10.bb
new file mode 100644
index 0000000..649eaaa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.10.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Panel plugin to display current temperature and weather condition"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-weather-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "libsoup-2.4 dbus-glib upower"
+
+SRC_URI[md5sum] = "bba7f750b97c8fc3656715268edad792"
+SRC_URI[sha256sum] = "ee6d43c444904631c240470e15e96215c2ce451158bfdbf234bce892bf60eab8"
+
+FILES_${PN} += "${datadir}/xfce4/weather"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.9.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.9.bb
deleted file mode 100644
index d9ed2ce..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.9.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Panel plugin to display current temperature and weather condition"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-weather-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "libsoup-2.4 dbus-glib upower"
-
-SRC_URI[md5sum] = "0c56c057e1c354b30409b7871ab6f314"
-SRC_URI[sha256sum] = "0e15d14b3e18c3da46ad23ee3158a25220f1474a48b611de96edb56221aecee5"
-
-FILES_${PN} += "${datadir}/xfce4/weather"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.3.bb
deleted file mode 100644
index 3c67a2f..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.3.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "An alternate menu for the Xfce desktop environment"
-HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin cmake
-
-SRC_URI[md5sum] = "032a2bb0a0d4a2e3c8c136910c8b551d"
-SRC_URI[sha256sum] = "e8918c1255f7ab86b950ebd13555fe87046c01a1a4cb0b5d460024b6efc01769"
-
-RRECOMMENDS_${PN} += "menulibre"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.6.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.6.bb
new file mode 100644
index 0000000..762cff0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.6.bb
@@ -0,0 +1,11 @@
+SUMMARY = "An alternate menu for the Xfce desktop environment"
+HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin cmake
+
+SRC_URI[md5sum] = "b2b2bacc8d5f3c3119a0f317b6074276"
+SRC_URI[sha256sum] = "8b2a8ee1445df39a2cda139e353f2e9ec3720a780296dc41b7d4aebde57371fc"
+
+RRECOMMENDS_${PN} += "menulibre"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.8.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.8.0.bb
deleted file mode 100644
index 5e62c03..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.8.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "XKB layout switching panel plug-in for the Xfce desktop environment"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-xkb-plugin"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=496f09f084b0f7e6f02f769a84490c6b"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "e4e897741ebe2827192971c2aaad835d"
-SRC_URI[sha256sum] = "3b0d3b9f4b7c3e3e7be668e2f7c845b89b16e0ed3db2bacb544a17272682ced0"
-
-DEPENDS += "libxklavier libwnck3 librsvg garcon"
-
-FILES_${PN} += "${datadir}/xfce4/xkb"
-
-RDEPENDS_${PN} = "xfce4-settings"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.8.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.8.1.bb
new file mode 100644
index 0000000..8ee3740
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.8.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "XKB layout switching panel plug-in for the Xfce desktop environment"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-xkb-plugin"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=496f09f084b0f7e6f02f769a84490c6b"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "72530bf59d7cd902326469e5a7a9892b"
+SRC_URI[sha256sum] = "c19ecf126201deb6148741c521124771ad396adc874471512ab5ffe1946567a1"
+
+DEPENDS += "libxklavier libwnck3 librsvg garcon"
+
+FILES_${PN} += "${datadir}/xfce4/xkb"
+
+RDEPENDS_${PN} = "xfce4-settings"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend b/import-layers/meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend
index 25403e6..7b44963 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-support/vim/vim_%.bbappend
@@ -1,6 +1 @@
-do_install_append() {
-	# The mouse being autoenabled is just annoying in xfce4-terminal (mouse
-	# drag make vim go into visual mode and there is no right click menu),
-	# delete the block.
-	sed -i '/the mouse works just fine/,+4d' ${D}/${datadir}/${BPN}/vimrc
-}
+require ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${BPN}_xfce.inc', '', d)}
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-support/vim/vim_xfce.inc b/import-layers/meta-openembedded/meta-xfce/recipes-support/vim/vim_xfce.inc
new file mode 100644
index 0000000..25403e6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-support/vim/vim_xfce.inc
@@ -0,0 +1,6 @@
+do_install_append() {
+	# The mouse being autoenabled is just annoying in xfce4-terminal (mouse
+	# drag make vim go into visual mode and there is no right click menu),
+	# delete the block.
+	sed -i '/the mouse works just fine/,+4d' ${D}/${datadir}/${BPN}/vimrc
+}
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/configure.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/configure.patch
index ef27e42..89cc1f3 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/configure.patch
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/configure.patch
@@ -1,6 +1,20 @@
---- a/configure.ac	2007-12-02 10:37:06.000000000 -0200
-+++ b/configure.ac	2008-06-05 17:21:42.000000000 -0300
-@@ -127,22 +127,24 @@
+From 13a74582ffd7f81dbd66a7296fc76007718e9d4d Mon Sep 17 00:00:00 2001
+From: Andreas Mueller <schnitzeltony@gmx.de>
+Date: Mon, 1 Aug 2011 17:16:29 +0200
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+
+---
+ configure.ac | 34 ++++++++++++++++++----------------
+ 1 file changed, 18 insertions(+), 16 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0de5ceb..3f92d1b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -143,22 +143,24 @@ AC_FUNC_MMAP()
  dnl ***************************************
  dnl *** Check for strftime() extensions ***
  dnl ***************************************
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/exo-no-tests-0.8.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/exo-no-tests-0.8.patch
index ac8bca5..348e147 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/exo-no-tests-0.8.patch
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/exo-no-tests-0.8.patch
@@ -1,22 +1,24 @@
-From 5f1e19860d89647488bdd32a02fb332f69434405 Mon Sep 17 00:00:00 2001
+From 9231a2d5b9c5406f33aef3ab4de2dbec9b08ed13 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
 Date: Fri, 18 May 2012 21:13:00 +0200
 Subject: [PATCH] Do not run tests at build time
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
-Upstream-Status: Not-Applicable
+
+Upstream-Status: Inappropriate [embedded specific]
 
 Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+
 ---
- Makefile.am |    3 +--
- 1 files changed, 1 insertions(+), 2 deletions(-)
+ Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index 0ab3853..3e72391 100644
+index 226e79d..62ad18d 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -8,8 +8,7 @@ SUBDIRS =								\
+@@ -9,8 +9,7 @@ SUBDIRS =								\
  	docs								\
  	icons								\
  	pixmaps								\
@@ -24,8 +26,5 @@
 -	tests
 +	po
  
- AUTOMAKE_OPTIONS =							\
- 	1.9								\
--- 
-1.7.4.4
-
+ distclean-local:
+ 	rm -rf *.cache *~
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch
index 99318d5..0764775 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/reduce-build-to-exo-csource-only.patch
@@ -10,9 +10,10 @@
 building xfce-packages from git instead of tarball this exo-csource-native is
 required.
 
-Upstream-Status: Inappropriate [configuration]
+Upstream-Status: Inappropriate [embedded specific]
 
 Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+
 ---
  Makefile.am  | 10 +---------
  configure.ac | 22 ----------------------
@@ -40,7 +41,7 @@
  distclean-local:
  	rm -rf *.cache *~
 diff --git a/configure.ac b/configure.ac
-index ba5395d..2605067 100644
+index 3f92d1b..0d4cc38 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -116,15 +116,6 @@ AC_PROG_CC()
@@ -65,9 +66,9 @@
  XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.42.0])
 -XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.42.0])
 -XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.24.0])
--XDT_CHECK_PACKAGE([GTK3], [gtk+-3.0], [3.20.0])
+-XDT_CHECK_PACKAGE([GTK3], [gtk+-3.0], [3.22.0])
 -XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.42.0])
--XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.10.0])
+-XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.12.0])
 -XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.12.0])
 -XDT_CHECK_PACKAGE([LIBXFCE4UI2], [libxfce4ui-2], [4.12.0])
 -XDT_CHECK_OPTIONAL_PACKAGE([GIO_UNIX], [gio-unix-2.0], [2.42.0], [gio-unix], [GIO-Unix features])
@@ -80,5 +81,5 @@
  dnl *************************
  dnl *** Check for gtk-doc ***
 -- 
-2.9.4
+2.14.3
 
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.5.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.5.bb
deleted file mode 100644
index d5508c0..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.5.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION="Application library for the Xfce desktop environment"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gtk+ libxfce4util libxfce4ui virtual/libx11 liburi-perl-native cairo"
-DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native"
-
-inherit xfce pythonnative perlnative gtk-doc distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-REQUIRED_DISTRO_FEATURES_class-native = ""
-
-# SRC_URI must follow inherited one
-SRC_URI += " \
-    file://exo-no-tests-0.8.patch \
-    file://configure.patch \
-"
-
-SRC_URI_append_class-native = " \
-    file://reduce-build-to-exo-csource-only.patch \
-"
-
-SRC_URI[md5sum] = "2e560edfa8ddf77e21c4787a6f600171"
-SRC_URI[sha256sum] = "8e8629f33783eba1ce6d092a42c28217458a0cc3d1ad7474097b9187054955c1"
-
-PACKAGES =+ "exo-csource"
-
-# Note: python bindings did not work in oe-dev and are about to be moved to
-# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560
-FILES_${PN} += "${datadir}/xfce4/ \
-                ${libdir}/xfce4/exo-1 \
-"
-
-FILES_${PN}-dbg += "${libdir}/gio/modules/.debug \
-"
-
-FILES_exo-csource += "${bindir}/exo-csource"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.0.bb
new file mode 100644
index 0000000..d256b57
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.0.bb
@@ -0,0 +1,39 @@
+DESCRIPTION="Application library for the Xfce desktop environment"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "gtk+ libxfce4util libxfce4ui virtual/libx11 liburi-perl-native cairo"
+DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native"
+
+inherit xfce pythonnative perlnative gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+REQUIRED_DISTRO_FEATURES_class-native = ""
+
+# SRC_URI must follow inherited one
+SRC_URI += " \
+    file://exo-no-tests-0.8.patch \
+    file://configure.patch \
+"
+
+SRC_URI_append_class-native = " \
+    file://reduce-build-to-exo-csource-only.patch \
+"
+
+SRC_URI[md5sum] = "724afcca224f5fb22b510926d2740e52"
+SRC_URI[sha256sum] = "64b88271a37d0ec7dca062c7bc61ca323116f7855092ac39698c421a2f30a18f"
+
+PACKAGES =+ "exo-csource"
+
+# Note: python bindings did not work in oe-dev and are about to be moved to
+# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560
+FILES_${PN} += "${datadir}/xfce4/ \
+                ${libdir}/xfce4/exo-1 \
+"
+
+FILES_${PN}-dbg += "${libdir}/gio/modules/.debug \
+"
+
+FILES_exo-csource += "${bindir}/exo-csource"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch
new file mode 100644
index 0000000..fb89102
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine/glib-2.54-ftbfs.patch
@@ -0,0 +1,23 @@
+Description: Fix FTBFS with glib 2.54
+ glib-mkenums now expects input files to be UTF-8,
+ fix the encoding of libgnomeui/gnome-scores.h
+Author: Adrian Bunk <bunk@debian.org>
+
+ported from: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870738
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: gtk-xfce-engine-3.2.0/gtk-3.0/xfce_style_types.h
+===================================================================
+--- gtk-xfce-engine-3.2.0.orig/gtk-3.0/xfce_style_types.h
++++ gtk-xfce-engine-3.2.0/gtk-3.0/xfce_style_types.h
+@@ -19,7 +19,7 @@
+  *
+  *  Portions based Thinice port by 
+  *                       Tim Gerla <timg@rrv.net>,
+- *                       Tomas Ögren <stric@ing.umu.se,
++ *                       Tomas Ögren <stric@ing.umu.se>,
+  *                       Richard Hult <rhult@codefactory.se>
+  *  Portions based on Smooth theme by
+  *                       Andrew Johnson <ajgenius@ajgenius.us>
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb
index ae7f99f..ef4f4bf 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/gtk-xfce-engine/gtk-xfce-engine_3.2.0.bb
@@ -8,6 +8,8 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
+SRC_URI += "file://glib-2.54-ftbfs.patch"
+
 SRC_URI[md5sum] = "363d6c16a48a00e26d45c45c2e1fd739"
 SRC_URI[sha256sum] = "875c9c3bda96faf050a2224649cc42129ffb662c4de33add8c0fd1fb860b47ed"
 
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/files/0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/files/0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch
index b8c9178..6d107b1 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/files/0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/files/0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch
@@ -9,6 +9,7 @@
 
 Upstream-Status: Pending
 Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+
 ---
  libxfce4kbd-private/xfce4-keyboard-shortcuts.xml |    4 ++++
  1 files changed, 4 insertions(+), 0 deletions(-)
@@ -17,8 +18,8 @@
 index 723a10d..e6502f3 100644
 --- a/libxfce4kbd-private/xfce4-keyboard-shortcuts.xml
 +++ b/libxfce4kbd-private/xfce4-keyboard-shortcuts.xml
-@@ -66,4 +66,8 @@
-       <property name="&lt;Control&gt;F12" type="string" value="workspace_12_key"/>
+@@ -75,4 +75,8 @@
+       <property name="&lt;Primary&gt;F12" type="string" value="workspace_12_key"/>
      </property>
    </property>
 +  <property name="providers" type="array">
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
index cc231b4..b73c9ee 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
@@ -5,7 +5,9 @@
 
 PR = "r10"
 
-inherit packagegroup
+inherit packagegroup distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 # mandatory
 RDEPENDS_${PN} = " \
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.12.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.12.bb
deleted file mode 100644
index 8f1b23e..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.12.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "File manager for the Xfce Desktop Environment"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "exo glib-2.0 gtk+ gdk-pixbuf libxfce4util libxfce4ui xfconf libsm dbus-glib startup-notification libnotify xfce4-panel udev"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2"
-SRC_URI[md5sum] = "1bdf3c4a57ff886c512341f24b5e0e88"
-SRC_URI[sha256sum] = "fb22091f07ec6de2c9d9d89c61289d2bc3436b36c8c53ccbc9c32ca8a99f2086"
-
-S = "${WORKDIR}/Thunar-${PV}/"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
-
-FILES_${PN} += " \
-    ${libdir}/thunarx-2/* \
-    ${libdir}/xfce4/panel/plugins/* \
-    ${libdir}/Thunar/[Tt]hunar* \
-    ${datadir}/appdata \
-    ${datadir}/dbus-1 \
-    ${datadir}/polkit-1 \
-    ${datadir}/Thunar \
-    ${datadir}/xfce4/panel/plugins/* \
-"
-
-FILES_${PN}-dbg += "${libdir}/thunarx-2/.debug/ \
-                    ${libdir}/xfce4/panel/plugins/.debug/ \
-                    ${libdir}/Thunar/.debug/"
-
-RRECOMMENDS_${PN} = "gvfs gvfsd-trash"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.15.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.15.bb
new file mode 100644
index 0000000..170e250
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.15.bb
@@ -0,0 +1,35 @@
+SUMMARY = "File manager for the Xfce Desktop Environment"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "exo glib-2.0 gtk+ gdk-pixbuf libxfce4util libxfce4ui xfconf libsm dbus-glib startup-notification libnotify xfce4-panel udev"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2"
+SRC_URI[md5sum] = "8fea2af69c3acbb273fd1a177d3d8e47"
+SRC_URI[sha256sum] = "e81291a8519f495e0a059ff1f2d29608bc6d37c0be83b1f38f3c9aa25f8d252d"
+
+S = "${WORKDIR}/Thunar-${PV}/"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
+
+FILES_${PN} += " \
+    ${libdir}/thunarx-2/* \
+    ${libdir}/xfce4/panel/plugins/* \
+    ${libdir}/Thunar/[Tt]hunar* \
+    ${datadir}/appdata \
+    ${datadir}/dbus-1 \
+    ${datadir}/polkit-1 \
+    ${datadir}/Thunar \
+    ${datadir}/xfce4/panel/plugins/* \
+"
+
+FILES_${PN}-dbg += "${libdir}/thunarx-2/.debug/ \
+                    ${libdir}/xfce4/panel/plugins/.debug/ \
+                    ${libdir}/Thunar/.debug/"
+
+RRECOMMENDS_${PN} = "gvfs gvfsd-trash"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.31.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.31.bb
deleted file mode 100644
index 1f5419a..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.31.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION="Thumbnail service implementing the thumbnail management D-Bus specification"
-SECTION = "x11/libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "dbus-glib dbus-glib-native freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf"
-
-inherit xfce gtk-doc
-
-SRC_URI[md5sum] = "0067054e6f1f90a13f90faadfca1e89e"
-SRC_URI[sha256sum] = "d0fd329273ff6ac98885eade4c3d8c87a4dd0816f713646130808bfa90b87173"
-SRC_URI += "file://0001-configure-use-pkg-config-for-freetype2.patch"
-
-INSANE_SKIP_${PN} = "dev-so"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base"
-
-FILES_${PN} += "${datadir}/dbus-1/services \
-                ${libdir}/tumbler-1/tumblerd \
-                ${libdir}/tumbler-1/plugins/*.so \
-                ${libdir}/tumbler-1/plugins/cache/*.so \
-"
-
-FILES_${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \
-                    ${libdir}/tumbler-1/plugins/cache/*.la"
-FILES_${PN}-dbg += "${libdir}/tumbler-1/.debug \
-                    ${libdir}/tumbler-1/plugins/.debug \
-                    ${libdir}/tumbler-1/plugins/cache/.debug \
-"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb
new file mode 100644
index 0000000..7e0c555
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb
@@ -0,0 +1,35 @@
+DESCRIPTION="Thumbnail service implementing the thumbnail management D-Bus specification"
+SECTION = "x11/libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "dbus-glib dbus-glib-native freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf"
+
+inherit xfce gtk-doc
+
+SRC_URI[md5sum] = "dd5f9bae6a2470eb5fff0dc9edd3ea09"
+SRC_URI[sha256sum] = "4e27a59694b0a5cc69ebccbdb00c724e670b5b7c30bc4dc0b461aac93f234fac"
+SRC_URI += "file://0001-configure-use-pkg-config-for-freetype2.patch"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base"
+
+do_install_append() {
+    # Makefile seems to race on creation of symlink. So ensure creation here
+    # until fixed properly
+    ln -sf tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so
+}
+
+FILES_${PN} += "${datadir}/dbus-1/services \
+                ${libdir}/tumbler-1/tumblerd \
+                ${libdir}/tumbler-1/plugins/*.so \
+                ${libdir}/tumbler-1/plugins/cache/*.so \
+"
+
+FILES_${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \
+                    ${libdir}/tumbler-1/plugins/cache/*.la"
+FILES_${PN}-dbg += "${libdir}/tumbler-1/.debug \
+                    ${libdir}/tumbler-1/plugins/.debug \
+                    ${libdir}/tumbler-1/plugins/cache/.debug \
+"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.12.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.12.0.bb
deleted file mode 100644
index 175a827..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.12.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION="Xfce4 Application Finder"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS="glib-2.0 gtk+ libxfce4util libxfce4ui garcon dbus-glib xfconf"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "0b238b30686388c507c119b12664f1a1"
-SRC_URI[sha256sum] = "2ad4a58019a76a6b64a816050db25f96854917c2f2e89d6a9df6c18e6c84c567"
-
-FILES_${PN} += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.0.bb
new file mode 100644
index 0000000..7e73911
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.0.bb
@@ -0,0 +1,14 @@
+DESCRIPTION="Xfce4 Application Finder"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS="glib-2.0 gtk+3 libxfce4util libxfce4ui garcon dbus-glib xfconf"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "6b6cf080c891f7945953f8084a901552"
+SRC_URI[sha256sum] = "c0eb3b29eba3cfa9175ed35174e83a21faa2a2423ddb79501fe8846cc430e3ae"
+
+FILES_${PN} += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.1.bb
deleted file mode 100644
index 80332ce..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.1.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Xfce4 Panel"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee"
-DEPENDS = "libxfce4util garcon libxfce4ui xfconf exo gtk+ gtk+3 dbus cairo virtual/libx11 libxml2 libwnck"
-
-inherit xfce gtk-doc distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "0b943f2e72a3693dddb1af559826cb62"
-SRC_URI[sha256sum] = "93d58b80cca9c9eb58adb281bc75404df7cf6cae89f7f98bb9f38690009aa2e8"
-SRC_URI += " \
-    file://0001-clock-time-make-change-of-system-s-timezone-change-t.patch \
-    file://0002-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \
-"
-
-EXTRA_OECONF += "--enable-gtk3"
-
-python populate_packages_prepend() {
-    plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/')
-    plugin_name = d.expand('${PN}-plugin-%s')
-    do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name,
-                      '${PN} plugin for %s', extra_depends='', prepend=True,
-                      aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop',
-                                         '${sysconfdir}/xdg/xfce/panel/%s-*',
-                                         '${datadir}/icons/hicolor/48x48/apps/*-%s.png',
-                                         '${bindir}/*%s*'])
-}
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
-
-PACKAGES =+ "${PN}-gtk3"
-
-FILES_${PN} += "${libdir}/xfce4/panel/migrate \
-                ${libdir}/xfce4/panel/wrapper-1.0"
-
-FILES_${PN}-gtk3 = " \
-    ${libdir}/libxfce4panel-2.0${SOLIBS} \
-    ${libdir}/xfce4/panel/wrapper-2.0 \
-"
-FILES_${PN}-dbg += "${libdir}/xfce4/panel/plugins/.debug \
-"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.2.bb
new file mode 100644
index 0000000..9cc9a4b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.2.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Xfce4 Panel"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee"
+DEPENDS = "libxfce4util garcon libxfce4ui xfconf exo gtk+ gtk+3 dbus cairo virtual/libx11 libxml2 libwnck"
+
+inherit xfce gtk-doc distro_features_check gtk-icon-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "803c9aabc2925dc97f96de125c52ba2e"
+SRC_URI[sha256sum] = "42058abb81b8f87691d3999627447de71c3285bcf055f308aab5cefab2de0ce9"
+SRC_URI += " \
+    file://0001-clock-time-make-change-of-system-s-timezone-change-t.patch \
+    file://0002-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \
+"
+
+EXTRA_OECONF += "--enable-gtk3"
+
+python populate_packages_prepend() {
+    plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/')
+    plugin_name = d.expand('${PN}-plugin-%s')
+    do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name,
+                      '${PN} plugin for %s', extra_depends='', prepend=True,
+                      aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop',
+                                         '${sysconfdir}/xdg/xfce/panel/%s-*',
+                                         '${datadir}/icons/hicolor/48x48/apps/*-%s.png',
+                                         '${bindir}/*%s*'])
+}
+
+PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
+
+PACKAGES =+ "${PN}-gtk3"
+
+FILES_${PN} += "${libdir}/xfce4/panel/migrate \
+                ${libdir}/xfce4/panel/wrapper-1.0"
+
+FILES_${PN}-gtk3 = " \
+    ${libdir}/libxfce4panel-2.0${SOLIBS} \
+    ${libdir}/xfce4/panel/wrapper-2.0 \
+"
+FILES_${PN}-dbg += " \
+    ${libdir}/xfce4/panel/plugins/.debug \
+"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.0.bb
deleted file mode 100644
index 08d00df..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.0.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Power manager for the Xfce desktop environment"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-power-manager"
-SECTION = "x11"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-DEPENDS += "gtk+3 glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \
-           libxrandr virtual/libx11 libxext xfce4-panel upower libxscrnsaver"
-
-SRC_URI[md5sum] = "2e2e24a1a22912d6a561ba6155887503"
-SRC_URI[sha256sum] = "bde3157e06ab31ff23648d163d53ee5095f7819544a9f48d3a96d57829857f2b"
-
-EXTRA_OECONF = " \
-    --enable-network-manager \
-    --enable-panel-plugins \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-polkit, --disable-polkit, polkit"
-
-PACKAGES += "xfce4-powermanager-plugin"
-
-FILES_${PN} += " \
-    ${datadir}/polkit-1 \
-    ${datadir}/appdata \
-"
-
-FILES_xfce4-powermanager-plugin = " \
-    ${libdir}/xfce4 \
-    ${datadir}/xfce4 \
-"
-
-RDEPENDS_xfce4-powermanager-plugin = "${PN}"
-RDEPENDS_${PN} = "networkmanager ${@bb.utils.contains('DISTRO_FEATURES','systemd','','consolekit',d)}"
-
-# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin
-RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
-RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
-RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb
new file mode 100644
index 0000000..ed117b0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Power manager for the Xfce desktop environment"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-power-manager"
+SECTION = "x11"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS += "gtk+3 glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \
+           libxrandr virtual/libx11 libxext xfce4-panel upower libxscrnsaver"
+
+SRC_URI[md5sum] = "17f0e6464ad6b3bc6a657f595bf91430"
+SRC_URI[sha256sum] = "1ea825452343b895566068018b6d5078608f8f46ce8075ba6bbb4b848f48656b"
+
+EXTRA_OECONF = " \
+    --enable-network-manager \
+    --enable-panel-plugins \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--enable-polkit, --disable-polkit, polkit"
+
+PACKAGES += "xfce4-powermanager-plugin"
+
+FILES_${PN} += " \
+    ${datadir}/polkit-1 \
+    ${datadir}/appdata \
+"
+
+FILES_xfce4-powermanager-plugin = " \
+    ${libdir}/xfce4 \
+    ${datadir}/xfce4 \
+"
+
+RDEPENDS_xfce4-powermanager-plugin = "${PN}"
+RDEPENDS_${PN} = "networkmanager ${@bb.utils.contains('DISTRO_FEATURES','systemd','','consolekit',d)}"
+
+# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin
+RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
+RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
+RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb
index 771da2c..bf9bd31 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb
@@ -13,12 +13,12 @@
 # + minor bugfixes - sent mainline but no response
 # + option to hide mousepointer for a specific (touch) input device - sent mainline but no response
 SRC_URI = " \
-    git://github.com/schnitzeltony/xfce4-settings.git;protocol=git;branch=for-oe-4.12.0-1 \
+    git://github.com/schnitzeltony/xfce4-settings.git;protocol=git;branch=for-oe-4.12.3 \
     file://0001-xsettings.xml-Set-default-themes.patch \
 "
-SRCREV = "c6683cb2cff489c16c2c7b5eab4017bb461f07f1"
+SRCREV = "b701ac8b66b83c17469dd5009da51eeb59eba442"
 S = "${WORKDIR}/git"
-PV = "4.12.0+git${SRCPV}"
+PV = "4.12.3+git${SRCPV}"
 
 EXTRA_OECONF += "--enable-maintainer-mode --disable-debug"
 
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.3.bb
deleted file mode 100644
index daecf82..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Xfce4 Desktop Manager"
-SECTION = "x11/base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "glib-2.0 gtk+ libxfce4util libxfce4ui libwnck xfconf dbus-glib dbus-glib-native thunar garcon exo"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "cb34f4f333d7d122f1688d2f155202c8"
-SRC_URI[sha256sum] = "a8a8d93744d842ca6ac1f9bd2c8789ee178937bca7e170e5239cbdbef30520ac"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
-
-FILES_${PN} += "${datadir}/backgrounds"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.4.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.4.bb
new file mode 100644
index 0000000..d9cbe71
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.12.4.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Xfce4 Desktop Manager"
+SECTION = "x11/base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "glib-2.0 gtk+ libxfce4util libxfce4ui libwnck xfconf dbus-glib dbus-glib-native thunar garcon exo"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "7571889368be72df185ce2d470f37198"
+SRC_URI[sha256sum] = "098a35510562907e1431d5adbfa8307484a235c1dec6a43e2d58d2ac4241f1cb"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
+
+FILES_${PN} += "${datadir}/backgrounds"