Squashed 'import-layers/meta-openembedded/'.

1efa5d6 gpsd: fix multilib build
97b82f3 exo: unbreak Thunar's detailed file view
5829238 modemmanager: Fix build with clang
9dc61c3 libmad: Fix build with clang
3cb5bcd fribidi: Fix build with security flags turned on
c6bb220 flashrom: Remove redundant const qualifier
7ac8ead md5deep: Fix build with clang
6a08999 openldap: Fix Build error due to missing -fPIC
ae254b4 libqmi: Fix build with clang
1ae5293 android-tools: fix do_install
a67677b rsnapshot: fix host path in rsnapshot.conf.default
f98f05a xfwm4: add x11 to REQUIRED_DISTRO_FEATURES
0913142 xfdesktop: add x11 to REQUIRED_DISTRO_FEATURES
4abb9bd xfce4-settings: add x11 to REQUIRED_DISTRO_FEATURES
fbb8993 xfce4-session: add x11 to REQUIRED_DISTRO_FEATURES
a7033bf xfce4-power-manager: add x11 to REQUIRED_DISTRO_FEATURES
c628fef xfce4-panel: add x11 to REQUIRED_DISTRO_FEATURES
d6ff552 xfce4-appfinder: add x11 to REQUIRED_DISTRO_FEATURES
f470662 thunar-volman: add x11 to REQUIRED_DISTRO_FEATURES
a905a4b thunar: add x11 to REQUIRED_DISTRO_FEATURES
4898fc6 libxfce4ui: add x11 to REQUIRED_DISTRO_FEATURES
4ea40f3 gtk-xfce-engine: add x11 to REQUIRED_DISTRO_FEATURES
57faeed garcon: add x11 to REQUIRED_DISTRO_FEATURES
af6a177 exo: add x11 to REQUIRED_DISTRO_FEATURES
0b91d71 xfce-app.bbclass: add x11 to REQUIRED_DISTRO_FEATURES
33055f8 xfce-panel-plugin.bbclass: add x11 to REQUIRED_DISTRO_FEATURES
17c9299 thunar-plugin.bbclass: add x11 to REQUIRED_DISTRO_FEATURES
e3cc8a1 xfce4-pulseaudio-plugin: add x11 to REQUIRED_DISTRO_FEATURES
968e99e packagegroup-xfce-base: add x11 to REQUIRED_DISTRO_FEATURES
3a2f97e libxklavier: add x11 to REQUIRED_DISTRO_FEATURES
7a557a2b libwnck: add x11 to REQUIRED_DISTRO_FEATURES
179bcb1 gtksourceview2: add x11 to REQUIRED_DISTRO_FEATURES
eea7d0b gnome-disk-utility: add x11 to REQUIRED_DISTRO_FEATURES
bc9450c evince: add x11 to REQUIRED_DISTRO_FEATURES
121a333 dconf: add x11 to REQUIRED_DISTRO_FEATURES
74ee171 libunique: add x11 to REQUIRED_DISTRO_FEATURES
258f4f3 pavucontrol: add x11 to REQUIRED_DISTRO_FEATURES
c30411d gtkmm: add x11 to REQUIRED_DISTRO_FEATURES
d08864a opencv: checking existence of /usr/lib
cb24773 libeigen: set tarball name as ${BP}.tar.bz2
00b89f2 opencv: fix QA issue
d8d90a6 openjpeg: rename the download file
dcfb513 apache2: include .load files in modules.d
0ec9cb2 asio: fix a musl compilation warning
c840f78 asio: DEPENDS on openssl
d2a990b lockdev: Pretend GNU libc on musl
02bca9e libplist: Remove rpaths surgically
45c2854 augeas: fix QA warning
ebc3e16 edac-utils: fix systemd service
54b566a mariadb: use faster download URL
4ef0a72 krb5: Add -fPIC to compile flags
976fccd meta_oe_security_flags.inc: Add libcec, libmodplug, libcdio
2c3aaa7 meta_oe_security_flags: Disable PIE for s3c64xx-gpio/s3c24xx-gpio/cpufrequtils
9869a2d python-m2crypto: inherit siteinfo
f169b40 ttf-abyssinica: update SRC_URI
cce0d82 xterm: package /usr/lib/X11 to avoid installed-vs-shipped error on ppc64
2e71e6a fftw: Remove the fftw-dev package dependency on non-existent fftw package.
14c4d27 Revert "physfs: move to sources found at github/supertux"
24c9c2b wireshark: install missing header files
b840fce tunctl: fix QA warning for GNU_HASH
705a4c1 vblade: fix QA warning for GNU_HASH
a3d23d2 tsocks: fix QA warning for GNU_HASH
35dfe1a zeroconf: fix QA warning for GNU_HASH
052fe5e nuttcp: fix QA warning for GNU_HASH
b6d9486 aoetools: fix QA warning for GNU_HASH
6ea4941 iscsi-initiator-utils: fix postinstall and systemd service file
dbabbd8 lftp: fix PACKAGECONFIG[readline]
6f06d75 drbd-utils: 8.9.3 -> 8.9.6
5336366 lksctp-tools: 1.0.16 -> 1.0.17
659d9d3 meta-openembedded: Add me to morty maintainer's list
6e91977 c-ares: update 1.11.0 -> 1.12.0
406ca64 libmnl, nftables: Update versions
dce441f openl2tp: Fix build with clang
aebf681 lowpan-tools: Fix errors found with clang
c8f78ec linux-atm: fix do_compile error
7a491f3 nodejs: update to 4.6.1
2396e30 openldap: use recommended backend mdb
ce2b1ac rsyslog: upgrade to 8.22.0
ca3a032 librelp: add recipe
2f7c00b libfastjson: add recipe
9af1859 vim: Update to v8.0.0022
b096119 glmark2: Enabling c++ 11 features
3587696 android-tools: fix native build
e63aa5b dhcp_%.bbappend: fix replaces original key warning
51867d2 rsnapshot: update to 1.4.2
a4f713b python-unidiff: python module for parsing diff data
b6f38dd mg: Update to 20161005
9db48dc joe: Fix build with clang
cc5414c glcompbench: Demand c++11 explicitly
b8ecf24 flashrom: Fix build with clang and aarch64
2449866 gpm: Remove nested functions
09ac7a6 libdc1394: Upgrade to 2.2.4
71670ff python-greenlet: Rename register from rX to xX for aarch64
73c6871 frame: Fix build with clang
2280f69 libplist: Squash warnings found by clang
577604b libmbim: Fix build with clang
558d935 libbonobo: Fix missing dep on orbit2-native and build with clang
3fd6133 libndp: 1.5 -> 1.6
ccec146 adduser: always add -M option for useradd
dd2748d dvb-apps: fix recipe, and update to the latest version
d0b44b7 v4l-utils: add support for "native" build
74d5222 inotify-tools: add recipe
00ba3c8 nodejs: update to 4.6.0
a87270e postgresql.inc: Fix do_configure error (could not find Python.h)
887cdc7 mpich: update to version 3.2
8cefb2e libsoc: update to version 0.8.2
1872a8a libsodium: update to version 1.0.11
a5bc9e9 python-evdev: update to version 0.6.4
d4185c6 python-dbusmock: update to version 0.16.7
ecc78a9 python-cmd2: update to version 0.6.9
c8f992c python-bcrypt: update to version 3.1.1
e15a35a python-werkzeug: update to version 0.11.11
2810af5 python-urllib3: update to version 1.18
40efc44 python-rfc3987: update to version 1.3.7
3f000b5 python-pytest: update to version 3.0.1
f35e4e6 nginx: update to version 1.11.5
951d31e python-pyopenssl: update to version 16.1.0
0a812a0 python-pymongo: update to version 3.3.0
96819dd python-pymisp: update to version 2.4.51.1
13e2470 python-prompt-toolkit: update to version 1.0.7
ee0f810 python-lxml: update to version 3.6.4
47d12fe python-cffi: update to version 1.8.3
b7ae781 python-certifi: update to version 2016.9.26
4faba62 libsocketcan: upgrade to 0.0.10
2acaa8f tipcutils: upgrade to 2.2.0
8ba31c9 gpsd, mongodb: use PACKAGECONFIG_CONFARGS instead of now empty EXTRA_OECONF
f882db6 ipmiutil: uncomment PARALLEL_MAKE
fb6585f jansson: update to 2.9
54c7e78 pcsc-lite: Seperate GPLV3 portions from BSD
fded4cf opencv: fix packaging and install
df9dac1 xdg-user-dirs: initial add 0.15
2846999 a2jmidid: initial add v8
d6cd37b jack: remove portaudio PACKAGECONFIG
0f8f197 jack: swap to jack2
a7e7ecc python-pybind11: add pybind11 for operability between C++11 and Python
7f5236b alsa-equal: Add recipe for version 0.6
def0e38 caps: Add recipe for version 0.9.24
1c072cb gvfs: fix fetch error
3796741 tesseract: upgrade to 3.04
0cc3d06 leptonica: add PACKAGECONFIG for giflib
b850fda phytool: Add recipe
8eef5ab wireshark: update to 2.2.1
5dbbc99 nfacct: added nfacct recipe to meta-networking
dd77c3d libnetfilter-acct: added new recipe for libnetfilter-acct 1.0.3
812e940 ntp : Add openssl to default PACKAGECONFIG options
8760099 atftp: fixes musl libc build
af864a7 geoip-perl: upgrade to 1.50
5abe6ea arptables: add the directory for default /etc/sysconfig/arptables
a0e2240 arptables: add arptables systemd service file
93b0d65 iscsitarget: resolve build error with linux kernel 4.8
9e8d127 squid: fix ptest failure
6f54f29 squid: specify sysconfdir and logdir
307d1c9 libtdb: fixes for deterministic builds
5175c03 libldb: fixes for deterministic builds
5291715 libtevent: fixes for deterministic builds
778a2b6 libtalloc: fixes for deterministic builds
fe652f8 libldb: fix for LIC_FILES_CHKSUM
f25aa3d libtdb: fix for LIC_FILES_CHKSUM
d4a36f6 libtevent: fix for LIC_FILES_CHKSUM
0014397 libtalloc: fix for LIC_FILES_CHKSUM
1a5ae6a mbedtls: upgrade to 1.3.17
a95726d samba: replace pam packageconfig by hard dependency
3fdfdd8 samba: un-blacklist
f604ee6 mariadb: update to version 5.5.52
6d8cbfa gmock: fixed installing pkgconfig file and libraries on x86_64 architecture
63707b5 gst-plugins-base: fix rare but annoying build errors
8b68ed9 jq: add support for jq-native + misc minor fixes
dacf9a8 onig: update 5.9.3 -> 5.9.6
a6ad786 onig: add support for orig-native + misc minor fixes
ea21a3f mpd: disable automatic start at boot - service is activated on demand by socket
c7f39c7 thrift: disable java
39b03b0 libsmi: rdepends on wget and set WGET as target path
a0ef440 mariadb: replace the CC with CC_VERSION and CXX with CXX_VERSION
b23da47 webmin: ensure correct PERLLIB path
42f52f5 ttf-lklug: use fedora24 for source
ba54b98 edac-utils: add systemd support and required dependencies for edac
6ee4e53 haveged: don't compile in mips16e mode
3e4a0e2 lvm2: enable option o_direct
3c56c4f multipath-tools: Obey exported LDFLAGS
5e17038 pam-passwedqc: Obey exported LDFLAGS
aba02d7 libnet: fixes musl libc build
08b315e rsyslog: fixes musl libc build
5a9b947 Remove bashisms
3bbec2b physfs: move to sources found at github/supertux
a0c3cea poppler: update to 0.47.0
b77869a xfce4-clipman-plugin: update to 1.4.0
81e5975 xfce4-notifyd: update to 0.3.2
13975d3 xfce4-calculator-plugin: update to 0.6.0
9e36ee0 xfce4-weather-plugin: update to 0.8.8
86fcbf9 xfce4-whiskermenu-plugin: update to 2.0.1
8d6f8cc exo: update to 0.11.1
a60b025 xfce4-power-manager: update to 1.6.0
bf02c16 php: update 5.6.25
335ea17 layer.conf: add LAYERVERSION and LAYERDEPENDS
47ab72f hostapd: Security Advisory-CVE-2016-4476
510bcc8 gperftools: fix to work on aarch64
6ba3b30 xfsprogs, xfsdump, dmapi: blacklist, needs upgrade to stay compatible with default kernel
754111f mariadb: add libdbd-mysql-perl to RDEPENDS
aad32cf mariadb: add libdbi-perl to RDEPENDS
934104c libdbd-mysql-perl: add new recipe
67d6ed4 p7zip: do not hardcode path in native wrapper script
93d85f6 mpich: fix QA issue and remove blacklist
520dee9 evince: add intltool-native to DEPENDS
b187e7c logwatch: 7.4.1 -> 7.4.3
076b261 gthumb, libgnomekbd, gnome-desktop: add dependency on intltool-native
18b35eb vboxguestdrivers: upgrade to 5.1.6 to fix build with default kernel from oe-core 4.8
b70d4e2 p7zip, mce-inject: update LIC_FILES_CHKSUM
bfa1054 mozjs: fix crash on non-x86 64 bit systems
7742daa fftw: fix native build
4e84633 fftw: fix reconfigure error introduced in previous patch
4703a3d lirc: Fix build with clang
b18ac6d gpsd: Fix build with musl
7b05caa net-snmp: Fix build issue found with musl
f4ed1bc rtmpdump: fix QA warning for GNU_HASH
c5bd43a cdparanoia: fix QA warning for GNU_HASH
b2d3dac rsyslog: upgrade to 7.6.7
0de66c2 openl2tp: Obey LDFLAGS in Makefile
9c9cee6 crash: Enforce use of LDFLAGS during make
be8aa13 grubby: add bash to RDEPENDS_grubby-ptest
dfcb67a imagemagick: depend on fftw not virtual/fftw
395cb2d fftw: build all configurations by one recipe
1edf97a ristretto: have tumbler back - it builds fine and is an important feature
64a63fc gvfs: update to 1.28.3
e3a2814 gimp: update to 2.8.18
4618962 upower: don't start on boot by default - dbus does that on demand
c1a6b86 jack: update to 0.125.0rc1
df0c384 tslib: move recipe from oe-core
fe249f8 xtscal: move recipe from oe-core
0d103ba pointercal: move recipe from oe-core
dd01b4b portaudio: upgrade to latest release
0feb5f7 poco: update to 1.7.5
82f2e2b chrony: add PACKAGECONFIG for nss, libcap
e05536c mpv: include PACKAGECONFIG_CONFARGS in EXTRA_OECONF
5d131fd libgit2: add dependency on libssh2
4f3ae98 gammu: add dependency on unixodbc
7be1355 jasper: add PACKAGECONFIG for opengl
24e387a openldap: fix CVE-2015-3276
14a532d imsettings: 1.6.8 -> 1.7.1
a3cdf02 networkmanager: Fix package splitting and systemd service issue
a617fdc minini: update SRC_URI with new download path
02f77f7 snort: Add lzma to PACKAGECONFIG
4fde248 syslog-ng: remove unused patches
c8c68fb ttf-dejavu
870df18 iscsitarget,netmap-moduls,vboxguestdrivers: Blacklist, not compatible with default kernel version 4.8
85b5755 xterm: 320 -> 325
e05f59e geoclue: Update to 2.4.4
2ed5ad2 krb5: upgrade to 1.13.6
dd0f1ad ttf-dejavu: 2.35 -> 2.37
0836228 packagegroup-xfce-base: add librsvg-gtk
39be411 python-pyyaml: 3.11 -> 3.12
94a6bb9 python-dbus: 1.2.0 -> 1.2.4
29a6cb6 tk: 8.6.4 -> 8.6.6
3b675cb thrift: fix build on gcc-6
170b5ea abiword: unblacklist and fix
3e9313c geany-plugins: unblacklist / fix known bugs / update to 1.28
d70ccec geany: update to 1.28
a0fdd7f zile: uprev from 2.4.9 to 2.4.11 and add acl support
ee23e9d python-pylint: python source code analyzer
5641b25 Revert "gpsd, foxtrotgps: blacklist, fails to build with new binutils-2.27"
c7137fd gpsd: make sure the recipe uses LDFLAGS
a231c43 android-tools: add recipe from AOSP tag android-5.1.1_r37
4fad615 collectd: CVE-2016-6254
2f15702 libqmi: fix floating dependencies
d505a7a lmsensors: sensors-detect: print a special message when there isn't enough cpu info
35ee0a0 xpext-dev: Remove RDEPEND on empty xpext package.
5b4a557 glcompbench: Fix issues causing failures in GCC6
f3cd93f glade: fix typo introduced in last patch
098d32e tcpreplay: upgrade to 4.1.1
12a1189 waf-samba.bbclass: Add PACKAGECONFIG_CONFARGS to CONFIGUREOPTS
3a436ad wireshark: update to 2.2
554bbfb traceroute: update to 2.1.0
467dc1f dhcpcd: update to 6.11.3
fbffcf3 vsftpd: allow sysinfo() in the seccomp sandbox
e4365a2 proftpd: remove the script ftpmail
10abb68 stunnel: 5.28 -> 5.35
b60c608 samba: fix build by linking with bfd instead of gold
365fd1e strongswan: 5.3.2 -> 5.5.0
b4b6465 samba: fix to package pidl in samba-pidl
dd1ddae lvm2: add PACKAGECONFIG for lvm thin provisioning
07c1512 glade3: unbreak, unblacklist and other fixes
e9b5fc1 gtkmathview: unbreak gcc-6 build and unblacklist
0368f99 libgnome: add intltool-native to DEPENDS
1b6ee01 libgsf: add intltool-native to DEPENDS
d55334c pavucontrol: replace intltool by intltool-native in DEPENDS
8f6a485 p7zip: update to version 16.02
0a5c689 upower: add systemd support
11178d1 openjpeg: uprev from 2.1.0 to 2.1.1
83bb725 rdfind: add initial recipe, rdfind 1.3.4
c0e0c77 glmark2: Fix build error due a missing space before a macro
ce01b0a imagemagick: upgrade patchset
c4ff1c9 smartmontools: 6.4 -> 6.5
84e0dbe sg3-utils: 1.41 -> 1.42
f2f1b91 rrdtool: 1.5.4 -> 1.6.0
1cb3cdc python-six: Add native and nativesdk to BBCLASSEXTEND
c0fe31f python-certifi: Add native and nativesdk to BBCLASSEXTEND
88d9c59 python-pyopenssl: Extend recipe to support Python 3
80b2d4d samba: blacklist, fails to build with new binutils-2.27
df531c5 accel-ppp: blacklist, fails to build with new binutils-2.27
d0f90f8 crda: fix QA Issue: No GNU_HASH in the elf binary
fab248a openvpn: 2.3.8 -> 2.3.9
3143193 squid: don't do squid-conf-tests at build time
615872a inetutils: fixes for ipv6 feature
20681ef znc: control ipv6 support based on DISTRO_FEATURES
940a621 wolfssl: control ipv6 support based on DISTRO_FEATURES
59a9d6f tnftp: control ipv6 support based on DISTRO_FEATURES
513ae03 tftp-hpa: control ipv6 support based on DISTRO_FEATURES
bbba35e stunnel: control ipv6 support based on DISTRO_FEATURES
020db7d squid: control ipv6 support based on DISTRO_FEATURES
23b7656 ntp: control ipv6 support based on DISTRO_FEATURES
823570b mtr: control ipv6 support based on DISTRO_FEATURES
021e60b daq: control ipv6 support based on DISTRO_FEATURES
2e10d8f cyrus-sasl: control ipv6 support based on DISTRO_FEATURES
d4b6c7d chrony: control ipv6 support based on DISTRO_FEATURES
c13a706 iscsitarget: fix QA warning for GNU_HASH
1157490 ipvsadm: fix QA warning for GNU_HASH
490d792 yp-tools: fix compile errors
c7e8da3 squid: add missing patch header
e3a0a0b postfix: 3.0.3 -> 3.1.1
908a27c lftp: 4.6.3a -> 4.7.3
215740d ifenslave: upgrade to 2.7
13434cb wireshark: update to 2.0.5
291946d directfb: add PACKAGECONFIG for inputdrivers
0d4f922 geany-plugins: blacklist because of QA issues
e19c4ab tracker: blacklist, fails to build with new binutils-2.27
939b83a gnome-menus, gnome-panel3, gnome-control-center: blacklist, gnome-menus fails to build because of python
8c29023 gpsd, foxtrotgps: blacklist, fails to build with new binutils-2.27
c63f9c4 openwsman: 2.6.2 -> 2.6.3
bb7101e lua: 5.3.2 -> 5.3.3
038a6e7 thin-provisioning-tools: add version 0.6.3
2e386b7 lvm2: tweak MODPROBE_CMD for cross compile
99d4505 php: update to 5.5.38 and 5.6.25
cfbbe3f gnome-keyring: Turn off QA check dev-elf
40a075a python3-jsonschema: set dependency to vcversioner
2cdd3d6 python3-vcversioner: add recipe
2fe1b29 asio: fix musl compilation (strerror_r)
cc9b89f networkmanager: 1.0.10 -> 1.0.12
353a8c3 mcelog: 1.09 -> 1.40
709bd23 mailcap: 2.1.45 -> 2.1.46
f119c2a gtk-doc: disable where necessary
13b511c gnome-control-center, gthumb: correctly remove a file from the source tree
3b0093c libglade: add a recipe from oe-core
19dc711 krb5: Fix S4U2Self KDC crash when anon is restricted
0887841 vim: split tools directory into vim-tools package
ac960a6 openldap: 2.4.43 -> 2.4.44
bf918d5 libhugetlbfs: add libhugetlbfs-perl to RDEPENDS
aedcb85 gitpkgv: Fix $GITPKV for a single named git source
996f296 nodejs: update to 4.5.0
5dbdf0c xfce4-mailwatch-plugin: control ipv6 support based on DISTRO_FEATURES
20d4b5c cherokee: control ipv6 support based on DISTRO_FEATURES
a37ad37 php: control ipv6 support based on DISTRO_FEATURES
07539fb iperf: control ipv6 support based on DISTRO_FEATURES
ad30a26 geis: Add python3-argparse module to RDEPENDS
010d99d efivar: fix PIC not found
26b1013 python-requests, python3-requests: Update to version 2.11.1
ed70cd5 python-pysocks, python3-pysocks: Add recipe for version 1.5.7
43895d9 python-prompt-toolkit, python3-prompt-toolkit: Add recipe for version 1.0.6
97691e5 python-ndg-httpsclient, python3-ndg-httpsclient: Add recipe for version 0.4.2
70978e3 python-wcwidth, python3-wcwidth: Add recipe for version 0.1.7
83fb5cc python-py: Extend recipe to support Python 3
9dda623 python-pytest: Extend support to python 3
1d68def python-pretend: Extend recipe to support Python 3
7d5ec62 python-iso8601: Extend recipe to support Python 3
c4728e0 python-cryptography-vectors: Extend recipe to support Python 3
2eb51b6 python-urllib3: Extend recipe to support Python 3
6a144af python-pyopenssl: Extend recipe to support Python 3
775a576 python-pycparser: Extend recipe to support Python 3
96b1670 python-pyasn1: Extend recipe to support Python 3
57ce75d python-idna: Extend recipe to support Python 3
559ec40 python-cryptography: Extend recipe to support Python 3
445e595 python-cffi: Extend recipe to support Python 3
90eedcc core-image-minimal-xfce: add kernel modules to image
2892bd6 vboxguestdrivers: Add recipe for vbox 5.x
fef7b1f libqb: 0.17.1 -> 0.17.2
7e8eb9a yaffs2-utils: fix QA warning for GNU_HASH
62799e1 libnet-dns-perl: 0.81 -> 1.06.
c0e4ad7 nodejs, arm: map TUNE_FEATURES to --with-arm-fpu parameters
dcba10c nodejs: use shared zlib instead of bundled one
0a2bd4f poco: update to 1.7.4
bd9f653 Revert "testfloat: Fix No GNU_HASH in the elf binary warnings"
8579f18 testfloat: Fix No GNU_HASH in the elf binary warnings
dc48e76 meta-oe: remove trailing spaces
303a585 meta-oe: remove PR = "r0"
289217b meta-oe: fix indentation
f2bec07 nginx.inc: use 4 spaces for indentation
8e6425c nginx: optimize systemd unit file
6c7c69c spitools: bump git revision (SRCREV)
7988dfe collectd: make /etc/collectd.conf a CONFFILE
8885e4a testfloat: Fix No GNU_HASH in the elf binary warnings
c4ea812 wipe: fix QA warning for GNU_HASH
7fdf353 libx86-1: fix QA warning for GNU_HASH
107689a meta-oe: Standardize use of "_append" versus use of "+="
1a2cfa6 libdbi-perl: 1.634 -> 1.636
3c598be libedit: 20150325-3.1 -> 20160618-3.1
60b675a hwdata: 0.288 -> 0.291
b7ab152 python-jsonschema, python3-jsonschema: Add recipe for version 2.5.1
25b5e35 python-strict-rfc3339, python3-strict-rfc3339: Add recipe for version 0.7
9756c90 python-functools32: Add recipe for version 3.2.3-2
6713a6b python-webcolors, python3-webcolors: Add recipe for version 1.5
06b06a3 python3-requests: Add native and nativesdk to BBCLASSEXTEND
7fdedb7 python3-click: Add native and nativesdk to BBCLASSEXTEND
f0c1242 python-rfc3987, python3-rfc3987: Add recipe for version 1.3.6
6e17cf0 python-progress, python3-progress: Add recipe for version 1.2
4efb76b gperftools: upgrade to 2.5
41abb7e dialog: 1.2-20150920 -> 1.3-20160424
c7419bb ctapi-common: 1.1-11 -> 1.1-14
1c080cc corosync: 2.3.5 -> 2.4.0
0ebc756 python-requests: update to version 2.11.0
ccae17a python-monotonic: fix RDEPENDS for minimal python install
6fea657 python-monotonic: update to version 1.2
52cb4d5 python-jsonpatch: Fix RDEPENDS to work on minimal python install
3c20885 python-jsonpatch: update to version 1.14
7cf433a python-daemonize: update to version 2.4.7
7d12dd4 opensc: update to version 0.16.0
30ef6ad libp11: update to version 0.4.0
1aaa57e engine-pkcs11: update to version 0.2.2
dcf56c9 utouch-mtview: remove blacklist
0fcdae1 utouch-frame: fix build errors associated with xmllint
469a6ca nginx: PACKAGECONFIG for httpv2
9e78e4b thunar-volman: Fix build with clang
b415e2a udisks2: Update to 2.1.7
30eb09f libgphoto2: Fix build when security flags are enabled with clang
46248dc php: fix aclocal-copy aclocal-copy
63d1973 python-pymisp: Update to version 2.4.49
1df4b34 python-lxml: update to version 3.6.1
622788e python-cython: update to version 0.24.1
e38635e python-certifi: update to version 2016.8.8
d1ebcbc gd: update to version 2.2.3
bb689de imagemagick: Add new PACKAGECONFIG for graphviz
8900925 libp11: fix fetch error.
ec66063 imagemagick: upgrade from 6.9.2 to 7.0.2
02a390b tnftp: tnftp20130505 -> tnftp20151004
5fdc25a proftpd: 1.3.5a -> 1.3.5b
5793d60 libnftnl: 1.0.5 -> 1.0.6
af7893c radvd: 2.11 -> 2.14
4c8b9e1 geoipupdate: 2.2.1 -> 2.2.2
999f6c4 geoip: 1.6.6 -> 1.6.9
617d495 dovecot: 2.2.21 -> 2.2.25
10a1066 dnsmasq: update to version 2.76
e86c7ef opensaf: make sure /etc/init.d/opensafd exist
35326fa samba: upgrade to 4.4.5
6555c34 libldb: upgrade to 1.1.27
174a083 ctdb: upgrade to 2.5.6
e37d93f libtdb: upgrade to 1.3.10
80d23a2 libtevent: upgrade to 0.9.29
4e0bc78 libtalloc: upgrade to 2.1.8
fcdd7e2 quagga: 0.99.24.1 -> 1.0.20160315
74d994e samba: remove ${localstatedir}/log
2cf000c wireless-regdb: update 2014.11.18 -> 2016.06.10
2ea482d crda: split wireless-regdb out into own recipe
1ea6e9a proftpd: fix system account login failure
4307c6a squid: fix configure host contamination
f849b9f utouch-frame,utouch-mtview: Blacklist
b76cee6 ninja: update to version 1.7.1
10670f5 xf86-video-ati: Set RRECOMMENDS to linux-firmware-radeon
894f7ce gateone: remove custom prefix for /var
fdeb947 glog: Update to version 0.3.4
32e7012 gflags: New recipe
6752cba python-pygobject: update to version 3.20.1
66e6830 hiawatha: update to version 10.3
1a8e7aa hiawatha-init: create log directory during init
3146e64 evtest: update to version 1.33
f1dcff4 espeak: fix package for gcc6
42dd9f3 pidgin: upgrade to 2.11.0
7f30230 efivar: 0.23 -> 0.24
2ad60db nginx: update to version 1.11.3
ea75c65 nginx: add the LDFLAGS to the link arguments
2646e97 epeg: update to the latest version
5a81915 dstat: update to version 0.7.3
355cdb7 libmbim: update to 1.14.0
e22b9e0 upower: update to version 0.99.4
d95a980 devicekit-power: remove obsolete package that was migrated to upower in 2010
7c25fa4 daemonize: update to version 1.7.7
5f9728d cryptsetup: update to version 1.7.2
7151a9d breakpad: disable ppc from being built.
7e2e442 mongodb: failes to build on ppc
8ddc1b0 concurrencykit: fix fetch errors.
ff38717 openwsman: fix fetch error.
87cc923 engine-pkcs11: fix fetch error
35d56a1 libmicrohttpd: update 0.9.49 -> 0.9.50
03220d6 ttf-lklug: add version 0.6-14.20090803cvs.fc24 to support Sinhala language
185f576 ttf-lohit: add version 2 to support Indian languages
8cb799e fontforge-native: support python module
59d7086 ttf-abyssinica: add version 1.500 to support Amharic language
98c0577 glmark2: Fix gcc 6 deprecated declaration error
c29c7ed glmark2: Fix gcc 6 configure error
9405f93 libmodbus: update to upstream develop version 3.1.4
886a5da opencv: Fix build with gcc 6.0
2e0332c rygel: add intltool-native dependency
ed969f3 gparted: add intltool-native dependency
c598865 libgxim: add intltool-native dependency
0cd0b09 networkmanager-openvpn: add intltool-native dependency
6a6438b gnome-bluetooth: add intltool-native dependency
9dd576b dconf: add intltool-native dependency
3d0ca85 gupnp-tools: add intltool-native dependency
9e92fdc gegl: add intltool-native dependency
c16a8d6 gtksourceview2: add intltool-native dependency
8d84f58 geoclue: add missing intltool-native dependency
5f7fc33 gnokii: add missing intltool-native dependency
e231b02 libgit2: add a recipe for libgit2 version 0.24.1
fdb1bbe daemontools: fix QA Issues for daemontools and fix a warning for daemontools-native
92c500e postgresql: 9.4.5 -> 9.4.8
aff7b7e ccid: update to version 1.4.24
5d05955 asio: update to version 1.10.6
8bed54a Revert "gnome-disk-utility: blacklist because of avahi-ui"
70e7f34 meta-gnome/layer.conf: enable gtk for avahi-ui
4947695 xerces-c: upgrade to 3.1.4
b0ae995 ninja: support target builds
41414e0 adduser: upgrade to 3.115
7f4f2d7 grubby: fix no GNU_HASH warning
e48d02b network-manager-applet: addmissing intltool-native dependency
1d41fe4 mozjs: Fix incorrect usage of PN.
db97c32 gedit: remove blacklist caused by gtksourceview2 / fix/cleanup build
2ed31c7 modemmanager: update to 1.6.0 and unblacklist - libqmi was fixed
5b5bad7 libqmi: update to 1.16.0
2c86452 libgnomeui: update to 2.24.5 / fix build on gcc6 / cleanup
e9bf73f nostromo: add dependency for nroff used during compile phase
aac86aa nostromo: remove useradd of a user already provided by base-passwd
da81d9e proftpd: return stderr to syslog
bc8fd52 ntp: make ntp and alternative for ntpd
32a6fd4 samba: inherit update-rc.d to manage init script
8b28f07 bridge-utils: various build fixes (musl & CFLAGS)
9fb484e proftpd: clean the host path in prxs
85d96d1 proftpd: fix PACKAGECONFIG settings
f8dd8cd proftpd: start at boot time
4c854d2 wireshark: inherit perlnative
03b76ca squid: upgrade to 3.5.20
fa2c10c curlpp: fix QA issue for cav-octeon3
3683e46 snort: fix to remove from blacklist
b2eae93 meta_networking_security_flags.inc: add weak assignment for lcl_maybe_fortify
abf5445c meta-networking: override SECURITY_CFLAGS for c-ares
6204c13 c-ares: use our compilation flags
53794a7 atftp: do not create user nobody
7e4f225 python-mccabe: Remove unnecessary setup_requires pytest-runner
6cb4eb3 mercurial-native: upgrade to 3.8.4
7482f2d libssh2: Add native to BBCLASSEXTEND
cfdf135 nostromo: update to version 1.9.6
181f5f8 webmin: upgrade to version 1.801
df5141a libssh2: upgrade to 1.7.0
d71cccd libssh: upgrade to 0.7.3
d98b1a3 sysbench: add new recipe
a720b93 libnih: add new recipe to meta-oe
26fbc9b libebml: fix do_unpack failure
8f4c447 packagegroup-tools-bluetooth: Fix incorrect LIC_FILES_CHKSUMs
30eab2d xfce4-vala: unbreak by telling configure new vala API version
6255219 mariadb: upgrade to 5.5.50
4b24a6c psqlodbc: Add the new recipe
8bb4a8b unixodbc: Add the new recipe
f9f8578 efivar: add COMPATIBLE_HOST item
f5da671 x11vnc: fix do_patch failed
292d8f1 Revert "postgresql: blacklist because tcl in oe-core is broken for last month"
b142ab5 python-imaging: Fix CVE-2016-2533
6398643 juce: Improved juce class and recipes
3bbc28d juce: Added support for JUCE framework
ca6edca python-pygpgme: update tests
8dca4ab python-pygpgme: update ptest output format
9bf3e36 collectd: replace deprecated readdir_r() with readdir()
5ed0925 makedumpfile: add makedumpfile 1.6.0
a63b404 minicoredumper: add the recipe
014c361 grubby: add grubby 8.40-1
520610b xfce4-terminal: add dependency on vte9-termcap
1a6e6a9 phpmyadmin: upgrade to 4.6.3
aa01ab9 php: update to 5.5.37 and 5.6.23
0b6853f ttf-vlgothic: add a ttf font
5a319d3 ttf-liberation-sans-narrow: add a ttf font
06e58b6 cfengine: add recipe and base policy
898b397 tokyocabinet: add recipe
00f6dc9 poco: update to 1.7.3
958bfe3 contrib: add MIPS_INSTRUCTION_SET
ba733d1 klibc: fix install destination in 64bit env
eeaf3dd uw-imap: use cross-tools to create static library
4c03228 augeas: Move from oe-core
74466fc libsodium: Update to 1.0.10.
d0c4bdc zeromq: Update to version 4.1.5.
7707dd5 apache2: update to version 2.4.23
97e2e15 freeglut: add opengl to REQUIRED_DISTRO_FEATURES
9efd12b nginx: update to version 1.11.2
96fd3c5 mousepad: remove blacklist caused by gtksourceview2
ca36344 gtksourceview2: fix build with gcc6
a1647ea Mpd: use libsystemd
273be2e directfb: move recipe to meta-oe
37e1dd1 sshfs-fuse: update to 2.8
20df863 nodejs: update to 4.4.7
d209e32 x11vnc: remove redundant RPATH to fix QA issue
e7aeb11 libxfce4ui: Use native intltool for building the lib
b813911 cpuset: add new python package
ecf41ac libmad: add the recipe
1f87c7f mpg123: remove the recipe
5c69367 python-flask-bootstrap: update to version 3.3.6.0 and fix RDEPENDS
9d1d1e8 python-flask-navigation: update package RDEPENDS
06c87ef python-flask-bcrypt: update package RDEPENDS
01b7c1d python-flask: update RDEPENDS to include python-click
d070f5a python-click: add recipe for the python click package required by the new version of flask
a7195fc python-feedformatter: add package RDEPENDS
7ebe715 python-evdev: update to version 0.6.1 and add package RDEPENDS
18d5f11 python-feedparser: add package RDEPENDS
878ec0c python-epydoc: add package RDEPENDS
2daf0b0 python-dominate: update to version 2.2.1 and fix RDEPENDS
786b54e python-flufl-enum: remove deprecated package
468e565 python-django-south: add package RDEPENDS
795dc3f python-django: update to version 1.9.7 and add the required RDEPENDS
ac2336f python-dbusmock: update to version 0.16.6 and update required RDEPENDS
3cac200 python-cmd2: update RDEPENDS to pull in required packages
ae9a0c5 python-cryptography: update to version 1.4 and remove patches now available with the latest release
d212af4 lirc: inherit python3native instead of pythonnative
5e18b65 python-cffi: update to version 1.7.0
ca90791 python-decorator: add package RDEPENDS
9a3bf8e python-backports-ssl: add package RDEPENDS
8cde32a python-bcrypt: update to version 3.1.0
9c00cf3 python-six: update RDEPENDS to work on both python2.7 and python3
8d55746 python-werkzeug: update RDEPENDS to work for minimal python2.7 and python3
df36dff pyrtm: Add RDEPENDS to the package
04923b4 pyrtm: update to version 0.4.2
97f8a24 python-pyephem: add RDEPENDS to package
d27ad56 python-ujson: correct RDEPENDS to pull in needed python packages
63ebe28 python-urllib3: correct RDEPENDS to work on a minimal python instance
aa16b31 python-urllib3: update to version 1.16
b7efea7 python-vcversioner: add RDEPENDS for the package
bc892fb python-vcversioner: update to version 2.16.0.0
045d79e python-visitor: update to version 0.1.3
569cab0 python-vobject: add RDEPENDS for the package
5b4b806 python-vobject: update to version 0.9.2
f8ccd64 python-werkzeug: update to version 0.11.10
39fdd2e python-wtforms: add RDEPENDS to work correctly in minimal python environment
8f85bf0 python-wtforms: update to version 2.1
53f8a49 python-yappi: correct RDEPENDS to work on a minimal python install
d04adba python-zopeinterface: update to version 4.1.1
4e52a2e python-tornado: remove deprecated version 2.2.1
001dad1 python-xlrd: add RDEPENDS to allow module import with a minimal python install
5cfe9e7 python-xlrd: update to version 1.0.0
812162c meta-python: Add Derek Straka as a maintainer
4b65102 python-imaging: Add patch to fix host sysroot fails
f735a9c python-setuptools-scm: Add python-setuptools-scm bb
a9b7ae5 python-pytest-runner: Add python-pytest-runner bb
45baacb python-mccabe: Add python-pytest-runner dependency
8027e53 python-mock: Add python-pbr-native dependency
093d271 python-pbr: Add python-pbr bb
4fbb4d2 net-snmp: initscripts are located in net-snmp-server-snmp package
582eddb net-snmp: fix snmpd crash via AgentX connection
a27d4a7 openconnect: PACKAGECONFIG certain dependencies
303d9ea python-pyserial: update to version 3.1.1
e4691bb python-pymisp: update to version 2.4.48.1
116d715 python-flask: upgrade to version 0.11.1
0f89c4b python-decorator: update to version 4.0.10
5f92f38 python-yappi: add a recipe for a python profiler
45fc7c1 python-pyephem: update recipe to use the pypi class
1bef833 python-m2crypto: update recipe to use the pypi class
14e11e7 python-pyro4: update recipe to use the pypi class
7edad4d pypi: update the base pypi url to use the package info without requiring the hash
216e956 netmap: blacklist
b6e805c Samba: use only libsystemd
6b2fc93 lftp: fix issues with multiple signbit definitions and remove from the blacklist
3647a2c crda: fix errors about unused variables and remove from the blacklist
1cb7275 gnome-terminal, toscoterm, vala-terminal, xfce4-terminal: use vte9
ce37942 vte9: Add old vte into meta-oe
377d67a gtest: fix installation in multilib
5cdb839 gnome-disk-utility: blacklist because of avahi-ui
7a925f7 analyze-suspend: Bump to latest Git version
0e10dc7 efl e-module.inc: fix fetching in multi-lib configs
c29c8e3 krb5: add systemd support
016e748 Revert "python-pygobject, python-cloudeebus, python-dbusmock: Blacklist because of python-pygobject is broken"
0963084 python-cloudeebus: fix do_compile failure
c06411f python-pygobject: fix do_configure failed
64d874f libebml: don't rely on make -e, obey LDFLAGS
cff7a47 vboxguestdrivers: obey LDFLAGS
55dfb1b epdf, evince, tracker, gimp, tumbler: Remove blacklist caused by poppler build failures
979760c evince: fix build errors with gcc-6
675d1df poppler: fix ambiguity on math functions related to gcc-6
9b9eb83 faac: address gcc-6 narrowing errors via an explicit cast
d516719 libqmi: update to version 1.14.2
559c14a crash: update to version 7.1.5
80def85 geis: add a patch to fix incorrect indentation issues and remove -Wno-error=misleading-indentation
90488aa tvheadend: add a patch to fix issues with gcc 6 and drop the -Wno-error=misleading-indentation
d24e984 p7zip: update to version 15.14.1
0647b7d iperf: resolve issues with gcc6
e092a95 v4lutils: Update to latest upstream
9222832 libgphoto2: correct compatibility issues with libjpeg-turbo-1.5.0
7e8e0fb python-pyephem_3.7.6.0.bb: Add new recipe.
19ef3af gtk-engines: Move from oe-core
9cd117a chrony: Versatile implementation of NTP
5c8efcc curlpp: fix build with gcc-6 and remove blacklist
f316c4a wireshark: update to 2.0.4
13db3c6 ntp: Security fixes via Upgrade to 4.2.8p8
f0756d1 crda, lftp, curlpp: blacklist, fails to build with gcc-6
0561402 libgphoto2, v4l-utils: blacklist, not compatible with libjpeg-turbo-1.5.0
c119940 grail: update to version 3.1.1
ee42aeb fwts: add CFLAG to ignore misleading indentations
629d67a geis: add CFLAG to ignore misleading indentations
0aac049 tvheadend: add CFLAG to ignore misleading indentations
baa1ab2 fbreader: fix return code issue on gcc6
47e84b3 tcsh: fix the wait definition to support gcc6
87fc6bb geos: use std::isnan to support gcc6
aebac65 libeigen: update to 3.2.8
03f0be6 mpv: use waf.bbclass
7d399ca mpv: add DESCRIPTION
431ec7e libcgi-perl: add version 4.28 to provide perl-module-cgi
af6af86 redis: fix hiredis build so it's less failure-prone and links properly
548effe ruby.bbclass: Fix usage with python3
44ea80d postgresql: blacklist because tcl in oe-core is broken for last month
b0fae32 python-pygobject, python-cloudeebus, python-dbusmock: Blacklist because of python-pygobject is broken
33fc64c faac, iperf, crash, espeak, open-vcdiff: blacklist, fails to build with gcc-6
25a78e5 abiword, fbreader, tvheadend, glmark2, libqmi, modemmanager, thrift, wvdial, wvstreams, dt, collectd, gtkmathview, tcsh, glcompbench, geos, libspatialite, geis, grail, opencv, openwbem, fwts: blacklist, fails to build with gcc-6 or glibc-2.24
d78c521 evince, epdf, gdm, gnumeric, libgnomeprint, tumbler, gedit, gnome-panel, gnome-session, gnome-terminal, libgnomecups, gtksourceview2, libgweather, libgnomeui, tracker, gimp, poppler, mousepad, goffice, tasks: blacklist, fails to build with gcc-6
25e9400 fwts: Remove 14.09.00, newer 14.12.00 is in recipes-test
6dcee71 elementary, evas-generic-loaders: Drop poppler dependency
5221399 mpv: Media Player
1847d0b libass: add newer version
e781f8e mpd: update to 0.19.15
d609617 meta-oe: override SECURITY_CFLAGS for llvm3.3
f90b8d3 toybox: Upgrade to 0.7.1
3ff2e22 libftdi: update to 1.3
8b32e60 nginx: update to version 1.11.1
98c4e4f nginx: update stable version to 1.10.1
b5091a1 python-tornado: add missing python2 runtime deps
7650008 python-singledispatch: initial recipe for version 3.4.0.3
4c110ff python-backports-abc: initial recipe for version 0.4
4594d24 syslog-ng: expand service file @variables@ earlier
b27938b opencv: Reorder PACKAGES variable
d0952ad opencv: Make gphoto2 dep optional via PACKAGECONFIG
24fe575 abiword, gnome-vfs: Use print as a function
80cf5e0 netmap-modules: Avoid type warning with python v3
55cb2ec gitkpkgv: Ensure files are closed
b4d7caa gnome-doc-utils-stub: add a recipe
f0de8ed cmpi-bindings: fix build with python 3
a18991d python-pygobject: add a recipe
4f93338 python-pyrex: add a recipe
56a4d21 python-imaging: add a recipe
25a0003 python-dbus: add a recipe
f9ce43c Remove unnecessary exports of HOST_SYS and BUILD_SYS in python-based recipes
e5f01ca nano: fix license to GPLv3.
240e2eb plymouth: allow disabling the dracut dep
852cd67 luajit: fix build issues, obey more vars
0cce9fe efivar-native: fix compile failure with older host gcc (<=4.6)
25f31a5 nodejs: update to 4.4.5
ff41698 gnome-menus: Fix QA warnings.
c2c895e python-simplejson: change to setuptools
350bd0b dvd-apps: Fix several QA WARNINGS
6de06e4 geany-plugins: fix build
7be16bc libldb: add missing libaio dependency
126e48c libtalloc: add missing libaio dependency
81f3fb0 libtdb: add missing libaio dependency
18a1d69 libtevent: add missing libaio dependency
a6a3671 cifs-utils: make samba conditional dependency
d765990 netcat-openbsd: fix qa warning
a2256bb esmtp: Fix rootfs creation errors
7832c67 postfix: Fix rootfs creation errors
62e3df2 netkit-rsh: fix build issue.
880c3dc opensaf: update to 5.0.0
d46c89a squid: CVE-2016-4553
9a13040 ntp: avoid floating dependency on mdns (aka mDNSResponder)
387824f openct: Fix rootfs creation errors
e49c2c2 iptraf: Fix rootfs creation errors
5ec8663 fontforge: add back gnulib to DEPENDS
5adc7db florence: move to latest GTK2 version 0.5.4
5cc904b python-thrift: update to version 0.9.3
ad7fb0f python-urllib3: update to version 1.15.1
9a527fc python-pyudev: update to version 0.20.0
79174d7 python-pytz: update to version 2016.4
2383776 python-pyroute2: update to version 0.3.22
9e37a25 python-pyparsing: update to version 2.1.4
faa6511 python-pyopenssl: update to version 16.0.0
b1ca690 python-pyflakes: update to version 1.2.3
00ec1d5 python-psutil: update to version 4.2.0
3fe43f5 python-pip: update to version 8.1.2
b031bef python-monotonic: update to version 1.1
852f2a7 python-mock: update to version 2.0.0
81b3aa3 python-greenlet: update to version 0.4.9
beb3060 python-enum34: update to version 1.1.6
80517d2 python-cffi: update to version 1.6.0
87c914b python-backports-ssl: update to version 3.5.0.1
ab22ea3 sthttpd: update to 2.27.0
02b52ee freeglut: Add a recipe freeglut to replace mesa-glut
bb26012 mesa-glut: Remove the recipe
b917018 assimp: Add recipe for Open Asset Import Library
21a9e43 initramfs-kexecboot-klibc-image: Skip for nios2
f6db877 x11vnc: remove old libtool macros from acinclude.m4
a3d4309 networkmanager: add missing dep on dbus-glib-native
0839562 networkmanager: add missing dep on intltool-native
b22c290 openlmi-networking: add missing dep on konkretcmpi-native
4972132 mg: stop relying on make -e
2318f8e llvm: make llvm-config wrapper error message more understandable
4ff633a uim: Fix Warning
35c3f12 geany-plugins: initial add 1.27
1d4d6e7 geany: update to 1.27
5ce609f poppler: update to 0.43.0
207e971 python-cryptography: fix compile issue with openssl 1.0.2h
33f5a5b apache2: fix libtool's path in apxs
5e5e66d python-requests: update to version 2.10.0
319bbc1 python-pymisp: update to version 2.4.36
9aa6735 python-flask-login: update to 0.3.2
ae20c6d python-flask-pymongo: update to 0.4.1
daf619e rrdtool: only unset PERLHOSTLIB in do_configure
5ad18c4 pytest: fix runtime issues.
569b11c obexftp: mark as compatible with bluez5
5da9408 krb5: fix uninitialized variable warning
87084fe libhugetlbfs: enable build for x86-32
c9c82d3 efivar: fix unknown option while gold linker used
beac69f efibootmgr: sync with upstream while efivar upgraded to 0.23
f0a1e61 efivar: fix do_install failed
d68c687 efibootmgr: update and unblacklist
fe4cb8b efivar: update to 0.23
bee16ff gnulib: bump git revision
44a13e6 libsoc: update to 0.8.1
901b9a2 libxkbui: Fix license WARNING
09ccbeb python-numeric: Add LLNL license
df2e3bb netcf: unconditionally remove gnulib dir to support reconfigure
8fe7d1e proftpd: fix mod_tls build issue
37297c3 nbd: fix LIC_FILES_CHKSUM
23ce88c znc: fix QA issue and remove from blacklist
0939421 netcf: fix mishandling of gnulib submodule causing build fail
00ec8bc autotools-bootstrap: make bootstrap package specific.
273d797 wireshark: Fix new QA Error
8b5662b curlpp: fix recipe
2f3a499 nodejs: update to 4.4.4
3384b41 upower: fix WARNING
76754d0 libwnck: fix WARNING
631efea python-dateutil: update to version 2.5.3
e62215e pypi: update the pypi class to support the updated URL scheme
ef735bb acpitests: Fix license issue
c45e8a3 tracker: update run-time dependencies
0f808a9 tracker: add missing depends for intltool-native
aebbd94 tracker: add a patch to support giflib 5
1bc1405 libnice, farsight2: unblacklist as libnice's nice.pc issue fixed.
786ab84 wvstreams: fixing segfault with new gcc optimizations
102e699 llvm3.3: Disable auto -dbg packages
5397ae5 packagegroup-tools-bluetooth: Selects the tools appropriate for the version of bluez being used.
4adec18 lmbench: avoid gcc optimize-away multiplication
35c7a5b leptonica: add PACAKGECONFIG for openjpeg
f347220 leptonica: update to version 1.73
904fd8d giflib: update to version 5.1.4
a6c172e poppler: add --std=c++11 to fix build with Qt 5.7
9087a59 pidgin: use pkg-config instead of hardcoded paths or python-config
fc1ee27 pidgin: add PACKAGECONFIGs
2ff8e7e pidgin: Update to 2.10.12
0980690 toybox: Upgrade to 0.7.0
3391c2e toybox: Remove out-of-date patch
be3d4c0 rrdtool: fix do_configure failure on some hosts
b957e27 python-pyparsing: modify build to correctly use setuptools rather than distutils
3132af1 opencv: Fix metapkg dependencies for opencv-java and opencv-locales
5bece73 fbreader: add cflags fix for fribidi 0.19.7
821414a protobuf: split package to main and compiler packages
3bae88a protobuf: add protobuf-c recipe
a78aebb packagegroup-tools-bluetooth.bb: Selects the tools appropriate for the version of bluez being used.
c7265a6 glmark2: wl_surface should be destoryed after destroying wl_window
f4ee554 xfce4-eyes-plugin: update to 4.4.5
d2e10b7 xfce4-cpufreq-plugin: update to 1.1.3
e211113 fluidsynth: set correct portaudio packageconfig dependency
7632939 xfce-polkit: fix warning not able to copy license
b86f2fa meta-xfce: add intltool-native to DEPENDS
c31ccab vim: Upgrade to v7.4.1689
6c0caad tinymembench: update to version 0.4.0 plus bug fixes
72c6229 nginx: update to version 1.9.15
e7ead2b nginx: update stable version to 1.10.0
c1ede48 iperf3: update to version 3.1.2 plus bug fixes
3df0760 iozone3: update to version 434
a29cece fio: update to version 2.9
4a47738 fribidi: update to version 0.19.7
7af4e55 sox: dep on ffmpeg, not libav
0307151 syslog-ng.inc: fix prerm script & class includes
1bd027e sblim-sfcb: add missing dependency on unzip-native
c22af99 libmicrohttpd: update to 0.9.49
c16b6e6 fluentbit: add new recipe
cdd326f fbida: use separate builddir
e03e5d6 netdata: replace deprecated 'base_contains' with 'bb.utils.contains'
546d55d netdata: fix whitespace in the patch that caused failures when applying
23a1c2e netdata: add new recipe
831f710 ltrace: Remove deprecated readdir_r()
a61cb51 ltrace: Error Fix for ARM
53adf32 thrift: Add recipe for Apache Thrift.
f79a851 squid: CVE-2016-3947
275b6c3 meta-networking: use bb.utils.contains() instead of base_contains()
7a9c626 wireshark: update package to 2.0.3
abc6e49 rp-pppoe: Fix rootfs creation errors
1296817 openconnect: add missing dependencies
6830c3b proftpd: CVE-2016-3125
f59daf6 samba: remove dependency on ctdb
8cd5bc5 ntp: Security fixes via update to 4.2.8p7
ce61eea dovecot: fix QA issue and remove from blacklist
73fa6a9 net-snmp: enable ipv6 support
aa8e156 samba: fix paths in sysv initscript
ffeb84e samba: fix QA warnings.
6fbaf07 mozjs: fix configure host contamination
b5a7dfb mariadb: Fix rootfs creation errors
d1be64c wayland-fits: update, get out of PNBLACKLIST
0d857a1 hwdata: add new recipe
98951db rsnapshot: use ${bindir} as rsync location
1e17ae1 mozjs_17.0.0.bb: Fix do_srpm error
4d6c013 krb5-CVE-2016-3119.patch
c16d59f xfce4-weather-plugin: update to 0.8.7
18e5f63 xfce4-whiskermenu-plugin: update to 1.5.3
eeac9ad poppler: update to 0.4.1
dad9a78 meta-initramfs: use bb.utils.contains() instead of base_contains()
aa72c9e meta-gnome: use bb.utils.contains() instead of base_contains()
0d7c615 meta-efl: use bb.utils.contains() instead of base_contains()
ab9f4d9 meta-multimedia: use bb.utils.contains() instead of base_contains()
f08b75f meta-xfce: use bb.utils.contains() instead of base_contains()
e5c807b meta-webserver: use bb.utils.contains() instead of base_contains()
21f10c1 meta-oe: use bb.utils.contains() instead of base_contains()
723b55f libubox: update to the latest git version for bug fixes
b188239 concurrencykit: update to version 0.5.1
2675ade bootchart: update to 1.17
08f7d59 libgee: update to the latest stable version (0.18.0)
819f73f log4cplus: update to version 1.2.0
3be4e86 libio-pty-perl: update to version 1.12
5d67ab6 libxml++: update to the latest stable version (2.38.1)
85c72f4 python-parted: update to version 3.10.7
d95712f mozjs: fix armeb builds
63606ed initramfs-{debug,kexecboot}-image: zero out the rootfs_extra_space in initramfs images
33fc545 gtest, gmock: allow building gtest-native and gmock-native
969cd47 crash: add cross package
ff70a60 Add simple-mtpfs recipe
834392b python-visitor: Add recipe for version 0.1.2
d3767d9 python-netaddr: Add recipe for version 0.7.18
5a20e87 python-dominate: Add recipe for version 2.2.0
71dcf41 flite: fix license issue.
7a7863b xcursorgen: fix License issue
40d7128 udisk2: fix build issue with missing depends
fb30db6 nodejs: update to 4.4.3
6475f14 apache2: update to 2.4.20
1eac35d libmodbus: add support for the libmodbus development release
9676ebb python-wtforms: Add recipe for version 2.0.2
49b3517 python-pam: Add recipe for version 1.8.2
4be7006 python-flask-wtf: Add recipe for version 0.12
3e4ecdd python-flask-sqlalchemy: Add recipe for version 2.1
381d498 python-flask-navigation: Add recipe for version 0.2.0
962e2ab python-flask-bootstrap: Add recipe for version 3.3.5.7
00d5837 python-flask-bcrypt: Add recipe for version 0.7.1
5a7f267 python-blinker: Add recipe for version 1.4
cb95c5e python-bcrypt: Add recipe for version 2.0.0
bfa6d1c umip: unblacklist and disable parallel make
bbb8373 nginx: update to 1.9.14
d436de8 llvm: correct fix for the multilib libdir
6336472 python-whoosh: update to 2.7.4
fdb2b66 python-decorator: update to 4.0.9
3fa8c30 python-dateutil: update to 2.5.2
4a90cbc python-cython: update to 0.24
ead0d3b krb5: add native and nativesdk extend
c073b9a ne10: use bb.debug for debug messages
54a18a0 libbonobo.inc: add libbonobo-bin package by lib_package class
d5e7b4b libhtml-parser-perl: update to 3.72
591cd39 libextutils-installpaths-perl: update to 0.011
edb883e libextutils-config-perl: update to 0.008
4c6da8a libencode-perl: update to 2.83
caeea00 libdbi-perl: update to 1.634
fa4bbb8 libdbd-sqlite-perl: update to 1.50
6a7fed1 libcurses-perl: update to 1.34
547fe92 libcrypt-openssl-random-perl: update to 0.11
2a42fba libclass-method-modifiers-perl: update to 2.11
4f6ba02 libcapture-tiny-perl: update to 0.36
ba5f235 adduser: update to 3.114
cc6b324 libtinyxml2: update 2.2.0 -> 3.0.0
536d146 gnome-themes: fix icon-name-mapping not found
c4358e7 fcgi: update SRC_URI to match new path to fcgi-2.4.0.tar.gz archive
9ece354 openbox: add run time dependency on openbox-theme-clearlooks
7321fe2 nodejs: update to 4.4.2
3dfea34 vpnc: stage vpnc-script
eb4ce40 openconnect: add recipe
388adb9 ctdb: drop duplicated DESCRIPTION
6914b91 ctdb: rdepend on procps
d1a8f14 ctdb: disable the service by default
ee61bec iscsitarget: resolve build error with linux kernel 4.3 and above
a9d1b61 c-ares: Add package to networking
60c1f6c lldpd: Update to version 0.9.2
12e31ce samba: add volatile file to support readonly rootfs
237ade5 dnsmasq: get systemd only working again
4caeb00 libtalloc: Update to latest stable
b20f3b1 libtdb: Update to latest stable
59b17c8 libtevent: Update to latest stable
37c158f libldb: Update to latest stable
70bde9a samba: Update to latest stable
ab62c74 cyrus-sasl: Drop unneeded group addition
REVERT: 247b126 Revert "leptonica: add PACAKGECONFIG for openjpeg"
REVERT: ff38c70 python-cryptography: fix compile issue with openssl 1.0.2h
REVERT: 107e624 nbd: fix LIC_FILES_CHKSUM
REVERT: f76ad6c znc: fix QA issue and remove from blacklist
REVERT: 9199968 netcf: fix mishandling of gnulib submodule causing build fail
REVERT: 3cec94a autotools-bootstrap: make bootstrap package specific.
REVERT: 761a686 wireshark: Fix new QA Error
REVERT: 88a4748 curlpp: fix recipe
REVERT: e00ad20 upower: fix WARNING
REVERT: d2077f0 libwnck: fix WARNING
REVERT: 84fdde3 acpitests: Fix license issue
REVERT: 947e7f1 libnice, farsight2: unblacklist as libnice's nice.pc issue fixed.
REVERT: f797b79 wvstreams: fixing segfault with new gcc optimizations
REVERT: 84f69f3 packagegroup-tools-bluetooth: Selects the tools appropriate for the version of bluez being used.
REVERT: e341fa0 lmbench: avoid gcc optimize-away multiplication
REVERT: 1726e71 leptonica: add PACAKGECONFIG for openjpeg
REVERT: ea71aa8 poppler: add --std=c++11 to fix build with Qt 5.7
REVERT: 0e06305 llvm3.3: Disable auto -dbg packages
REVERT: ebe5fb2 pidgin: use pkg-config instead of hardcoded paths or python-config
REVERT: 4a5b269 pidgin: add PACKAGECONFIGs
REVERT: 6bcf20d pidgin: Update to 2.10.12
REVERT: 085dcdc toybox: Remove out-of-date patch
REVERT: 7743d7e rrdtool: fix do_configure failure on some hosts
REVERT: 305329d python-pyparsing: modify build to correctly use setuptools rather than distutils
REVERT: 33874df opencv: Fix metapkg dependencies for opencv-java and opencv-locales
REVERT: 25b22fb packagegroup-tools-bluetooth.bb: Selects the tools appropriate for the version of bluez being used.
REVERT: d4b1497 glmark2: wl_surface should be destoryed after destroying wl_window
REVERT: 4ee8ab7 fluidsynth: set correct portaudio packageconfig dependency
REVERT: 87488dc xfce-polkit: fix warning not able to copy license
REVERT: c9b3f9f meta-xfce: add intltool-native to DEPENDS
REVERT: 76f7c9d sox: dep on ffmpeg, not libav
REVERT: 5e2bb87 syslog-ng.inc: fix prerm script & class includes
REVERT: 9f34a85 sblim-sfcb: add missing dependency on unzip-native
REVERT: e2764e6 fbida: use separate builddir
REVERT: a1b71fe squid: CVE-2016-3947
REVERT: d824682 rp-pppoe: Fix rootfs creation errors
REVERT: 6812a4a openconnect: add missing dependencies
REVERT: 959b617 proftpd: CVE-2016-3125
REVERT: 2ae294d dovecot: fix QA issue and remove from blacklist
REVERT: ea52766 net-snmp: enable ipv6 support
REVERT: 2092396 ntp: Security fixes via update to 4.2.8p7
REVERT: fd1e5ea mozjs: fix configure host contamination
REVERT: ebb31a9 mariadb: Fix rootfs creation errors
REVERT: 852b40f wayland-fits: update, get out of PNBLACKLIST
REVERT: 8a1c490 hwdata: add new recipe
REVERT: d4cb722 rsnapshot: use ${bindir} as rsync location
REVERT: 2463098 mozjs_17.0.0.bb: Fix do_srpm error
REVERT: de2fe0d krb5-CVE-2016-3119.patch
REVERT: 470ab81 xfce4-weather-plugin: update to 0.8.7
REVERT: 01bf016 xfce4-whiskermenu-plugin: update to 1.5.3
REVERT: 51ad2f8 poppler: update to 0.4.1
REVERT: fe8fbf1 meta-initramfs: use bb.utils.contains() instead of base_contains()
REVERT: 2e3d033 meta-gnome: use bb.utils.contains() instead of base_contains()
REVERT: 33837ef meta-efl: use bb.utils.contains() instead of base_contains()
REVERT: d336edb meta-multimedia: use bb.utils.contains() instead of base_contains()
REVERT: 09ae3b6 meta-xfce: use bb.utils.contains() instead of base_contains()
REVERT: 9078b0d meta-webserver: use bb.utils.contains() instead of base_contains()
REVERT: cf18193 meta-oe: use bb.utils.contains() instead of base_contains()
REVERT: 0e6cc19 libubox: update to the latest git version for bug fixes
REVERT: 9f1c8ee concurrencykit: update to version 0.5.1
REVERT: fb946ee bootchart: update to 1.17
REVERT: 49d4df3 libgee: update to the latest stable version (0.18.0)
REVERT: 7166c0a log4cplus: update to version 1.2.0
REVERT: 0791add libio-pty-perl: update to version 1.12
REVERT: 9b956d2 libxml++: update to the latest stable version (2.38.1)
REVERT: 526a602 python-parted: update to version 3.10.7
REVERT: cd0fe0f mozjs: fix armeb builds
REVERT: 4d94318 initramfs-{debug,kexecboot}-image: zero out the rootfs_extra_space in initramfs images
REVERT: 146c382 gtest, gmock: allow building gtest-native and gmock-native
REVERT: 19284f3 crash: add cross package
REVERT: 70a46ba Add simple-mtpfs recipe
REVERT: a34566c python-visitor: Add recipe for version 0.1.2
REVERT: 4bc8f37 python-netaddr: Add recipe for version 0.7.18
REVERT: 07a6eeb python-dominate: Add recipe for version 2.2.0
REVERT: b58d78f flite: fix license issue.
REVERT: 9f8053b xcursorgen: fix License issue
REVERT: f98090c udisk2: fix build issue with missing depends
REVERT: d6a6190 nodejs: update to 4.4.3
REVERT: c9f8cc3 apache2: update to 2.4.20
REVERT: 8b15907 libmodbus: add support for the libmodbus development release
REVERT: 7a0519d python-wtforms: Add recipe for version 2.0.2
REVERT: 44aa637 python-pam: Add recipe for version 1.8.2
REVERT: 3e88e5e python-flask-wtf: Add recipe for version 0.12
REVERT: 9b1377a python-flask-sqlalchemy: Add recipe for version 2.1
REVERT: 8c69a06 python-flask-navigation: Add recipe for version 0.2.0
REVERT: 80279a3 python-flask-bootstrap: Add recipe for version 3.3.5.7
REVERT: a68a27c python-flask-bcrypt: Add recipe for version 0.7.1
REVERT: b72a23a python-blinker: Add recipe for version 1.4
REVERT: fc3b141 python-bcrypt: Add recipe for version 2.0.0
REVERT: 93aa4aa umip: unblacklist and disable parallel make
REVERT: bf34b1e nginx: update to 1.9.14
REVERT: 4fe750a llvm: correct fix for the multilib libdir
REVERT: b7cbd44 python-whoosh: update to 2.7.4
REVERT: 607e275 python-decorator: update to 4.0.9
REVERT: 2d50716 python-dateutil: update to 2.5.2
REVERT: 18872d2 python-cython: update to 0.24
REVERT: da664f7 krb5: add native and nativesdk extend
REVERT: e317d95 ne10: use bb.debug for debug messages
REVERT: 0d28aba libbonobo.inc: add libbonobo-bin package by lib_package class
REVERT: 1db7299 libhtml-parser-perl: update to 3.72
REVERT: e9d95a5 libextutils-installpaths-perl: update to 0.011
REVERT: 224dad6 libextutils-config-perl: update to 0.008
REVERT: f9156de libencode-perl: update to 2.83
REVERT: 26be6da libdbi-perl: update to 1.634
REVERT: ebf03b9 libdbd-sqlite-perl: update to 1.50
REVERT: 1e04c8b libcurses-perl: update to 1.34
REVERT: aedee46 libcrypt-openssl-random-perl: update to 0.11
REVERT: 5acf9a1 libclass-method-modifiers-perl: update to 2.11
REVERT: 32d95f3 libcapture-tiny-perl: update to 0.36
REVERT: c8f9b9c adduser: update to 3.114
REVERT: d4cde5c libtinyxml2: update 2.2.0 -> 3.0.0
REVERT: d34fc2a gnome-themes: fix icon-name-mapping not found
REVERT: c8ec1be fcgi: update SRC_URI to match new path to fcgi-2.4.0.tar.gz archive
REVERT: 37c75b3 openbox: add run time dependency on openbox-theme-clearlooks
REVERT: 88b739e nodejs: update to 4.4.2
REVERT: 3c76d0a vpnc: stage vpnc-script
REVERT: 51717e1 openconnect: add recipe
REVERT: afaf3c2 c-ares: Add package to networking
REVERT: cb87e40 samba: remove dependency on ctdb
REVERT: d73f12b samba: fix paths in sysv initscript
REVERT: d5baf78 samba: fix QA warnings.
REVERT: e123d76 ctdb: drop duplicated DESCRIPTION
REVERT: 7290932 ctdb: rdepend on procps
REVERT: dc0bc56 ctdb: disable the service by default
REVERT: 37c8e1f iscsitarget: resolve build error with linux kernel 4.3 and above
REVERT: eba63b3 lldpd: Update to version 0.9.2
REVERT: d7c6dc8 samba: add volatile file to support readonly rootfs
REVERT: 72a2f2b libtalloc: Update to latest stable
REVERT: 2aad141 libtdb: Update to latest stable
REVERT: 8176853 libtevent: Update to latest stable
REVERT: b325cea libldb: Update to latest stable
REVERT: 825cf15 samba: Update to latest stable
REVERT: 5aa6f37 dnsmasq: get systemd only working again
REVERT: abd1795 cyrus-sasl: Drop unneeded group addition
REVERT: 156b381 README: update maintainers list for krogoth

Change-Id: Id1c465d3fe39327bf35a475756b103eab8a90a02
git-subtree-dir: import-layers/meta-openembedded
git-subtree-split: 1efa5d623bc64659b57389e50be2568b1355d5f7
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/import-layers/meta-openembedded/contrib/oe-stylize.py b/import-layers/meta-openembedded/contrib/oe-stylize.py
index db8a363..ba4b87a 100755
--- a/import-layers/meta-openembedded/contrib/oe-stylize.py
+++ b/import-layers/meta-openembedded/contrib/oe-stylize.py
@@ -102,6 +102,7 @@
     'AR',
     'ARCH',
     'ARM_INSTRUCTION_SET',
+    'MIPS_INSTRUCTION_SET',
     'ARM_MUTEX',
     'ART_CONFIG',
     'B',
diff --git a/import-layers/meta-openembedded/contrib/tesseract-langs.sh b/import-layers/meta-openembedded/contrib/tesseract-langs.sh
deleted file mode 100755
index 50873c1..0000000
--- a/import-layers/meta-openembedded/contrib/tesseract-langs.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-#! /bin/sh
-
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-PV='3.02'
-
-# Sometimes the software package has a minor version, but language
-# packages have not.  Example: 
-#   software package: tesseract-ocr-3.02.02.tar.gz
-#   language package: tesseract-ocr-3.02.por.tar.gz
-MINOR_PV=02
-
-recipes_dir=$1
-
-usage() {
-    echo "Usage: `basename $0` <recipes dir> [ <download dir> ]"
-}
-
-if [ -z "$recipes_dir" ]; then
-    usage
-    exit 1
-fi
-mkdir -p "$recipes_dir"
-
-file_list_uri='https://code.google.com/p/tesseract-ocr/downloads/list'
-file_list=`mktemp`
-
-remove_dl_dir=
-if [ -z "$2" ]; then
-    remove_dl_dir=1
-    dl_dir=`mktemp -d`
-else
-    dl_dir="$2"
-fi
-
-mkdir -p $dl_dir
-
-tesseract_langs() {
-    wget -q -O "$file_list" "$file_list_uri"
-
-    grep -E 'a href="detail\?name=tesseract-ocr-'${PV}'\.[^\.]+.tar.gz&amp;can=2&amp;q=">' "$file_list" | \
-        sed -r -e 's/.*tesseract-ocr-'${PV}'\.*([^\.]+)\.tar\.gz.*/\1/' | \
-        grep -Ev '('${MINOR_PV}'|'${MINOR_PV}'-doc-html)' | \
-        sort -u
-}
-
-download_lang_files() {
-    local langs="$1"
-    local uri
-    for lang in $langs; do
-        if [ ! -e "$dl_dir/tesseract-ocr-${PV}.${lang}.tar.gz" ]; then
-            uri="https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.${lang}.tar.gz"
-            echo "Downloading $uri"
-            wget -q -P "$dl_dir" "$uri"
-        fi
-    done
-}
-
-create_recipe() {
-    local lang=$1
-    local tarball
-
-    tarball="$dl_dir/tesseract-ocr-${PV}.${lang}.tar.gz"
-
-    md5sum=`md5sum $tarball | awk '{print $1}'`
-    sha256sum=`sha256sum $tarball | awk '{print $1}'`
-
-    cat > $recipes_dir/tesseract-lang-`echo ${lang} | sed s/_/-/g`_${PV}.bb <<EOF
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "$lang"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "${md5sum}"
-SRC_URI[sha256sum] = "${sha256sum}"
-EOF
-}
-
-
-LANGS=`tesseract_langs`
-
-download_lang_files "$LANGS"
-
-for lang in $LANGS; do
-    create_recipe $lang
-done
-
-[ -n "$remove_dl_dir" ] && rm -rf $dl_dir
-rm -f $file_list
diff --git a/import-layers/meta-openembedded/meta-efl/README b/import-layers/meta-openembedded/meta-efl/README
index 438efc5..e840076 100644
--- a/import-layers/meta-openembedded/meta-efl/README
+++ b/import-layers/meta-openembedded/meta-efl/README
@@ -1,18 +1,18 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: krogoth 
+branch: morty
 revision: HEAD
 
 URI: git://github.com/openembedded/meta-oe.git
 layers: meta-oe, meta-python
-branch: krogoth 
+branch: morty
 revision: HEAD
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-efl][krogoth]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-efl]' 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-efl][krogoth][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-efl][morty][PATCH'
 
-krogoth branch maintainer(s):
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus.inc b/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus.inc
index 3e72261..cc60083 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus.inc
+++ b/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-edbus.inc
@@ -8,10 +8,6 @@
 DEPENDS = "python-cython-native python-pyrex-native python-numeric eina edbus python-dbus"
 RDEPENDS_${PN} += "python-lang python-dbus"
 
-# necessary to let the call for python-config succeed
-export BUILD_SYS
-export HOST_SYS
-
 inherit e-base autotools pkgconfig distutils-base
 
 SRCNAME = "python-e_dbus"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl.inc b/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl.inc
index 92a26ed..6837dab 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl.inc
+++ b/import-layers/meta-openembedded/meta-efl/recipes-devtools/python/python-efl.inc
@@ -13,10 +13,6 @@
 
 PROVIDES = "python-ecore python-eldbus python-edje python-elementary python-emotion python-evas"
 
-# necessary to let the call for python-config succeed
-export BUILD_SYS
-export HOST_SYS
-
 inherit e-base distutils pkgconfig
 
 SRCVER = "${PV}"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-module.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-module.inc
index 0923575..770f794 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-module.inc
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-module.inc
@@ -5,7 +5,7 @@
 SRCREV = "${EFL_SRCREV}"
 INC_PR = "r0"
 
-SRCNAME = "E-MODULES-EXTRA/${PN}"
+SRCNAME = "E-MODULES-EXTRA/${BPN}"
 
 inherit e gettext
 SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb
index ae1b8a6..704e43d 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb
@@ -18,7 +18,7 @@
 S = "${WORKDIR}/${SRCNAME}/e"
 
 do_compile() {
-    # unfortunately hardcoded edje_cc in Makefile     
+    # unfortunately hardcoded edje_cc in Makefile
     sed -i "s#\tedje_cc#\t${STAGING_BINDIR_NATIVE}/edje_cc#g" Makefile
     make
 }
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client_svn.bb
index f708601..afed0e8 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client_svn.bb
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/exalt-client_svn.bb
@@ -21,5 +21,5 @@
 FILES_${PN}-staticdev += "${libdir}/enlightenment/modules/*/*/*.a"
 FILES_${PN}-dev += "${libdir}/enlightenment/modules/*/*/*.la"
 FILES_${PN}-dbg += "${libdir}/enlightenment/modules/*/*/.debug"
- 
+
 SRC_URI += "file://configure.patch"
\ No newline at end of file
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/news_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/news_svn.bb
index f08cab6..3b652a6 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/news_svn.bb
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/news_svn.bb
@@ -7,7 +7,7 @@
 require e-module.inc
 
 do_configure_prepend() {
-    sed -i -e /po/d configure.ac 
+    sed -i -e /po/d configure.ac
     sed -i -e s:\ po::g Makefile.am
 }
 
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain_svn.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain_svn.bb
index cf67a4c..7e85442 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain_svn.bb
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/e17/rain_svn.bb
@@ -9,7 +9,7 @@
 require e-module.inc
 
 do_configure_prepend() {
-    sed -i -e /po/d ${S}/configure.ac 
+    sed -i -e /po/d ${S}/configure.ac
     sed -i -e s:\ po::g ${S}/Makefile.am
 }
 
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl.inc
index 31aff87..5436b40 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl.inc
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/efl.inc
@@ -105,7 +105,7 @@
         output_pattern = 'evas-' + plugin_type[:-1] + "-%s",
         description = 'Evas module %s',
         allow_dirs=True, recursive=False, extra_depends="" )
-        
+
         plugin_type = "cserve2"
         bb.note( "splitting packages for evas %s..." % plugin_type )
         basedir = d.expand( '${libdir}/evas/%s/loaders' % plugin_type)
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary.inc
index f0a92df..cec67aa 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary.inc
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/elementary.inc
@@ -1,7 +1,7 @@
 DESCRIPTION = "EFL based widget set for mobile devices"
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=a173054a93896e933df53e3382d472c2"
-DEPENDS = "eet-native edje-native elementary-native efreet evas ecore edje eet eldbus ethumb poppler eio"
+DEPENDS = "eet-native edje-native elementary-native efreet evas ecore edje eet eldbus ethumb eio"
 DEPENDS_class-native = "efl-native"
 
 inherit efl gettext
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders.inc
index 5cd9ec1..d277c11 100644
--- a/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders.inc
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/efl/evas-generic-loaders.inc
@@ -1,20 +1,22 @@
 DESCRIPTION = "Evas generic loaders"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=a87563ed30add2b0e3460272d3138a00"
-DEPENDS = "eina poppler librsvg cairo"
+DEPENDS = "eina librsvg cairo"
 
 inherit efl
 
 SRCNAME = "evas_generic_loaders"
 
 EXTRA_OECONF = " \
-    --enable-poppler \
     --enable-svg \
     --disable-gstreamer \
     --disable-libraw \
     --disable-spectre \
 "
 
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[poppler] = "--enable-poppler,--disable-poppler,poppler"
+
 PACKAGESPLITFUNCS_prepend = "split_evas_loader_packages "
 
 python split_evas_loader_packages () {
diff --git a/import-layers/meta-openembedded/meta-filesystems/README b/import-layers/meta-openembedded/meta-filesystems/README
index 026c132..0a8f6cf 100644
--- a/import-layers/meta-openembedded/meta-filesystems/README
+++ b/import-layers/meta-openembedded/meta-filesystems/README
@@ -10,22 +10,22 @@
 This layer depends on:
 
   URI: git://git.openembedded.org/bitbake
-  branch: 1.28
+  branch: morty
 
   URI: git://git.openembedded.org/openembedded-core
   layers: meta
-  branch: krogoth
+  branch: morty
 
   URI: git://git.openembedded.org/meta-openembedded
   layers: meta-oe
-  branch: krogoth
+  branch: morty
 
 Patches
 =======
 
 Please submit any patches against the filesystems layer to the
 OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org)
-with '[meta-filesystems][krogoth]' in the subject.
+with '[meta-filesystems]' in the subject.
 
 Maintainers List:
   physfs      Andreas Müller <schnitzeltony@googlemail.com>
@@ -66,9 +66,9 @@
 
    git send-email -1 -M \
         --to openembedded-devel@lists.openembedded.org \
-        --subject-prefix=meta-filesystems][krogoth][PATCH
+        --subject-prefix=meta-filesystems][morty][PATCH
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
 
 Table of Contents
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/files/0001-Makefile-fix-path-for-sshfs.1.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/files/0001-Makefile-fix-path-for-sshfs.1.patch
new file mode 100644
index 0000000..c434a03
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/files/0001-Makefile-fix-path-for-sshfs.1.patch
@@ -0,0 +1,32 @@
+From e3cd445a4ee44a16faa646d7b642d02eea62b1f8 Mon Sep 17 00:00:00 2001
+From: Zoltan Kuscsik <zoltan.kuscsik@linaro.org>
+Date: Fri, 1 Jul 2016 09:30:31 +0200
+Subject: [PATCH] Makefile: fix path for sshfs.1
+
+Fix source path when build directory differs
+from the source dir.
+
+Upstream-Status: Accepted
+
+https://github.com/libfuse/sshfs/pull/24
+
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index f003bae..3d8f9cb 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -24,7 +24,7 @@ sshfs.1: sshfs.1.in
+ 	$(AM_V_GEN)sed \
+ 	    -e 's,__IDMAP_DEFAULT__,$(IDMAP_DEFAULT),g' \
+ 	    -e 's,__UNMOUNT_COMMAND__,$(UNMOUNT_COMMAND),g' \
+-	    <sshfs.1.in >sshfs.1.tmp || exit 1; \
++	    <$(srcdir)/sshfs.1.in >sshfs.1.tmp || exit 1; \
+ 	mv sshfs.1.tmp sshfs.1
+ 
+ if SSH_NODELAY_SO
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb
deleted file mode 100644
index c54cfcb..0000000
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE"
-AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>"
-HOMEPAGE = "http://fuse.sourceforge.net/sshfs.html"
-SECTION = "console/network"
-LICENSE = "GPLv2"
-DEPENDS = "glib-2.0 fuse"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/${BP}.tar.gz"
-S = "${WORKDIR}/${BP}"
-
-inherit autotools pkgconfig
-
-FILES_${PN} += "${libdir}/sshnodelay.so"
-
-SRC_URI[md5sum] = "17494910db8383a366b1301e5f5148a9"
-SRC_URI[sha256sum] = "e9171452e5d0150b9c6a2158fd2e2dcefb5d5d03ba4d208949e00a3a46c6e63e"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.8.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.8.bb
new file mode 100644
index 0000000..64ccdac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.8.bb
@@ -0,0 +1,16 @@
+SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE"
+AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>"
+HOMEPAGE = "http://fuse.sourceforge.net/sshfs.html"
+SECTION = "console/network"
+LICENSE = "GPLv2"
+DEPENDS = "glib-2.0 fuse"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/libfuse/sshfs;tag=b2fa7593586b141298e6159f40f521d2b0f4f894 \
+           file://0001-Makefile-fix-path-for-sshfs.1.patch"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${libdir}/sshnodelay.so"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
index 7df9c39..d98d35a 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
@@ -11,7 +11,7 @@
 SRC_URI[sha256sum] = "8d5c9dcb51ecb9a9b03890e16d17e37d602b0c1f23ed6a9ddec2b0f719c9f662"
 
 do_install() {
-	oe_runmake install DESTDIR=${D} PREFIX=${exec_prefix}
+    oe_runmake install DESTDIR=${D} PREFIX=${exec_prefix}
 }
 
 RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/makefile-add-ldflags.patch
new file mode 100644
index 0000000..bb21899
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/makefile-add-ldflags.patch
@@ -0,0 +1,21 @@
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/utils/Makefile b/utils/Makefile
+index 710ebbf..6259893 100644
+--- a/utils/Makefile
++++ b/utils/Makefile
+@@ -57,10 +57,10 @@ $(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) : %.o: %.c
+ 	$(CC) -c $(CFLAGS) $< -o $@
+ 
+ mkyaffsimage: $(MKYAFFSIMAGEOBJS) $(COMMONOBJS)
+-	$(CC) -o $@  $^
++	$(CC) $(LDFLAGS) -o $@  $^
+ 
+ mkyaffs2image: $(MKYAFFS2IMAGEOBJS) $(COMMONOBJS)
+-	$(CC) -o $@ $^
++	$(CC) $(LDFLAGS) -o $@ $^
+ 
+ 
+ clean:
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
index 253ea62..e8d1873 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
@@ -12,7 +12,10 @@
 DEPENDS = "mtd-utils"
 
 # Source is the HEAD of master branch at the time of writing this recipe
-SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master"
+SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \
+           file://makefile-add-ldflags.patch \
+          "
+
 SRCREV = "bc76682d93955cfb33051beb503ad9f8a5450578"
 S = "${WORKDIR}/git"
 
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb
index 5618f28..dc2c106 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb
@@ -6,6 +6,8 @@
 
 inherit cmake
 
+PE = "1"
+
 SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2"
 SRC_URI[md5sum] = "c2c727a8a8deb623b521b52d0080f613"
 SRC_URI[sha256sum] = "ca862097c0fb451f2cacd286194d071289342c107b6fe69079c079883ff66b69"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb
index 4ff95f9..0242a70 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb
@@ -13,7 +13,7 @@
 DEPENDS = "xfsprogs"
 
 SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/dmapi-${PV}.tar.gz \
-	   file://remove-install-as-user.patch \
+           file://remove-install-as-user.patch \
            file://dmapi_aarch64_configure_support.patch \
           "
 SRC_URI[md5sum] = "cd825d4e141c16011367e0a0dd98c9c5"
@@ -29,3 +29,5 @@
     install -d ${D}${libdir}
     oe_runmake install install-dev PKG_DEVLIB_DIR=${libdir}
 }
+
+PNBLACKLIST[dmapi] ?= "Depends on broken xfsprogs"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb
index e053a6e..fe5aef1 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb
@@ -11,8 +11,8 @@
 DEPENDS = "xfsprogs attr"
 
 SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BPN}-${PV}.tar.gz \
-	   file://remove-install-as-user.patch \
-          "
+    file://remove-install-as-user.patch \
+"
 SRC_URI[md5sum] = "a8b1761be5feb363131e7b506639ad4c"
 SRC_URI[sha256sum] = "570eafd0721515bdd79cb0e295b701d49cdf81e71a0a0ff0df6d4c5cc1960943"
 
@@ -31,6 +31,8 @@
 
 do_install () {
     export DIST_ROOT=${D}
-    oe_runmake install 
+    oe_runmake install
     oe_runmake install-dev
 }
+
+PNBLACKLIST[xfsdump] ?= "Depends on broken xfsprogs"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
index f38239c..460a898 100644
--- a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
@@ -50,3 +50,6 @@
     # needed for xfsdump
     oe_runmake install-dev
 }
+
+# http://errors.yoctoproject.org/Errors/Details/83236/
+PNBLACKLIST[xfsprogs] ?= "BROKEN: Needs upgrade to 4.5.0 version to be compatible with Kernel uapi changes from 4.5"
diff --git a/import-layers/meta-openembedded/meta-gnome/README b/import-layers/meta-openembedded/meta-gnome/README
index 2a889e4..1431737 100644
--- a/import-layers/meta-openembedded/meta-gnome/README
+++ b/import-layers/meta-openembedded/meta-gnome/README
@@ -1,17 +1,18 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: krogoth
+branch: morty
 revision: HEAD
 
 URI: git://github.com/openembedded/meta-oe.git
-branch: krogoth
+branch: morty
 revision: HEAD
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome][krogoth]' 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][krogoth][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][morty][PATCH'
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
+
diff --git a/import-layers/meta-openembedded/meta-gnome/conf/layer.conf b/import-layers/meta-openembedded/meta-gnome/conf/layer.conf
index 58e12a9..fce5627 100644
--- a/import-layers/meta-openembedded/meta-gnome/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-gnome/conf/layer.conf
@@ -13,3 +13,5 @@
 LAYERVERSION_gnome-layer = "1"
 
 LAYERDEPENDS_gnome-layer = "core openembedded-layer"
+
+AVAHI_GTK_pn-avahi-ui = "gtk gtk3"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.0.10.bb b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.0.10.bb
index d3e08ca..9803a83 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.0.10.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.0.10.bb
@@ -2,7 +2,10 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 
-DEPENDS = "gtk+3 libnotify libsecret networkmanager dbus-glib gconf libgnome-keyring iso-codes nss"
+DEPENDS = "gtk+3 libnotify libsecret networkmanager dbus-glib \
+           gconf libgnome-keyring iso-codes nss \
+           intltool-native \
+"
 
 inherit gnomebase gsettings gtk-icon-cache gobject-introspection
 
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.24.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.24.0.bb
index 2f38977..73a15db 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.24.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.24.0.bb
@@ -13,7 +13,7 @@
 SRC_URI[md5sum] = "b8480274c68876acff5965d4346710e7"
 SRC_URI[sha256sum] = "02398ab33894a59b0bd8707e598c46d8bb56f1413cd54de48eed61e2920ecd60"
 
-DEPENDS = "glib-2.0 gtkmm parted gnome-doc-utils-native"
+DEPENDS = "glib-2.0 gtkmm parted gnome-doc-utils intltool-native"
 
 do_install_append() {
     # Add a script which checks if polkit is installed.
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb
index 2621d15..8a21112 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-extended/gtk-theme-torturer/gtk-theme-torturer_git.bb
@@ -17,8 +17,8 @@
 ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
 
 do_install() {
-	install -d ${D}${bindir}
-	install -m 0755 torturer ${D}${bindir}
+    install -d ${D}${bindir}
+    install -m 0755 torturer ${D}${bindir}
 }
 
 # http://errors.yoctoproject.org/Errors/Details/35132/
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch
new file mode 100644
index 0000000..595ee8e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch
@@ -0,0 +1,74 @@
+From a83e6f50dbd5efa16fb39efe32b9de370f103130 Mon Sep 17 00:00:00 2001
+From: Hubert Figuiere <hub@figuiere.net>
+Date: Sat, 23 Jan 2016 20:46:02 +0000
+Subject: [PATCH] Bug 13754 - Fix build on gcc-6 (default to C++11).
+
+This is debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811381
+
+git-svn-id: svn+ssh://svn.abisource.com/svnroot/abiword/trunk@35182 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6
+
+Upstream-Status: Backport
+---
+ plugins/collab/backends/service/xp/RealmProtocol.cpp | 4 ++--
+ plugins/collab/backends/service/xp/soa_soup.cpp      | 2 +-
+ plugins/latex/xp/ie_exp_LaTeX.cpp                    | 2 +-
+ plugins/xslfo/xp/ie_exp_XSL-FO.cpp                   | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/plugins/collab/backends/service/xp/RealmProtocol.cpp b/plugins/collab/backends/service/xp/RealmProtocol.cpp
+index fb426eb..347a49c 100644
+--- a/plugins/collab/backends/service/xp/RealmProtocol.cpp
++++ b/plugins/collab/backends/service/xp/RealmProtocol.cpp
+@@ -6,8 +6,8 @@ namespace protocolv1 {
+ 
+ #define MAX_PACKET_DATA_SIZE 64*1024*1024
+ 		
+-#define RPV1_PACKET_NONEXISTENT -2
+-#define RPV1_PACKET_VARIABLE -1
++#define RPV1_PACKET_NONEXISTENT uint32_t(-2)
++#define RPV1_PACKET_VARIABLE uint32_t(-1)
+ 	
+ static uint32_t body_size[6] = {
+ 	RPV1_PACKET_NONEXISTENT, /* 0: reserved */
+diff --git a/plugins/collab/backends/service/xp/soa_soup.cpp b/plugins/collab/backends/service/xp/soa_soup.cpp
+index 4b81735..f4f5134 100644
+--- a/plugins/collab/backends/service/xp/soa_soup.cpp
++++ b/plugins/collab/backends/service/xp/soa_soup.cpp
+@@ -163,7 +163,7 @@ namespace soup_soa {
+ 	
+ 	static bool _invoke(const std::string& /*url*/, const soa::method_invocation& /*mi*/, SoaSoupSession& sess, std::string& result) {
+ 		if (!sess.m_session || !sess.m_msg )
+-			return soa::GenericPtr();
++			return false;
+ 
+ 		guint status = soup_session_send_message (sess.m_session, sess.m_msg);
+ 		if (!(SOUP_STATUS_IS_SUCCESSFUL (status) ||
+diff --git a/plugins/latex/xp/ie_exp_LaTeX.cpp b/plugins/latex/xp/ie_exp_LaTeX.cpp
+index 7aaf3a9..8bcc250 100644
+--- a/plugins/latex/xp/ie_exp_LaTeX.cpp
++++ b/plugins/latex/xp/ie_exp_LaTeX.cpp
+@@ -1330,7 +1330,7 @@ void s_LaTeX_Listener::_outputData(const UT_UCSChar * data, UT_uint32 length)
+ 	m_pie->write(sBuf.c_str(),sBuf.size());
+ }
+ 
+-#define SUB(a,who) case a: subst = "\\(\\"who"\\)"; return true;
++#define SUB(a,who) case a: subst = "\\(\\" who"\\)"; return true;
+ #define SUBd(a,who) case a: subst = who; return true;
+ static bool _convertLettersToSymbols(char c, const char *& subst)
+ {
+diff --git a/plugins/xslfo/xp/ie_exp_XSL-FO.cpp b/plugins/xslfo/xp/ie_exp_XSL-FO.cpp
+index cc5e4e6..957226e 100644
+--- a/plugins/xslfo/xp/ie_exp_XSL-FO.cpp
++++ b/plugins/xslfo/xp/ie_exp_XSL-FO.cpp
+@@ -1451,7 +1451,7 @@ void s_XSL_FO_Listener::_openSection(PT_AttrPropIndex api)
+ 	{ \
+ 		UT_UTF8String esc = szValue; \
+ 		esc.escapeXML(); \
+-		buf += " "x"=\""; \
++		buf += " " x"=\""; \
+ 		buf += esc.utf8_str(); \
+ 		buf += "\""; \
+ 	}
+-- 
+2.5.5
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb
index 962a56c..5052b36 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.1.bb
@@ -13,6 +13,7 @@
 SRC_URI = " \
     http://www.abisource.com/downloads/${BPN}/${PV}/source/${BP}.tar.gz \
     file://0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch \
+    file://0002-Bug-13754-Fix-build-on-gcc-6-default-to-C-11.patch \
 "
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=c5edcc3ccd864b19004d14e9c1c9a26a"
@@ -75,7 +76,7 @@
                 ${datadir}/${PN}-${SHRT_VER}/templates/Press-Release.awt \
                 ${datadir}/${PN}-${SHRT_VER}/certs \
                 ${datadir}/${PN}-${SHRT_VER}/ui \
-                ${datadir}/${PN}-${SHRT_VER}/xsl* \ 
+                ${datadir}/${PN}-${SHRT_VER}/xsl* \
                 ${datadir}/${PN}-${SHRT_VER}/mime-info \
                 ${datadir}/${PN}-${SHRT_VER}/Pr*.xml \
 "
@@ -113,7 +114,7 @@
     packages = d.getVar('PACKAGES', 1).split()
     for pkg in packages[1:]:
         if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale") and not pkg.count("abiword-doc"):
-            print "Modifying ", pkg
+            print("Modifying %s" % pkg)
             metapkg_rdepends.append(pkg)
     d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
     d.setVar('DESCRIPTION_' + metapkg, 'abiword-plugin meta package')
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
index e0f6168..60a8597 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo.inc
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo.inc
@@ -3,7 +3,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://COPYING.LIB;md5=7fbc338309ac38fefcd64b04bb903e34"
 SECTION = "x11/gnome/libs"
-DEPENDS = "glib-2.0 orbit2 intltool-native libxml2 dbus dbus-glib"
+DEPENDS = "glib-2.0 orbit2-native orbit2 intltool-native libxml2 dbus dbus-glib"
 
 inherit gnomebase gtk-doc lib_package
 
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
new file mode 100644
index 0000000..20db671
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/bonobo/libbonobo/fix-nonliteral-in-string.patch
@@ -0,0 +1,26 @@
+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
index fd4d812..8e00eb4 100644
--- 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
@@ -2,6 +2,7 @@
 
 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"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
index 2b6f15e..f38be88 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb
@@ -9,21 +9,23 @@
 SRC_URI[archive.sha256sum] = "109b1bc6078690af1ed88cb144ef5c5aee7304769d8bdc82ed48c3696f10c955"
 GNOME_COMPRESS_TYPE = "xz"
 
-DEPENDS = "glib-2.0 gtk+3 libxml2"
+DEPENDS = "glib-2.0 gtk+3 libxml2 intltool-native"
 
-inherit vala gtk-doc
+inherit vala gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 EXTRA_OECONF += "--disable-man"
 
 PACKAGES =+ "dconf-editor"
 
 FILES_${PN} += " \
-	${datadir}/dbus-1 \
-	${libdir}/gio/modules/*.so \
+    ${datadir}/dbus-1 \
+    ${libdir}/gio/modules/*.so \
 "
 FILES_dconf-editor = " \
-	${bindir}/dconf-editor \
-	${datadir}/icons \
-	${datadir}/bash-completion \
+    ${bindir}/dconf-editor \
+    ${datadir}/icons \
+    ${datadir}/bash-completion \
 "
 FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/libdconfsettings.so"
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
index a5664b0..c31de0c 100644
--- 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
@@ -48,7 +48,7 @@
 
 EXTRA_OECONF = "--without-openldap \
                 --with-libdb=${STAGING_DIR_HOST}${prefix} \
-                --disable-nntp --disable-goa --disable-weather"
+                --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 \
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-fix-gcc6-errors.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-fix-gcc6-errors.patch
new file mode 100644
index 0000000..b8e30f7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince/0002-fix-gcc6-errors.patch
@@ -0,0 +1,39 @@
+--- evince-3.18.2/backend/comics/comics-document.c.orig	2016-06-22 20:08:01.789805750 +0000
++++ evince-3.18.2/backend/comics/comics-document.c	2016-06-22 20:07:00.817804688 +0000
+@@ -241,6 +241,8 @@
+ /* This function shows how to use the choosen command for decompressing a
+  * comic book file. It modifies fields of the ComicsDocument struct with 
+  * this information */
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+ static gboolean 
+ comics_generate_command_lines (ComicsDocument *comics_document, 
+ 			       GError         **error)
+@@ -296,6 +298,7 @@
+ 	}
+ 
+ }
++#pragma GCC diagnostic pop
+ 
+ /* This function chooses an external command for decompressing a comic 
+  * book based on its mime tipe. */
+--- evince-3.18.2/libdocument/ev-document-misc.c.orig	2016-06-22 20:01:49.205799262 +0000
++++ evince-3.18.2/libdocument/ev-document-misc.c	2016-06-22 20:02:27.233799924 +0000
+@@ -519,7 +519,8 @@
+ 
+ 	return (dp / di);
+ }
+-
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-y2k"
+ /* Returns a locale specific date and time representation */
+ gchar *
+ ev_document_misc_format_date (GTime utime)
+@@ -542,6 +543,7 @@
+ 
+ 	return g_locale_to_utf8 (s, -1, NULL, NULL, NULL);
+ }
++#pragma GCC diagnostic pop
+ 
+ void
+ ev_document_misc_get_pointer_position (GtkWidget *widget,
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.18.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.18.2.bb
index fe63093..e42e904 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.18.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.18.2.bb
@@ -2,15 +2,19 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=96f2f8d5ee576a2163977938ea36fa7b"
 SECTION = "x11/office"
-DEPENDS = "gtk+3 libsecret gnome-desktop3 poppler gstreamer1.0-plugins-base orc adwaita-icon-theme"
+DEPENDS = "gtk+3 libsecret gnome-desktop3 poppler gstreamer1.0-plugins-base orc adwaita-icon-theme intltool-native"
 PR = "r5"
 
-inherit gnome pkgconfig gtk-icon-cache gsettings gobject-introspection
+inherit gnome pkgconfig gtk-icon-cache gsettings gobject-introspection distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[archive.md5sum] = "c39af6b8b1c44d4393ef8ac9dab99c0b"
 SRC_URI[archive.sha256sum] = "42ad6c7354d881a9ecab136ea84ff867acb942605bcfac48b6c12e1c2d8ecb17"
 
-SRC_URI += "file://0001-help-remove-YELP-macro.patch"
+SRC_URI += "file://0001-help-remove-YELP-macro.patch \
+            file://0002-fix-gcc6-errors.patch \
+"
 
 EXTRA_OECONF = " --enable-thumbnailer \
 "
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
index 259c609..9266f97 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
@@ -34,6 +34,7 @@
 
 do_configure_prepend() {
     sed -i -e "s:\bdocs::g" ${S}/Makefile.am
+    rm -f ${S}/m4/gnome-doc-utils.m4
 }
 
 do_install_prepend() {
@@ -103,3 +104,5 @@
     delgroup gdm || true
     sed -i /gdm/d ${sysconfdir}/X11/default-display-manager || true
 }
+
+PNBLACKLIST[gdm] ?= "Depends on broken gnome-panel"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-Remove-help-directory-from-build.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-Remove-help-directory-from-build.patch
new file mode 100644
index 0000000..4ad57ef
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0001-Remove-help-directory-from-build.patch
@@ -0,0 +1,29 @@
+From 1d2e6165e3154e27ecde329a40c05f0880afb9e0 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 17 May 2016 14:14:03 +0300
+Subject: [PATCH] Remove help directory from build
+
+It hardcodes the use of xml2po utility, which is provided by obsolete gnome-doc-utils
+
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile.am | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index e57b203..a88152d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -3,9 +3,6 @@ ACLOCAL_AMFLAGS = -I m4
+ 
+ SUBDIRS = gedit pixmaps po data plugin-loaders plugins docs tests win32 osx
+ 
+-if !OS_OSX
+-SUBDIRS += help
+-endif
+ 
+ distuninstallcheck_listfiles = find . -type f -print | grep -v scrollkeeper
+ 
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0002-suppress-string-format-literal-warning-to-fix-build-.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0002-suppress-string-format-literal-warning-to-fix-build-.patch
new file mode 100644
index 0000000..a5d2310
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gedit/files/0002-suppress-string-format-literal-warning-to-fix-build-.patch
@@ -0,0 +1,38 @@
+From 4ebdf8023f763f75a7e1b548894de2e8b784f4a8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Fri, 29 Jul 2016 23:19:40 +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
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ plugins/time/gedit-time-plugin.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/plugins/time/gedit-time-plugin.c b/plugins/time/gedit-time-plugin.c
+index d2ffdb9..441d9f9 100644
+--- a/plugins/time/gedit-time-plugin.c
++++ b/plugins/time/gedit-time-plugin.c
+@@ -473,12 +473,15 @@ get_time (const gchar* format)
+   	clock = time (NULL);
+   	now = localtime (&clock);
+ 
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+ 	do
+ 	{
+ 		out_length += 255;
+ 		out = g_realloc (out, out_length);
+ 	}
+   	while (strftime (out, out_length, locale_format, now) == 0);
++#pragma GCC diagnostic pop
+ 
+ 	g_free (locale_format);
+ 
+-- 
+2.5.5
+
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 1c7b7e3..a6c68d3 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
@@ -3,12 +3,16 @@
 LICENSE = "GPLv2+"
 PR = "r2"
 
-DEPENDS = "gvfs enchant gconf gnome-doc-utils gnome-doc-utils-native glib-2.0 gtk+ gtksourceview2 iso-codes"
+DEPENDS = "gvfs enchant gconf gnome-doc-utils glib-2.0 gtk+ gtksourceview2 iso-codes intltool-native"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
 inherit gnome gettext pythonnative
-SRC_URI+= "file://0001-workaround-void-pointer-arithmetic.patch"
+SRC_URI+= " \
+    file://0001-workaround-void-pointer-arithmetic.patch \
+    file://0001-Remove-help-directory-from-build.patch \
+    file://0002-suppress-string-format-literal-warning-to-fix-build-.patch \
+"
 SRC_URI[archive.md5sum] = "e1eecb0a92a1a363b3d375ec5ac0fb3b"
 SRC_URI[archive.sha256sum] = "a561fe3dd1d199baede1bd07c4ee65f06fc7c494dd4d3327117f04149a608e3c"
 GNOME_COMPRESS_TYPE="bz2"
@@ -16,13 +20,5 @@
 EXTRA_OECONF = "--disable-scrollkeeper \
                 --enable-gvfs-metadata"
 
-do_configure_prepend() {
-    cd ${S}
-    gnome-doc-common --copy || true
-    gnome-doc-prepare --force --copy || true
-    cd ${B}
-}
-
 FILES_${PN} += "${libdir}/gedit-2/plugin* ${datadir}/gedit-2"
 FILES_${PN}-dbg += "${libdir}/gedit-2/plugin-loaders/.debug ${libdir}/gedit-2/plugins/.debug"
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb
index 7b064c3..fe3e572 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb
@@ -6,8 +6,9 @@
 
 SECTION = "x11/gnome"
 
-DEPENDS = "udev gtk+3 libnotify libcanberra"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
+DEPENDS = "udev gtk+3 libnotify libcanberra intltool-native \
+    ${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)} \
+"
 
 inherit gnomebase gtk-icon-cache gobject-introspection
 
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb
index 86b913b..391d0dd 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_2.32.1.bb
@@ -16,6 +16,7 @@
 
 do_configure_prepend() {
     sed -i s:help::g ${S}/Makefile.am
+    rm -f ${S}/m4/gnome-doc-utils.m4
 }
 do_install_append() {
     rm -rf ${D}${datadir}/mime
@@ -30,3 +31,5 @@
 FILES_${PN}-dbg += "${libdir}/window-manager-settings/.debug"
 FILES_${PN}-dev += "${libdir}/window-manager-settings/*.la"
 FILES_${PN}-staticdev += "${libdir}/window-manager-settings/*.a"
+
+PNBLACKLIST[gnome-control-center] ?= "Depends on broken gnome-menus"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb
index 703c397..c1a47e0 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_2.32.1.bb
@@ -12,12 +12,13 @@
 SRC_URI[archive.sha256sum] = "55cbecf67efe1fa1e57ac966520a7c46d799c8ba3c652a1219f60cafccb3739d"
 GNOME_COMPRESS_TYPE="bz2"
 
-DEPENDS += "gconf libxrandr virtual/libx11 gtk+ glib-2.0 gnome-doc-utils startup-notification"
+DEPENDS += "gconf libxrandr virtual/libx11 gtk+ glib-2.0 gnome-doc-utils startup-notification intltool-native"
 
 EXTRA_OECONF = "--disable-scrollkeeper --disable-desktop-docs --disable-gnome-about"
 
 do_configure_prepend () {
     sed -i -e s:^#!@PYTHON@:#!${bindir}/python: ${S}/gnome-about/gnome-about.in
+    rm -f ${S}/m4/gnome-doc-utils.m4
 }
 
 PACKAGES =+ "libgnome-desktop"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb
index 2f427e7..eac9dbd 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb
@@ -7,7 +7,10 @@
 
 PR = "r4"
 
-inherit gnomebase gtk-icon-cache
+inherit gnomebase gtk-icon-cache distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
 SRC_URI[archive.md5sum] = "f0366c8baebca0404d190b2d78f3582d"
 SRC_URI[archive.sha256sum] = "03e461b6bda7f773f8018d25fa3213d3073d4dc83a76e6b39d962652f4de6a98"
 GNOME_COMPRESS_TYPE="bz2"
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
index f8f5ddd..100d32e 100644
--- 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
@@ -36,6 +36,8 @@
                     ${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/"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb
index 1b84a54..4189518 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_2.30.5.bb
@@ -5,7 +5,7 @@
                     file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
 PR = "r1"
 
-DEPENDS = "python libxml2 gconf popt gtk+"
+DEPENDS = "python libxml2 gconf popt gtk+ intltool-native"
 
 inherit gnomebase pkgconfig python-dir pythonnative gobject-introspection
 
@@ -13,10 +13,18 @@
 SRC_URI[archive.sha256sum] = "6dcc565006d6e8c2025ae83ab1f82edf6bd04d61c804c0dc9bf5ea50629c4caa"
 GNOME_COMPRESS_TYPE="bz2"
 
-PACKAGES += "${PN}-python"
+do_configure_append () {
+
+    # this expands to native-pthon which we don't want.
+    sed -i 's:\@PYTHON\@:/usr/bin/env python:' ${S}/simple-editor/gmenu-simple-editor.in
+
+}
+PACKAGES += "${PN}-python ${PN}-python-staticdev"
 FILES_${PN} += "${datadir}/desktop-directories/"
-FILES_${PN}-python = "${libdir}/python*"
+FILES_${PN}-python-staticdev = "${PYTHON_SITEPACKAGES_DIR}/gmenu.a ${PYTHON_SITEPACKAGES_DIR}/gmenu.la"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/gmenu.so ${PYTHON_SITEPACKAGES_DIR}/GMenuSimpleEditor "
 FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug \
                     ${PYTHON_SITEPACKAGES_DIR}/.debug"
 
-
+# http://errors.yoctoproject.org/Errors/Details/81001/
+PNBLACKLIST[gnome-menus] ?= "BROKEN: fails to build because of python"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Add-gnome-doc-utils.make.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Add-gnome-doc-utils.make.patch
new file mode 100644
index 0000000..fdcccb9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel/0001-Add-gnome-doc-utils.make.patch
@@ -0,0 +1,730 @@
+From 7345730ac882ee5a493254e5cf9162c96c648ef2 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 17 May 2016 14:40:33 +0300
+Subject: [PATCH] Add gnome-doc-utils.make
+
+Since the sources are taken from git, the file is absent
+(and is installed by tools from gnome-doc-utils which
+are no longer provided).
+
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gnome-doc-utils.make | 706 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 706 insertions(+)
+ create mode 100644 gnome-doc-utils.make
+
+diff --git a/gnome-doc-utils.make b/gnome-doc-utils.make
+new file mode 100644
+index 0000000..b2e0fa1
+--- /dev/null
++++ b/gnome-doc-utils.make
+@@ -0,0 +1,706 @@
++# gnome-doc-utils.make - make magic for building documentation
++# Copyright (C) 2004-2005 Shaun McCance <shaunm@gnome.org>
++#
++# 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 of the License, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++################################################################################
++## @@ Generating Header Files
++
++## @ DOC_H_FILE
++## The name of the header file to generate
++DOC_H_FILE ?=
++
++## @ DOC_H_DOCS
++## The input DocBook files for generating the header file
++DOC_H_DOCS ?=
++
++$(DOC_H_FILE): $(DOC_H_DOCS);
++	@rm -f $@.tmp; touch $@.tmp;
++	echo 'const gchar* documentation_credits[] = {' >> $@.tmp
++	list='$(DOC_H_DOCS)'; for doc in $$list; do \
++	  xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \
++	  if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \
++	  xsltproc -nonet --path "$$xmlpath" $(_credits) $$doc; \
++	done | sort | uniq \
++	  | awk 'BEGIN{s=""}{n=split($$0,w,"<");if(s!=""&&s!=substr(w[1],1,length(w[1])-1)){print s};if(n>1){print $$0;s=""}else{s=$$0}};END{if(s!=""){print s}}' \
++	  | sed -e 's/\\/\\\\/' -e 's/"/\\"/' -e 's/\(.*\)/\t"\1",/' >> $@.tmp
++	echo '	NULL' >> $@.tmp
++	echo '};' >> $@.tmp
++	echo >> $@.tmp
++	list='$(DOC_H_DOCS)'; for doc in $$list; do \
++	  xmlpath="`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`:$(srcdir)/`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`"; \
++	  if ! test -f "$$doc"; then doc="$(srcdir)/$$doc"; fi; \
++	  docid=`echo "$$doc" | sed -e 's/.*\/\([^/]*\)\.xml/\1/' \
++	    | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`; \
++	  echo $$xmlpath; \
++	  ids=`xsltproc -nonet --xinclude --path "$$xmlpath" $(_ids) $$doc`; \
++	  for id in $$ids; do \
++	    echo '#define HELP_'`echo $$docid`'_'`echo $$id \
++	      | sed -e 's/[^a-zA-Z_]/_/g' | tr 'a-z' 'A-Z'`' "'$$id'"' >> $@.tmp; \
++	  done; \
++	  echo >> $@.tmp; \
++	done;
++	cp $@.tmp $@ && rm -f $@.tmp
++
++dist-check-gdu:
++if !HAVE_GNOME_DOC_UTILS
++	@echo "*** GNOME Doc Utils must be installed in order to make dist"
++	@false
++endif
++
++.PHONY: dist-doc-header
++dist-doc-header: $(DOC_H_FILE)
++	@if test -f "$(DOC_H_FILE)"; then d=; else d="$(srcdir)/"; fi; \
++	echo "$(INSTALL_DATA) $${d}$(DOC_H_FILE) $(distdir)/$(DOC_H_FILE)"; \
++	$(INSTALL_DATA) "$${d}$(DOC_H_FILE)" "$(distdir)/$(DOC_H_FILE)";
++
++doc-dist-hook: dist-check-gdu $(if $(DOC_H_FILE),dist-doc-header)
++
++.PHONY: clean-doc-header
++_clean_doc_header = $(if $(DOC_H_FILE),clean-doc-header)
++clean-local: $(_clean_doc_header)
++distclean-local: $(_clean_doc_header)
++mostlyclean-local: $(_clean_doc_header)
++maintainer-clean-local: $(_clean_doc_header)
++clean-doc-header:
++	rm -f $(DOC_H_FILE)
++
++all: $(DOC_H_FILE)
++
++
++################################################################################
++## @@ Generating Documentation Files
++
++## @ DOC_MODULE
++## The name of the document being built
++DOC_MODULE ?=
++
++## @ DOC_ID
++## The unique identifier for a Mallard document
++DOC_ID ?=
++
++## @ DOC_PAGES
++## Page files in a Mallard document
++DOC_PAGES ?=
++
++## @ DOC_ENTITIES
++## Files included with a SYSTEM entity
++DOC_ENTITIES ?=
++
++## @ DOC_INCLUDES
++## Files included with XInclude
++DOC_INCLUDES ?=
++
++## @ DOC_FIGURES
++## Figures and other external data
++DOC_FIGURES ?=
++
++## @ DOC_FORMATS
++## The default formats to be built and installed
++DOC_FORMATS ?= docbook
++_DOC_REAL_FORMATS = $(if $(DOC_USER_FORMATS),$(DOC_USER_FORMATS),$(DOC_FORMATS))
++
++## @ DOC_LINGUAS
++## The languages this document is translated into
++DOC_LINGUAS ?=
++_DOC_REAL_LINGUAS = $(if $(filter environment,$(origin LINGUAS)),		\
++	$(filter $(LINGUAS),$(DOC_LINGUAS)),					\
++	$(DOC_LINGUAS))
++
++_DOC_ABS_SRCDIR = @abs_srcdir@
++
++
++################################################################################
++## Variables for Bootstrapping
++
++_xml2po ?= `which xml2po`
++_xml2po_mode = $(if $(DOC_ID),mallard,docbook)
++
++_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils`
++_db2omf  ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
++_chunks  ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
++_credits ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
++_ids ?= ${PKG_CONFIG_SYSROOT_DIR}$(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl
++
++if ENABLE_SK
++_ENABLE_SK = true
++_skpkgdatadir ?= `scrollkeeper-config --pkgdatadir`
++_sklocalstatedir ?= `scrollkeeper-config --pkglocalstatedir`
++_skcontentslist ?= $(_skpkgdatadir)/Templates/C/scrollkeeper_cl.xml
++endif
++
++
++################################################################################
++## Support for automake silent-rules
++GDU_V_XML2PO=$(GDU__v_XML2PO_$(V))
++GDU__v_XML2PO_=$(GDU__v_XML2PO_$(AM_DEFAULT_VERBOSITY))
++GDU__v_XML2PO_0=@echo "  XML2PO" $@;
++
++GDU_V_MSGFMT=$(GDU__v_MSGFMT_$(V))
++GDU__v_MSGFMT_=$(GDU__v_MSGFMT_$(AM_DEFAULT_VERBOSITY))
++GDU__v_MSGFMT_0=@echo "  MSGFMT" $@;
++
++GDU_V_DB2OMF=$(GDU__v_DB2OMF_$(V))
++GDU__v_DB2OMF_=$(GDU__v_DB2OMF_$(AM_DEFAULT_VERBOSITY))
++GDU__v_DB2OMF_0=@echo "  DB2OMF" $@;
++
++GDU_V_DB2HTM=$(GDU__v_DB2HTM_$(V))
++GDU__v_DB2HTM_=$(GDU__v_DB2HTM_$(AM_DEFAULT_VERBOSITY))
++GDU__v_DB2HTM_0=@echo "  DB2HTM" $@;
++
++################################################################################
++## @@ Rules for OMF Files
++
++db2omf_args =									\
++	--stringparam db2omf.basename $(DOC_MODULE)				\
++	--stringparam db2omf.format $(3)					\
++	--stringparam db2omf.dtd						\
++	$(shell xmllint --format $(2) | grep -h PUBLIC | head -n 1 		\
++		| sed -e 's/.*PUBLIC \(\"[^\"]*\"\).*/\1/')			\
++	--stringparam db2omf.lang $(notdir $(patsubst %/$(notdir $(2)),%,$(2)))	\
++	--stringparam db2omf.omf_dir "$(OMF_DIR)"				\
++	--stringparam db2omf.help_dir "$(HELP_DIR)"				\
++	--stringparam db2omf.omf_in "$(_DOC_OMF_IN)"				\
++	$(if $(_ENABLE_SK),							\
++	  --stringparam db2omf.scrollkeeper_cl "$(_skcontentslist)")		\
++	$(_db2omf) $(2)
++
++## @ _DOC_OMF_IN
++## The OMF input file
++_DOC_OMF_IN = $(if $(DOC_MODULE),$(wildcard $(_DOC_ABS_SRCDIR)/$(DOC_MODULE).omf.in))
++
++## @ _DOC_OMF_DB
++## The OMF files for DocBook output
++_DOC_OMF_DB = $(if $(_DOC_OMF_IN),						\
++	$(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-$(lc).omf))
++
++$(_DOC_OMF_DB) : $(_DOC_OMF_IN)
++$(_DOC_OMF_DB) : $(DOC_MODULE)-%.omf : %/$(DOC_MODULE).xml
++	@test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || {	\
++	  echo "The file '$(_skcontentslist)' does not exist." >&2;		\
++	  echo "Please check your ScrollKeeper installation." >&2;		\
++	  exit 1; }
++	$(GDU_V_DB2OMF)xsltproc -nonet -o $@ $(call db2omf_args,$@,$<,'docbook') || { rm -f "$@"; exit 1; }
++
++## @ _DOC_OMF_HTML
++## The OMF files for HTML output
++_DOC_OMF_HTML = $(if $(_DOC_OMF_IN),						\
++	$(foreach lc,C $(_DOC_REAL_LINGUAS),$(DOC_MODULE)-html-$(lc).omf))
++
++$(_DOC_OMF_HTML) : $(_DOC_OMF_IN)
++$(_DOC_OMF_HTML) : $(DOC_MODULE)-html-%.omf : %/$(DOC_MODULE).xml
++if ENABLE_SK
++	@test "x$(_ENABLE_SK)" != "xtrue" -o -f "$(_skcontentslist)" || {	\
++	  echo "The file '$(_skcontentslist)' does not exist" >&2;		\
++	  echo "Please check your ScrollKeeper installation." >&2;		\
++	  exit 1; }
++endif
++	$(GDU_V_DB2OMF)xsltproc -nonet -o $@ $(call db2omf_args,$@,$<,'xhtml') || { rm -f "$@"; exit 1; }
++
++## @ _DOC_OMF_ALL
++## All OMF output files to be built
++# FIXME
++_DOC_OMF_ALL =									\
++	$(if $(filter docbook,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_DB))		\
++	$(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_OMF_HTML))
++
++.PHONY: omf
++omf: $(_DOC_OMF_ALL)
++
++
++################################################################################
++## @@ C Locale Documents
++
++## @ _DOC_C_MODULE
++## The top-level documentation file in the C locale
++_DOC_C_MODULE = $(if $(DOC_MODULE),C/$(DOC_MODULE).xml)
++
++## @ _DOC_C_PAGES
++## Page files in a Mallard document in the C locale
++_DOC_C_PAGES = $(foreach page,$(DOC_PAGES),C/$(page))
++
++## @ _DOC_C_ENTITIES
++## Files included with a SYSTEM entity in the C locale
++_DOC_C_ENTITIES = $(foreach ent,$(DOC_ENTITIES),C/$(ent))
++
++## @ _DOC_C_XINCLUDES
++## Files included with XInclude in the C locale
++_DOC_C_INCLUDES = $(foreach inc,$(DOC_INCLUDES),C/$(inc))
++
++## @ _DOC_C_DOCS
++## All documentation files in the C locale
++_DOC_C_DOCS =								\
++	$(_DOC_C_ENTITIES)	$(_DOC_C_INCLUDES)			\
++	$(_DOC_C_PAGES)		$(_DOC_C_MODULE)
++
++## @ _DOC_C_DOCS_NOENT
++## All documentation files in the C locale,
++## except files included with a SYSTEM entity
++_DOC_C_DOCS_NOENT =							\
++	$(_DOC_C_MODULE)	$(_DOC_C_INCLUDES)			\
++	$(_DOC_C_PAGES)
++
++## @ _DOC_C_FIGURES
++## All figures and other external data in the C locale
++_DOC_C_FIGURES = $(if $(DOC_FIGURES),					\
++	$(foreach fig,$(DOC_FIGURES),C/$(fig)),				\
++	$(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/C/figures/*.png)))
++
++## @ _DOC_C_HTML
++## All HTML documentation in the C locale
++# FIXME: probably have to shell escape to determine the file names
++_DOC_C_HTML = $(foreach f,						\
++	$(shell xsltproc -nonet --xinclude 					\
++	  --stringparam db.chunk.basename "$(DOC_MODULE)"		\
++	  $(_chunks) "C/$(DOC_MODULE).xml"),				\
++	C/$(f).xhtml)
++
++###############################################################################
++## @@ Other Locale Documentation
++
++## @ _DOC_POFILES
++## The .po files used for translating the document
++_DOC_POFILES = $(if $(DOC_MODULE)$(DOC_ID),					\
++	$(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(lc).po))
++
++.PHONY: po
++po: $(_DOC_POFILES)
++
++## @ _DOC_MOFILES
++## The .mo files used for translating the document
++_DOC_MOFILES = $(patsubst %.po,%.mo,$(_DOC_POFILES))
++
++.PHONY: mo
++mo: $(_DOC_MOFILES)
++
++## @ _DOC_LC_MODULES
++## The top-level documentation files in all other locales
++_DOC_LC_MODULES = $(if $(DOC_MODULE),						\
++	$(foreach lc,$(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xml))
++
++## @ _DOC_LC_PAGES
++## Page files in a Mallard document in all other locales
++_DOC_LC_PAGES =									\
++	$(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach page,$(_DOC_C_PAGES),	\
++		$(lc)/$(notdir $(page)) ))
++
++## @ _DOC_LC_XINCLUDES
++## Files included with XInclude in all other locales
++_DOC_LC_INCLUDES =								\
++	$(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach inc,$(_DOC_C_INCLUDES),	\
++		$(lc)/$(notdir $(inc)) ))
++
++## @ _DOC_LC_HTML
++## All HTML documentation in all other locales
++# FIXME: probably have to shell escape to determine the file names
++_DOC_LC_HTML =									\
++	$(foreach lc,$(_DOC_REAL_LINGUAS),$(foreach doc,$(_DOC_C_HTML),		\
++		$(lc)/$(notdir $(doc)) ))
++
++## @ _DOC_LC_DOCS
++## All documentation files in all other locales
++_DOC_LC_DOCS =									\
++	$(_DOC_LC_MODULES)	$(_DOC_LC_INCLUDES)	$(_DOC_LC_PAGES)	\
++	$(if $(filter html HTML,$(_DOC_REAL_FORMATS)),$(_DOC_LC_HTML))
++
++## @ _DOC_LC_FIGURES
++## All figures and other external data in all other locales
++_DOC_LC_FIGURES = $(foreach lc,$(_DOC_REAL_LINGUAS),				\
++	$(patsubst C/%,$(lc)/%,$(_DOC_C_FIGURES)) )
++
++_DOC_SRC_FIGURES =								\
++	$(foreach fig,$(_DOC_C_FIGURES), $(foreach lc,C $(_DOC_REAL_LINGUAS),	\
++		$(wildcard $(srcdir)/$(lc)/$(patsubst C/%,%,$(fig))) ))
++
++$(_DOC_POFILES):
++	@if ! test -d $(dir $@); then \
++	  echo "mkdir $(dir $@)"; \
++	  mkdir "$(dir $@)"; \
++	fi
++	@if test ! -f $@ -a -f $(srcdir)/$@; then \
++	  echo "cp $(srcdir)/$@ $@"; \
++	  cp "$(srcdir)/$@" "$@"; \
++	fi;
++	@docs=; \
++	list='$(_DOC_C_DOCS_NOENT)'; for doc in $$list; do \
++	  docs="$$docs $(_DOC_ABS_SRCDIR)/$$doc"; \
++	done; \
++	if ! test -f $@; then \
++	  echo "(cd $(dir $@) && \
++	    $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \
++	    cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)"; \
++	  (cd $(dir $@) && \
++	    $(_xml2po) -m $(_xml2po_mode) -e $$docs > $(notdir $@).tmp && \
++	    cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp); \
++	else \
++	  echo "(cd $(dir $@) && \
++	    $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs)"; \
++	  (cd $(dir $@) && \
++	    $(_xml2po) -m $(_xml2po_mode) -e -u $(notdir $@) $$docs); \
++	fi
++
++$(_DOC_MOFILES): %.mo: %.po
++	$(AM_V_at)if ! test -d $(dir $@); then mkdir "$(dir $@)"; fi
++	$(GDU_V_MSGFMT)msgfmt -o $@ $<
++
++# FIXME: fix the dependancy
++# FIXME: hook xml2po up
++$(_DOC_LC_DOCS) : $(_DOC_MOFILES)
++$(_DOC_LC_DOCS) : $(_DOC_C_DOCS)
++	$(AM_V_at)if ! test -d $(dir $@); then mkdir $(dir $@); fi
++	$(GDU_V_XML2PO)if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$(_DOC_ABS_SRCDIR)/"; fi; \
++	mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \
++	if [ -f "$${mo}" ]; then mo="../$${mo}"; else mo="$(_DOC_ABS_SRCDIR)/$${mo}"; fi; \
++	(cd $(dir $@) && \
++	  $(_xml2po) -m $(_xml2po_mode) -e -t "$${mo}" \
++	    "$${d}C/$(notdir $@)" > $(notdir $@).tmp && \
++	    cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)
++
++## @ _DOC_POT
++## A pot file
++_DOC_POT = $(if $(DOC_MODULE),$(DOC_MODULE).pot,$(if $(DOC_ID),$(DOC_ID).pot))
++.PHONY: pot
++pot: $(_DOC_POT)
++$(_DOC_POT): $(_DOC_C_DOCS_NOENT)
++	$(GDU_V_XML2PO)$(_xml2po) -m $(_xml2po_mode) -e -o $@ $^
++
++
++################################################################################
++## @@ All Documentation
++
++## @ _DOC_HTML_ALL
++## All HTML documentation, only if it's built
++_DOC_HTML_ALL = $(if $(filter html HTML,$(_DOC_REAL_FORMATS)), \
++	$(_DOC_C_HTML) $(_DOC_LC_HTML))
++
++_DOC_HTML_TOPS = $(foreach lc,C $(_DOC_REAL_LINGUAS),$(lc)/$(DOC_MODULE).xhtml)
++
++$(_DOC_HTML_TOPS): $(_DOC_C_DOCS) $(_DOC_LC_DOCS)
++	$(GDU_V_DB2HTM)xsltproc -nonet -o $@ --xinclude --param db.chunk.chunk_top "false()" --stringparam db.chunk.basename "$(DOC_MODULE)" --stringparam db.chunk.extension ".xhtml" $(_db2html) $(patsubst %.xhtml,%.xml,$@)
++
++
++################################################################################
++## All
++
++all:							\
++	$(_DOC_C_DOCS)		$(_DOC_LC_DOCS)		\
++	$(_DOC_OMF_ALL)		$(_DOC_DSK_ALL)		\
++	$(_DOC_HTML_ALL)	$(_DOC_POFILES)
++
++
++################################################################################
++## Clean
++
++.PHONY: clean-doc-omf clean-doc-dsk clean-doc-lc clean-doc-dir
++
++clean-doc-omf: ; rm -f $(_DOC_OMF_DB) $(_DOC_OMF_HTML)
++clean-doc-dsk: ; rm -f $(_DOC_DSK_DB) $(_DOC_DSK_HTML)
++clean-doc-lc:
++	rm -f $(_DOC_LC_DOCS)
++	rm -f $(_DOC_MOFILES)
++	@list='$(_DOC_POFILES)'; for po in $$list; do \
++	  if ! test "$$po" -ef "$(srcdir)/$$po"; then \
++	    echo "rm -f $$po"; \
++	    rm -f "$$po"; \
++	  fi; \
++	done
++#	.xml2.po.mo cleaning is obsolete as of 0.18.1 and could be removed in 0.20.x
++	@for lc in C $(_DOC_REAL_LINGUAS); do \
++	  if test -f "$$lc/.xml2po.mo"; then \
++	    echo "rm -f $$lc/.xml2po.mo"; \
++	    rm -f "$$lc/.xml2po.mo"; \
++	  fi; \
++	done
++clean-doc-dir: clean-doc-lc
++	@for lc in C $(_DOC_REAL_LINGUAS); do \
++	  for dir in `find $$lc -depth -type d`; do \
++	    if ! test $$dir -ef $(srcdir)/$$dir; then \
++	      echo "rmdir $$dir"; \
++	      rmdir "$$dir"; \
++	   fi; \
++	  done; \
++	done
++
++_clean_omf = $(if $(_DOC_OMF_IN),clean-doc-omf)
++_clean_dsk = $(if $(_DOC_DSK_IN),clean-doc-dsk)
++_clean_lc  = $(if $(_DOC_REAL_LINGUAS),clean-doc-lc)
++_clean_dir = $(if $(DOC_MODULE)$(DOC_ID),clean-doc-dir)
++
++clean-local:						\
++	$(_clean_omf)		$(_clean_dsk)		\
++	$(_clean_lc)		$(_clean_dir)
++distclean-local:					\
++	$(_clean_omf)		$(_clean_dsk)		\
++	$(_clean_lc)		$(_clean_dir)
++mostlyclean-local:					\
++	$(_clean_omf)		$(_clean_dsk)		\
++	$(_clean_lc)		$(_clean_dir)
++maintainer-clean-local:					\
++	$(_clean_omf)		$(_clean_dsk)		\
++	$(_clean_lc)		$(_clean_dir)
++
++
++
++################################################################################
++## Dist
++
++.PHONY: dist-doc-docs dist-doc-pages dist-doc-figs dist-doc-omf dist-doc-dsk
++doc-dist-hook: 						\
++	$(if $(DOC_MODULE)$(DOC_ID),dist-doc-docs)	\
++	$(if $(_DOC_C_FIGURES),dist-doc-figs)		\
++	$(if $(_DOC_OMF_IN),dist-doc-omf)
++#	$(if $(_DOC_DSK_IN),dist-doc-dsk)
++
++dist-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS) $(_DOC_POFILES)
++	@for lc in C $(_DOC_REAL_LINGUAS); do \
++	  echo " $(mkinstalldirs) $(distdir)/$$lc"; \
++	  $(mkinstalldirs) "$(distdir)/$$lc"; \
++	done
++	@list='$(_DOC_C_DOCS)'; \
++	for doc in $$list; do \
++	  if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
++	    docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
++	    if ! test -d "$(distdir)/$$docdir"; then \
++	      echo "$(mkinstalldirs) $(distdir)/$$docdir"; \
++	      $(mkinstalldirs) "$(distdir)/$$docdir"; \
++	    fi; \
++	  echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \
++	  $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \
++	done
++	@list='$(_DOC_LC_DOCS)'; \
++	for doc in $$list; do \
++	  if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
++	    docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
++	    if ! test -d "$(distdir)/$$docdir"; then \
++	      echo "$(mkinstalldirs) $(distdir)/$$docdir"; \
++	      $(mkinstalldirs) "$(distdir)/$$docdir"; \
++	    fi; \
++	  echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \
++	  $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \
++	done
++	@list='$(_DOC_POFILES)'; \
++	for doc in $$list; do \
++	  if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
++	    docdir=`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
++	    if ! test -d "$(distdir)/$$docdir"; then \
++	      echo "$(mkinstalldirs) $(distdir)/$$docdir"; \
++	      $(mkinstalldirs) "$(distdir)/$$docdir"; \
++	    fi; \
++	  echo "$(INSTALL_DATA) $$d$$doc $(distdir)/$$doc"; \
++	  $(INSTALL_DATA) "$$d$$doc" "$(distdir)/$$doc"; \
++	done
++
++dist-doc-figs: $(_DOC_SRC_FIGURES)
++	@list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; \
++	for fig in $$list; do \
++	  if test -f "$$fig"; then d=; else d="$(srcdir)/"; fi; \
++	  if test -f "$$d$$fig"; then \
++	    figdir=`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
++	    if ! test -d "$(distdir)/$$figdir"; then \
++	      echo "$(mkinstalldirs) $(distdir)/$$figdir"; \
++	      $(mkinstalldirs) "$(distdir)/$$figdir"; \
++	    fi; \
++	    echo "$(INSTALL_DATA) $$d$$fig $(distdir)/$$fig"; \
++	    $(INSTALL_DATA) "$$d$$fig" "$(distdir)/$$fig"; \
++	  fi; \
++	done;
++
++dist-doc-omf:
++	@if test -f "$(_DOC_OMF_IN)"; then d=; else d="$(srcdir)/"; fi; \
++	echo "$(INSTALL_DATA) $$d$(_DOC_OMF_IN) $(distdir)/$(notdir $(_DOC_OMF_IN))"; \
++	$(INSTALL_DATA) "$$d$(_DOC_OMF_IN)" "$(distdir)/$(notdir $(_DOC_OMF_IN))"
++
++dist-doc-dsk:
++	@if test -f "$(_DOC_DSK_IN)"; then d=; else d="$(srcdir)/"; fi; \
++	echo "$(INSTALL_DATA) $$d$(_DOC_DSK_IN) $(distdir)/$(notdir $(_DOC_DSK_IN))"; \
++	$(INSTALL_DATA) "$$d$(_DOC_DSK_IN)" "$(distdir)/$(notdir $(_DOC_DSK_IN))"
++
++
++
++################################################################################
++## Check
++
++.PHONY: check-doc-docs check-doc-omf
++check:							\
++	$(if $(DOC_MODULE),check-doc-docs)		\
++	$(if $(DOC_ID),check-doc-pages)			\
++	$(if $(_DOC_OMF_IN),check-doc-omf)
++
++check-doc-docs: $(_DOC_C_DOCS) $(_DOC_LC_DOCS)
++	@for lc in C $(_DOC_REAL_LINGUAS); do \
++	  if test -f "$$lc"; \
++	    then d=; \
++	    xmlpath="$$lc"; \
++	  else \
++	    d="$(srcdir)/"; \
++	    xmlpath="$$lc:$(srcdir)/$$lc"; \
++	  fi; \
++	  echo "xmllint --noout --noent --path $$xmlpath --xinclude --postvalid $$d$$lc/$(DOC_MODULE).xml"; \
++	  xmllint --noout --noent --path "$$xmlpath" --xinclude --postvalid "$$d$$lc/$(DOC_MODULE).xml"; \
++	done
++
++check-doc-pages: $(_DOC_C_PAGES) $(_DOC_LC_PAGES)
++	for lc in C $(_DOC_REAL_LINGUAS); do \
++	  if test -f "$$lc"; \
++	    then d=; \
++	    xmlpath="$$lc"; \
++	  else \
++	    d="$(srcdir)/"; \
++	    xmlpath="$$lc:$(srcdir)/$$lc"; \
++	  fi; \
++	  for page in $(DOC_PAGES); do \
++	    echo "xmllint --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \
++	    xmllint --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \
++	  done; \
++	done
++
++check-doc-omf: $(_DOC_OMF_ALL)
++	@list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
++	  echo "xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf"; \
++	  xmllint --noout --xinclude --dtdvalid 'http://scrollkeeper.sourceforge.net/dtds/scrollkeeper-omf-1.0/scrollkeeper-omf.dtd' $$omf; \
++	done
++
++
++
++################################################################################
++## Install
++
++.PHONY: install-doc-docs install-doc-html install-doc-figs install-doc-omf install-doc-dsk
++
++_doc_install_dir = $(if $(DOC_ID),$(DOC_ID),$(DOC_MODULE))
++
++install-data-local:					\
++	$(if $(DOC_MODULE)$(DOC_ID),install-doc-docs)	\
++	$(if $(_DOC_HTML_ALL),install-doc-html)		\
++	$(if $(_DOC_C_FIGURES),install-doc-figs)	\
++	$(if $(_DOC_OMF_IN),install-doc-omf)
++#	$(if $(_DOC_DSK_IN),install-doc-dsk)
++
++install-doc-docs:
++	@for lc in C $(_DOC_REAL_LINGUAS); do \
++	  echo "$(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc"; \
++	  $(mkinstalldirs) $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$lc; \
++	done
++	@list='$(_DOC_C_DOCS)'; for doc in $$list; do \
++	  if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
++	  docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
++	  docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \
++	  if ! test -d "$$docdir"; then \
++	    echo "$(mkinstalldirs) $$docdir"; \
++	    $(mkinstalldirs) "$$docdir"; \
++	  fi; \
++	  echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
++	  $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \
++	done
++	@list='$(_DOC_LC_DOCS)'; for doc in $$list; do \
++	  if test -f "$$doc"; then d=; else d="$(srcdir)/"; fi; \
++	  docdir="$$lc/"`echo $$doc | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
++	  docdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$docdir"; \
++	  if ! test -d "$$docdir"; then \
++	    echo "$(mkinstalldirs) $$docdir"; \
++	    $(mkinstalldirs) "$$docdir"; \
++	  fi; \
++	  echo "$(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
++	  $(INSTALL_DATA) $$d$$doc $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc; \
++	done
++
++install-doc-figs:
++	@list='$(patsubst C/%,%,$(_DOC_C_FIGURES))'; for fig in $$list; do \
++	  for lc in C $(_DOC_REAL_LINGUAS); do \
++	    figsymlink=false; \
++	    if test -f "$$lc/$$fig"; then \
++	      figfile="$$lc/$$fig"; \
++	    elif test -f "$(srcdir)/$$lc/$$fig"; then \
++	      figfile="$(srcdir)/$$lc/$$fig"; \
++	    else \
++	      figsymlink=true; \
++	    fi; \
++	    figdir="$$lc/"`echo $$fig | sed -e 's/^\(.*\/\).*/\1/' -e '/\//!s/.*//'`; \
++	    figdir="$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$figdir"; \
++	    if ! test -d "$$figdir"; then \
++	      echo "$(mkinstalldirs) $$figdir"; \
++	      $(mkinstalldirs) "$$figdir"; \
++	    fi; \
++	    figbase=`echo $$fig | sed -e 's/^.*\///'`; \
++	    if $$figsymlink; then \
++	      echo "cd $$figdir && $(LN_S) -f ../../C/$$fig $$figbase"; \
++	      ( cd "$$figdir" && $(LN_S) -f "../../C/$$fig" "$$figbase" ); \
++	    else \
++	      echo "$(INSTALL_DATA) $$figfile $$figdir$$figbase"; \
++	      $(INSTALL_DATA) "$$figfile" "$$figdir$$figbase"; \
++	    fi; \
++	  done; \
++	done
++
++install-doc-html:
++	echo install-html
++
++install-doc-omf:
++	$(mkinstalldirs) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)
++	@list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
++	  echo "$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
++	  $(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf; \
++	done
++	@if test "x$(_ENABLE_SK)" = "xtrue"; then \
++	  echo "scrollkeeper-update -p $(DESTDIR)$(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \
++	  scrollkeeper-update -p "$(DESTDIR)$(_sklocalstatedir)" -o "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)"; \
++	fi;
++
++install-doc-dsk:
++	echo install-dsk
++
++
++
++################################################################################
++## Uninstall
++
++.PHONY: uninstall-doc-docs uninstall-doc-html uninstall-doc-figs uninstall-doc-omf uninstall-doc-dsk
++uninstall-local:					\
++	$(if $(DOC_MODULE)$(DOC_ID),uninstall-doc-docs)	\
++	$(if $(_DOC_HTML_ALL),uninstall-doc-html)	\
++	$(if $(_DOC_C_FIGURES),uninstall-doc-figs)	\
++	$(if $(_DOC_OMF_IN),uninstall-doc-omf)
++#	$(if $(_DOC_DSK_IN),uninstall-doc-dsk)
++
++uninstall-doc-docs:
++	@list='$(_DOC_C_DOCS)'; for doc in $$list; do \
++	  echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
++	  rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
++	done
++	@list='$(_DOC_LC_DOCS)'; for doc in $$list; do \
++	  echo " rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
++	  rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$doc"; \
++	done
++
++uninstall-doc-figs:
++	@list='$(_DOC_C_FIGURES) $(_DOC_LC_FIGURES)'; for fig in $$list; do \
++	  echo "rm -f $(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \
++	  rm -f "$(DESTDIR)$(HELP_DIR)/$(_doc_install_dir)/$$fig"; \
++	done;
++
++uninstall-doc-omf:
++	@list='$(_DOC_OMF_ALL)'; for omf in $$list; do \
++	  if test "x$(_ENABLE_SK)" = "xtrue"; then \
++	    echo "scrollkeeper-uninstall -p $(_sklocalstatedir) $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
++	    scrollkeeper-uninstall -p "$(_sklocalstatedir)" "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
++	  fi; \
++	  echo "rm -f $(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
++	  rm -f "$(DESTDIR)$(OMF_DIR)/$(_doc_install_dir)/$$omf"; \
++	done
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb
index fbcf76f..138d985 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb
@@ -17,7 +17,7 @@
 
 SECTION = "x11/gnome"
 
-DEPENDS = "gnome-doc-utils-native gtk+3 dconf gconf glib-2.0 gnome-desktop3 gtk+ pango libwnck3 gnome-menus cairo libgweather3 dbus-glib librsvg libcanberra" 
+DEPENDS = "gnome-doc-utils-native gtk+3 dconf gconf glib-2.0 gnome-desktop3 gtk+ pango libwnck3 gnome-menus cairo libgweather3 dbus-glib librsvg libcanberra"
 
 inherit gtk-doc gnome gettext pkgconfig
 
@@ -48,4 +48,4 @@
                 ${libdir}/bonobo \
 "
 
-
+PNBLACKLIST[gnome-panel3] ?= "Depends on broken gnome-menus"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb
index 9be2ec1..2e36063 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_2.32.1.bb
@@ -9,9 +9,10 @@
 
 PR = "r7"
 
-DEPENDS = "gnome-doc-utils-native gconf glib-2.0 gnome-desktop gtk+ \
-           pango libwnck gnome-menus cairo libgweather dbus dbus-glib \
-	   librsvg libcanberra"
+DEPENDS = "gnome-doc-utils gconf glib-2.0 gnome-desktop gtk+ \
+    pango libwnck gnome-menus cairo libgweather dbus dbus-glib \
+    librsvg libcanberra \
+"
 RDEPENDS_${PN} = "python"
 
 inherit gtk-doc gnome autotools-brokensep gettext pkgconfig gconf gobject-introspection
@@ -19,7 +20,8 @@
 SRCREV = "8292bd2b8a36df7eed3c760899400790cde68590"
 SRC_URI = "git://git.gnome.org/gnome-panel;branch=gnome-2-32 \
            file://0001-Fix-build-with-gcc-5.patch \
-	  "
+           file://0001-Add-gnome-doc-utils.make.patch \
+"
 
 S = "${WORKDIR}/git"
 
@@ -29,7 +31,6 @@
 PACKAGECONFIG[networkmanager] = "--enable-network-manager,--disable-network-manager,networkmanager"
 
 do_configure_prepend() {
-    gnome-doc-prepare --automake
     sed -i -e s:help:: ${S}/Makefile.am
     sed -i -e s:^#!@PYTHON@:#!/usr/bin/python: ${S}/gnome-panel/gnome-panel-add.in
 }
@@ -43,3 +44,5 @@
                 ${datadir}/PolicyKit \
                 ${libdir}/bonobo \
 "
+
+PNBLACKLIST[gnome-panel] ?= "Depends on broken libgweather"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb
index c6fb75b..94e0a63 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_2.32.1.bb
@@ -21,9 +21,12 @@
     for i in $(find ${S} -name "Makefile") ; do
         sed -i -e s:"GCONFTOOL = .*/usr/bin/gconftool-2":"GCONFTOOL = /usr/bin/gconftool-2":g $i
         sed -i -e s:"GCONF_SANITY_CHECK = set":"GCONF_SANITY_CHECK = /usr/libexec/gconf-sanity-check-2":g $i
-    done    
+    done
 }
 
 RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-ck-connector', '', d)}"
 FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${datadir}/gnome ${libdir}/gnome-session/helpers"
 FILES_${PN}-dbg += "${libexecdir}/gnome-session/helpers/.debug"
+
+# http://errors.yoctoproject.org/Errors/Details/68621/
+PNBLACKLIST[gnome-session] ?= "BROKEN: fails to build with gcc-6"
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
index f9b02b1..1c78474 100644
--- 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
@@ -53,8 +53,6 @@
 PACKAGES_DYNAMIC += "^gnome-vfs-plugin-.*"
 
 python populate_packages_prepend () {
-    print d.getVar('FILES_gnome-vfs', 1)
-
     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/gnome-terminal_2.30.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb
index 0ac2b20..18e74da 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb
@@ -1,7 +1,7 @@
 SUMMARY = "GNOME Terminal"
 LICENSE = "GPL-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=5b51eba4ba4cafe64073227530c061ed"
-DEPENDS = "gtk+ glib-2.0 startup-notification dbus-glib vte gnome-doc-utils intltool-native"
+DEPENDS = "gtk+ glib-2.0 startup-notification dbus-glib vte9 gnome-doc-utils intltool-native"
 PR = "r1"
 
 inherit gnome
@@ -17,3 +17,6 @@
 GNOME_COMPRESS_TYPE="bz2"
 
 RRECOMMENDS_${PN} += "gnome-common-schemas"
+
+# http://errors.yoctoproject.org/Errors/Details/68636/
+PNBLACKLIST[gnome-terminal] ?= "BROKEN: fails to build with gcc-6"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb
index 6bb6816..2caa820 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomecups_0.2.3.bb
@@ -21,3 +21,5 @@
 SRC_URI[archive.md5sum] = "dc4920c15c9f886f73ea74fbff0ae48b"
 SRC_URI[archive.sha256sum] = "e130e80942b386de19a288a4c194ff3dbe9140315b31e982058c8bffbb6a1d29"
 GNOME_COMPRESS_TYPE="bz2"
+
+PNBLACKLIST[libgnomecups] ?= "Depends on broken libgnomeui"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb
index 9d41914..ff14616 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb
@@ -24,3 +24,5 @@
     ${libdir}/${PN}/${PV}/modules/*.a \
     ${libdir}/${PN}/${PV}/modules/*/*.a \
 "
+
+PNBLACKLIST[libgnomeprint] ?= "Depends on broken libgnomecups"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb
index 3d3118a..5d1d251 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb
@@ -45,3 +45,5 @@
         recursive=True,
         prepend=True)
 }
+
+PNBLACKLIST[gnumeric] ?= "Depends on broken libgnomeprint"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/files/0001-Drop-help-directory-from-build.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/files/0001-Drop-help-directory-from-build.patch
new file mode 100644
index 0000000..d116968
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/files/0001-Drop-help-directory-from-build.patch
@@ -0,0 +1,25 @@
+From 48cb878cb724e7a509260f014db6365510b8b541 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 17 May 2016 14:05:29 +0300
+Subject: [PATCH] Drop help directory from build
+
+It hardcodes the use of xml2po tool form gnome-doc-utils
+
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index d056875..3fc4a41 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,4 +1,4 @@
+-SUBDIRS = m4 copy-n-paste data po gthumb extensions tests help
++SUBDIRS = m4 copy-n-paste data po gthumb extensions tests
+ 
+ ACLOCAL_AMFLAGS = -I m4
+ AMCFLAGS = -fPIC -DPIC
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb
index 0bf1321..5eee7f0 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_2.12.4.bb
@@ -2,7 +2,7 @@
 SECTION = "x11/gnome"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "glib-2.0 gtk+ libxml2 gnome-doc-utils libunique gconf libpng gstreamer jpeg tiff gst-plugins-base"
+DEPENDS = "glib-2.0 gtk+ libxml2 gnome-doc-utils libunique gconf libpng gstreamer jpeg tiff gst-plugins-base intltool-native"
 
 PR = "r4"
 
@@ -14,7 +14,12 @@
 SRC_URI[archive.sha256sum] = "cf809695230ab8892a078be454a42ade865754c72ec1da7c3d74d4310de54f1d"
 GNOME_COMPRESS_TYPE="bz2"
 
-SRC_URI += "file://parallel.patch"
+SRC_URI += "file://parallel.patch \
+            file://0001-Drop-help-directory-from-build.patch"
+
+do_configure_prepend () {
+    rm -f ${S}/m4/gnome-doc-utils.m4
+}
 
 do_install_append () {
     rm -f ${D}${libdir}/${BPN}/extensions/*.a
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
new file mode 100644
index 0000000..f0b878d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/files/glib-2.32.patch
@@ -0,0 +1,23 @@
+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
new file mode 100644
index 0000000..5c557ba
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/files/substitute-tests.patch
@@ -0,0 +1,37 @@
+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
new file mode 100644
index 0000000..c0ac911
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtk-engines/gtk-engines_2.20.2.bb
@@ -0,0 +1,55 @@
+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"
+
+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', True), "gtk-2.0/2.10.0/engines")
+    themes_root = os.path.join(d.getVar('datadir', True), "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/gtksourceview2/suppress-string-format-literal-warning.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2/suppress-string-format-literal-warning.patch
new file mode 100644
index 0000000..f9ae077
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2/suppress-string-format-literal-warning.patch
@@ -0,0 +1,33 @@
+Fix build error with gcc6:
+../../gtksourceview-2.10.5/gtksourceview/gtksourceprintcompositor.c: In function 'strdup_strftime':
+../../gtksourceview-2.10.5/gtksourceview/gtksourceprintcompositor.c:1951:3: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
+   tmplen = strftime (tmpbuf, tmpbufsize, locale_format, tm);
+   ^~~~~~
+
+Patch Reference:
+https://git.gnome.org/browse/glib/commit/?id=0817af40e8c74c721c30f6ef482b1f53d12044c7
+https://git.gnome.org/browse/glib/commit/?id=8cdbc7fb2c8c876902e457abe46ee18a0b134486
+
+Upstream-Status: Pending
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff -Nurp gtksourceview-2.10.5.orig/gtksourceview/gtksourceprintcompositor.c gtksourceview-2.10.5/gtksourceview/gtksourceprintcompositor.c
+--- gtksourceview-2.10.5.orig/gtksourceview/gtksourceprintcompositor.c	2016-07-01 13:11:43.631173762 +0800
++++ gtksourceview-2.10.5/gtksourceview/gtksourceprintcompositor.c	2016-07-04 13:54:18.223726343 +0800
+@@ -1913,6 +1913,8 @@ setup_pango_layouts (GtkSourcePrintCompo
+  * GLIB - Library of useful routines for C programming
+  * Copyright (C) 1995-1997  Peter Mattis, Spencer Kimball and Josh MacDonald */
+ 
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+ static gchar *
+ strdup_strftime (const gchar *format, const struct tm *tm)
+ {
+@@ -1982,6 +1984,7 @@ strdup_strftime (const gchar *format, co
+ 
+ 	return convbuf;
+ }
++#pragma GCC diagnostic pop
+ 
+ static gchar *
+ evaluate_format_string (GtkSourcePrintCompositor *compositor,
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
index c745e34..df37b04 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb
@@ -4,17 +4,20 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
-DEPENDS = "gtk+ libxml2"
+DEPENDS = "gtk+ libxml2 intltool-native"
 
 PNAME = "gtksourceview"
 
 S = "${WORKDIR}/${PNAME}-${PV}"
 
-inherit gnomebase lib_package gettext
+inherit gnomebase lib_package gettext distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 # overrule SRC_URI from gnome.conf
 SRC_URI = "${GNOME_MIRROR}/${PNAME}/${@gnome_verdir("${PV}")}/${PNAME}-${PV}.tar.bz2;name=archive \
            file://gtk-doc.make \
+           file://suppress-string-format-literal-warning.patch \
 "
 SRC_URI[archive.md5sum] = "1219ad1694df136f126507466aeb41aa"
 SRC_URI[archive.sha256sum] = "c585773743b1df8a04b1be7f7d90eecdf22681490d6810be54c81a7ae152191e"
@@ -26,3 +29,4 @@
 }
 
 FILES_${PN} += " ${datadir}/gtksourceview-2.0"
+
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/files/0001-Add-support-for-libsystemd.patch b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/files/0001-Add-support-for-libsystemd.patch
deleted file mode 100644
index 7ec9505..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/files/0001-Add-support-for-libsystemd.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 39be8b277c666db21965d54d5b72418ce57a450b Mon Sep 17 00:00:00 2001
-From: Michael Biebl <biebl@debian.org>
-Date: Tue, 19 May 2015 23:38:11 +0200
-Subject: [PATCH] Add support for libsystemd
-
-In systemd v209 the various libsystemd-* libraries were merged into a
-single libsystemd library. So first check for this library and fall back
-to libsystemd-login if not found.
-
-Bug: https://bugzilla.gnome.org/show_bug.cgi?id=749603
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=779766
-
-Upstream-Status: Applied
----
- configure.ac | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ee3475d..bd5c043 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -264,18 +264,20 @@ dnl **********************************
- dnl *** Check for libsystemd-login ***
- dnl **********************************
- 
--AC_ARG_ENABLE(libsystemd_login, AS_HELP_STRING([--disable-libsystemd-login],[build without liblibsystemd-login]))
-+AC_ARG_ENABLE(libsystemd_login, AS_HELP_STRING([--disable-libsystemd-login],[build without libsystemd-login]))
- msg_libsystemd_login=no
- LIBSYSTEMD_LOGIN_LIBS=
- LIBSYSTEMD_LOGIN_CFLAGS=
- LIBSYSTEMD_LOGIN_REQUIRED=44
- 
- if test "x$enable_libsystemd_login" != "xno"; then
--  PKG_CHECK_EXISTS([libsystemd-login >= $LIBSYSTEMD_LOGIN_REQUIRED], msg_libsystemd_login=yes)
-+  PKG_CHECK_EXISTS([libsystemd], [msg_libsystemd_login=yes],
-+                   [PKG_CHECK_EXISTS([libsystemd-login >= $LIBSYSTEMD_LOGIN_REQUIRED], msg_libsystemd_login=yes)])
- 
-   if test "x$msg_libsystemd_login" = "xyes"; then
--    PKG_CHECK_MODULES([LIBSYSTEMD_LOGIN],[libsystemd-login >= $LIBSYSTEMD_LOGIN_REQUIRED])
--    AC_DEFINE(HAVE_LIBSYSTEMD_LOGIN, 1, [Define to 1 if liblibsystemd_login is available])
-+    PKG_CHECK_MODULES([LIBSYSTEMD_LOGIN],[libsystemd],,
-+                      [PKG_CHECK_MODULES([LIBSYSTEMD_LOGIN],[libsystemd-login >= $LIBSYSTEMD_LOGIN_REQUIRED])])
-+    AC_DEFINE(HAVE_LIBSYSTEMD_LOGIN, 1, [Define to 1 if libsystemd_login is available])
-   fi
- fi
- 
--- 
-2.5.0
-
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.24.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.24.2.bb
deleted file mode 100644
index aa62070..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.24.2.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-DESCRIPTION = "gvfs is a userspace virtual filesystem"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
-
-inherit gnome
-
-DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2"
-
-SRC_URI[archive.md5sum] = "83ed317eb2a5264715d4273e90a5cfd8"
-SRC_URI[archive.sha256sum] = "0949eaedd1df7175f8d7ee2700df8210d1f854b8ee37d963bc32ee7091eeb228"
-SRC_URI += " \
-    file://0001-Add-support-for-libsystemd.patch \
-"
-
-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 \
-"
-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"
-
-PACKAGES += "${PN}-bash-completion"
-FILES_${PN}-bash-completion = "${datadir}/bash-completion"
-RDEPENDS_${PN}-bash-completion = "bash-completion"
-
-PACKAGECONFIG ?= "libgphoto2"
-
-PACKAGECONFIG[afc] = "--enable-afc, --disable-afc, libimobiledevice libplist"
-PACKAGECONFIG[archive] = "--enable-archive, --disable-archive, libarchive"
-PACKAGECONFIG[avahi] = "--enable-avahi, --disable-avahi, avahi"
-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"
-
-# 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"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb
new file mode 100644
index 0000000..746d73c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.28.3.bb
@@ -0,0 +1,60 @@
+DESCRIPTION = "gvfs is a userspace virtual filesystem"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
+
+inherit gnome bash-completion
+
+DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2"
+
+SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
+
+SRC_URI[archive.md5sum] = "d2399a1a217dd5030e8830c7e7c813c2"
+SRC_URI[archive.sha256sum] = "458c4cb68570f6ef4a9e152995c62d0057c3e0a07ed64d84c7200cdd22f0bd17"
+
+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.contains('DISTRO_FEATURES', 'systemd', '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"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb
index aeec2d3..71fe545 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/gweather/libgweather_2.30.3.bb
@@ -20,4 +20,5 @@
 PACKAGES =+ "${PN}-locationdata"
 FILES_${PN}-locationdata = "${datadir}/libgweather/Locations*"
 
-
+# http://errors.yoctoproject.org/Errors/Details/68608/
+PNBLACKLIST[libgweather] ?= "BROKEN: fails to build with gcc-6"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl_2.3.21.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl_2.3.21.bb
index 4966ea4..7b29506 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl_2.3.21.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libart-lgpl/libart-lgpl_2.3.21.bb
@@ -24,5 +24,5 @@
 S = "${WORKDIR}/libart_lgpl-${PV}"
 
 do_configure_prepend() {
-	cp ${WORKDIR}/${ART_CONFIG} ${S}/art_config.h
+    cp ${WORKDIR}/${ART_CONFIG} ${S}/art_config.h
 }
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 2a6f04b..6ec6d46 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
@@ -21,7 +21,7 @@
     export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs"
 }
 
-EXTRA_OECONF += "--disable-goa --disable-tests"
+EXTRA_OECONF += "--disable-goa --disable-tests --disable-gtk-doc"
 
 SRC_URI[archive.md5sum] = "eb552a8a8482e4231a3d1baf7262e64d"
 SRC_URI[archive.sha256sum] = "8740e071ecb2ae0d2a4b9f180d2ae5fdf9dc4c41e7ff9dc7e057f62442800827"
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
index 27b8b9a..40caa7b 100644
--- 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
@@ -12,7 +12,7 @@
 SRC_URI += "file://0001-libgnome-Makefile.am-allow-deprecated-symbols.patch"
 GNOME_COMPRESS_TYPE="bz2"
 
-DEPENDS += "libcanberra gconf-native gnome-vfs libbonobo esound"
+DEPENDS += "libcanberra gconf-native gnome-vfs libbonobo esound intltool-native"
 
 EXTRA_OECONF += "--disable-gtk-doc"
 
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb
index 969df3b..f357657 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb
@@ -4,7 +4,7 @@
 
 SECTION = "x11/gnome/libs"
 
-DEPENDS = "gconf gtk+ glib-2.0 libxklavier"
+DEPENDS = "gconf gtk+ glib-2.0 libxklavier intltool-native"
 
 inherit gnome
 
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc
deleted file mode 100644
index 26997b8..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc
+++ /dev/null
@@ -1,24 +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"
-
-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"
-FILES_${PN}-dbg += "${libdir}/gtk-2.0/*/filesystems/.debug/ ${libdir}/libglade/*/.debug/"
-
-SRC_URI += "file://gnome-stock-pixbufs.h file://no-pixbuf-csource.patch"
-
-EXTRA_OECONF = "--disable-gtk-doc"
-
-do_configure_prepend() {
-    install -m 0644 ${WORKDIR}/gnome-stock-pixbufs.h ${S}/libgnomeui/pixmaps/gnome-stock-pixbufs.h
-}
-
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
new file mode 100644
index 0000000..abc9bdf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui/0001-suppress-string-format-literal-warning-to-fix-build-.patch
@@ -0,0 +1,78 @@
+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_2.24.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui_2.24.3.bb
deleted file mode 100644
index 6fb2786..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui_2.24.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require libgnomeui.inc
-
-PR = "r1"
-
-SRC_URI[archive.md5sum] = "ceab6f4370581d1a03c09f15cc103099"
-SRC_URI[archive.sha256sum] = "04c81f3bb5a337cdf3ed1230916f82d29857ee95eb884f58dd2f5c6860efe803"
-GNOME_COMPRESS_TYPE="bz2"
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
new file mode 100644
index 0000000..94b00c1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomeui_2.24.5.bb
@@ -0,0 +1,29 @@
+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"
+
+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
+}
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
index be79ec1..602d513 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb
@@ -5,7 +5,7 @@
 
 SECTION = "libs"
 
-DEPENDS= "libxml2 bzip2 glib-2.0 zlib"
+DEPENDS= "libxml2 bzip2 glib-2.0 zlib intltool-native"
 
 inherit autotools pkgconfig gnome gconf gobject-introspection
 
@@ -24,6 +24,6 @@
     --with-bz2 \
 "
 
-RDEPENDS_${PN} = "gconf" 
+RDEPENDS_${PN} = "gconf"
 
 FILES_${PN} += "${datadir}/thumbnailers"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
index d273e6c..83e8468 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
@@ -8,7 +8,9 @@
 PACKAGECONFIG ??= "startup-notification"
 PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
 
-inherit gnomebase gobject-introspection
+inherit gnomebase gobject-introspection distro_features_check
+REQUIRED_DISTRO_FEATURES = "x11"
+
 GNOME_COMPRESS_TYPE = "xz"
 SRC_URI[archive.md5sum] = "f03e1139296e2a3a92e3b65a3080cd32"
 SRC_URI[archive.sha256sum] = "83f732d20781fc88b22cdc6aaf2d4f388db6d3d4ff28d1a8fd45be9fb7743a9e"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb
index 384841a..23e6603 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb
@@ -5,6 +5,9 @@
 DEPENDS = "xkbcomp gtk+ iso-codes libxi libxml2"
 
 GNOME_COMPRESS_TYPE = "xz"
+inherit gnomebase gettext gobject-introspection distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 inherit gnomebase gettext gobject-introspection
 SRC_URI[archive.md5sum] = "290ea2a8abc40f78a3a16bdae6f02808"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb
index 992596e..47b0980 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_0.19.bb
@@ -11,3 +11,6 @@
 SRC_URI[sha256sum] = "1a7fdc5f95a2193a1a25fdb13f071867fb7e42245ce19ccee4bcccb69e557f2e"
 
 PR = "r3"
+
+# tasks-0.19/libkoto/koto-utils.c:81:3: error: format not a string literal, argument types not checked [-Werror=format-nonliteral]
+PNBLACKLIST[tasks] ?= "Fails to build with gcc-6"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_git.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_git.bb
index 6a06da3..32d2ac6 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_git.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/pimlico/tasks_git.bb
@@ -7,3 +7,6 @@
 PR = "r3"
 
 S = "${WORKDIR}/git"
+
+# ../../git/libkoto/koto-utils.c:81:3: error: format not a string literal, argument types not checked [-Werror=format-nonliteral]
+PNBLACKLIST[tasks] ?= "Fails to build with gcc-6"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb
index 1693f37..745b558 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-gnome/system-tools/system-tools-backends_2.10.2.bb
@@ -34,7 +34,7 @@
 
 do_install_append () {
     install -d ${D}/${sysconfdir}/init.d
-    install -m 0755 ${WORKDIR}/system-tools-backends ${D}/${sysconfdir}/init.d/    
+    install -m 0755 ${WORKDIR}/system-tools-backends ${D}/${sysconfdir}/init.d/
 }
 
 INITSCRIPT_NAME = "system-tools-backends"
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
index 3aa743e..8c39ad7 100644
--- 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
@@ -27,7 +27,7 @@
 
 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/files/fix-no-atspi-compile.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/files/fix-no-atspi-compile.patch
new file mode 100644
index 0000000..0bb5dee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/files/fix-no-atspi-compile.patch
@@ -0,0 +1,30 @@
+diff --git a/src/florence.c b/src/florence.c
+index b27c31b..feadefe 100644
+--- a/src/florence.c
++++ b/src/florence.c
+@@ -44,12 +44,6 @@
+ /* exit signal */
+ static int flo_exit=FALSE;
+ 
+-#ifdef ENABLE_AT_SPI2
+-void flo_check_show (struct florence *florence, AtspiAccessible *obj);
+-#else
+-void flo_check_show (struct florence *florence, Accessible *obj);
+-#endif
+-
+ /* Called on destroy event (systray quit or close window) */
+ void flo_destroy (void)
+ {
+@@ -61,6 +55,12 @@ void flo_destroy (void)
+ }
+ 
+ #ifdef AT_SPI
++#ifdef ENABLE_AT_SPI2
++void flo_check_show (struct florence *florence, AtspiAccessible *obj);
++#else
++void flo_check_show (struct florence *florence, Accessible *obj);
++#endif
++
+ /* Called to destroy the icon */
+ void flo_icon_destroy (GtkWidget *widget, gpointer user_data)
+ {
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.5.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.5.1.bb
deleted file mode 100644
index 71014f0..0000000
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.5.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "Florence is a virtual keyboard (also called on-screen-keyboard), which allows the user to input text through a touchscreen."
-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"
-
-PR = "r1"
-
-DEPENDS = "gtk+ libxml2 libglade librsvg libxtst gconf cairo intltool-native gnome-doc-utils libnotify"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/florence/florence/${PV}/florence-${PV}.tar.bz2 \
-           file://0001-Fix-glib-includes.patch"
-SRC_URI[md5sum] = "56d12e5b47c100d9df172aa5ddc0f609"
-SRC_URI[sha256sum] = "7b06ed84ef2b7b22d8d2cf0c7d013a05409bd82028240ac8719a68b192d5bc62"
-
-inherit gettext autotools gconf pkgconfig
-
-EXTRA_OECONF = "--disable-scrollkeeper --without-docs --without-at-spi --without-panelapplet"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.5.4.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.5.4.bb
new file mode 100644
index 0000000..dfdb6bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/florence/florence_0.5.4.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Florence is a virtual keyboard (also called on-screen-keyboard), which allows the user to input text through a touchscreen."
+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"
+
+PR = "r1"
+
+DEPENDS = "gtk+ libxml2 libglade librsvg libxtst gconf cairo intltool-native gnome-doc-utils libnotify gstreamer"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/florence/florence/${PV}-gtk2/florence-${PV}.tar.bz2 \
+           file://fix-no-atspi-compile.patch"
+SRC_URI[md5sum] = "8d5c2367a28485bfcf577650b0badab7"
+SRC_URI[sha256sum] = "26d33aa20d5fbf34ceeded4c41cb922d2988b6082e33d9acc46dd7bfe56d31a1"
+
+inherit gettext autotools gconf pkgconfig
+
+EXTRA_OECONF = "--disable-scrollkeeper --without-docs --without-at-spi --without-panelapplet --without-xrecord"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb
index 919aa7b..ab20460 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb
@@ -47,3 +47,5 @@
     do_split_packages(d, goffice_libdir, '(.*)', 'goffice-plugin-%s', 'Goffice plugin for %s', allow_dirs=True)
 }
 
+# | ../../goffice-0.10.1/goffice/math/go-complex.c:75:3: error: format not a string literal, argument types not checked [-Werror=format-nonliteral]
+PNBLACKLIST[goffice] ?= "BROKEN: fails to build with gcc-6"
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/giflib5-support.patch b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/giflib5-support.patch
new file mode 100644
index 0000000..fab3371
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker-0.14.2/giflib5-support.patch
@@ -0,0 +1,126 @@
+ src/tracker-extract/tracker-extract-gif.c |   36 +++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+--- a/src/tracker-extract/tracker-extract-gif.c	
++++ a/src/tracker-extract/tracker-extract-gif.c	
+@@ -75,6 +75,39 @@
+ 	return (GIF_OK);
+ }
+ 
++#if GIFLIB_MAJOR >= 5
++static inline void
++gif_error (const gchar *action, int err)
++{
++	const char *str = GifErrorString (err);
++	if (str != NULL) {
++		g_message ("%s, error: '%s'", action, str);
++	} else {
++		g_message ("%s, undefined error %d", action, err);
++	}
++}
++#else /* GIFLIB_MAJOR >= 5 */
++static inline void print_gif_error()
++{
++#if defined(GIFLIB_MAJOR) && defined(GIFLIB_MINOR) && ((GIFLIB_MAJOR == 4 && GIFLIB_MINOR >= 2) || GIFLIB_MAJOR > 4)
++	const char *str = GifErrorString ();
++	if (str != NULL) {
++		g_message ("GIF, error: '%s'", str);
++	} else {
++		g_message ("GIF, undefined error");
++	}
++#else
++	PrintGifError();
++#endif
++}
++#endif /* GIFLIB_MAJOR >= 5 */
++
++/* giflib 5.1 changed the API of DGifCloseFile to take two arguments */
++#if !defined(GIFLIB_MAJOR) || \
++    !(GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1))
++#define DGifCloseFile(a, b) DGifCloseFile(a)
++#endif
++
+ static void
+ read_metadata (TrackerSparqlBuilder *preupdate,
+                TrackerSparqlBuilder *metadata,
+@@ -100,14 +133,22 @@
+ 		ExtBlock extBlock;
+ 
+ 		if (DGifGetRecordType(gifFile, &RecordType) == GIF_ERROR) {
+-			PrintGifError();
++#if GIFLIB_MAJOR < 5
++			print_gif_error ();
++#else  /* GIFLIB_MAJOR < 5 */
++			gif_error ("Could not read next GIF record type", gifFile->Error);
++#endif /* GIFLIB_MAJOR < 5 */
+ 			return;
+ 		}
+ 
+ 		switch (RecordType) {
+ 			case IMAGE_DESC_RECORD_TYPE:
+ 			if (DGifGetImageDesc(gifFile) == GIF_ERROR) {
+-				PrintGifError();
++#if GIFLIB_MAJOR < 5
++				print_gif_error();
++#else  /* GIFLIB_MAJOR < 5 */
++				gif_error ("Could not get GIF record information", gifFile->Error);
++#endif /* GIFLIB_MAJOR < 5 */
+ 				return;
+ 			}
+ 
+@@ -117,7 +158,11 @@
+ 			framedata = g_malloc (framewidth*frameheight);
+ 
+ 			if (DGifGetLine(gifFile, framedata, framewidth*frameheight)==GIF_ERROR) {
+-				PrintGifError();
++#if GIFLIB_MAJOR < 5
++				print_gif_error();
++#else  /* GIFLIB_MAJOR < 5 */
++				gif_error ("Could not load a block of GIF pixes", gifFile->Error);
++#endif /* GIFLIB_MAJOR < 5 */
+ 				return;
+ 			}
+ 
+@@ -593,6 +638,9 @@
+ 	gchar *filename, *uri;
+ 	GFile *file;
+ 	int fd;
++#if GIFLIB_MAJOR >= 5
++	int err;
++#endif
+ 
+ 	preupdate = tracker_extract_info_get_preupdate_builder (info);
+ 	metadata = tracker_extract_info_get_metadata_builder (info);
+@@ -617,8 +665,14 @@
+ 		return FALSE;
+ 	}	
+ 
++#if GIFLIB_MAJOR < 5
+ 	if ((gifFile = DGifOpenFileHandle (fd)) == NULL) {
+-		PrintGifError ();
++		print_gif_error ();
++#else   /* GIFLIB_MAJOR < 5 */
++	if ((gifFile = DGifOpenFileHandle (fd, &err)) == NULL) {
++		gif_error ("Could not open GIF file with handle", err);
++#endif /* GIFLIB_MAJOR < 5 */
++		g_free (filename);
+ 		close (fd);
+ 		return FALSE;
+ 	}
+@@ -637,10 +691,15 @@
+ 	g_string_free (where, TRUE);
+ 
+ 	g_free (uri);
+-
++#if GIFLIB_MAJOR < 5
+ 	if (DGifCloseFile (gifFile) != GIF_OK) {
+-		PrintGifError ();
++		print_gif_error ();
++	}
++#else  /* GIFLIB_MAJOR < 5 */
++	if (DGifCloseFile (gifFile, NULL) != GIF_OK) {
++		gif_error ("Could not close GIF file", gifFile->Error);
+ 	}
++#endif /* GIFLIB_MAJOR < 5 */
+ 
+ 	return TRUE;
+ }
diff --git a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
index c52d95e..7025280 100644
--- a/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
+++ b/import-layers/meta-openembedded/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb
@@ -1,9 +1,11 @@
 DESCRIPTION = "Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly."
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ee31012bf90e7b8c108c69f197f3e3a4"
-DEPENDS = "file gstreamer dbus libexif gettext sqlite3 icu gst-plugins-base libgnome-keyring poppler tiff enca libgsf libunistring giflib taglib bzip2 upower gtk+3 libgee networkmanager"
+DEPENDS = "file gstreamer dbus libexif gettext sqlite3 icu gst-plugins-base libgnome-keyring poppler tiff enca libgsf libunistring giflib taglib bzip2 upower gtk+3 libgee networkmanager intltool-native"
 
 RDEPENDS_${PN} += " gvfs gsettings-desktop-schemas"
+
+RDEPENDS_${PN}-nautilus-extension += "nautilus"
 HOMEPAGE = "http://projects.gnome.org/tracker/"
 
 PR = "r7"
@@ -13,7 +15,8 @@
 VER_DIR = "${@gnome_verdir("${PV}")}"
 SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/tracker/${VER_DIR}/tracker-${PV}.tar.xz \
            file://enable-sqlite-crosscompile.patch \
-	   file://fix-removable-media-detection.patch \
+           file://fix-removable-media-detection.patch \
+           file://giflib5-support.patch \
            file://90tracker \
            file://tracker-store.service \
            file://tracker-miner-fs.service \
@@ -80,3 +83,6 @@
 
 SRC_URI[md5sum] = "f3a871beeebf86fd752863ebd22af9ac"
 SRC_URI[sha256sum] = "9b59330aa2e9e09feee587ded895e9247f71fc25f46b023d616d9969314bc7f1"
+
+# http://errors.yoctoproject.org/Errors/Details/81007/
+PNBLACKLIST[tracker] ?= "BROKEN: fails to build with new binutils-2.27"
diff --git a/import-layers/meta-openembedded/meta-gpe/README b/import-layers/meta-openembedded/meta-gpe/README
index 70055af..af7d98f 100644
--- a/import-layers/meta-openembedded/meta-gpe/README
+++ b/import-layers/meta-openembedded/meta-gpe/README
@@ -1,17 +1,18 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: krogoth
+branch: morty
 revision: HEAD
 
 URI: git://github.com/openembedded/meta-oe.git
-branch: krogoth
+branch: morty
 revision: HEAD
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gpe][krogoth]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gpe]' 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-gpe][krogoth][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gpe][PATCH'
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
+
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb
index df774ee..87a3ed0 100644
--- a/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb
+++ b/import-layers/meta-openembedded/meta-gpe/recipes-graphics/libgpewidget/libgpewidget_0.117.bb
@@ -4,7 +4,7 @@
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499"
 
-DEPENDS = "gtk+ cairo libxinerama libxcomposite libxrender" 
+DEPENDS = "gtk+ cairo libxinerama libxcomposite libxrender"
 PR = "r5"
 
 inherit gpe pkgconfig autotools gtk-doc
@@ -17,7 +17,7 @@
 
 GPE_TARBALL_SUFFIX = "bz2"
 
-EXTRA_OECONF = "--enable-cairo"
+EXTRA_OECONF = "--enable-cairo --disable-gtk-doc"
 LDFLAGS += " -L${STAGING_LIBDIR}"
 
 PACKAGES =+ "${PN}-bin"
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-cflags-fribidi.patch b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-cflags-fribidi.patch
new file mode 100644
index 0000000..e72fa8c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-cflags-fribidi.patch
@@ -0,0 +1,11 @@
+--- fbreader-0.12.10/makefiles/config.mk.orig	2016-05-03 11:11:07.259734561 -0400
++++ fbreader-0.12.10/makefiles/config.mk	2016-05-03 11:11:37.447735786 -0400
+@@ -38,7 +38,7 @@
+ 	LDFLAGS += -pg
+ endif
+ 
+-ZINCLUDE = -I $(ROOTDIR)/zlibrary/core/include -I $(ROOTDIR)/zlibrary/text/include
++ZINCLUDE = $(shell pkg-config --cflags fribidi) -I $(ROOTDIR)/zlibrary/core/include -I $(ROOTDIR)/zlibrary/text/include
+ 
+ ZLSHARED ?= yes
+ 
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-return-code-gcc6.patch b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-return-code-gcc6.patch
new file mode 100644
index 0000000..97ab4d3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader-0.12.10/fix-return-code-gcc6.patch
@@ -0,0 +1,11 @@
+--- fbreader-0.12.10/fbreader/src/database/booksdb/BooksDB.cpp.orig	2016-06-08 14:54:04.206196501 -0400
++++ fbreader-0.12.10/fbreader/src/database/booksdb/BooksDB.cpp	2016-06-08 14:54:17.686196322 -0400
+@@ -145,7 +145,7 @@
+ 
+ 	myFindFileId->setFileName(fileName);
+ 	if (!myFindFileId->run()) {
+-		return false;
++		return 0;
+ 	}
+ 	((DBIntValue&)*myLoadBook->parameter("@file_id").value()) = myFindFileId->fileId();
+ 	shared_ptr<DBDataReader> reader = myLoadBook->executeReader();
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb
index e9ead0f..f8ecc93 100644
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb
+++ b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_0.12.10.bb
@@ -9,7 +9,9 @@
 
 SRC_URI = "http://www.fbreader.org/fbreader-sources-${PV}.tgz \
 file://Makefile.patch \
-file://gcc45.patch"
+file://gcc45.patch \
+file://fix-cflags-fribidi.patch \
+file://fix-return-code-gcc6.patch"
 
 # Set the defaults
 READER_RESOLUTION ?= "1024x600"
diff --git a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_git.bb b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_git.bb
index 763889a..1ed6584 100644
--- a/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_git.bb
+++ b/import-layers/meta-openembedded/meta-gpe/recipes-support/fbreader/fbreader_git.bb
@@ -40,3 +40,6 @@
 do_install() {
     oe_runmake install DESTDIR=${D} RESOLUTION=${READER_RESOLUTION}
 }
+
+# http://errors.yoctoproject.org/Errors/Details/68618/
+PNBLACKLIST[fbreader] ?= "BROKEN: fails to build with gcc-6"
diff --git a/import-layers/meta-openembedded/meta-initramfs/README b/import-layers/meta-openembedded/meta-initramfs/README
index ea03a1d..906a859 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: krogoth
+branch: morty
 revision: HEAD
 
 
@@ -20,12 +20,12 @@
 -----------
 
 Send patches / pull requests to openembedded-devel@lists.openembedded.org
-with '[meta-initramfs][krogoth]' 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][krogoth][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-initramfs][morty][PATCH'
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
 
 
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 df97511..da3023f 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
@@ -5,3 +5,9 @@
 # We really need just kexecboot, kexec and ubiattach
 # statically compiled against klibc
 IMAGE_INSTALL = "kexecboot-klibc kexec-klibc ubiattach-klibc"
+
+python () {
+    if d.getVar('TARGET_ARCH', True) == "nios2":
+        raise bb.parse.SkipPackage("'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 c978263..c806370 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
@@ -57,5 +57,5 @@
 RRECOMMENDS_${PN} = " \
                      kernel-modules \
                      busybox \
-                     coreutils \ 
+                     coreutils \
                     "
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/grubby-rename-grub2-editenv-to-grub-editenv.patch b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/grubby-rename-grub2-editenv-to-grub-editenv.patch
new file mode 100644
index 0000000..d936249
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/grubby-rename-grub2-editenv-to-grub-editenv.patch
@@ -0,0 +1,69 @@
+From 0841706a5b5280e501c8e392c70c466c5fbcf0aa Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Tue, 4 Aug 2015 23:54:41 -0700
+Subject: [PATCH] rename grub2-editenv to grub-editenv
+
+We don't use the name grub2-editenv for grub2.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ grubby.c | 4 ++--
+ test.sh  | 6 +++---
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/grubby.c b/grubby.c
+index d4ebb86..47a1a15 100644
+--- a/grubby.c
++++ b/grubby.c
+@@ -290,7 +290,7 @@ static char *grub2GetEnv(struct configFileInfo *info, char *name)
+     char *s = NULL;
+     char *ret = NULL;
+     char *envFile = info->envFile ? info->envFile : "/boot/grub2/grubenv";
+-    int rc = asprintf(&s, "grub2-editenv %s list | grep '^%s='", envFile, name);
++    int rc = asprintf(&s, "grub-editenv %s list | grep '^%s='", envFile, name);
+ 
+     if (rc < 0)
+ 	return NULL;
+@@ -361,7 +361,7 @@ static int grub2SetEnv(struct configFileInfo *info, char *name, char *value)
+     if (!value)
+ 	    return -1;
+ 
+-    rc = asprintf(&s, "grub2-editenv %s set '%s=%s'", envFile, name, value);
++    rc = asprintf(&s, "grub-editenv %s set '%s=%s'", envFile, name, value);
+     free(value);
+     if (rc <0)
+ 	return -1;
+diff --git a/test.sh b/test.sh
+index 6379698..f738388 100755
+--- a/test.sh
++++ b/test.sh
+@@ -574,7 +574,7 @@ if [ "$testgrub2" == "y" ]; then
+         --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
+         --copy-default
+     commandTest "saved_default output" \
+-        "grub2-editenv test/grub2-support_files/env_temp list" \
++        "grub-editenv test/grub2-support_files/env_temp list" \
+         "saved_entry=Linux, with Fedora 2.6.38.8-32.fc15.x86_64"
+ 
+     testing="GRUB2 add kernel with default=saved_entry and a terrible title"
+@@ -587,13 +587,13 @@ if [ "$testgrub2" == "y" ]; then
+     testing="GRUB2 set default with default=saved_entry and a terrible name"
+     grub2Test grub2.9 add/g2-1.9 --env grubenv.1 --set-default-index=0
+     commandTest "saved_default output" \
+-        "grub2-editenv test/grub2-support_files/env_temp list" \
++        "grub-editenv test/grub2-support_files/env_temp list" \
+         'saved_entry=Fedora (3.10.3-300.fc19.x86_64) 19 (Schrödinger’s Cat)'
+ 
+     testing="GRUB2 set default with default=saved_entry"
+     grub2Test grub2.8 add/g2-1.8 --env grubenv.1 --set-default-index=0
+     commandTest "saved_default output" \
+-        "grub2-editenv test/grub2-support_files/env_temp list" \
++        "grub-editenv test/grub2-support_files/env_temp list" \
+         "saved_entry=title"
+ 
+     testing="GRUB2 --default-index with default=saved_entry"
+-- 
+2.3.5
+
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/run-ptest b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/run-ptest
new file mode 100644
index 0000000..b06ac59
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+./test.sh -v
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
new file mode 100644
index 0000000..0e93790
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
@@ -0,0 +1,37 @@
+SUMMARY = "A command line tool for updating and displaying info about boot loaders"
+DESCRIPTION = "grubby is a command line tool for updating and displaying information \
+about the configuration files for the grub, lilo, elilo (ia64), yaboot (powerpc) and \
+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. \
+"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
+
+DEPENDS = "popt util-linux"
+
+SRC_URI = "https://github.com/rhinstaller/${BPN}/archive/${PV}-1.tar.gz;downloadfilename=${BPN}-${PV}-1.tar.gz \
+           file://grubby-rename-grub2-editenv-to-grub-editenv.patch \
+           file://run-ptest \
+"
+
+SRC_URI[md5sum] = "1005907b275d6d93368d045274537d86"
+SRC_URI[sha256sum] = "85f1c678484f74c8978e8643451594967defce463a86c35cb1ee56d12767a9df"
+
+S = "${WORKDIR}/${BPN}-${PV}-1"
+
+RDEPENDS_${PN} += "dracut"
+
+inherit autotools-brokensep ptest
+
+EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}'"
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}
+    cp -r ${S}/test ${S}/test.sh ${D}${PTEST_PATH}
+    sed -i 's|./grubby|grubby|' ${D}${PTEST_PATH}/test.sh
+}
+
+RDEPENDS_${PN}-ptest = "util-linux-getopt bash"
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
diff --git a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
index 65ee868..f00e31a 100644
--- a/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/import-layers/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -27,6 +27,7 @@
                 'KLIBCLIBGCC=${STAGING_DIR_TARGET}${libdir}/${TARGET_SYS}/*/libgcc.a' \
                 'prefix=${exec_prefix}' \
                 'INSTALLROOT=${D}' \
+                'INSTALLDIR=${libdir}/klibc' \
                 'SHLIBDIR=${libdir}' \
                 "
 
diff --git a/import-layers/meta-openembedded/meta-multimedia/README b/import-layers/meta-openembedded/meta-multimedia/README
index 9364618..c540bed 100644
--- a/import-layers/meta-openembedded/meta-multimedia/README
+++ b/import-layers/meta-openembedded/meta-multimedia/README
@@ -1,20 +1,20 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: krogoth
+branch: morty
 revision: HEAD
 
 URI: git://github.com/openembedded/meta-oe.git
 layers: meta-oe, meta-ruby
-branch: krogoth
+branch: morty
 revision: HEAD
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia][krogoth]' 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][krogoth][PATCH
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-multimedia][morty][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.
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-multimedia/classes/juce.bbclass b/import-layers/meta-openembedded/meta-multimedia/classes/juce.bbclass
new file mode 100644
index 0000000..715282f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/classes/juce.bbclass
@@ -0,0 +1,48 @@
+inherit pkgconfig
+
+JUCE_MODULES ??= " \
+  juce_core \
+  juce_events \
+  ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'juce_audio_devices', '', d)} \
+  ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'juce_graphics juce_gui_basics', '', d)} \
+  ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'juce_opengl', '', d)} \
+"
+JUCE_X11_DEPS = "libx11 libxext libxinerama libxrandr libxcursor"
+
+PACKAGECONFIG_prepend= "${JUCE_MODULES} "
+PACKAGECONFIG[juce_core] = ",,curl,"
+PACKAGECONFIG[juce_events] = ",,libx11,"
+PACKAGECONFIG[juce_audio_devices] = ",,alsa-lib,"
+PACKAGECONFIG[juce_graphics] = ",,${JUCE_X11_DEPS} freetype,"
+PACKAGECONFIG[juce_gui_basics] = ",,${JUCE_X11_DEPS},"
+PACKAGECONFIG[juce_opengl] = ",,virtual/libgl,"
+
+DEPENDS_prepend = "projucer-native "
+
+export OE_JUCE_PROJUCER = "${STAGING_BINDIR_NATIVE}/Projucer"
+
+juce_do_configure() {
+  if [ -z "${JUCE_JUCERS}" ]; then
+    JUCERS=`find . -type f -iname "*.jucer"` && IFS=$'\n'
+  else
+    JUCERS="${JUCE_JUCERS}"
+  fi
+
+  if [ -z "$JUCERS" ]; then
+    die "JUCE_JUCERS not set and no profiles found in $PWD"
+  fi
+
+  # XXX: Hack for Projucer, since it requires a X Display even when running in
+  # console mode. This will be fixed in future. Most cases DISPLAY=:0 will just work,
+  # the only case why we have JUCE_DISPLAY variable, is in case of a build system,
+  # such as jenkins, that can have multiple virtual X server running for each build.
+  test -z "${JUCE_DISPLAY}" && export DISPLAY=:0 || export DISPLAY=${JUCE_DISPLAY}
+
+  for i in $JUCERS; do
+    ${OE_JUCE_PROJUCER} --resave $i
+  done
+}
+
+EXPORT_FUNCTIONS do_configure
+
+addtask configure after do_unpack do_patch before do_compile
diff --git a/import-layers/meta-openembedded/meta-multimedia/conf/layer.conf b/import-layers/meta-openembedded/meta-multimedia/conf/layer.conf
index 64a0a44..d68b13f 100644
--- a/import-layers/meta-openembedded/meta-multimedia/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-multimedia/conf/layer.conf
@@ -23,3 +23,9 @@
 
 BBFILE_PRIORITY_multimedia-layer = "6"
 
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_multimedia-layer = "1"
+
+LAYERDEPENDS_multimedia-layer = "core"
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.10.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.10.bb
index 821b5a3..eda70e8 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.10.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.8.10.bb
@@ -2,7 +2,7 @@
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
                     file://src/network-light/main.c;beginline=1;endline=21;md5=2c39b3a000495dabd4932f231c7efed8"
-DEPENDS = "gupnp gupnp-av gtk+3"
+DEPENDS = "gupnp gupnp-av gtk+3 intltool-native"
 RRECOMMENDS_${PN} = "adwaita-icon-theme"
 
 SRC_URI = "http://download.gnome.org/sources/${BPN}/0.8/${BPN}-${PV}.tar.xz"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.28.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.28.2.bb
index 5cb7d43..79ff6e2 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.28.2.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.28.2.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
                     file://src/rygel/rygel-main.vala;endline=27;md5=99324118da4c012d25edae2f779ae9b3"
 
-DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstreamer1.0-plugins-base ossp-uuid libgee libsoup-2.4 libmediaart-2.0 libunistring sqlite3"
+DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstreamer1.0-plugins-base ossp-uuid libgee libsoup-2.4 libmediaart-2.0 libunistring sqlite3 intltool-native"
 RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
 RRECOMMENDS_${PN} = "rygel-plugin-media-export"
 
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb
index 1c0d686..0b4b72d 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/dvb-apps/dvb-apps_1.1.1.bb
@@ -4,20 +4,38 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
-SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http"
-SRCREV = "3fc7dfa68484"
+DEPENDS = "v4l-utils-native"
+
+SRC_URI = " \
+            hg://linuxtv.org/hg;module=dvb-apps;protocol=http;name=apps \
+            git://linuxtv.org/git/dtv-scan-tables.git;protocol=http;destsuffix=dvb-apps/initial-scan-tables;name=scantables \
+          "
+SRCREV_apps = "3d43b280298c"
+SRCREV_scantables = "ceb11833b35f05813b1f0397a60e0f3b99430aab"
+SRCREV_FORMAT = "apps_scantables"
 
 S = "${WORKDIR}/${BPN}"
 
+TARGET_CC_ARCH += "${LDFLAGS}"
+EXTRA_OEMAKE = "VERSION_FILE='${STAGING_INCDIR}/linux/dvb/version.h'"
+
 do_configure() {
-    sed -i -e s:/usr/include:${STAGING_INCDIR}:g util/av7110_loadkeys/generate-keynames.sh 
+    sed -i -e s:/usr/include:${STAGING_INCDIR}:g util/av7110_loadkeys/generate-keynames.sh
+}
+
+do_compile_append() {
+# dvb-apps only support DVBAPI v3, so generate them from the DVBAPI v5 downloaded files
+    make -C initial-scan-tables clean
+    make -C initial-scan-tables dvbv3
 }
 
 do_install() {
     make DESTDIR=${D} install
+# dvb-apps only support DVBAPI v3, so only install the generated DVBAPI v3 files
+    make -C initial-scan-tables DATADIR=${D}/${datadir} DVBV3DIR=dvb install_v3
+
     install -d ${D}/${bindir}
     install -d ${D}/${docdir}/dvb-apps
-    install -d ${D}/${docdir}/dvb-apps/scan
     install -d ${D}/${docdir}/dvb-apps/szap
     chmod a+rx ${D}/${libdir}/*.so*
 
@@ -63,6 +81,9 @@
              dvb-femon dvb-femon-dbg \
              dvb-zap-data"
 
+# Expose the packages from the above spitting
+PACKAGES =+ "libdvbapi libdvbcfg libdvben50221 \
+             libesg libucsi libdvbsec"
 
 FILES_${PN} = "${bindir} ${datadir}/dvb"
 FILES_${PN}-doc = ""
@@ -86,7 +107,7 @@
 
 FILES_dvb-scan = "${bindir}/*scan "
 FILES_dvb-scan-dbg = "${bindir}/.debug/*scan"
-FILES_dvb-scan-data = "${docdir}/dvb-apps/scan"
+FILES_dvb-scan-data = "${datadir}/dvb"
 
 FILES_dvb-azap = "${bindir}/azap"
 FILES_dvb-azap-dbg = "${bindir}/.debug/azap"
@@ -104,3 +125,10 @@
 FILES_dvb-femon-dbg = "${bindir}/.debug/femon"
 
 FILES_dvb-zap-data = "${docdir}/dvb-apps/szap"
+
+RDEPENDS_dvbdate =+ "libdvbapi libucsi"
+RDEPENDS_dvbtraffic =+ "libdvbapi"
+RDEPENDS_dvb-scan =+ "libdvbapi libdvbcfg libdvbsec"
+RDEPENDS_dvb-apps =+ "libdvbapi libdvbcfg libdvbsec libdvben50221 libucsi"
+RDEPENDS_dvb-femon =+ "libdvbapi"
+RDEPENDS_dvbnet =+ "libdvbapi"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch
new file mode 100644
index 0000000..55b9249
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0002-fix-issues-with-gcc6.patch
@@ -0,0 +1,46 @@
+--- git/src/htsmsg.c.orig	2016-06-17 11:47:53.026921237 -0400
++++ git/src/htsmsg.c	2016-06-17 11:49:03.086922457 -0400
+@@ -574,13 +574,13 @@
+     case HMF_MAP:
+       printf("MAP) = {\n");
+       htsmsg_print0(&f->hmf_msg, indent + 1);
+-      for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
++      for(i = 0; i < indent; i++) {printf("\t");} printf("}\n");
+       break;
+ 
+     case HMF_LIST:
+       printf("LIST) = {\n");
+       htsmsg_print0(&f->hmf_msg, indent + 1);
+-      for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
++      for(i = 0; i < indent; i++) {printf("\t");} printf("}\n");
+       break;
+       
+     case HMF_STR:
+--- git/src/dvb/dvb_tables.c.orig	2016-06-17 11:51:09.142924652 -0400
++++ git/src/dvb/dvb_tables.c	2016-06-17 11:54:33.962928219 -0400
+@@ -935,10 +935,10 @@
+     onid = (ptr[24] << 8) | ptr[25];
+     
+     /* Search all muxes on adapter */
+-    LIST_FOREACH(tdmi, &tda->tda_muxes, tdmi_adapter_link)
+-      if(tdmi->tdmi_transport_stream_id == tsid && tdmi->tdmi_network_id == onid);
+-	break;
+-    
++    LIST_FOREACH(tdmi, &tda->tda_muxes, tdmi_adapter_link) {
++      if(tdmi->tdmi_transport_stream_id == tsid && tdmi->tdmi_network_id == onid)
++    	break;
++    }
+     if(tdmi == NULL)
+       continue;
+ 
+--- git/src/epggrab/module/eit.c.orig	2016-06-17 11:49:57.726923409 -0400
++++ git/src/epggrab/module/eit.c	2016-06-17 11:50:14.526923701 -0400
+@@ -214,7 +214,7 @@
+   if (m && m->enabled) cptr = _eit_freesat_conv;
+   else
+     m = epggrab_module_find_by_id("uk_freeview");
+-    if (m && m->enabled) cptr = _eit_freesat_conv;
++  if (m && m->enabled) cptr = _eit_freesat_conv;
+ 
+   /* Convert */
+   return dvb_get_string_with_len(dst, dstlen, src, srclen, charset, cptr);
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
index 65d43c6..bd5062c 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
@@ -8,6 +8,7 @@
 
 SRC_URI = "git://github.com/tvheadend/tvheadend.git \
            file://0001-Move-tvheadend-specific-LD-CFLAGS-into-a-helper-vari.patch \
+           file://0002-fix-issues-with-gcc6.patch \
 "
 SRCREV = "a420c83a0e0d2c31c2c15d0fec6fedc3f5a36dfe"
 PV = "3.3"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
index f14d4e1..0d8dd5c 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb
@@ -52,8 +52,6 @@
 EXTRA_OECONF_append_armv7a = "--cpu=cortex-a8"
 
 # for python modules
-export HOST_SYS
-export BUILD_SYS
 export STAGING_LIBDIR
 export STAGING_INCDIR
 export PYTHON_DIR
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch
new file mode 100644
index 0000000..a01c754
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch
@@ -0,0 +1,57 @@
+Use LD and obey LDFLAGS
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Upstream-Status: Pending
+
+diff --git a/make/linux/Makefile b/make/linux/Makefile
+index 391b6e3..a2ac13e 100644
+--- a/make/linux/Makefile
++++ b/make/linux/Makefile
+@@ -64,6 +64,7 @@ objects_so:=$(patsubst %$(EXTENSION),%.lo,$(sources))
+ WARNINGFLAGS=-Wall -Wextra -Wno-unknown-pragmas -ansi -fno-gnu-keywords -Wshadow
+ COMPILEFLAGS=$(WARNINGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
+ DEPENDFLAGS  = $(CXXFLAGS) $(INCLUDE)
++LINKFLAGS=$(LDFLAGS)
+
+ ifeq (Darwin,$(shell uname -s))
+ all: staticlib
+@@ -91,7 +92,7 @@ $(LIBRARY): $(objects)
+	$(RANLIB) $@
+
+ $(LIBRARY_SO): $(objects_so)
+-	$(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
++	$(LD) $(LINKFLAGS) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
+	rm -f $(LIBRARY_SO)
+	ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
+
+diff --git a/make/mingw32/Makefile b/make/mingw32/Makefile
+index e5986ef..6ca16aa 100644
+--- a/make/mingw32/Makefile
++++ b/make/mingw32/Makefile
+@@ -18,6 +18,7 @@ DEBUGFLAGS=-g -DDEBUG
+ endif
+ CROSS   =
+ CXX     = $(CROSS)g++
++LD      = $(CXX)
+ CC      = $(CROSS)gcc
+ WINDRES = $(CROSS)windres
+ RANLIB  = $(CROSS)ranlib
+@@ -33,6 +34,7 @@ LIBS = libebml.a
+ endif
+ INCS = -I"$(shell pwd)/../.."
+ COMPILEFLAGS = $(DEBUGFLAGS) $(INCS) $(DLLFLAGS) $(CXXFLAGS)
++LINKFLAGS = $(LDFLAGS)
+
+ .PHONY: all all-before all-after clean clean-custom
+
+@@ -54,7 +56,7 @@ libebml.a: $(OBJ)
+	$(RANLIB) $@
+
+ libebml.dll: $(OBJ)
+-	$(CXX) -shared -Wl,--export-all -Wl,--out-implib=$@.a -o $@ $(OBJ)
++	$(LD) $(LINKFLAGS) -shared -Wl,--export-all -Wl,--out-implib=$@.a -o $@ $(OBJ)
+
+ depend:
+	@echo Calculating dependecies:
+--
+2.8.0
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch
new file mode 100644
index 0000000..57eb345
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch
@@ -0,0 +1,42 @@
+Allow override of the 'uname -s' for cross-compilation
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Upstream-Status: Pending
+
+diff --git a/make/linux/Makefile b/make/linux/Makefile
+index a2ac13e..4188bee 100644
+--- a/make/linux/Makefile
++++ b/make/linux/Makefile
+@@ -9,9 +9,11 @@
+ # 'make DEBUG=yes'.
+ #
+
++TARGET_OS ?= $(shell uname -s)
++
+ # Paths
+ # BeOS wants the libs and headers in /boot/home/config
+-ifeq (BeOS,$(shell uname -s))
++ifeq (BeOS,$(TARGET_OS))
+ prefix=/boot/home/config
+ else
+ prefix=/usr/local
+@@ -66,7 +68,7 @@ COMPILEFLAGS=$(WARNINGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
+ DEPENDFLAGS  = $(CXXFLAGS) $(INCLUDE)
+ LINKFLAGS=$(LDFLAGS)
+
+-ifeq (Darwin,$(shell uname -s))
++ifeq (Darwin,$(TARGET_OS))
+ all: staticlib
+ else
+ all: staticlib sharedlib
+@@ -116,7 +118,7 @@ depend:
+		$(CXX) $(DEPENDFLAGS) -MM -MT $$o $$i >> .depend ; \
+	done
+
+-ifeq (Darwin,$(shell uname -s))
++ifeq (Darwin,$(TARGET_OS))
+ install: install_staticlib install_headers
+ else
+ install: install_staticlib install_sharedlib install_headers
+--
+2.8.0
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
index 71e2bfc..bbbe563 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
@@ -2,15 +2,49 @@
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=f14599a2f089f6ff8c97e2baa4e3d575"
 
-SRC_URI = "http://dl.matroska.org/downloads/libebml/libebml-${PV}.tar.bz2"
+SRC_URI = "\
+    http://dl.matroska.org/downloads/libebml/libebml-${PV}.tar.bz2 \
+    file://ldflags.patch \
+    file://override-uname.patch \
+"
 SRC_URI[md5sum] = "efec729bf5a51e649e1d9d1f61c0ae7a"
 SRC_URI[sha256sum] = "83b074d6b62715aa0080406ea84d33df2e44b5d874096640233a4db49b8096de"
 
-EXTRA_OEMAKE = "-e MAKEFLAGS="
+do_unpack[postfuncs] += "dos2unix"
 
-do_compile() {
-    cd ${S}/make/linux
-    oe_runmake CROSS="${TARGET_PREFIX}"
+dos2unix () {
+    cr="$(printf '\r')"
+    for f in ${S}/make/*/Makefile; do
+        tr -d "$cr" <"$f" >"$f.new" && \
+            mv "$f.new" "$f"
+    done
+}
+
+LIBEBML_OS = "Unknown"
+LIBEBML_OS_linux = "Linux"
+LIBEBML_OS_darwin = "Darwin"
+LIBEBML_OS_mingw32 = "Windows"
+
+EXTRA_OEMAKE = "\
+    'TARGET_OS=${LIBEBML_OS}' \
+    \
+    'CXX=${CXX}' \
+    'LD=${CXX}' \
+    'AR=${AR}' \
+    'RANLIB=${RANLIB}' \
+    \
+    'DEBUGFLAGS=' \
+    'CPPFLAGS=${CPPFLAGS}' \
+    'CXXFLAGS=${CXXFLAGS}' \
+    'LDFLAGS=${LDFLAGS}' \
+    \
+    'prefix=${prefix}' \
+    'libdir=${libdir}' \
+    'includedir=${includedir}/ebml' \
+"
+
+do_compile () {
+    oe_runmake -C make/linux
 }
 
 do_install() {
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0001-Fix-asneeded.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0001-Fix-asneeded.patch
new file mode 100644
index 0000000..64130d9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0001-Fix-asneeded.patch
@@ -0,0 +1,37 @@
+From c17129561e784bb9efebee2380349f121db0a9db Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Wed, 5 Oct 2016 10:56:33 -0300
+Subject: [PATCH 1/3] Fix asneeded
+Organization: O.S. Systems Software LTDA.
+
+Patch from:
+https://git.backbone.ws/portage/overlay/commit/7a069112054fbb5dc94a857e9c020a38cb1c6fde
+
+Upstream-Status: Pending
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 3b2aa7d..0489fc1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -29,11 +29,11 @@ dep:
+ 
+ $(SND_PCM_BIN): $(SND_PCM_OBJECTS)
+ 	@echo LD $@
+-	$(Q)$(LD) $(LDFLAGS) $(SND_PCM_LIBS) $(SND_PCM_OBJECTS) -o $(SND_PCM_BIN)
++	$(Q)$(LD) $(LDFLAGS) $(SND_PCM_OBJECTS) -o $(SND_PCM_BIN) $(SND_PCM_LIBS)
+ 
+ $(SND_CTL_BIN): $(SND_CTL_OBJECTS)
+ 	@echo LD $@
+-	$(Q)$(LD) $(LDFLAGS) $(SND_CTL_LIBS) $(SND_CTL_OBJECTS) -o $(SND_CTL_BIN)
++	$(Q)$(LD) $(LDFLAGS) $(SND_CTL_OBJECTS) -o $(SND_CTL_BIN) $(SND_CTL_LIBS)
+ 
+ %.o: %.c
+ 	@echo GCC $<
+-- 
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0002-Fix-Eq-CAPS-plugin-name.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0002-Fix-Eq-CAPS-plugin-name.patch
new file mode 100644
index 0000000..efce380
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0002-Fix-Eq-CAPS-plugin-name.patch
@@ -0,0 +1,83 @@
+From d5c6c92045f9b6ad32365f39b8cc77f2fcd7d0f5 Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Wed, 5 Oct 2016 10:57:29 -0300
+Subject: [PATCH 2/3] Fix Eq CAPS plugin name
+Organization: O.S. Systems Software LTDA.
+
+Patch from:
+https://git.backbone.ws/portage/overlay/commit/7a069112054fbb5dc94a857e9c020a38cb1c6fde
+
+Upstream-Status: Pending
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ README      | 8 ++++----
+ ctl_equal.c | 2 +-
+ pcm_equal.c | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/README b/README
+index b77fd2d..2df3dc5 100644
+--- a/README
++++ b/README
+@@ -1,11 +1,11 @@
+ Alsaequal is a real-time adjustable equalizer plugin for ALSA. It can
+ be adjusted using any ALSA compatible mixer, e.g. alsamixergui.
+ 
+-Alsaequal uses the Eq CAPS LADSPA Plugin for audio processing, actually
++Alsaequal uses the Eq10 CAPS LADSPA Plugin for audio processing, actually
+ alsaequal is a generic LADSPA plugin interface with real-time access to
+ the LADSPA controls (the LADSPA plugin included with alsa doesn't allow
+ for real-time controls) but it was developed for and only tested with
+-Eq CAPS LADSPA plugin. You are welcome to try it with other plugins, it
++Eq10 CAPS LADSPA plugin. You are welcome to try it with other plugins, it
+ may work. Let me know how it goes, you can reach me at
+ <charles@thedigitalmachine.net>.
+ 
+@@ -66,7 +66,7 @@ ctl.<name_equal> {
+ 	library -- location of the LADSPA library, the default is
+ 					"/usr/lib/ladspa/caps.so"
+ 	module -- module name within the LADSPA library, the deafault
+-					is "Eq"
++					is "Eq10"
+ 	channels -- number of channels, the default is 2
+ }
+ 
+@@ -81,7 +81,7 @@ pcm.<name_pcm> {
+ 	library -- location of the LADSPA library, the default is
+ 					"/usr/lib/ladspa/caps.so"
+ 	module -- module name within the LADSPA library, the deafault
+-					is "Eq"
++					is "Eq10"
+ 	channels -- number of channels, the default is 2
+ }
+ 
+diff --git a/ctl_equal.c b/ctl_equal.c
+index 40747d4..afba793 100644
+--- a/ctl_equal.c
++++ b/ctl_equal.c
+@@ -167,7 +167,7 @@ SND_CTL_PLUGIN_DEFINE_FUNC(equal)
+ 	snd_ctl_equal_t *equal;
+ 	const char *controls = ".alsaequal.bin";
+ 	const char *library = "/usr/lib/ladspa/caps.so";
+-	const char *module = "Eq";
++	const char *module = "Eq10";
+ 	long channels = 2;
+ 	const char *sufix = " Playback Volume";
+ 	int err, i, index;
+diff --git a/pcm_equal.c b/pcm_equal.c
+index 2bc87fb..b0b4265 100644
+--- a/pcm_equal.c
++++ b/pcm_equal.c
+@@ -151,7 +151,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(equal)
+ 	snd_config_t *sconf = NULL;
+ 	const char *controls = ".alsaequal.bin";
+ 	const char *library = "/usr/lib/ladspa/caps.so";
+-	const char *module = "Eq";
++	const char *module = "Eq10";
+ 	long channels = 2;
+ 	int err;
+ 	
+-- 
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0003-Fix-mixer.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0003-Fix-mixer.patch
new file mode 100644
index 0000000..1c2503e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal/0003-Fix-mixer.patch
@@ -0,0 +1,92 @@
+From 665f68a863b4ac2e21b0a994dce7e2720c03aa9d Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Wed, 5 Oct 2016 11:02:18 -0300
+Subject: [PATCH 3/3] Fix mixer
+Organization: O.S. Systems Software LTDA.
+
+Patch from:
+https://git.backbone.ws/portage/overlay/commit/7a069112054fbb5dc94a857e9c020a38cb1c6fde
+
+Upstream-Status: Pending
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ ctl_equal.c    | 9 ++++++---
+ ladspa_utils.c | 6 ++++--
+ pcm_equal.c    | 6 ++++--
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/ctl_equal.c b/ctl_equal.c
+index afba793..dd90e88 100644
+--- a/ctl_equal.c
++++ b/ctl_equal.c
+@@ -263,7 +263,8 @@ SND_CTL_PLUGIN_DEFINE_FUNC(equal)
+ 	for(i = 0; i < equal->num_input_controls; i++) {
+ 		if(equal->control_data->control[i].type == LADSPA_CNTRL_INPUT) {
+ 			index = equal->control_data->control[i].index;
+-			if(equal->klass->PortDescriptors[index] !=
++			if((equal->klass->PortDescriptors[index] & 
++					(LADSPA_PORT_INPUT | LADSPA_PORT_CONTROL)) !=
+ 					(LADSPA_PORT_INPUT | LADSPA_PORT_CONTROL)) {
+ 				SNDERR("Problem with control file %s, %d.", controls, index);
+ 				return -1;
+@@ -284,12 +285,14 @@ SND_CTL_PLUGIN_DEFINE_FUNC(equal)
+ 	}
+ 
+ 	/* Make sure that the control file makes sense */
+-	if(equal->klass->PortDescriptors[equal->control_data->input_index] !=
++	if((equal->klass->PortDescriptors[equal->control_data->input_index] & 
++			(LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO))!=
+ 			(LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) {
+ 		SNDERR("Problem with control file %s.", controls);
+ 		return -1;
+ 	}
+-	if(equal->klass->PortDescriptors[equal->control_data->output_index] !=
++	if((equal->klass->PortDescriptors[equal->control_data->output_index] & 
++			(LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO))!=
+ 			(LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) {
+ 		SNDERR("Problem with control file %s.", controls);
+ 		return -1;
+diff --git a/ladspa_utils.c b/ladspa_utils.c
+index 7b596da..0c00800 100644
+--- a/ladspa_utils.c
++++ b/ladspa_utils.c
+@@ -354,10 +354,12 @@ LADSPA_Control * LADSPAcontrolMMAP(const LADSPA_Descriptor *psDescriptor,
+ 						default_controls->control[index].type = LADSPA_CNTRL_OUTPUT;
+ 					}
+ 					index++;
+-				} else if(psDescriptor->PortDescriptors[i] ==
++				} else if((psDescriptor->PortDescriptors[i] &
++						(LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) ==
+ 						(LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) {
+ 					default_controls->input_index = i;
+-				} else if(psDescriptor->PortDescriptors[i] ==
++				} else if((psDescriptor->PortDescriptors[i] & 
++						(LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) ==
+ 						(LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) {
+ 					default_controls->output_index = i;
+ 				}
+diff --git a/pcm_equal.c b/pcm_equal.c
+index b0b4265..8d98371 100644
+--- a/pcm_equal.c
++++ b/pcm_equal.c
+@@ -231,12 +231,14 @@ SND_PCM_PLUGIN_DEFINE_FUNC(equal)
+ 	}
+ 
+ 	/* Make sure that the control file makes sense */
+-	if(equal->klass->PortDescriptors[equal->control_data->input_index] !=
++	if((equal->klass->PortDescriptors[equal->control_data->input_index] &   
++			(LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) !=
+ 			(LADSPA_PORT_INPUT | LADSPA_PORT_AUDIO)) {
+ 		SNDERR("Problem with control file %s.", controls);
+ 		return -1;
+ 	}
+-	if(equal->klass->PortDescriptors[equal->control_data->output_index] !=
++	if((equal->klass->PortDescriptors[equal->control_data->output_index] & 
++			(LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) !=
+ 			(LADSPA_PORT_OUTPUT | LADSPA_PORT_AUDIO)) {
+ 		SNDERR("Problem with control file %s.", controls);
+ 		return -1;
+-- 
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
new file mode 100644
index 0000000..637d029
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "A real-time adjustable equalizer plugin for ALSA"
+HOMEPAGE = "http://www.thedigitalmachine.net/alsaequal.html"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
+
+DEPENDS = "alsa-lib"
+
+SRC_URI = " \
+    http://www.thedigitalmachine.net/tools/alsaequal-${PV}.tar.bz2 \
+    file://0001-Fix-asneeded.patch \
+    file://0002-Fix-Eq-CAPS-plugin-name.patch \
+    file://0003-Fix-mixer.patch \
+"
+
+SRC_URI[md5sum] = "d2edc7710c72cbf3ab297c414e35ebda"
+SRC_URI[sha256sum] = "916e7d152added24617efc350142438a46099efe062bd8781d36dbf10b4e6ff0"
+
+S = "${WORKDIR}/alsaequal"
+
+EXTRA_OEMAKE = " \
+    Q='' \
+    CC='${CC}' \
+    LD='${CC}' \
+    LDFLAGS='${LDFLAGS} -shared -lasound' \
+    CFLAGS='${CFLAGS} -I. -funroll-loops -ffast-math -fPIC -DPIC' \
+    SND_PCM_LIBS='-lasound' \
+    SND_CTL_LIBS='-lasound' \
+"
+
+do_compile() {
+    oe_runmake all
+}
+
+do_install() {
+    install -Dm 0644 libasound_module_ctl_equal.so ${D}${libdir}/alsa-lib/libasound_module_ctl_equal.so
+    install -Dm 0644 libasound_module_pcm_equal.so ${D}${libdir}/alsa-lib/libasound_module_pcm_equal.so
+}
+
+RDEPENDS_${PN} += " \
+    alsa-utils \
+    caps \
+"
+
+FILES_${PN} = "${libdir}/alsa-lib/"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/Avoid-ambiguity-in-div-invocation.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/Avoid-ambiguity-in-div-invocation.patch
new file mode 100644
index 0000000..1a050af
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps/Avoid-ambiguity-in-div-invocation.patch
@@ -0,0 +1,32 @@
+From 1ea09653692efdd6443fb6770e8523bf6c9e49b9 Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Thu, 6 Oct 2016 11:54:07 -0300
+Subject: Avoid ambiguity in div invocation
+Organization: O.S. Systems Software LTDA.
+
+Patch from:
+https://anonscm.debian.org/cgit/pkg-multimedia/caps.git/commit/?id=9a99c225fb813ae69f146e3d90f7b47bdbd97708
+
+Upstream-Status: Pending
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ AutoFilter.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/AutoFilter.cc b/AutoFilter.cc
+index fc087d0..bd6b12f 100644
+--- a/AutoFilter.cc
++++ b/AutoFilter.cc
+@@ -69,7 +69,7 @@ AutoFilter::activate()
+ void
+ AutoFilter::cycle (uint frames)
+ {
+-	div_t qr = div (frames, blocksize);
++	div_t qr = div ((int)frames, (int)blocksize);
+ 	int blocks = qr.quot;
+ 	if (qr.rem) ++blocks;
+ 	double over_blocks = 1./blocks;
+-- 
+2.1.4
+
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
new file mode 100644
index 0000000..3e409e6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/caps/caps_0.9.24.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "The CAPS Audio Plugin Suite - LADSPA plugin suite"
+HOMEPAGE = "http://quitte.de/dsp/caps.html"
+LICENSE = "GPL-3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = " \
+    http://quitte.de/dsp/${PN}_${PV}.tar.bz2 \
+    file://Avoid-ambiguity-in-div-invocation.patch \
+"
+
+SRC_URI[md5sum] = "c1d634038dcb54702306c0e30cb1c626"
+SRC_URI[sha256sum] = "f746feba57af316b159f0169de5d78b4fd1064c2c0c8017cb5856b2f22e83f20"
+
+S = "${WORKDIR}/${PN}-${PV}"
+
+EXTRA_OEMAKE = " \
+    CC='${CXX}' \
+    CFLAGS='${CFLAGS} -ffast-math -funroll-loops -fPIC -DPIC' \
+"
+do_compile() {
+    oe_runmake all
+}
+
+do_install() {
+    install -Dm 0644 caps.so ${D}${libdir}/ladspa/caps.so
+}
+
+FILES_${PN} = "${libdir}/ladspa/"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
index 86ba527..ba368a2 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
@@ -10,6 +10,7 @@
 SRC_URI = "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-${PV}.src.tgz \
            file://0001-Use-DESTDIR-in-install-Makefile-rule.patch \
            file://0002-interface-remove-C-reserved-keyword.patch \
+           file://0003-Fix-missing-shared-object-LDFLAGS.patch \
 "
 SRC_URI[md5sum] = "b304bbe8ab63373924a744eac9ebc652"
 SRC_URI[sha256sum] = "005db45ef4ee017f5c32ec124f913a0546e77014266c6a1c50df902a55fe64df"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0003-Fix-missing-shared-object-LDFLAGS.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0003-Fix-missing-shared-object-LDFLAGS.patch
new file mode 100644
index 0000000..5298a3d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/cdparanoia/files/0003-Fix-missing-shared-object-LDFLAGS.patch
@@ -0,0 +1,42 @@
+From c0b77aeb2127da821ae1c03c2f98aaf4db65277d Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv@pseudoterminal.org>
+Date: Sat, 10 Sep 2016 21:15:18 +0200
+Subject: [PATCH] Fix missing shared object LDFLAGS
+
+Upstream-Status: Inappropriate (the upstream project is dead)
+
+Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
+---
+ interface/Makefile.in | 2 +-
+ paranoia/Makefile.in  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/interface/Makefile.in b/interface/Makefile.in
+index 40c6098..020bf2a 100644
+--- a/interface/Makefile.in
++++ b/interface/Makefile.in
+@@ -46,7 +46,7 @@ libcdda_interface.a: 	$(OFILES)
+ 	$(RANLIB) libcdda_interface.a
+ 
+ libcdda_interface.so: 	$(OFILES)	
+-	$(CC) -fpic -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) $(LIBS)
++	$(CC) -fpic -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(LDFLAGS) $(OFILES) $(LIBS)
+ 	[ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so.0
+ 	[ -e libcdda_interface.so ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so
+ 
+diff --git a/paranoia/Makefile.in b/paranoia/Makefile.in
+index 89d0328..ffb4e70 100644
+--- a/paranoia/Makefile.in
++++ b/paranoia/Makefile.in
+@@ -44,7 +44,7 @@ libcdda_paranoia.a: 	$(OFILES)
+ 	$(RANLIB) libcdda_paranoia.a
+ 
+ libcdda_paranoia.so: 	$(OFILES)	
+-	$(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface
++	$(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(LDFLAGS) $(OFILES) -L ../interface -lcdda_interface
+ 	[ -e libcdda_paranoia.so.0 ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so.0
+ 	[ -e libcdda_paranoia.so ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so
+ 
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
index d96c1a4..2f048af 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/faac_1.28.bb
@@ -7,7 +7,9 @@
 inherit autotools-brokensep
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/faac/${BP}.tar.gz \
-           file://build-fix.patch"
+           file://build-fix.patch \
+           file://address-gcc-6-narrowing-errors.patch \
+"
 
 SRC_URI[md5sum] = "80763728d392c7d789cde25614c878f6"
 SRC_URI[sha256sum] = "c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df"
@@ -18,4 +20,3 @@
 FILES_lib${PN} = " ${libdir}/libfaac.so.*"
 FILES_lib${PN}-dev = "${includedir}/faac.h ${includedir}/faaccfg.h ${libdir}/libfaac.so ${libdir}/libfaac.la"
 FILES_lib${PN}-staticdev = "${libdir}/libfaac.a"
-
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch
new file mode 100644
index 0000000..92fdd9b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/faac/files/address-gcc-6-narrowing-errors.patch
@@ -0,0 +1,47 @@
+--- faac-1.28/common/mp4v2/atom_standard.cpp.orig	2016-06-16 07:59:21.657040761 -0400
++++ faac-1.28/common/mp4v2/atom_standard.cpp	2016-06-16 08:01:50.613036724 -0400
+@@ -22,15 +22,15 @@
+ #include "mp4common.h"
+ #include "atoms.h"
+ 
+-static const char name[5]={0251,'n', 'a', 'm', '\0'};
+-static const char art[5]={0251,'A', 'R', 'T', '\0'};
+-static const char wrt[5]={0251,'w', 'r', 't', '\0'};
+-static const char alb[5]={0251,'a', 'l', 'b', '\0'};
+-static const char day[5]={0251,'d', 'a', 'y', '\0'};
+-static const char too[5]={0251,'t', 'o', 'o', '\0'};
+-static const char cmt[5]={0251,'c', 'm', 't', '\0'};
+-static const char gen[5]={0251,'g', 'e', 'n', '\0'};
+-static const char grp[5]={0251,'g', 'r', 'p', '\0'};
++static const char name[5]={(char)0251,'n', 'a', 'm', '\0'};
++static const char art[5]={(char)0251,'A', 'R', 'T', '\0'};
++static const char wrt[5]={(char)0251,'w', 'r', 't', '\0'};
++static const char alb[5]={(char)0251,'a', 'l', 'b', '\0'};
++static const char day[5]={(char)0251,'d', 'a', 'y', '\0'};
++static const char too[5]={(char)0251,'t', 'o', 'o', '\0'};
++static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'};
++static const char gen[5]={(char)0251,'g', 'e', 'n', '\0'};
++static const char grp[5]={(char)0251,'g', 'r', 'p', '\0'};
+ 
+ MP4StandardAtom::MP4StandardAtom (const char *type) : MP4Atom(type)
+ {
+--- faac-1.28/common/mp4v2/mp4atom.cpp.orig	2016-06-16 08:03:07.777034633 -0400
++++ faac-1.28/common/mp4v2/mp4atom.cpp	2016-06-16 08:03:54.629033363 -0400
+@@ -264,11 +264,11 @@
+       }
+       break;
+     case 0251:
+-      static const char name[5]={0251,'n', 'a', 'm', '\0'};
+-      static const char cmt[5]={0251,'c', 'm', 't', '\0'};
+-      static const char cpy[5]={0251,'c', 'p', 'y', '\0'};
+-      static const char des[5]={0251,'d', 'e', 's','\0'};
+-      static const char prd[5]={0251, 'p', 'r', 'd', '\0'};
++      static const char name[5]={(char)0251,'n', 'a', 'm', '\0'};
++      static const char cmt[5]={(char)0251,'c', 'm', 't', '\0'};
++      static const char cpy[5]={(char)0251,'c', 'p', 'y', '\0'};
++      static const char des[5]={(char)0251,'d', 'e', 's','\0'};
++      static const char prd[5]={(char)0251, 'p', 'r', 'd', '\0'};
+       if (ATOMID(type) == ATOMID(name) ||
+ 	  ATOMID(type) == ATOMID(cmt) ||
+ 	  ATOMID(type) == ATOMID(cpy) ||
+
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb
index 8aad0b7..f8e77e1 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-bad_0.10.23.bb
@@ -52,8 +52,8 @@
 FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs"
 
 do_configure_prepend() {
-	# This m4 file contains nastiness which conflicts with libtool 2.2.2
-	rm ${S}/m4/lib-link.m4 || true
+    # This m4 file contains nastiness which conflicts with libtool 2.2.2
+    rm ${S}/m4/lib-link.m4 || true
 }
 
 SRC_URI[md5sum] = "fcb09798114461955260e4d940db5987"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/0001-aclocal.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/0001-aclocal.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch
new file mode 100644
index 0000000..29fbec5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-base-0.10.36/0001-aclocal.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch
@@ -0,0 +1,32 @@
+From 5478eafecf618cd8e742cc1b96d688a2c7ce5a79 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Sun, 2 Oct 2016 21:49:33 +0200
+Subject: [PATCH] gst-glib2.m4: don't do crazy things to GLIB_CFLAGS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+we are definitely not one of those poor souls mentioned
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ common/m4/gst-glib2.m4 | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4
+index b01f02f..4569ae5 100644
+--- a/common/m4/gst-glib2.m4
++++ b/common/m4/gst-glib2.m4
+@@ -69,7 +69,6 @@ AC_DEFUN([AG_GST_GLIB_CHECK],
+   fi
+ 
+   dnl for the poor souls who for example have glib in /usr/local
+-  AS_SCRUB_INCLUDE(GLIB_CFLAGS)
+ 
+   AC_SUBST(GLIB_EXTRA_CFLAGS)
+ ])
+-- 
+2.5.5
+
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 c86834f..eefd993 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
@@ -11,6 +11,7 @@
 SRC_URI += "file://gst-plugins-base-tremor.patch \
             file://configure.ac-fix-subparse-plugin.patch \
             file://audioresample-Fix-build-on-x86-if-emmintrin.h-is-ava.patch \
+            file://0001-aclocal.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch \
 "
 
 SRC_URI[md5sum] = "776c73883e567f67b9c4a2847d8d041a"
@@ -31,8 +32,8 @@
 PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia"
 
 do_configure_prepend() {
-	# This m4 file contains nastiness which conflicts with libtool 2.2.2
-	rm -f ${S}/m4/lib-link.m4
+    # This m4 file contains nastiness which conflicts with libtool 2.2.2
+    rm -f ${S}/m4/lib-link.m4
 }
 
 FILES_${PN} += "${datadir}/${BPN}"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb
index d922895..7e4a525 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-good_0.10.31.bb
@@ -37,8 +37,8 @@
                  --disable-examples --disable-taglib"
 
 do_configure_prepend() {
-	# This m4 file contains nastiness which conflicts with libtool 2.2.2
-	rm ${S}/m4/lib-link.m4 || true
+    # This m4 file contains nastiness which conflicts with libtool 2.2.2
+    rm ${S}/m4/lib-link.m4 || true
 }
 
 SRC_URI[md5sum] = "24f98a294a2b521e1b29412bdadae2e6"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb
index a8cb852..199b47d 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins-ugly_0.10.19.bb
@@ -23,8 +23,8 @@
 PACKAGECONFIG[amrwb] = "--enable-amrwb,--disable-amrwb,opencore-amr"
 
 do_configure_prepend() {
-	# This m4 file contains nastiness which conflicts with libtool 2.2.2
-	rm ${S}/m4/lib-link.m4 || true
+    # This m4 file contains nastiness which conflicts with libtool 2.2.2
+    rm ${S}/m4/lib-link.m4 || true
 }
 
 SRC_URI[md5sum] = "1d81c593e22a6cdf0f2b4f57eae93df2"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc
index 68a70b1..6e163a8 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-plugins.inc
@@ -23,7 +23,7 @@
 # ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed
 # http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html
 oe_runconf_prepend() {
-	if [ -e ${S}/po/Makefile.in.in ]; then
-		sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in
-	fi
+    if [ -e ${S}/po/Makefile.in.in ]; then
+        sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in
+    fi
 }
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
index f61a410..e3bd5e5 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-0.10/gstreamer_0.10.36.bb
@@ -41,7 +41,7 @@
 }
 
 #do_compile_prepend () {
-#	mv ${WORKDIR}/gstregistrybinary.[ch] ${S}/gst/
+#    mv ${WORKDIR}/gstregistrybinary.[ch] ${S}/gst/
 #}
 
 RRECOMMENDS_${PN}_qemux86    += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb
new file mode 100644
index 0000000..7836bae
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/nativesdk-projucer_git.bb
@@ -0,0 +1,3 @@
+inherit nativesdk
+include projucer.inc
+BBCLASSEXTEND = "nativesdk"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb
new file mode 100644
index 0000000..fb54fb9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer-native_git.bb
@@ -0,0 +1,3 @@
+inherit native
+include projucer.inc
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc
new file mode 100644
index 0000000..6f696e2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc
@@ -0,0 +1,37 @@
+SUMMARY = "JUCE's Projucer"
+DESCRIPTION = "Projucer is used to build and generate support files and build infrastructure for all \
+JUCE supported platforms, including Linux and Embedded Linux."
+SECTION = "utils"
+HOMEPAGE = "http://juce.com/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://README.txt;md5=9ab765ccda8890efc753f287911a1958"
+
+inherit pkgconfig
+
+DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl"
+
+SRCREV = "a8a7fa28e2e9cb19db6a27fcccb567a8ccfe6109"
+BRANCH = "develop"
+SRC_URI = "git://github.com/julianstorer/JUCE.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+PV = "4.2.3+git${SRCPV}"
+
+JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds"
+JUCE_PROJUCER_MAKEFILE_PATH = "${JUCE_PROJUCER_BUILD_PATH}/LinuxMakefile"
+JUCE_PROJUCER = "${JUCE_PROJUCER_MAKEFILE_PATH}/build/Projucer"
+
+do_configure() {
+  cd ${JUCE_PROJUCER_MAKEFILE_PATH}
+  CONFIG=Release oe_runmake clean
+}
+
+do_compile() {
+  cd ${JUCE_PROJUCER_MAKEFILE_PATH}
+  CONFIG=Release oe_runmake
+}
+
+do_install() {
+  install -d ${D}${bindir}
+  install -m 0755 ${JUCE_PROJUCER} ${D}${bindir}
+}
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
index 0ea5cb9..c298b44 100755
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb
@@ -7,9 +7,9 @@
 # libsdl to provide sdl.m4 with AM_PATH_SDL
 DEPENDS += "libusb1 libraw1394 libsdl"
 
-PV = "2.2.1+gitr${SRCPV}"
+PV = "2.2.4+gitr${SRCPV}"
 
-SRCREV = "b90342933b4b48634b98b73805f47bd25ed5857e"
+SRCREV = "9ac63fe7a7561bea83bfd4a5db47d4d74fde43a6"
 
 SRC_URI = "git://git.code.sf.net/p/libdc1394/code;branch=master;protocol=git \
            file://install_examples.patch \
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.22.4.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.22.4.bb
deleted file mode 100644
index e6a912b..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.22.4.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3"
-DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \
-mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \
-and also can write the decoded audio to WAV."
-HOMEPAGE = "http://mpg123.de/"
-BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/"
-SECTION = "multimedia"
-
-LICENSE = "LGPLv2.1"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3"
-
-DEPENDS = "audiofile"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/mpg123/mpg123/${PV}/${BP}.tar.bz2"
-
-SRC_URI[md5sum] = "2dfafae3bbc532b4c8b04a77c6a6de89"
-SRC_URI[sha256sum] = "5069e02e50138600f10cc5f7674e44e9bf6f1930af81d0e1d2f869b3c0ee40d2"
-
-inherit autotools pkgconfig
-
-# The options should be mutually exclusive for configuration script.
-# If both alsa and pulseaudio are specified (as in the default distro features)
-# pulseaudio takes precedence.
-PACKAGECONFIG_ALSA = "${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}"
-
-PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib"
-PACKAGECONFIG[esd] = ",,esound"
-PACKAGECONFIG[jack] = ",,jack"
-PACKAGECONFIG[openal] = ",,openal-soft"
-PACKAGECONFIG[portaudio] = ",,portaudio-v19"
-PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio"
-PACKAGECONFIG[sdl] = ",,libsdl"
-
-# Following are possible sound output modules:
-# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi
-AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'alsa', 'alsa', '', d)}"
-AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'esd', 'esd', '', d)}"
-AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'jack', 'jack', '', d)}"
-AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'openal', 'openal', '', d)}"
-AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'portaudio', 'portaudio', '', d)}"
-AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}"
-AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'sdl', 'sdl', '', d)}"
-
-EXTRA_OECONF = " \
-    --enable-shared \
-    --with-audio='${AUDIOMODS}' \
-    --with-module-suffix=.so \
-    ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \
-    ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \
-"
-
-# The x86 assembler optimisations contains text relocations and there are no
-# upstream plans to fix them: http://sourceforge.net/p/mpg123/bugs/168/
-INSANE_SKIP_${PN}_append_x86 = " textrel"
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4'
-#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24'
-#...
-#| make[3]: *** [equalizer.lo] Error 1
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.10.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.10.bb
deleted file mode 100644
index 7b124ca..0000000
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.10.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "Music Player Daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-HOMEPAGE ="http://www.musicpd.org"
-
-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 libupnp"
-
-SRC_URI = " \
-    http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \
-    file://mpd.conf.in \
-"
-SRC_URI[md5sum] = "da4bc3e47afd0faf9e7a67168e012102"
-SRC_URI[sha256sum] = "c386eb3d22f98dc993b5ae3c272f969aa7763713483c6800040ebf1791b15851"
-
-inherit autotools useradd systemd
-
-EXTRA_OECONF = "enable_bzip2=yes"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-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_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.service 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.19.15.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.15.bb
new file mode 100644
index 0000000..0fed867
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.15.bb
@@ -0,0 +1,63 @@
+SUMMARY = "Music Player Daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+HOMEPAGE ="http://www.musicpd.org"
+
+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 libupnp"
+
+SRC_URI = " \
+    http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \
+    file://mpd.conf.in \
+"
+SRC_URI[md5sum] = "bb855b1689c9e863c2dd214ab1cb9344"
+SRC_URI[sha256sum] = "0cb9a223894b038ce966ce6d651d9b3ea3bdc7d7b9bec8d1e9e7e091cbc29b8b"
+
+inherit autotools useradd systemd
+
+EXTRA_OECONF = "enable_bzip2=yes"
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
+
+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/rtmpdump/rtmpdump_2.4.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
index a1e6502..c5513b0 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
@@ -17,6 +17,6 @@
 inherit autotools-brokensep
 
 EXTRA_OEMAKE = " \
-    CC='${CC}' LD='${LD} ${STAGING_LIBDIR}' \
+    CC='${CC}' LD='${LD} ${STAGING_LIBDIR}' XCFLAGS='${CFLAGS}' XLDFLAGS='${LDFLAGS}' \
     SYS=posix INC=-I=/usr/include DESTDIR=${D} \
     prefix=${prefix} libdir=${libdir} incdir=${includedir}/librtmp bindir=${bindir} mandir=${mandir}"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
index e91ba45..a80fc10 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
@@ -10,8 +10,8 @@
 inherit allarch
 
 do_install() {
-	install -d ${D}${datadir}/movies
-	install -m 0644 ${WORKDIR}/big_buck_bunny_1080p_surround.avi ${D}${datadir}/movies/
+    install -d ${D}${datadir}/movies
+    install -m 0644 ${WORKDIR}/big_buck_bunny_1080p_surround.avi ${D}${datadir}/movies/
 }
 
 FILES_${PN} += "${datadir}/movies"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
index e7029d9..59ac478 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
@@ -10,8 +10,8 @@
 inherit allarch
 
 do_install() {
-	install -d ${D}${datadir}/movies
-	install -m 0644 ${WORKDIR}/big_buck_bunny_480p_surround-fix.avi ${D}${datadir}/movies/
+    install -d ${D}${datadir}/movies
+    install -m 0644 ${WORKDIR}/big_buck_bunny_480p_surround-fix.avi ${D}${datadir}/movies/
 }
 
 FILES_${PN} += "${datadir}/movies"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
index 55fceab..21b8f8f 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
@@ -10,8 +10,8 @@
 inherit allarch
 
 do_install() {
-	install -d ${D}${datadir}/movies
-	install -m 0644 ${WORKDIR}/big_buck_bunny_720p_surround.avi ${D}${datadir}/movies/
+    install -d ${D}${datadir}/movies
+    install -m 0644 ${WORKDIR}/big_buck_bunny_720p_surround.avi ${D}${datadir}/movies/
 }
 
 FILES_${PN} += "${datadir}/movies"
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
index bb7ee7c..0582a48 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
@@ -9,8 +9,8 @@
 inherit allarch
 
 do_install() {
-	install -d ${D}${datadir}/movies
-	install -m 0644 ${WORKDIR}/ToS-4k-1920.mov ${D}${datadir}/movies/
+    install -d ${D}${datadir}/movies
+    install -m 0644 ${WORKDIR}/ToS-4k-1920.mov ${D}${datadir}/movies/
 }
 
 FILES_${PN} += "${datadir}/movies"
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 8142e16..0972b61 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
@@ -21,7 +21,7 @@
 
 EXTRA_OECONF = "\
     --enable-run-as-root \
-    --enable-xvideo \ 
+    --enable-xvideo \
     --disable-screen --disable-caca \
     --enable-httpd --enable-vlm \
     --enable-freetype \
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb
index eb45974..ae95d4f 100644
--- a/import-layers/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb
+++ b/import-layers/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb
@@ -2,3 +2,5 @@
 
 SRC_URI[archive.md5sum] = "1a44933d4cd0064e3c76d8d0ddacddc9"
 SRC_URI[archive.sha256sum] = "3a9dffcad862aed7c0921579b93080d694b8a66f3676bfee8037867f653a1cd3"
+
+EXTRA_OECONF_append = " --disable-gtk-doc"
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 8ee6634..3249828 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
@@ -14,5 +14,5 @@
 do_install[postfuncs] += " rm_unused_bindir "
 
 rm_unused_bindir() {
-	rmdir ${D}/${bindir}
+    rmdir ${D}/${bindir}
 }
diff --git a/import-layers/meta-openembedded/meta-networking/MAINTAINERS b/import-layers/meta-openembedded/meta-networking/MAINTAINERS
index f389672..53593ae 100644
--- a/import-layers/meta-openembedded/meta-networking/MAINTAINERS
+++ b/import-layers/meta-openembedded/meta-networking/MAINTAINERS
@@ -2,19 +2,19 @@
 
 Please submit any patches against meta-networking to the OpenEmbedded
 development mailing list (openembedded-devel@lists.openembedded.org) with
-'[meta-networking][krogoth]' 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][krogoth][PATCH
-
-krogoth Branch Maintainer:
-Armin Kuster <akuster808@gmail.com>
+        --subject-prefix=meta-networking][morty][PATCH
 
 You may also contact the maintainers directly.
 
+morty branch maintainer(s):
+Armin Kuster <akuster808@gmail.com>
+
 Descriptions of section entries:
 
         M: Mail patches to: FullName <address@domain>
diff --git a/import-layers/meta-openembedded/meta-networking/README b/import-layers/meta-openembedded/meta-networking/README
index e1ba27d..329db4f 100644
--- a/import-layers/meta-openembedded/meta-networking/README
+++ b/import-layers/meta-openembedded/meta-networking/README
@@ -18,19 +18,19 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/openembedded-core.git
-branch: master
+branch: morty
 revision: HEAD
 
 For some recipes, the meta-oe layer is required:
 
 URI: git://github.com/openembedded/meta-openembedded.git
 subdirectory: meta-oe
-branch: master
+branch: morty
 revision: HEAD
 
 URI: git://github.com/openembedded/meta-openembedded.git
 subdirectory: meta-python
-branch: master
+branch: morty
 revision: HEAD
 
 Maintenance
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 45fbcc3..af4c7d0 100644
--- a/import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass
+++ b/import-layers/meta-openembedded/meta-networking/classes/waf-samba.bbclass
@@ -18,6 +18,7 @@
                   --oldincludedir=${oldincludedir} \
                   --infodir=${infodir} \
                   --mandir=${mandir} \
+                  ${PACKAGECONFIG_CONFARGS} \
                 "
 
 # Three methods for waf cross compile:
@@ -65,8 +66,6 @@
                 -L ${STAGING_DIR_HOST} \
                 -E LD_LIBRARY_PATH=${libdir_qemu}:${base_libdir_qemu}"
 
-    export BUILD_SYS=${BUILD_SYS}
-    export HOST_SYS=${HOST_SYS}
     export BUILD_ARCH=${BUILD_ARCH}
     export HOST_ARCH=${HOST_ARCH}
     export STAGING_LIBDIR=${STAGING_LIBDIR}
diff --git a/import-layers/meta-openembedded/meta-networking/conf/distro/include/meta_networking_security_flags.inc b/import-layers/meta-openembedded/meta-networking/conf/distro/include/meta_networking_security_flags.inc
new file mode 100644
index 0000000..19e13ea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/conf/distro/include/meta_networking_security_flags.inc
@@ -0,0 +1,10 @@
+# configure righteously complains:
+# | configure:3479: using CFLAGS:  -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2
+# | configure:3485: CFLAGS error: CFLAGS may only be used to specify C compiler flags, not macro definitions. Use CPPFLAGS for: -D_FORTIFY_SOURCE=2
+# | configure:3516: error: Can not continue. Fix errors mentioned immediately above this line.
+
+# Make sure it's at least empty in builds which don't include
+# conf/distro/include/security_flags.inc
+lcl_maybe_fortify ?= ""
+TARGET_CFLAGS_remove_pn-c-ares = "${lcl_maybe_fortify}"
+TARGET_CPPFLAGS_append_pn-c-ares = "${lcl_maybe_fortify}"
diff --git a/import-layers/meta-openembedded/meta-networking/conf/layer.conf b/import-layers/meta-openembedded/meta-networking/conf/layer.conf
index 5fd636a..c09ba4a 100644
--- a/import-layers/meta-openembedded/meta-networking/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-networking/conf/layer.conf
@@ -21,3 +21,6 @@
 
 # used by waf-samba.bbclass
 WAF_CROSS_ANSWERS_PATH = "${LAYERDIR}/files/waf-cross-answers"
+
+# Override security flags
+require conf/distro/include/meta_networking_security_flags.inc
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/0001-Makefile-respect-LDFLAGS-for-libreg.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/0001-Makefile-respect-LDFLAGS-for-libreg.patch
new file mode 100644
index 0000000..16800d5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/0001-Makefile-respect-LDFLAGS-for-libreg.patch
@@ -0,0 +1,29 @@
+From 1e1a78b7b4fa1662b4447aa19c15b1e839b7e9db Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stefan=20M=C3=BCller-Klieser?= <s.mueller-klieser@phytec.de>
+Date: Wed, 24 Aug 2016 10:58:45 +0200
+Subject: [PATCH] Makefile: respect LDFLAGS for libreg
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 2879896..1650db8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -116,7 +116,7 @@ keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem)
+ 
+ $(LIBREG): regdb.h reglib.h reglib.c
+ 	$(NQ) '  CC  ' $@
+-	$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ $(LIBREGLDLIBS)
++	$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ $(LDFLAGS) $(LIBREGLDLIBS)
+ 
+ install-libreg-headers:
+ 	$(NQ) '  INSTALL  libreg-headers'
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-gcc-6-unused-variables.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-gcc-6-unused-variables.patch
new file mode 100644
index 0000000..747804d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda/fix-gcc-6-unused-variables.patch
@@ -0,0 +1,11 @@
+--- crda-3.18/utils/key2pub.py.orig	2016-06-18 09:54:23.671326113 -0400
++++ crda-3.18/utils/key2pub.py	2016-06-18 09:54:34.387326300 -0400
+@@ -115,7 +115,7 @@
+ 	.n = _n, .len_n = sizeof(_n),	\
+ }
+ 
+-static const struct key_params keys[] = {
++static const struct key_params keys[] __attribute__((unused))= {
+ ''')
+     for n in xrange(n + 1):
+         output.write('	KEYS(e_%d, n_%d),\n' % (n, n))
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
index 931a053..00c358d 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/crda/crda_3.18.bb
@@ -1,22 +1,19 @@
 SUMMARY = "Wireless Central Regulatory Domain Agent"
 HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA"
 SECTION = "net"
-LICENSE = "copyleft-next-0.3.0 & ISC"
-LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe \
-                    file://${WORKDIR}/wireless-regdb-2014.11.18/LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
+LICENSE = "copyleft-next-0.3.0"
+LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe"
 
 DEPENDS = "python-m2crypto-native python-native libgcrypt libnl"
 
-SRC_URI = "https://www.kernel.org/pub/software/network/crda/${BP}.tar.xz;name=crda \
-           https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2014.11.18.tar.xz;name=bin \
+SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
            file://do-not-run-ldconfig-if-destdir-is-set.patch \
            file://fix-linking-of-libraries-used-by-reglib.patch \
+           file://fix-gcc-6-unused-variables.patch \
+           file://0001-Makefile-respect-LDFLAGS-for-libreg.patch \
 "
-SRC_URI[crda.md5sum] = "0431fef3067bf503dfb464069f06163a"
-SRC_URI[crda.sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf"
-
-SRC_URI[bin.md5sum] = "d750c402c5510add7380edcb1d9b75b2"
-SRC_URI[bin.sha256sum] = "eab6b50f30748a8b0065ba38cf3df05aac161a5861ae0a6c3cfd01d38a71c9dd"
+SRC_URI[md5sum] = "0431fef3067bf503dfb464069f06163a"
+SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf"
 
 inherit python-dir pythonnative
 # Recursive make problem
@@ -28,14 +25,6 @@
 
 do_install() {
     oe_runmake SBINDIR=${sbindir}/ install
-
-    install -d ${D}${libdir}/crda/
-
-    install -m 0644 ${WORKDIR}/wireless-regdb-2014.11.18/regulatory.bin ${D}${libdir}/crda/regulatory.bin
 }
 
-
-RDEPENDS_${PN} = "udev"
-FILES_${PN} += "${libdir}crda/regulatory.bin \
-                ${base_libdir}/udev/rules.d/85-regulatory.rules \
-"
+RDEPENDS_${PN} = "udev wireless-regdb"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb
index 48039f0..3ed3aab 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/daq/daq_2.0.6.bb
@@ -18,7 +18,10 @@
 # never look to /usr/local lib while cross compiling
 
 EXTRA_OECONF = "--disable-nfq-module --disable-ipq-module --includedir=${includedir} \
-	--with-libpcap-includes=${STAGING_INCDIR} --with-dnet-includes=${STAGING_LIBDIR}"
+    --with-libpcap-includes=${STAGING_INCDIR} --with-dnet-includes=${STAGING_LIBDIR}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
 
 SRC_URI[md5sum] = "2cd6da422a72c129c685fc4bb848c24c"
 SRC_URI[sha256sum] = "b40e1d1273e08aaeaa86e69d4f28d535b7e53bdb3898adf539266b63137be7cb"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.10.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.10.1.bb
deleted file mode 100644
index cd80428..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.10.1.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] = "a7b83c57f47b62f48373905d3b4f7978"
-SRC_URI[sha256sum] = "284abf8c3be0580bbac5eaca95359346ab0d78d4072317b6ce87cc68f2e8ae7b"
-
-inherit autotools-brokensep
-
-PACKAGECONFIG ?= "udev ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "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.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.3.bb
new file mode 100644
index 0000000..197dfb1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.3.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] = "d4f2f3ed4964197dee7767219c33a9df"
+SRC_URI[sha256sum] = "5abd12c4df2947d608f60a35227f9bf8ae8ab9de06ce975cdab1144d8f229b06"
+
+inherit autotools-brokensep
+
+PACKAGECONFIG ?= "udev ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "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/fix-disable-ipv6.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
index bd3ae47..24c134f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
@@ -2,9 +2,15 @@
 
 Upstream-Status: Pending
 
-diff -ur inetutils-1.8.orig/ping/ping_common.h inetutils-1.8/ping/ping_common.h
---- inetutils-1.8.orig/ping/ping_common.h	2010-05-15 20:55:47.000000000 +0930
-+++ inetutils-1.8/ping/ping_common.h	2010-12-01 12:19:08.000000000 +1030
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ ping/ping_common.h | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/ping/ping_common.h b/ping/ping_common.h
+index 1dfd1b5..3bfbd12 100644
+--- a/ping/ping_common.h
++++ b/ping/ping_common.h
 @@ -17,10 +17,14 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see `http://www.gnu.org/licenses/'. */
@@ -20,18 +26,32 @@
  #include <icmp.h>
  #include <error.h>
  #include <progname.h>
-@@ -66,13 +70,19 @@
+@@ -62,7 +66,12 @@ struct ping_stat
+    want to follow the traditional behaviour of ping.  */
+ #define DEFAULT_PING_COUNT 0
+ 
++#ifdef HAVE_IPV6
+ #define PING_HEADER_LEN (USE_IPV6 ? sizeof (struct icmp6_hdr) : ICMP_MINLEN)
++#else
++#define PING_HEADER_LEN (ICMP_MINLEN)
++#endif
++
+ #define PING_TIMING(s)  ((s) >= sizeof (struct timeval))
+ #define PING_DATALEN    (64 - PING_HEADER_LEN)  /* default data length */
+ 
+@@ -74,13 +83,20 @@ struct ping_stat
    (t).tv_usec = ((i)%PING_PRECISION)*(1000000/PING_PRECISION) ;\
  } while (0)
  
 +#ifdef HAVE_IPV6
- /* Not sure about this step*/
- #define _PING_BUFLEN(p, USE_IPV6) ((USE_IPV6)? ((p)->ping_datalen + sizeof (struct icmp6_hdr)) : \
- 				   ((p)->ping_datalen + sizeof (icmphdr_t)))
-+#else
-+#define _PING_BUFLEN(p, USE_IPV6) ((p)->ping_datalen + sizeof (icmphdr_t))
-+#endif
+ /* FIXME: Adjust IPv6 case for options and their consumption.  */
+ #define _PING_BUFLEN(p, u) ((u)? ((p)->ping_datalen + sizeof (struct icmp6_hdr)) : \
+ 				   (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN))
  
++#else
++#define _PING_BUFLEN(p, u) (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN)
++#endif
++
 +#ifdef HAVE_IPV6
  typedef int (*ping_efp6) (int code, void *closure, struct sockaddr_in6 * dest,
  			  struct sockaddr_in6 * from, struct icmp6_hdr * icmp,
@@ -40,7 +60,7 @@
  
  typedef int (*ping_efp) (int code,
  			 void *closure,
-@@ -81,13 +91,17 @@
+@@ -89,13 +105,17 @@ typedef int (*ping_efp) (int code,
  			 struct ip * ip, icmphdr_t * icmp, int datalen);
  
  union event {
@@ -58,3 +78,6 @@
  };
  
  typedef struct ping_data PING;
+-- 
+2.8.3
+
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 68487ea..8db6b74 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
@@ -28,18 +28,19 @@
 
 inherit autotools gettext update-alternatives texinfo
 
-SRC_URI += "${@base_contains('DISTRO_FEATURES', 'ipv6', '', 'file://fix-disable-ipv6.patch', d)}"
-noipv6="${@base_contains('DISTRO_FEATURES', 'ipv6', '', '--disable-ipv6 gl_cv_socket_ipv6=no', d)}"
+SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '', 'file://fix-disable-ipv6.patch', d)}"
 
 PACKAGECONFIG ??= "ftp uucpd \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6 ping6', '', d)} \
                   "
 PACKAGECONFIG[ftp] = "--enable-ftp,--disable-ftp,readline"
 PACKAGECONFIG[uucpd] = "--enable-uucpd,--disable-uucpd,readline"
 PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6 gl_cv_socket_ipv6=no,"
+PACKAGECONFIG[ping6] = "--enable-ping6,--disable-ping6,"
 
 EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
-        ${noipv6} \
         inetutils_cv_path_login=${base_bindir}/login \
         --with-libreadline-prefix=${STAGING_LIBDIR} \
         --enable-rpath=no \
@@ -56,8 +57,7 @@
     install -m 0755 -d ${D}${base_sbindir}
     install -m 0755 -d ${D}${sbindir}
     install -m 0755 -d ${D}${sysconfdir}/xinetd.d
-    mv ${D}${bindir}/ping ${D}${base_bindir}/
-    mv ${D}${bindir}/ping6 ${D}${base_bindir}/
+    mv ${D}${bindir}/ping* ${D}${base_bindir}/
     mv ${D}${bindir}/ifconfig ${D}${base_sbindir}/
     mv ${D}${libexecdir}/syslogd ${D}${base_sbindir}/
     mv ${D}${bindir}/hostname ${D}${base_bindir}/
@@ -135,7 +135,7 @@
 ALTERNATIVE_${PN}-ping = "ping"
 ALTERNATIVE_LINK_NAME[ping]   = "${base_bindir}/ping"
 
-ALTERNATIVE_${PN}-ping6 = "ping6"
+ALTERNATIVE_${PN}-ping6 = "${@bb.utils.contains('PACKAGECONFIG', 'ping6', 'ping6', '', d)}"
 ALTERNATIVE_LINK_NAME[ping6]  = "${base_bindir}/ping6"
 
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch
new file mode 100644
index 0000000..952232b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch
@@ -0,0 +1,44 @@
+--- lftp-4.6.3a/src/NetAccess.cc.orig	2016-06-18 10:25:51.063358981 -0400
++++ lftp-4.6.3a/src/NetAccess.cc	2016-06-18 10:26:04.143359209 -0400
+@@ -21,7 +21,7 @@
+ 
+ #include <errno.h>
+ #include <assert.h>
+-#include <math.h>
++#include <cmath>
+ #include <sys/types.h>
+ 
+ #include "NetAccess.h"
+--- lftp-4.6.3a/src/Speedometer.cc.orig	2016-06-18 10:24:58.895358073 -0400
++++ lftp-4.6.3a/src/Speedometer.cc	2016-06-18 10:25:10.879358281 -0400
+@@ -18,7 +18,7 @@
+  */
+ 
+ #include <config.h>
+-#include <math.h>
++#include <cmath>
+ #include <stdlib.h>
+ #include "Speedometer.h"
+ #include "misc.h"
+--- lftp-4.6.3a/src/FileCopy.cc.orig	2016-06-18 10:24:15.939357325 -0400
++++ lftp-4.6.3a/src/FileCopy.cc	2016-06-18 10:24:24.583357475 -0400
+@@ -36,7 +36,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+-#include <math.h>
++#include <cmath>
+ #include <stddef.h>
+ #include "FileCopy.h"
+ #include "url.h"
+--- lftp-4.6.3a/src/ResMgr.cc.orig	2016-06-18 10:23:31.387356549 -0400
++++ lftp-4.6.3a/src/ResMgr.cc	2016-06-18 10:23:41.771356729 -0400
+@@ -23,7 +23,7 @@
+ #include <ctype.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+-#include <math.h>
++#include <cmath>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <errno.h>
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.6.3a.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.6.3a.bb
deleted file mode 100644
index e6796a6..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.6.3a.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "LFTP is a sophisticated file transfer program with \
-               command line interface. It supports FTP, HTTP, \
-               FISH, SFTP, HTTPS and FTPS protocols"
-HOMEPAGE = "http://lftp.yar.ru/"
-SECTION = "console/network"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "readline"
-
-SRC_URI = "http://fossies.org/linux/misc/lftp-${PV}.tar.gz \
-          "
-SRC_URI[md5sum] = "2777dd514d21fe1da764bedd1d0ab36c"
-SRC_URI[sha256sum] = "a8b53e5ca2c1acbecd181c87f21a8673ca9038dc9f2be6ab8c23790bd91fd446"
-
-inherit autotools gettext pkgconfig
-
-EXTRA_OECONF += "--with-modules"
-
-PACKAGECONFIG ??= "libidn openssl zlib gnutls"
-PACKAGECONFIG[libidn] = "--with-libidn, --without-libidn, libidn"
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
-PACKAGECONFIG[zlib] = "--with-zlib, --without-zlib, zlib"
-PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
-
-FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug"
-RDEPENDS_${PN} = "perl bash readline"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.3.bb
new file mode 100644
index 0000000..b0cd399
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/lftp/lftp_4.7.3.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "LFTP is a sophisticated file transfer program with \
+               command line interface. It supports FTP, HTTP, \
+               FISH, SFTP, HTTPS and FTPS protocols"
+HOMEPAGE = "http://lftp.yar.ru/"
+SECTION = "console/network"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://fossies.org/linux/misc/lftp-${PV}.tar.gz \
+           file://fix-gcc-6-conflicts-signbit.patch \
+          "
+SRC_URI[md5sum] = "8eb1fe5f113126b60f172643c7f6c2e6"
+SRC_URI[sha256sum] = "ce6519831603c19c2cf2e3c10b41d6ddc87a16049b99383e7b9b77fbc7707214"
+
+inherit autotools gettext pkgconfig
+
+EXTRA_OECONF += "--with-modules"
+
+PACKAGECONFIG ??= "libidn openssl zlib gnutls readline expat"
+PACKAGECONFIG[libidn] = "--with-libidn, --without-libidn, libidn"
+PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
+PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_INCDIR}/.., --without-zlib, zlib"
+PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
+PACKAGECONFIG[readline] = "--with-readline=${STAGING_INCDIR}/.. --with-readline-inc=${STAGING_INCDIR} --with-readline-lib=-lreadline, --with-readline=no, readline"
+PACKAGECONFIG[expat] = "--with-expat=${STAGING_INCDIR}/.. --with-expat-inc=${STAGING_INCDIR} --with-expat-lib=-lexpat, , expat"
+
+FILES_${PN}-dbg += "${libdir}/lftp/${PV}/.debug"
+RDEPENDS_${PN} = "perl bash readline"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_1.3.10.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_1.3.10.bb
deleted file mode 100644
index d5c7afe..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_1.3.10.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] = "19ebbc96feceb430ad958dfe89cb633f"
-SRC_URI[sha256sum] = "746fd88e0c6623691fc56c4eed52e40a57b2da0ac80f6dd8995094aa6adb407e"
-
-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_1.3.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_1.3.17.bb
new file mode 100644
index 0000000..fcfec69
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_1.3.17.bb
@@ -0,0 +1,37 @@
+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/openconnect/openconnect_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
index 6d3c252..60e7e6e 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
@@ -2,8 +2,17 @@
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad"
 
-DEPENDS = "vpnc libxml2 gnutls lz4 krb5 libproxy pcsc-lite"
-RDEPENDS_${PN} = "vpnc"
+DEPENDS = "vpnc libxml2 krb5"
+
+PACKAGECONFIG ??= "gnutls lz4 libproxy"
+
+# config defaults
+PACKAGECONFIG[gnutls]    = "--with-gnutls,--without-gnutls,gnutls,"
+PACKAGECONFIG[lz4]       = "--with-lz4,--without-lz4,lz4,"
+PACKAGECONFIG[libproxy]  = "--with-libproxy,--without-libproxy,libproxy,"
+
+# not config defaults
+PACKAGECONFIG[pcsc-lite] = "--with-libpcsclite,--without-libpcsclite,pcsc-lite,"
 
 PV = "7.06"
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/00-fix-typos-in-man-pages.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/00-fix-typos-in-man-pages.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/00-fix-typos-in-man-pages.patch
rename to import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/00-fix-typos-in-man-pages.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/0006-avoid-using-colon-in-the-checking-msg.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/0006-avoid-using-colon-in-the-checking-msg.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/0006-avoid-using-colon-in-the-checking-msg.patch
rename to import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/0006-avoid-using-colon-in-the-checking-msg.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch
new file mode 100644
index 0000000..0ddc941
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch
@@ -0,0 +1,30 @@
+diff -ur samba-4.4.2/lib/util/debug.c samba-4.4.2/lib/util/debug.c
+--- samba-4.4.2/lib/util/debug.c	2016-05-08 18:33:24.000000000 +0200
++++ samba-4.4.2/lib/util/debug.c	2016-05-08 18:27:09.341481492 +0200
+@@ -102,7 +102,7 @@
+ 	.fd = 2 /* stderr by default */
+ };
+ 
+-#if defined(WITH_SYSLOG) || defined(HAVE_LIBSYSTEMD_JOURNAL)
++#if defined(WITH_SYSLOG) || defined(HAVE_LIBSYSTEMD)
+ static int debug_level_to_priority(int level)
+ {
+ 	/*
+@@ -179,7 +179,7 @@
+ }
+ #endif /* WITH_SYSLOG */
+ 
+-#ifdef HAVE_LIBSYSTEMD_JOURNAL
++#ifdef HAVE_LIBSYSTEMD
+ #include <systemd/sd-journal.h>
+ static void debug_systemd_log(int msg_level,
+ 			      const char *msg, const char *msg_no_nl)
+@@ -251,7 +251,7 @@
+ 	},
+ #endif
+ 
+-#ifdef HAVE_LIBSYSTEMD_JOURNAL
++#ifdef HAVE_LIBSYSTEMD
+ 	{
+ 		.name = "systemd",
+ 		.log = debug_systemd_log,
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/16-do-not-check-xsltproc-manpages.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/16-do-not-check-xsltproc-manpages.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/16-do-not-check-xsltproc-manpages.patch
rename to import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/16-do-not-check-xsltproc-manpages.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/20-do-not-import-target-module-while-cross-compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/20-do-not-import-target-module-while-cross-compile.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/20-do-not-import-target-module-while-cross-compile.patch
rename to import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/20-do-not-import-target-module-while-cross-compile.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/21-add-config-option-without-valgrind.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/21-add-config-option-without-valgrind.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/21-add-config-option-without-valgrind.patch
rename to import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/21-add-config-option-without-valgrind.patch
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/volatiles.03_samba b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/volatiles.03_samba
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.2/volatiles.03_samba
rename to import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba-4.4.5/volatiles.03_samba
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.4.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.4.2.bb
deleted file mode 100644
index 6a2220a..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.4.2.bb
+++ /dev/null
@@ -1,320 +0,0 @@
-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://00-fix-typos-in-man-pages.patch \
-           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://0006-avoid-using-colon-in-the-checking-msg.patch \
-           file://volatiles.03_samba \
-          "
-
-SRC_URI[md5sum] = "03a65a3adf08ceb1636ad59d234d7f9d"
-SRC_URI[sha256sum] = "eaecd41a85ebb9507b8db9856ada2a949376e9d53cf75664b5493658f6e5926a"
-
-inherit systemd waf-samba cpan-base perlnative
-# remove default added RDEPENDS on perl
-RDEPENDS_${PN}_remove = "perl"
-
-DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb krb5 libbsd libaio"
-
-SYSVINITTYPE_linuxstdbase = "lsb"
-SYSVINITTYPE = "sysv"
-
-PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SYSVINITTYPE}', '', d)} \
-                   ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
-                   ${@base_contains('DISTRO_FEATURES', 'zeroconf', 'zeroconf', '', d)} \
-                   acl cups ldap \
-"
-
-RDEPENDS_${PN}-base += "${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'lsb', '', d)}"
-RDEPENDS_${PN}-ctdb-tests += "bash"
-
-PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
-PACKAGECONFIG[pam] = "--with-pam --with-pammodulesdir=${base_libdir}/security,--without-pam,libpam"
-PACKAGECONFIG[lsb] = ",,lsb"
-PACKAGECONFIG[sysv] = ",,sysvinit"
-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} \
-                "
-DISABLE_STATIC = ""
-
-LDFLAGS += "-Wl,-z,relro,-z,now"
-
-do_install_append() {
-    if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then
-        install -d ${D}${systemd_unitdir}/system
-        for i in nmb smb winbind; do
-            install -m 0644 packaging/systemd/$i.service ${D}${systemd_unitdir}/system
-        done
-        sed -i 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' ${D}${systemd_unitdir}/system/*.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
-    elif ${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'true', 'false', d)}; then
-        install -d ${D}${sysconfdir}/init.d
-        install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d
-        update-rc.d -r ${D} samba.sh start 20 3 5 .
-        update-rc.d -r ${D} samba.sh start 20 0 1 6 .
-    elif ${@bb.utils.contains('PACKAGECONFIG', 'sysv', 'true', 'false', d)}; then
-        install -d ${D}${sysconfdir}/init.d
-        install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba.sh
-        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.sh,g' \
-            -i ${D}${sysconfdir}/init.d/samba.sh
-        update-rc.d -r ${D} samba.sh start 20 3 5 .
-        update-rc.d -r ${D} samba.sh start 20 0 1 6 .
-    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}/sysconfig/
-    install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/sysconfig/samba
-
-    rm -rf ${D}/run ${D}${localstatedir}/run
-}
-
-PACKAGES += "${PN}-python ${PN}-python-dbg ${PN}-pidl libwinbind libwinbind-dbg libwinbind-krb5-locator"
-PACKAGES =+ "libwbclient libnss-winbind winbind winbind-dbg libnetapi libsmbsharemodes \
-             libsmbclient libsmbclient-dev lib${PN}-base ${PN}-base ${PN}-ctdb-tests"
-
-RDEPENDS_${PN} += "${PN}-base"
-
-FILES_${PN}-base = "${sbindir}/nmbd \
-                    ${sbindir}/smbd \
-                    ${sysconfdir}/init.d \
-                    ${localstatedir}/lib/samba \
-                    ${localstatedir}/log/samba \
-                    ${localstatedir}/nmbd \
-                    ${localstatedir}/spool/samba \
-"
-
-FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
-                          ${libdir}/ctdb-tests \
-                          ${datadir}/ctdb-tests \
-                          /run/ctdb \
-                         "
-
-# figured out by
-# FILES="tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/sbin/smbd tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/sbin/nmbd"
-#
-# while [ "${FILES}" != "${OLDFILES}" ]
-# do
-#     OLDFILES="${FILES}"
-#     NEEDED=`tmp/sysroots/x86_64-linux/usr/libexec/arm-poky-linux-gnueabi.gcc-cross-initial-arm/gcc/arm-poky-linux-gnueabi/5.2.0/objdump -x ${FILES} | grep NEEDED | egrep -E 'so(.[0-9]|$)' | sort -u | perl -MData::Dumper -le 'while (<>) {chomp; push @lib, (split)[1]}; print "(", join("|", @lib), ")"'`
-#     NF=`find tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/lib -type f | egrep "${NEEDED}" | sort -u`
-#
-#     FILES=`perl -le 'foreach (@ARGV) { $f{$_}++ }; print join(" ", sort keys %f)' ${FILES} ${NF}`
-# done
-#
-# LIBS=`echo ${FILES} | sed -e 's,tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/lib,${libdir},g' -e 's,.so.[0-9]+.*$,.so.*,g'`
-# for l in ${LIBS}
-# do
-#     echo $l
-# done
-
-FILES_lib${PN}-base = "\
-                    ${sysconfdir}/default \
-                    ${sysconfdir}/samba \
-                    ${libdir}/libdcerpc-binding.so.* \
-                    ${libdir}/libgensec.so.* \
-                    ${libdir}/libndr-krb5pac.so.* \
-                    ${libdir}/libndr-nbt.so.* \
-                    ${libdir}/libndr-standard.so.* \
-                    ${libdir}/libndr.so.* \
-                    ${libdir}/libnetapi.so.* \
-                    ${libdir}/libpdb.so.* \
-                    ${libdir}/libsamba-credentials.so.* \
-                    ${libdir}/libsamba-hostconfig.so.* \
-                    ${libdir}/libsamba-util.so.* \
-                    ${libdir}/libsamdb.so.* \
-                    ${libdir}/libsmbconf.so.* \
-                    ${libdir}/libtevent-util.so.* \
-                    ${libdir}/samba/libCHARSET3.so \
-                    ${libdir}/samba/libaddns.so \
-                    ${libdir}/samba/libads.so \
-                    ${libdir}/samba/libasn1util.so \
-                    ${libdir}/samba/libauth.so \
-                    ${libdir}/samba/libauth_sam_reply.so \
-                    ${libdir}/samba/libauthkrb5.so \
-                    ${libdir}/samba/libccan.so \
-                    ${libdir}/samba/libcli-ldap-common.so \
-                    ${libdir}/samba/libcli-nbt.so \
-                    ${libdir}/samba/libcli_cldap.so \
-                    ${libdir}/samba/libcli_smb_common.so \
-                    ${libdir}/samba/libcli_spoolss.so \
-                    ${libdir}/samba/libcliauth.so \
-                    ${libdir}/samba/libdbwrap.so \
-                    ${libdir}/samba/libdcerpc-samba.so \
-                    ${libdir}/samba/liberrors.so \
-                    ${libdir}/samba/libflag_mapping.so \
-                    ${libdir}/samba/libgse.so \
-                    ${libdir}/samba/libinterfaces.so \
-                    ${libdir}/samba/libkrb5samba.so \
-                    ${libdir}/samba/libldbsamba.so \
-                    ${libdir}/samba/liblibcli_lsa3.so \
-                    ${libdir}/samba/liblibcli_netlogon3.so \
-                    ${libdir}/samba/liblibsmb.so \
-                    ${libdir}/samba/libmsrpc3.so \
-                    ${libdir}/samba/libndr-samba.so \
-                    ${libdir}/samba/libndr-samba4.so \
-                    ${libdir}/samba/libnpa_tstream.so \
-                    ${libdir}/samba/libntdb.so.* \
-                    ${libdir}/samba/libpopt_samba3.so \
-                    ${libdir}/samba/libprinting_migrate.so \
-                    ${libdir}/samba/libsamba-modules.so \
-                    ${libdir}/samba/libsamba-security.so \
-                    ${libdir}/samba/libsamba-sockets.so \
-                    ${libdir}/samba/libsamba3-util.so \
-                    ${libdir}/samba/libsamdb-common.so \
-                    ${libdir}/samba/libsecrets3.so \
-                    ${libdir}/samba/libserver-role.so \
-                    ${libdir}/samba/libsmb_transport.so \
-                    ${libdir}/samba/libsmbd_base.so \
-                    ${libdir}/samba/libsmbd_conn.so \
-                    ${libdir}/samba/libsmbd_shim.so \
-                    ${libdir}/samba/libsmbregistry.so \
-                    ${libdir}/samba/libtdb-wrap.so \
-                    ${libdir}/samba/libutil_cmdline.so \
-                    ${libdir}/samba/libutil_ntdb.so \
-                    ${libdir}/samba/libutil_reg.so \
-                    ${libdir}/samba/libutil_setid.so \
-                    ${libdir}/samba/libutil_tdb.so \
-                    ${libdir}/samba/pdb/smbpasswd.so \
-                    ${libdir}/samba/pdb/tdbsam.so \
-                    ${libdir}/samba/pdb/wbc_sam.so \
-"
-
-FILES_winbind-dbg = "${libdir}/idmap/.debug/*.so \
-                     ${libdir}/security/.debug/pam_winbind.so \
-"
-
-FILES_${PN} += "${libdir}/vfs/*.so \
-                ${libdir}/charset/*.so \
-                ${libdir}/*.dat \
-                ${libdir}/auth/*.so \
-                ${libdir}/security/pam_smbpass.so \
-"
-
-FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so \
-                    ${libdir}/charset/.debug/*.so \
-                    ${libdir}/auth/.debug/*.so \
-                    ${libdir}/security/.debug/pam_smbpass.so \
-"
-
-FILES_libwbclient = "${libdir}/libwbclient.so.* ${libdir}/samba/libwinbind-client.so"
-FILES_libnetapi = "${libdir}/libnetapi.so.*"
-FILES_libsmbsharemodes = "${libdir}/libsmbsharemodes.so.*"
-FILES_libsmbclient = "${libdir}/libsmbclient.so.*"
-FILES_libsmbclient-dev = "${libdir}/libsmbclient.so ${includedir}"
-FILES_winbind = "${sbindir}/winbindd \
-                 ${bindir}/wbinfo \
-                 ${bindir}/ntlm_auth \
-                 ${sysconfdir}/init.d/winbind \
-                 ${systemd_unitdir}/system/winbind.service \
-"
-
-FILES_libnss-winbind = "${libdir}/libnss_*${SOLIBS} \
-                        ${libdir}/nss_info \
-"
-
-FILES_${PN} += "${base_libdir}/security/pam_smbpass.so \
-"
-
-SMB_SERVICE="${systemd_unitdir}/system/nmb.service ${systemd_unitdir}/system/smb.service"
-SMB_SYSV="${sysconfdir}/init.d ${sysconfdir}/rc?.d"
-FILES_${PN}-base +="${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${SMB_SERVICE}', '', d)}"
-FILES_${PN}-base +="${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SMB_SYSV}', '', d)}"
-
-FILES_${PN}-dbg += "${libdir}/samba/idmap/.debug/* \
-                    ${libdir}/samba/pdb/.debug/* \
-                    ${libdir}/samba/auth/.debug/* \
-                    ${libdir}/samba/nss_info/.debug/* \
-                    ${libdir}/samba/ldb/.debug/* \
-                    ${libdir}/samba/vfs/.debug/* \
-                    ${base_libdir}/security/.debug/pam_smbpass.so \
-"
-
-FILES_libwinbind = "${base_libdir}/security/pam_winbind.so"
-FILES_libwinbind += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/winbind.service', '', d)}"
-FILES_libwinbind-dbg = "${base_libdir}/security/.debug/pam_winbind.so"
-FILES_libwinbind-krb5-locator = "${libdir}/winbind_krb5_locator.so"
-
-FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.so \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/_ldb_text.py \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/*.py \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/*.so \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/*.so \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/*.py \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/external/* \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/kcc/* \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/netcmd/*.py \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/provision/*.py \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/*.py \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/*.so \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/subunit/* \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/tests/* \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/third_party/* \
-                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/web_server/* \
-"
-
-FILES_${PN}-python-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug/* \
-                          ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/.debug/* \
-                          ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/.debug/* \
-                          ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/.debug/* \
-"
-
-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.4.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb
new file mode 100644
index 0000000..e9694d4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb
@@ -0,0 +1,318 @@
+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://00-fix-typos-in-man-pages.patch \
+           file://10-use-only-libsystemd.patch \
+           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://0006-avoid-using-colon-in-the-checking-msg.patch \
+           file://volatiles.03_samba \
+          "
+
+SRC_URI[md5sum] = "6950c5e9f7bdeb8a610c2ca957a15be4"
+SRC_URI[sha256sum] = "b876ef2e63f66265490e80a122e66ef2d7616112b839df68f56ac2e1ce17a7bd"
+
+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"
+
+SYSVINITTYPE_linuxstdbase = "lsb"
+SYSVINITTYPE = "sysv"
+
+INITSCRIPT_NAME = "samba.sh"
+INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SYSVINITTYPE}', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'zeroconf', '', d)} \
+                   acl cups ldap \
+"
+
+RDEPENDS_${PN}-base += "${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'lsb', '', d)}"
+RDEPENDS_${PN}-ctdb-tests += "bash"
+
+PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[lsb] = ",,lsb"
+PACKAGECONFIG[sysv] = ",,sysvinit"
+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 \
+                "
+DISABLE_STATIC = ""
+
+LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+do_install_append() {
+    if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${systemd_unitdir}/system
+        for i in nmb smb winbind; do
+            install -m 0644 packaging/systemd/$i.service ${D}${systemd_unitdir}/system
+        done
+        sed -i 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' ${D}${systemd_unitdir}/system/*.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
+    elif ${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d
+    elif ${@bb.utils.contains('PACKAGECONFIG', 'sysv', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba.sh
+        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.sh,g' \
+            -i ${D}${sysconfdir}/init.d/samba.sh
+    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}/sysconfig/
+    install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/sysconfig/samba
+
+    rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
+}
+
+PACKAGES =+ "${PN}-python ${PN}-python-dbg ${PN}-pidl libwinbind libwinbind-dbg libwinbind-krb5-locator"
+PACKAGES =+ "libwbclient libnss-winbind winbind winbind-dbg libnetapi libsmbsharemodes \
+             libsmbclient libsmbclient-dev lib${PN}-base ${PN}-base ${PN}-ctdb-tests"
+
+RDEPENDS_${PN} += "${PN}-base"
+
+FILES_${PN}-base = "${sbindir}/nmbd \
+                    ${sbindir}/smbd \
+                    ${sysconfdir}/init.d \
+                    ${localstatedir}/lib/samba \
+                    ${localstatedir}/nmbd \
+                    ${localstatedir}/spool/samba \
+"
+
+FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
+                          ${libdir}/ctdb-tests \
+                          ${datadir}/ctdb-tests \
+                          /run/ctdb \
+                         "
+
+# figured out by
+# FILES="tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/sbin/smbd tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/sbin/nmbd"
+#
+# while [ "${FILES}" != "${OLDFILES}" ]
+# do
+#     OLDFILES="${FILES}"
+#     NEEDED=`tmp/sysroots/x86_64-linux/usr/libexec/arm-poky-linux-gnueabi.gcc-cross-initial-arm/gcc/arm-poky-linux-gnueabi/5.2.0/objdump -x ${FILES} | grep NEEDED | egrep -E 'so(.[0-9]|$)' | sort -u | perl -MData::Dumper -le 'while (<>) {chomp; push @lib, (split)[1]}; print "(", join("|", @lib), ")"'`
+#     NF=`find tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/lib -type f | egrep "${NEEDED}" | sort -u`
+#
+#     FILES=`perl -le 'foreach (@ARGV) { $f{$_}++ }; print join(" ", sort keys %f)' ${FILES} ${NF}`
+# done
+#
+# LIBS=`echo ${FILES} | sed -e 's,tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/lib,${libdir},g' -e 's,.so.[0-9]+.*$,.so.*,g'`
+# for l in ${LIBS}
+# do
+#     echo $l
+# done
+
+FILES_lib${PN}-base = "\
+                    ${sysconfdir}/default \
+                    ${sysconfdir}/samba \
+                    ${libdir}/libdcerpc-binding.so.* \
+                    ${libdir}/libgensec.so.* \
+                    ${libdir}/libndr-krb5pac.so.* \
+                    ${libdir}/libndr-nbt.so.* \
+                    ${libdir}/libndr-standard.so.* \
+                    ${libdir}/libndr.so.* \
+                    ${libdir}/libnetapi.so.* \
+                    ${libdir}/libpdb.so.* \
+                    ${libdir}/libsamba-credentials.so.* \
+                    ${libdir}/libsamba-hostconfig.so.* \
+                    ${libdir}/libsamba-util.so.* \
+                    ${libdir}/libsamdb.so.* \
+                    ${libdir}/libsmbconf.so.* \
+                    ${libdir}/libtevent-util.so.* \
+                    ${libdir}/samba/libCHARSET3.so \
+                    ${libdir}/samba/libaddns.so \
+                    ${libdir}/samba/libads.so \
+                    ${libdir}/samba/libasn1util.so \
+                    ${libdir}/samba/libauth.so \
+                    ${libdir}/samba/libauth_sam_reply.so \
+                    ${libdir}/samba/libauthkrb5.so \
+                    ${libdir}/samba/libccan.so \
+                    ${libdir}/samba/libcli-ldap-common.so \
+                    ${libdir}/samba/libcli-nbt.so \
+                    ${libdir}/samba/libcli_cldap.so \
+                    ${libdir}/samba/libcli_smb_common.so \
+                    ${libdir}/samba/libcli_spoolss.so \
+                    ${libdir}/samba/libcliauth.so \
+                    ${libdir}/samba/libdbwrap.so \
+                    ${libdir}/samba/libdcerpc-samba.so \
+                    ${libdir}/samba/liberrors.so \
+                    ${libdir}/samba/libflag_mapping.so \
+                    ${libdir}/samba/libgse.so \
+                    ${libdir}/samba/libinterfaces.so \
+                    ${libdir}/samba/libkrb5samba.so \
+                    ${libdir}/samba/libldbsamba.so \
+                    ${libdir}/samba/liblibcli_lsa3.so \
+                    ${libdir}/samba/liblibcli_netlogon3.so \
+                    ${libdir}/samba/liblibsmb.so \
+                    ${libdir}/samba/libmsrpc3.so \
+                    ${libdir}/samba/libndr-samba.so \
+                    ${libdir}/samba/libndr-samba4.so \
+                    ${libdir}/samba/libnpa_tstream.so \
+                    ${libdir}/samba/libntdb.so.* \
+                    ${libdir}/samba/libpopt_samba3.so \
+                    ${libdir}/samba/libprinting_migrate.so \
+                    ${libdir}/samba/libsamba-modules.so \
+                    ${libdir}/samba/libsamba-security.so \
+                    ${libdir}/samba/libsamba-sockets.so \
+                    ${libdir}/samba/libsamba3-util.so \
+                    ${libdir}/samba/libsamdb-common.so \
+                    ${libdir}/samba/libsecrets3.so \
+                    ${libdir}/samba/libserver-role.so \
+                    ${libdir}/samba/libsmb_transport.so \
+                    ${libdir}/samba/libsmbd_base.so \
+                    ${libdir}/samba/libsmbd_conn.so \
+                    ${libdir}/samba/libsmbd_shim.so \
+                    ${libdir}/samba/libsmbregistry.so \
+                    ${libdir}/samba/libtdb-wrap.so \
+                    ${libdir}/samba/libutil_cmdline.so \
+                    ${libdir}/samba/libutil_ntdb.so \
+                    ${libdir}/samba/libutil_reg.so \
+                    ${libdir}/samba/libutil_setid.so \
+                    ${libdir}/samba/libutil_tdb.so \
+                    ${libdir}/samba/pdb/smbpasswd.so \
+                    ${libdir}/samba/pdb/tdbsam.so \
+                    ${libdir}/samba/pdb/wbc_sam.so \
+"
+
+FILES_winbind-dbg = "${libdir}/idmap/.debug/*.so \
+                     ${libdir}/security/.debug/pam_winbind.so \
+"
+
+FILES_${PN} += "${libdir}/vfs/*.so \
+                ${libdir}/charset/*.so \
+                ${libdir}/*.dat \
+                ${libdir}/auth/*.so \
+                ${libdir}/security/pam_smbpass.so \
+"
+
+FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so \
+                    ${libdir}/charset/.debug/*.so \
+                    ${libdir}/auth/.debug/*.so \
+                    ${libdir}/security/.debug/pam_smbpass.so \
+"
+
+FILES_libwbclient = "${libdir}/libwbclient.so.* ${libdir}/samba/libwinbind-client.so"
+FILES_libnetapi = "${libdir}/libnetapi.so.*"
+FILES_libsmbsharemodes = "${libdir}/libsmbsharemodes.so.*"
+FILES_libsmbclient = "${libdir}/libsmbclient.so.*"
+FILES_libsmbclient-dev = "${libdir}/libsmbclient.so ${includedir}"
+FILES_winbind = "${sbindir}/winbindd \
+                 ${bindir}/wbinfo \
+                 ${bindir}/ntlm_auth \
+                 ${sysconfdir}/init.d/winbind \
+                 ${systemd_unitdir}/system/winbind.service \
+"
+
+FILES_libnss-winbind = "${libdir}/libnss_*${SOLIBS} \
+                        ${libdir}/nss_info \
+"
+
+FILES_${PN} += "${base_libdir}/security/pam_smbpass.so \
+"
+
+SMB_SERVICE="${systemd_unitdir}/system/nmb.service ${systemd_unitdir}/system/smb.service"
+SMB_SYSV="${sysconfdir}/init.d ${sysconfdir}/rc?.d"
+FILES_${PN}-base +="${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${SMB_SERVICE}', '', d)}"
+FILES_${PN}-base +="${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SMB_SYSV}', '', d)}"
+
+FILES_${PN}-dbg += "${libdir}/samba/idmap/.debug/* \
+                    ${libdir}/samba/pdb/.debug/* \
+                    ${libdir}/samba/auth/.debug/* \
+                    ${libdir}/samba/nss_info/.debug/* \
+                    ${libdir}/samba/ldb/.debug/* \
+                    ${libdir}/samba/vfs/.debug/* \
+                    ${base_libdir}/security/.debug/pam_smbpass.so \
+"
+
+FILES_libwinbind = "${base_libdir}/security/pam_winbind.so"
+FILES_libwinbind += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/winbind.service', '', d)}"
+FILES_libwinbind-dbg = "${base_libdir}/security/.debug/pam_winbind.so"
+FILES_libwinbind-krb5-locator = "${libdir}/winbind_krb5_locator.so"
+
+FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.so \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/_ldb_text.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/*.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/*.so \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/*.so \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/*.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/external/* \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/kcc/* \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/netcmd/*.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/provision/*.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/*.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/*.so \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/subunit/* \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/tests/* \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/third_party/* \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/web_server/* \
+"
+
+FILES_${PN}-python-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug/* \
+                          ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/.debug/* \
+                          ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/.debug/* \
+                          ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/.debug/* \
+"
+
+RDEPENDS_${PN}-pidl_append = " perl"
+FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.7.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.7.5.bb
index 7d946af..c62a8d3 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.7.5.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.7.5.bb
@@ -4,7 +4,7 @@
 LICENSE = "GPL-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
 
-DEPENDS = "libpcap libpcre daq libdnet util-linux"
+DEPENDS = "xz libpcap libpcre daq libdnet util-linux"
 
 SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \
     file://snort.init \
@@ -42,8 +42,9 @@
 # if you want to disable it, you need to patch configure.in first
 # AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no")
 # is called even with --without-openssl-includes
-PACKAGECONFIG ?= "openssl"
+PACKAGECONFIG ?= "openssl lzma"
 PACKAGECONFIG[openssl] = "--with-openssl-includes=${STAGING_INCDIR} --with-openssl-libraries=${STAGING_LIBDIR}, --without-openssl-includes --without-openssl-libraries, openssl,"
+PACKAGECONFIG[lzma] = "--with-lzma-includes=${STAGING_INCDIR} --with-lzma-libraries=${STAGING_LIBDIR}, --without-lzma-includes --without-lzma-libraries, xz,"
 
 do_install_append() {
     install -d ${D}${sysconfdir}/snort/rules
@@ -56,6 +57,8 @@
     install -m 755 ${WORKDIR}/snort.init ${D}${sysconfdir}/init.d/snort
     mkdir -p ${D}${localstatedir}/log/snort
     install -d ${D}/var/log/snort
+
+    sed -i 's/-fdebug-prefix-map[^ ]*//g; s#${STAGING_DIR_TARGET}##g' ${D}${libdir}/pkgconfig/*.pc
 }
 
 FILES_${PN} += " \
@@ -84,6 +87,3 @@
     ${libdir}/snort_dynamicrules/*.so \
     ${prefix}/src/snort_dynamicsrc \
 "
-
-# http://errors.yoctoproject.org/Errors/Details/35137/
-PNBLACKLIST[snort] ?= "BROKEN: QA Issue: snort_preproc.pc, snort_output.pc, snort.pc"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
index ccb4494..1aff045 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb
@@ -18,7 +18,7 @@
 }
 
 do_install () {
-    sed -i s:m600:m\ 600:g Makefile    
+    sed -i s:m600:m\ 600:g Makefile
     oe_runmake 'DESTDIR=${D}' 'PREFIX=/usr' install
     rm -f ${D}${sysconfdir}/vpnc/vpnc.conf #This file is useless
     install ${WORKDIR}/default.conf ${D}${sysconfdir}/vpnc/default.conf
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
new file mode 100644
index 0000000..a9119ea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Wireless Central Regulatory Domain Database"
+HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA"
+SECTION = "net"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
+
+SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
+SRC_URI[md5sum] = "d282cce92b6e692e8673e2bd97adf33b"
+SRC_URI[sha256sum] = "cfedf1c3521b3c8f32602f25ed796e96e687c3441a00e7c050fedf7fd4f1b8b7"
+
+inherit bin_package
+
+do_install() {
+    install -d -m0755 ${D}${libdir}/crda
+    install -m 0644 regulatory.bin ${D}${libdir}/crda/regulatory.bin
+}
+
+RSUGGESTS_${PN} = "crda"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb
index d086cef..0040f67 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.9.0.bb
@@ -19,3 +19,5 @@
 
 inherit autotools
 
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp/0001-argz.h-fix-musl-compile-add-missing-defines.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp/0001-argz.h-fix-musl-compile-add-missing-defines.patch
new file mode 100644
index 0000000..cfa8a73
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp/0001-argz.h-fix-musl-compile-add-missing-defines.patch
@@ -0,0 +1,45 @@
+From 543e67919f5cacf309ac88ab091331e41af4224b Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Thu, 16 Apr 2015 22:41:57 +0200
+Subject: [PATCH] argz.h: fix musl compile (add missing defines)
+
+Upstream-Status: Pending
+
+Add __THROW, __BEGIN_DECLS, __END_DECLS and __attribute_pure__ defines.
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
+---
+ argz.h | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/argz.h b/argz.h
+index 582be55..bdf9f62 100644
+--- a/argz.h
++++ b/argz.h
+@@ -48,6 +48,22 @@
+ # define __const const
+ #endif
+ 
++#ifndef __THROW
++# define __THROW
++#endif
++
++#ifndef __BEGIN_DECLS
++# define __BEGIN_DECLS
++#endif
++
++#ifndef __END_DECLS
++# define __END_DECLS
++#endif
++
++#ifndef __attribute_pure__
++# define __attribute_pure__
++#endif
++
+ #ifndef __error_t_defined
+ typedef int error_t;
+ #endif
+-- 
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp/0002-tftp.h-tftpd.h-fix-musl-compile-missing-include.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp/0002-tftp.h-tftpd.h-fix-musl-compile-missing-include.patch
new file mode 100644
index 0000000..093054c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp/0002-tftp.h-tftpd.h-fix-musl-compile-missing-include.patch
@@ -0,0 +1,43 @@
+From 77e399899d9d7297d23c321811b628febdf0fd92 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Thu, 16 Apr 2015 22:43:49 +0200
+Subject: [PATCH] tftp.h/tftpd.h: fix musl compile (missing include)
+
+Upstream-Status: Pending
+
+Add sys/types.h include for u_char typedef.
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
+---
+ tftp.h  | 1 +
+ tftpd.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/tftp.h b/tftp.h
+index 12bd6aa..32a3f63 100644
+--- a/tftp.h
++++ b/tftp.h
+@@ -19,6 +19,7 @@
+ 
+ #include <sys/time.h>
+ #include <sys/times.h>
++#include <sys/types.h>
+ #include "tftp_def.h"
+ #include "config.h"
+ 
+diff --git a/tftpd.h b/tftpd.h
+index 945065e..60d3a49 100644
+--- a/tftpd.h
++++ b/tftpd.h
+@@ -20,6 +20,7 @@
+ #include <pthread.h>
+ #include <arpa/tftp.h>
+ #include <arpa/inet.h>
++#include <sys/types.h>
+ #include "tftp_io.h"
+ 
+ /*
+-- 
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb
index 0ece58f..a9949d5 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb
@@ -12,12 +12,16 @@
            file://atftpd-0.7_circumvent_tftp_size_restrictions.patch \
            file://atftpd-0.7_unprotected_assignments_crash.patch \
            file://atftpd.init \
-           file://atftpd.service \   
+           file://atftpd.service \
            file://atftp-0.7-sorcerers_apprentice.patch \
 "
+SRC_URI_append_libc-musl = " file://0001-argz.h-fix-musl-compile-add-missing-defines.patch \
+                             file://0002-tftp.h-tftpd.h-fix-musl-compile-missing-include.patch \
+                           "
+
 S = "${WORKDIR}/git"
 
-inherit autotools update-rc.d useradd systemd
+inherit autotools update-rc.d systemd
 
 PACKAGECONFIG ??= "tcp-wrappers"
 PACKAGECONFIG[pcre] = "--enable-libpcre,--disable-libpcre,libpcre"
@@ -28,9 +32,6 @@
 INITSCRIPT_NAME_${PN}d = "atftpd"
 INITSCRIPT_PARAMS_${PN}d = "defaults 80"
 
-USERADD_PACKAGES = "${PN}d"
-USERADD_PARAM_${PN}d = "--system --no-create-home --shell /bin/false \
-                        --user-group nobody"
 
 EXTRA_OEMAKE = "CFLAGS='${CFLAGS} -std=gnu89'"
 
@@ -41,7 +42,7 @@
     install -d ${D}/srv/tftp
 
     rm ${D}${sbindir}/in.tftpd
-    
+
     install -d ${D}${systemd_unitdir}/system
     install -m 0644 ${WORKDIR}/atftpd.service ${D}${systemd_unitdir}/system
 }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.1.bb
index 0f4c247..4a888c8 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.1.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.1.bb
@@ -36,7 +36,7 @@
 
 PACKAGECONFIG[systemd] = "--with-systemd=${systemd_unitdir}/system,--without-systemd,systemd"
 
-PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
 
 EXTRA_OEMAKE = "DONTSTRIP=1"
 EXTRA_OECONF += "--disable-mount-locking \
@@ -57,10 +57,10 @@
 
 do_install_append () {
     if [ -d ${D}/run ]; then
-	rmdir ${D}/run
+        rmdir ${D}/run
     fi
     if [ -d ${D}${localstatedir}/run ]; then
-	rmdir ${D}${localstatedir}/run
+        rmdir ${D}${localstatedir}/run
     fi
 }
 
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 5da3d96..69df274 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
@@ -5,14 +5,14 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=3f55e0974e3d6db00ca6f57f2d206396"
 
 SRC_URI = "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${PV}.tar.gz \
-	   file://avoid-to-call-AC_TRY_RUN.patch \
-	   file://Fix-hardcoded-libdir.patch \
-	   file://debian_patches_0009_sasldb_al.diff \
-	   file://debian_patches_0014_avoid_pic_overwrite.diff \
-	   file://sasl.h-include-stddef.h-for-size_t-on-NetBSD.patch \
-	   file://saslauthd.service \
-	   file://saslauthd.conf \
-	   "
+    file://avoid-to-call-AC_TRY_RUN.patch \
+    file://Fix-hardcoded-libdir.patch \
+    file://debian_patches_0009_sasldb_al.diff \
+    file://debian_patches_0014_avoid_pic_overwrite.diff \
+    file://sasl.h-include-stddef.h-for-size_t-on-NetBSD.patch \
+    file://saslauthd.service \
+    file://saslauthd.conf \
+"
 
 inherit autotools-brokensep pkgconfig useradd systemd
 
@@ -24,8 +24,9 @@
                  andrew_cv_runpath_switch=none"
 
 PACKAGECONFIG ??= "ntlm \
-        ${@base_contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
-        ${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+        ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
+        ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+        ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
         "
 PACKAGECONFIG[gssapi] = "--enable-gssapi=yes,--enable-gssapi=no,krb5,"
 PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
@@ -33,6 +34,7 @@
 PACKAGECONFIG[des] = "--with-des,--without-des,,"
 PACKAGECONFIG[ldap] = "--with-ldap=${STAGING_LIBDIR} --enable-ldapdb,--without-ldap --disable-ldapdb,openldap,"
 PACKAGECONFIG[ntlm] = "--with-ntlm,--without-ntlm,,"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
 
 CFLAGS += "-fPIC"
 
@@ -54,7 +56,7 @@
 }
 
 do_install_append() {
-    if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
         install -d ${D}${systemd_unitdir}/system
         install -m 0644 ${WORKDIR}/saslauthd.service ${D}${systemd_unitdir}/system
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
index 8769e52..b5851a9 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
@@ -22,7 +22,7 @@
 SYSTEMD_AUTO_ENABLE = "disable"
 
 inherit autotools
-inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
 
 do_install() {
     oe_runmake install DESTDIR=${D} INSTALL="install -p"
@@ -34,7 +34,7 @@
     install -p -m 0644 ${WORKDIR}/dnrd.conf.sample ${D}${sysconfdir}/dnrd/dnrd.conf
     install -p -m 0755 ${WORKDIR}/dnrd.init ${D}${sysconfdir}/init.d/dnrd
 
-    if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
         install -d -m 0755 ${D}${systemd_unitdir}/system
         install -m 644 ${WORKDIR}/dnrd.service ${D}${systemd_unitdir}/system
     fi
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service
index b139751..3790dae 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service
@@ -5,6 +5,7 @@
 [Service]
 EnvironmentFile=/etc/default/iscsi-initiator
 ExecStartPre=/sbin/modprobe iscsi_tcp
+ExecStartPre=/usr/lib/iscsi/set_initiatorname
 ExecStart=/usr/sbin/iscsid -f $OPTS_ISCSID
 
 [Install]
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/set_initiatorname b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/set_initiatorname
new file mode 100644
index 0000000..a196c6b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/set_initiatorname
@@ -0,0 +1,12 @@
+#!/bin/sh
+if [ ! -f /etc/iscsi/initiatorname.iscsi ]; then
+    INITIATORNAME=$(iscsi-iname)
+    cat >/etc/iscsi/initiatorname.iscsi <<EOF
+## DO NOT EDIT OR REMOVE THIS FILE!
+## If you remove this file, the iSCSI daemon will not start.
+## If you change the InitiatorName, existing access control lists
+## may reject this initiator.  The InitiatorName must be unique
+## for each iSCSI initiator.  Do NOT duplicate iSCSI InitiatorNames.
+InitiatorName=$INITIATORNAME
+EOF
+fi
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb
index 03f6459..4b13155 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb
@@ -21,6 +21,7 @@
            file://iscsi-initiator \
            file://iscsi-initiator.service \
            file://iscsi-initiator-targets.service \
+           file://set_initiatorname \
 "
 SRC_URI[md5sum] = "8b8316d7c9469149a6cc6234478347f7"
 SRC_URI[sha256sum] = "7dd9f2f97da417560349a8da44ea4fcfe98bfd5ef284240a2cc4ff8e88ac7cd9"
@@ -82,6 +83,8 @@
         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
@@ -89,25 +92,17 @@
 }
 
 pkg_postinst_${PN}() {
-    #default there is no initiatorname.iscsi installed
-    #but it is needed or iscsid will fail
-
-    #will run only when postinst on target
-    if [ "x$D" != "x" ]; then
-        exit 1
-    fi
-    if [ ! -f ${sysconfdir}/iscsi/initiatorname.iscsi ]; then
-        echo "InitiatorName=$(${sbindir}/iscsi-iname)" > \
-        ${sysconfdir}/iscsi/initiatorname.iscsi
-    fi
-
-    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
+    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/opensaf/opensaf_4.7.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_4.7.0.bb
deleted file mode 100644
index 42e883a..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_4.7.0.bb
+++ /dev/null
@@ -1,66 +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"
-
-inherit autotools useradd systemd pkgconfig
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
-           file://install-samples-from-srcdir.patch \
-           file://0001-plmcd-error-fix.patch \
-           "
-
-SRC_URI[md5sum] = "82dd2777a672140e22b8205f10aa55d3"
-SRC_URI[sha256sum] = "da9e138650b835728ad51d99268d3a31419b254c4cb4e87c6ec90bc45266d7d2"
-
-SECTION = "admin"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
-
-DEPENDS = "libxml2 python"
-
-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 plmcboot.service plmcd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-PACKAGECONFIG[systemd] = "--enable-systemd-daemon"
-PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03 --enable-ais-plm,,openhpi"
-
-do_configure_prepend () {
-        ( cd ${S}; autoreconf -f -i -s )
-}
-
-EXTRA_OECONF += " --libdir=${libdir}/opensaf "
-EXTRA_OEMAKE += " -Wl,-rpath,${libdir}/opensaf "
-
-PKGLIBDIR="${libdir}/opensaf/opensaf"
-
-FILES_${PN} += "${localstatedir}/run"
-
-FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a"
-
-RDEPENDS_${PN} += "bash python"
-
-INSANE_SKIP_${PN} = "dev-so"
-
-do_install_append() {
-    rm -fr "${D}${localstatedir}/lock"
-    rm -fr "${D}${localstatedir}/run"
-    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${B}/osaf/services/infrastructure/nid/config/opensafd.service \
-        ${D}${systemd_unitdir}/system
-    install -m 0644 ${B}/contrib/plmc/config/*.service ${D}/${systemd_unitdir}/system
-
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.0.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.0.0.bb
new file mode 100644
index 0000000..da9c105
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.0.0.bb
@@ -0,0 +1,73 @@
+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"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
+           file://install-samples-from-srcdir.patch \
+           file://0001-plmcd-error-fix.patch \
+           "
+
+SRC_URI[md5sum] = "94cd1a4c0406e6a45bb04c003f8690e7"
+SRC_URI[sha256sum] = "4b4188a0f3d0ed1ed0e3d77de27c45e2c96b437401de08e7df2ed9ecd54bb999"
+
+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 plmcboot.service plmcd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+PACKAGECONFIG[systemd] = "--enable-systemd-daemon"
+PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03 --enable-ais-plm,,openhpi"
+
+EXTRA_OECONF += " --libdir=${libdir}/opensaf "
+EXTRA_OEMAKE += " -Wl,-rpath,${libdir}/opensaf "
+
+PKGLIBDIR="${libdir}/opensaf/opensaf"
+
+do_configure_prepend () {
+        ( cd ${S}; autoreconf -f -i -s )
+}
+
+do_install_append() {
+    rm -fr "${D}${localstatedir}/lock"
+    rm -fr "${D}${localstatedir}/run"
+    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${B}/osaf/services/infrastructure/nid/config/opensafd.service \
+        ${D}${systemd_unitdir}/system
+    install -m 0644 ${B}/contrib/plmc/config/*.service ${D}/${systemd_unitdir}/system
+}
+
+FILES_${PN} += "${localstatedir}/run ${systemd_unitdir}/system/*.service"
+FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+RDEPENDS_${PN} += "bash python"
+
+do_sysvinit_install() {
+    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
+}
+
+addtask sysvinit_install after do_install before do_package
+
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 17dbf76..c00c77f 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
@@ -7,8 +7,8 @@
 HOMEPAGE= "http://www.postfix.org"
 SECTION = "mail"
 DEPENDS = "virtual/db libpcre openssl postfix-native \
-    ${@base_contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \
-    ${@base_contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \
 "
 DEPENDS_class-native = "virtual/db-native openssl-native libpcre-native"
 
@@ -52,9 +52,9 @@
 
 # ldap support
 export CCARGS-ldap  = "\
-    ${@base_contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}"
+    ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}"
 export AUXLIBS-ldap = "\
-    ${@base_contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}"
+    ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}"
 
 # no native openldap
 export CCARGS-ldap_class-native = ""
@@ -63,9 +63,9 @@
 # SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH
 # current openldap didn't enable SASL
 export CCARGS-sasl  = "\
-    ${@base_contains('DISTRO_FEATURES', 'sasl', '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I=/usr/include/sasl', '', d)}"
+    ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I=/usr/include/sasl', '', d)}"
 export AUXLIBS-sasl = "\
-    ${@base_contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}"
+    ${@bb.utils.contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}"
 export CCARGS-sasl_class-native = ""
 export AUXLIBS-sasl_class-native = ""
 
@@ -224,6 +224,11 @@
 ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
 ALTERNATIVE_PRIORITY = "120"
 
+ALTERNATIVE_${PN}-doc += "mailq.1 newaliases.1 sendmail.1"
+ALTERNATIVE_LINK_NAME[mailq.1] = "${mandir}/man1/mailq.1"
+ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1"
+ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1"
+
 pkg_postinst_${PN} () {
     if [ "x$D" = "x" ]; then
         touch /etc/aliases
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.0.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.0.3.bb
deleted file mode 100644
index 7104a9d..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.0.3.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require postfix.inc
-
-SRC_URI[md5sum] = "61caffae689c11d09b4c972a394ae3b1"
-SRC_URI[sha256sum] = "401e46ec3450569dcce60d1d8ca22a19ab1f7f817b0cc730cdf4875ba608ac02"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb
new file mode 100644
index 0000000..dbbe24c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.1.1.bb
@@ -0,0 +1,4 @@
+require postfix.inc
+
+SRC_URI[md5sum] = "40d72ea143af7ab0038c2cee1f483707"
+SRC_URI[sha256sum] = "3deda4c34631970490b1b5fbb559905f93531bf1c7eb00e38b0d0deb1dba9982"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/CVE-2016-3125.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/CVE-2016-3125.patch
deleted file mode 100644
index 69c9be0..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/CVE-2016-3125.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-From 7a8f683cedf9b0d1024a80362693c9f8b93a0f2b Mon Sep 17 00:00:00 2001
-From: TJ Saunders <tj@castaglia.org>
-Date: Thu, 10 Mar 2016 15:07:58 -0800
-Subject: [PATCH] Backport of fix for Bug#4230 to 1.3.5 branch.
-
-Upstream-Status: Backport
-CVE: CVE-2016-3125
-
-Author: TJ Saunders <tj@castaglia.org>
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- contrib/mod_tls.c | 167 +++++++++++++++++++++++++++++++++++++++++++++++-------
- 1 file changed, 147 insertions(+), 20 deletions(-)
-
-diff --git a/contrib/mod_tls.c b/contrib/mod_tls.c
-index df92658..5883cc7 100644
---- a/contrib/mod_tls.c
-+++ b/contrib/mod_tls.c
-@@ -411,6 +411,13 @@ static int tls_required_on_ctrl = 0;
- static int tls_required_on_data = 0;
- static unsigned char *tls_authenticated = NULL;
- 
-+/* Define the minimum DH group length we allow (unless the AllowWeakDH
-+ * TLSOption is used).  Ideally this would be 2048, per https://weakdh.org,
-+ * but for compatibility with older Java versions, which only support up to
-+ * 1024, we'll use 1024.  For now.
-+ */
-+#define TLS_DH_MIN_LEN				1024
-+
- /* mod_tls session flags */
- #define	TLS_SESS_ON_CTRL			0x0001
- #define TLS_SESS_ON_DATA			0x0002
-@@ -438,6 +445,7 @@ static unsigned char *tls_authenticated = NULL;
- #define TLS_OPT_USE_IMPLICIT_SSL			0x0200
- #define TLS_OPT_ALLOW_CLIENT_RENEGOTIATIONS		0x0400
- #define TLS_OPT_VERIFY_CERT_CN				0x0800
-+#define TLS_OPT_ALLOW_WEAK_DH				0x1000
- 
- /* mod_tls SSCN modes */
- #define TLS_SSCN_MODE_SERVER				0
-@@ -2417,24 +2425,139 @@ static int tls_ctrl_renegotiate_cb(CALLBACK_FRAME) {
- 
- static DH *tls_dh_cb(SSL *ssl, int is_export, int keylength) {
-   DH *dh = NULL;
-+  EVP_PKEY *pkey;
-+  int pkeylen = 0, use_pkeylen = FALSE;
-+
-+  /* OpenSSL will only ever call us (currently) with a keylen of 512 or 1024;
-+   * see the SSL_EXPORT_PKEYLENGTH macro in ssl_locl.h.  Sigh.
-+   *
-+   * Thus we adjust the DH parameter length according to the size of the
-+   * RSA/DSA private key used for the current connection.
-+   *
-+   * NOTE: This MAY cause interoperability issues with some clients, notably
-+   * Java 7 (and earlier) clients, since Java 7 and earlier supports
-+   * Diffie-Hellman only up to 1024 bits.  More sighs.  To deal with these
-+   * clients, then, you need to configure a certificate/key of 1024 bits.
-+   */
-+  pkey = SSL_get_privatekey(ssl);
-+  if (pkey != NULL) {
-+    if (EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA ||
-+        EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
-+      pkeylen = EVP_PKEY_bits(pkey);
-+
-+      if (pkeylen < TLS_DH_MIN_LEN) {
-+        if (!(tls_opts & TLS_OPT_ALLOW_WEAK_DH)) {
-+          pr_trace_msg(trace_channel, 11,
-+            "certificate private key length %d less than %d bits, using %d "
-+            "(see AllowWeakDH TLSOption)", pkeylen, TLS_DH_MIN_LEN,
-+            TLS_DH_MIN_LEN);
-+          pkeylen = TLS_DH_MIN_LEN;
-+        }
-+      }
-+
-+      if (pkeylen != keylen) {
-+        pr_trace_msg(trace_channel, 13,
-+          "adjusted DH parameter length from %d to %d bits", keylen, pkeylen);
-+        use_pkeylen = TRUE;
-+      }
-+    }
-+  }
- 
-   if (tls_tmp_dhs != NULL &&
-       tls_tmp_dhs->nelts > 0) {
-     register unsigned int i;
--    DH **dhs;
-+    DH *best_dh = NULL, **dhs;
-+    int best_dhlen = 0;
- 
-     dhs = tls_tmp_dhs->elts;
-+
-+    /* Search the configured list of DH parameters twice: once for any sizes
-+     * matching the actual requested size (usually 1024), and once for any
-+     * matching the certificate private key size (pkeylen).
-+     *
-+     * This behavior allows site admins to configure a TLSDHParamFile that
-+     * contains 1024-bit parameters, for e.g. Java 7 (and earlier) clients.
-+     */
-+
-+    /* Note: the keylen argument is in BITS, but DH_size() returns the number
-+     * of BYTES.
-+     */
-     for (i = 0; i < tls_tmp_dhs->nelts; i++) {
--      /* Note: the keylength argument is in BITS, but DH_size() returns
--       * the number of BYTES.
-+      int dhlen;
-+
-+      dhlen = DH_size(dhs[i]) * 8;
-+      if (dhlen == keylen) {
-+        pr_trace_msg(trace_channel, 11,
-+          "found matching DH parameter for key length %d", keylen);
-+        return dhs[i];
-+      }
-+
-+      /* Try to find the next "best" DH to use, where "best" means
-+       * the smallest DH that is larger than the necessary keylen.
-        */
--      if (DH_size(dhs[i]) == (keylength / 8)) {
-+      if (dhlen > keylen) {
-+        if (best_dh != NULL) {
-+          if (dhlen < best_dhlen) {
-+            best_dh = dhs[i];
-+            best_dhlen = dhlen;
-+          }
-+
-+        } else {
-+          best_dh = dhs[i];
-+          best_dhlen = dhlen;
-+        }
-+      }
-+    }
-+
-+    for (i = 0; i < tls_tmp_dhs->nelts; i++) {
-+      int dhlen;
-+
-+      dhlen = DH_size(dhs[i]) * 8;
-+      if (dhlen == pkeylen) {
-+        pr_trace_msg(trace_channel, 11,
-+          "found matching DH parameter for certificate private key length %d",
-+          pkeylen);
-         return dhs[i];
-       }
-+
-+      if (dhlen > pkeylen) {
-+        if (best_dh != NULL) {
-+          if (dhlen < best_dhlen) {
-+            best_dh = dhs[i];
-+            best_dhlen = dhlen;
-+          }
-+
-+        } else {
-+          best_dh = dhs[i];
-+          best_dhlen = dhlen;
-+        }
-+      }
-+    }
-+
-+    if (best_dh != NULL) {
-+      pr_trace_msg(trace_channel, 11,
-+        "using best DH parameter for key length %d (length %d)", keylen,
-+        best_dhlen);
-+      return best_dh;
-     }
-   }
- 
--  switch (keylength) {
-+  /* Still no DH parameters found?  Use the built-in ones. */
-+
-+  if (keylen < TLS_DH_MIN_LEN) {
-+    if (!(tls_opts & TLS_OPT_ALLOW_WEAK_DH)) {
-+      pr_trace_msg(trace_channel, 11,
-+        "requested key length %d less than %d bits, using %d "
-+        "(see AllowWeakDH TLSOption)", keylen, TLS_DH_MIN_LEN, TLS_DH_MIN_LEN);
-+      keylen = TLS_DH_MIN_LEN;
-+    }
-+  }
-+
-+  if (use_pkeylen) {
-+    keylen = pkeylen;
-+  }
-+
-+  switch (keylen) {
-     case 512:
-       dh = get_dh512();
-       break;
-@@ -2443,32 +2566,33 @@ static DH *tls_dh_cb(SSL *ssl, int is_export, int keylength) {
-       dh = get_dh768();
-       break;
- 
--     case 1024:
--       dh = get_dh1024();
--       break;
-+    case 1024:
-+      dh = get_dh1024();
-+      break;
- 
--     case 1536:
--       dh = get_dh1536();
--       break;
-+    case 1536:
-+      dh = get_dh1536();
-+      break;
- 
--     case 2048:
--       dh = get_dh2048();
--       break;
-+    case 2048:
-+      dh = get_dh2048();
-+      break;
- 
--     default:
--       tls_log("unsupported DH key length %d requested, returning 1024 bits",
--         keylength);
--       dh = get_dh1024();
--       break;
-+    default:
-+      tls_log("unsupported DH key length %d requested, returning 1024 bits",
-+        keylen);
-+      dh = get_dh1024();
-+      break;
-   }
- 
-+  pr_trace_msg(trace_channel, 11, "using builtin DH for %d bits", keylen);
-+
-   /* Add this DH to the list, so that it can be freed properly later. */
-   if (tls_tmp_dhs == NULL) {
-     tls_tmp_dhs = make_array(session.pool, 1, sizeof(DH *));
-   }
- 
-   *((DH **) push_array(tls_tmp_dhs)) = dh;
--
-   return dh;
- }
- 
-@@ -8445,6 +8569,9 @@ MODRET set_tlsoptions(cmd_rec *cmd) {
-                strcmp(cmd->argv[i], "AllowClientRenegotiations") == 0) {
-       opts |= TLS_OPT_ALLOW_CLIENT_RENEGOTIATIONS;
- 
-+    } else if (strcmp(cmd->argv[i], "AllowWeakDH") == 0) {
-+      opts |= TLS_OPT_ALLOW_WEAK_DH;
-+
-     } else if (strcmp(cmd->argv[i], "EnableDiags") == 0) {
-       opts |= TLS_OPT_ENABLE_DIAGS;
- 
--- 
-2.7.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/proftpd.service b/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/proftpd.service
index ba97f8e..1876438 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/proftpd.service
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/proftpd.service
@@ -1,7 +1,12 @@
 [Unit]
 Description=proftpd Daemon
+After=network.target
 
 [Service]
 Type=forking
-ExecStart=-@SBINDIR@/proftpd -c @SYSCONFDIR@/proftpd.conf
+ExecStart=@SBINDIR@/proftpd -c @SYSCONFDIR@/proftpd.conf
 StandardError=syslog
+
+[Install]
+WantedBy=default.target
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5a.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5a.bb
deleted file mode 100644
index 57d4984..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5a.bb
+++ /dev/null
@@ -1,115 +0,0 @@
-SUMMARY = "Secure and configurable FTP server"
-SECTION = "net"
-HOMEPAGE = "http://www.proftpd.org"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184"
-
-SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \
-           file://basic.conf.patch \
-           file://proftpd-basic.init \
-           file://default \
-           file://close-RequireValidShell-check.patch \
-           file://contrib.patch  \
-           file://build_fixup.patch \
-           file://proftpd.service \
-           file://CVE-2016-3125.patch \
-           "
-
-SRC_URI[md5sum] = "b9d3092411478415b31d435f8e26d173"
-SRC_URI[sha256sum] = "a1f48df8539c414ec56e0cea63dcf4b8e16e606c05f10156f030a4a67fae5696"
-
-inherit autotools-brokensep useradd update-rc.d systemd
-
-PACKAGECONFIG ??= "sia shadow"
-PACKAGECONFIG += " ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
-PACKAGECONFIG += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
-
-PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses, --disable-curses --disable-ncurses, ncurses"
-PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl, openssl"
-PACKAGECONFIG[pam] = "--enable-auth-pam, --disable-auth-pam, libpam, libpam"
-PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6"
-PACKAGECONFIG[shadow] = "--enable-shadow, --disable-shadow"
-PACKAGECONFIG[pcre] = "--enable-pcre, --disable-pcre, libpcre "
-
-# enable POSIX.1e capabilities
-PACKAGECONFIG[cap] = "--enable-cap, --disable-cap, libcap, libcap"
-
-#enable support for POSIX ACLs
-PACKAGECONFIG[acl] = "--enable-facl, --disable-facl"
-
-#enable proftpd controls via ftpdct
-PACKAGECONFIG[ctrls] = "--enable-ctrls, --disable-crtls"
-
-#prevent proftpd from using its bundled getopt implementation.
-PACKAGECONFIG[getopt] = "--with-getopt, --without-getopt"
-
-#do not strip debugging symbols from installed code
-PACKAGECONFIG[strip] = "--enable-strip, --disable-strip"
-
-#enable SIA authentication support (Tru64)
-PACKAGECONFIG[sia] = "--enable-sia, --disable-sia"
-PACKAGECONFIG[sendfile] = "-enable-sendfile, --disable-sendfile"
-
-#enable Native Language Support (NLS)
-PACKAGECONFIG[nls] = "--enable-nls, --disable-nls"
-
-#add mod_dso to core modules
-PACKAGECONFIG[dso] = "--enable-dso, --disable-dso"
-PACKAGECONFIG[largefile] = "--enable-largefile, --disable-largefile"
-
-#omit mod_auth_file from core modules
-PACKAGECONFIG[auth] = "--enable-auth-file, --disable-auth-file"
-
-
-# proftpd uses libltdl which currently makes configuring using
-# autotools.bbclass a pain...
-do_configure () {
-    oe_runconf
-    cp ${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool ${S}/libtool
-}
-
-FTPUSER = "ftp"
-FTPGROUP = "ftp"
-
-do_install () {
-    oe_runmake DESTDIR=${D} install
-    rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale
-    [ -d ${D}${libexecdir} ] && rmdir ${D}${libexecdir}
-    sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf
-    sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf
-    install -d ${D}${sysconfdir}/init.d
-    install -m 0755 ${WORKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd
-    sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/proftpd
-    sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/proftpd
-    sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/proftpd
-    sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/proftpd
-
-    install -d ${D}${sysconfdir}/default
-    install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/proftpd
-
-    # create the pub directory
-    mkdir -p ${D}/home/${FTPUSER}/pub/
-    chown -R ${FTPUSER}:${FTPGROUP} ${D}/home/${FTPUSER}/pub
-
-    install -d ${D}/${systemd_unitdir}/system
-    install -m 644 ${WORKDIR}/proftpd.service ${D}/${systemd_unitdir}/system
-    sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
-        -e 's,@SYSCONFDIR@,${sysconfdir},g' \
-        -e 's,@SBINDIR@,${sbindir},g' \
-        -i ${D}${systemd_unitdir}/system/*.service
-}
-
-INITSCRIPT_NAME = "proftpd"
-INITSCRIPT_PARAM = "defaults 85 15"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "proftpd.service"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system ${FTPGROUP}"
-USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \
-                       --shell /bin/false ${FTPUSER}"
-
-FILES_${PN} += "/home/${FTPUSER}"
-
-RDEPENDS_${PN} += "perl"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5b.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5b.bb
new file mode 100644
index 0000000..c27a1cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5b.bb
@@ -0,0 +1,138 @@
+SUMMARY = "Secure and configurable FTP server"
+SECTION = "net"
+HOMEPAGE = "http://www.proftpd.org"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184"
+
+SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \
+           file://basic.conf.patch \
+           file://proftpd-basic.init \
+           file://default \
+           file://close-RequireValidShell-check.patch \
+           file://contrib.patch  \
+           file://build_fixup.patch \
+           file://proftpd.service \
+           "
+
+SRC_URI[md5sum] = "f7b8e3a383b34a894c2502db74ccccde"
+SRC_URI[sha256sum] = "afc1789f2478acf88dfdc7d70da90a4fa2786d628218e9574273295d044b4fc8"
+
+inherit autotools-brokensep useradd update-rc.d systemd
+
+PACKAGECONFIG ??= "shadow \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+                  "
+
+PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses, --disable-curses --disable-ncurses, ncurses"
+PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl, openssl"
+PACKAGECONFIG[pam] = "--enable-auth-pam, --disable-auth-pam, libpam, libpam"
+PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6"
+PACKAGECONFIG[shadow] = "--enable-shadow, --disable-shadow"
+PACKAGECONFIG[pcre] = "--enable-pcre, --disable-pcre, libpcre "
+
+# enable POSIX.1e capabilities
+PACKAGECONFIG[cap] = "--enable-cap, --disable-cap, libcap, libcap"
+
+#enable support for POSIX ACLs
+PACKAGECONFIG[acl] = "--enable-facl, --disable-facl"
+
+#enable proftpd controls via ftpdct
+PACKAGECONFIG[ctrls] = "--enable-ctrls, --disable-crtls"
+
+#prevent proftpd from using its bundled getopt implementation.
+PACKAGECONFIG[getopt] = "--with-getopt, --without-getopt"
+
+#do not strip debugging symbols from installed code
+PACKAGECONFIG[strip] = "--enable-strip, --disable-strip"
+
+#enable SIA authentication support (Tru64)
+PACKAGECONFIG[sia] = "--enable-sia, --disable-sia"
+PACKAGECONFIG[sendfile] = "-enable-sendfile, --disable-sendfile"
+
+#enable Native Language Support (NLS)
+PACKAGECONFIG[nls] = "--enable-nls, --disable-nls"
+
+#add mod_dso to core modules
+PACKAGECONFIG[dso] = "--enable-dso, --disable-dso"
+PACKAGECONFIG[largefile] = "--enable-largefile, --disable-largefile"
+
+#omit mod_auth_file from core modules
+PACKAGECONFIG[auth] = "--enable-auth-file, --disable-auth-file"
+
+
+# proftpd uses libltdl which currently makes configuring using
+# autotools.bbclass a pain...
+do_configure () {
+    oe_runconf
+    cp ${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool ${S}/libtool
+}
+
+FTPUSER = "ftp"
+FTPGROUP = "ftp"
+
+do_install () {
+    oe_runmake DESTDIR=${D} install
+    rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale
+    [ -d ${D}${libexecdir} ] && rmdir ${D}${libexecdir}
+    sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf
+    sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf
+    install -d ${D}${sysconfdir}/init.d
+    install -m 0755 ${WORKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd
+    sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/proftpd
+    sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/proftpd
+    sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/proftpd
+    sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/proftpd
+
+    install -d ${D}${sysconfdir}/default
+    install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/proftpd
+
+    # create the pub directory
+    mkdir -p ${D}/home/${FTPUSER}/pub/
+    chown -R ${FTPUSER}:${FTPGROUP} ${D}/home/${FTPUSER}/pub
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
+        # install proftpd pam configuration
+        install -d ${D}${sysconfdir}/pam.d
+        install -m 644 ${S}/contrib/dist/rpm/ftp.pamd ${D}${sysconfdir}/pam.d/proftpd
+        sed -i '/ftpusers/d' ${D}${sysconfdir}/pam.d/proftpd
+        # specify the user Authentication config
+        sed -i '/^MaxInstances/a\AuthPAM                         on\nAuthPAMConfig                   proftpd' \
+            ${D}${sysconfdir}/proftpd.conf
+    fi
+
+    install -d ${D}/${systemd_unitdir}/system
+    install -m 644 ${WORKDIR}/proftpd.service ${D}/${systemd_unitdir}/system
+    sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
+        -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+        -e 's,@SBINDIR@,${sbindir},g' \
+        -i ${D}${systemd_unitdir}/system/*.service
+
+    sed -e 's|--sysroot=${STAGING_DIR_HOST}||g' \
+        -e 's|${STAGING_DIR_NATIVE}||g' \
+        -e 's|-fdebug-prefix-map=[^ ]*||g' \
+        -i ${D}/${bindir}/prxs
+
+    # ftpmail perl script, which reads the proftpd log file and sends
+    # automatic email notifications once an upload finishs,
+    # depends on an old perl Mail::Sendmail
+    # The Mail::Sendmail has not been maintained for almost 10 years
+    # Other distribution not ship with ftpmail, so do the same to
+    # avoid confusion about having it fails to run
+    rm -rf ${D}${bindir}/ftpmail
+    rm -rf ${D}${mandir}/man1/ftpmail.1
+}
+
+INITSCRIPT_NAME = "proftpd"
+INITSCRIPT_PARAM = "defaults 85 15"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "proftpd.service"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system ${FTPGROUP}"
+USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \
+                       --shell /bin/false ${FTPUSER}"
+
+FILES_${PN} += "/home/${FTPUSER}"
+
+RDEPENDS_${PN} += "perl"
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 47e4736..bff693c 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
@@ -62,6 +62,6 @@
 
 pkg_postinst_${PN} () {
     if [ -z "$D" -a -x /etc/init.d/populate-volatile.sh ]; then
-	/etc/init.d/populate-volatile.sh update
+        /etc/init.d/populate-volatile.sh update
     fi
 }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.11.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.11.bb
deleted file mode 100644
index c0b7532..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.11.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-
-require radvd.inc
-
-SRC_URI[md5sum] = "57fc6021f6a5e5472e455937685472a3"
-SRC_URI[sha256sum] = "80ad60b15689e9591a5af393a57a1d93304deeff2e46482f0fd98046c00622f8"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.14.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.14.bb
new file mode 100644
index 0000000..2525249
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/radvd/radvd_2.14.bb
@@ -0,0 +1,5 @@
+
+require radvd.inc
+
+SRC_URI[md5sum] = "acd3883dece2c7888d15596b05c9fae4"
+SRC_URI[sha256sum] = "46d31c05daea11c3d1e3dc092997d3631b3bc72b20a4f279b05304b83dbd7aa8"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/CVE-2016-3947.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/CVE-2016-3947.patch
deleted file mode 100644
index c83e6ab..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/CVE-2016-3947.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 0fe108ecb2bbdf684f159950eaa55d22f07c4008 Mon Sep 17 00:00:00 2001
-From: Catalin Enache <catalin.enache@windriver.com>
-Date: Wed, 20 Apr 2016 15:17:18 +0300
-Subject: [PATCH] pinger: Fix buffer overflow in Icmp6::Recv
-
-Upstream-Status: Backport
-CVE: CVE-2016-3947
-
-Author: Yuriy M. Kaminskiy <yumkam@gmail.com>
-Committer: Amos Jeffries <squid3@treenet.co.nz
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- src/icmp/Icmp6.cc | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/src/icmp/Icmp6.cc b/src/icmp/Icmp6.cc
-index 794a51a..ee84b80 100644
---- a/src/icmp/Icmp6.cc
-+++ b/src/icmp/Icmp6.cc
-@@ -256,7 +256,7 @@ Icmp6::Recv(void)
-     #define ip6_hops    // HOPS!!!  (can it be true??)
- 
-         ip = (struct ip6_hdr *) pkt;
--        pkt += sizeof(ip6_hdr);
-+        NP: echo size needs to +sizeof(ip6_hdr);
- 
-     debugs(42, DBG_CRITICAL, HERE << "ip6_nxt=" << ip->ip6_nxt <<
-             ", ip6_plen=" << ip->ip6_plen <<
-@@ -267,7 +267,6 @@ Icmp6::Recv(void)
-     */
- 
-     icmp6header = (struct icmp6_hdr *) pkt;
--    pkt += sizeof(icmp6_hdr);
- 
-     if (icmp6header->icmp6_type != ICMP6_ECHO_REPLY) {
- 
-@@ -292,7 +291,7 @@ Icmp6::Recv(void)
-         return;
-     }
- 
--    echo = (icmpEchoData *) pkt;
-+    echo = (icmpEchoData *) (pkt + sizeof(icmp6_hdr));
- 
-     preply.opcode = echo->opcode;
- 
--- 
-2.7.4
-
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
new file mode 100644
index 0000000..fdcd174
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch
@@ -0,0 +1,33 @@
+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
++++ b/configure.ac
+@@ -964,15 +964,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], [], [
+-      AC_MSG_NOTICE([Testing in /usr/include/libxml2])
++      AC_MSG_NOTICE([Testing in $SYSROOT/usr/include/libxml2])
+       SAVED_CPPFLAGS="$CPPFLAGS"
+-      CPPFLAGS="-I/usr/include/libxml2 $CPPFLAGS"
++      CPPFLAGS="-I$SYSROOT/usr/include/libxml2 $CPPFLAGS"
+       unset ac_cv_header_libxml_parser_h
+-      AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/include/libxml2"], [
+-        AC_MSG_NOTICE([Testing in /usr/local/include/libxml2])
+-        CPPFLAGS="-I/usr/local/include/libxml2 $SAVED_CPPFLAGS"
++      AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I$SYSROOT/usr/include/libxml2"], [
++        AC_MSG_NOTICE([Testing in $SYSROOT/usr/local/include/libxml2])
++        CPPFLAGS="-I$SYSROOT/usr/local/include/libxml2 $SAVED_CPPFLAGS"
+         unset ac_cv_header_libxml_parser_h
+-        AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/local/include/libxml2"], [
++        AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I$SYSROOT/usr/local/include/libxml2"], [
+           AC_MSG_NOTICE([Failed to find libxml2 header file 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
new file mode 100644
index 0000000..312f44f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch
@@ -0,0 +1,63 @@
+From 54a9c2ba60adc7ec2724786662fd398e7c03999f 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
+
+* squid-conf-tests is a test to run "squid -k parse -f"
+  to perse the config files, which should not be run
+  at build time since we are cross compiling, so remove
+  it but it will be added back for the runtime ptest.
+
+* Fix the directories of the conf files for squid-conf-tests
+  so that it can run on the target board.
+
+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
+--- a/test-suite/Makefile.am
++++ b/test-suite/Makefile.am
+@@ -41,8 +41,7 @@ TESTS += debug \
+ 	MemPoolTest\
+ 	mem_node_test\
+ 	mem_hdr_test\
+-	$(ESI_TESTS) \
+-	squid-conf-tests
++	$(ESI_TESTS)
+ 
+ ## Sort by alpha - any build failures are significant.
+ check_PROGRAMS += debug \
+@@ -125,19 +124,19 @@ VirtualDeleteOperator_SOURCES = VirtualDeleteOperator.cc $(DEBUG_SOURCE)
+ ##$(TARGLIB): $(LIBOBJS)
+ ##	$(AR_R) $(TARGLIB) $(LIBOBJS)
+ 
+-squid-conf-tests: $(top_builddir)/src/squid.conf.default $(srcdir)/squidconf/*
++squid-conf-tests: $(sysconfdir)/squid.conf.default squidconf/*
+ 	@failed=0; cfglist="$?"; rm -f $@ || $(TRUE); \
+ 	for cfg in $$cfglist ; do \
+-		$(top_builddir)/src/squid -k parse -f $$cfg || \
++		squid -k parse -f $$cfg || \
+ 			{ echo "FAIL: squid.conf test: $$cfg" | \
+-				sed s%$(top_builddir)/src/%% | \
+-				sed s%$(srcdir)/squidconf/%% ; \
++				sed s%$(sysconfdir)/%% | \
++				sed s%squidconf/%% ; \
+ 				failed=1; break; \
+ 			}; \
+ 		if test "$$failed" -eq 0; then \
+ 			echo "PASS: squid.conf test: $$cfg" | \
+-				sed s%$(top_builddir)/src/%% | \
+-				sed s%$(srcdir)/squidconf/%% ; \
++				sed s%$(sysconfdir)/%% | \
++				sed s%squidconf/%% ; \
+ 		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 9e2ceab..01ec596 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,6 +1,6 @@
-From 2192fdbc90b0ff2d5408e8763df200620870deea Mon Sep 17 00:00:00 2001
+From bd58d3672bc267824000f34a37561c7ab2bd571f Mon Sep 17 00:00:00 2001
 From: Jackie Huang <jackie.huang@windriver.com>
-Date: Mon, 13 Oct 2014 01:32:37 -0700
+Date: Tue, 19 Jul 2016 01:56:23 -0400
 Subject: [PATCH] squid: use serial-tests config needed by ptest
 
 ptest needs buildtest-TESTS and runtest-TESTS targets.
@@ -10,22 +10,22 @@
 
 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
 ---
- configure.ac |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index 6f7171f..ab9b93e 100644
+index 05ad027..e324b93 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -3,7 +3,7 @@ AC_PREREQ(2.61)
+@@ -10,7 +10,7 @@ AC_PREREQ(2.61)
  AC_CONFIG_HEADERS([include/autoconf.h])
  AC_CONFIG_AUX_DIR(cfgaux)
  AC_CONFIG_SRCDIR([src/main.cc])
--AM_INIT_AUTOMAKE([tar-ustar nostdinc])
-+AM_INIT_AUTOMAKE([tar-ustar nostdinc serial-tests])
+-AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects])
++AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects serial-tests])
  AC_REVISION($Revision$)dnl
  AC_PREFIX_DEFAULT(/usr/local/squid)
  AM_MAINTAINER_MODE
 -- 
-1.7.1
+2.8.1
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/volatiles.03_squid b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/volatiles.03_squid
index b96865d..83e1f8b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/volatiles.03_squid
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/files/volatiles.03_squid
@@ -1,2 +1,3 @@
 # <type> <owner> <group> <mode> <path> <linksource>
 d squid squid 0755 /var/run/squid none
+d squid squid 0750 /var/log/squid none
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.20.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.20.bb
new file mode 100644
index 0000000..364d00e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.20.bb
@@ -0,0 +1,103 @@
+SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux"
+DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \
+Squid offers a rich access control, authorization and logging environment to \
+develop web proxy and content serving applications. \
+Squid offers a rich set of traffic optimization options, most of which are \
+enabled by default for simpler installation and high performance. \
+"
+HOMEPAGE = "http://www.squid-cache.org"
+SECTION = "web"
+LICENSE = "GPLv2+"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}"
+MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${MIN_VER}/${BPN}-${PV}.tar.bz2 \
+           file://Set-up-for-cross-compilation.patch \
+           file://Skip-AC_RUN_IFELSE-tests.patch \
+           file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \
+           file://squid-use-serial-tests-config-needed-by-ptest.patch \
+           file://run-ptest \
+           file://volatiles.03_squid \
+           file://set_sysroot_patch.patch \
+           file://squid-don-t-do-squid-conf-tests-at-build-time.patch \
+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \
+                    file://errors/COPYRIGHT;md5=0d98c4448c368d146f31a970bb0ced21 \
+                   "
+SRC_URI[md5sum] = "6a29d7dfc544205001f7a75c6996dc60"
+SRC_URI[sha256sum] = "5a114f8f7f44b5ae3c9b77d7b81aef13fe69e7f530855213d551f48b157cb5f1"
+
+DEPENDS = "libtool krb5 openldap db cyrus-sasl"
+
+inherit autotools useradd ptest
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('TARGET_ARCH', 'powerpc', 'noatomics', '', d)} \
+                   ${@bb.utils.contains('TARGET_ARCH', 'mips', 'noatomics', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+                  "
+PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack"
+PACKAGECONFIG[noatomics] = "squid_cv_gnu_atomics=no,squid_cv_gnu_atomics=yes,,"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+BASIC_AUTH = "DB SASL LDAP NIS"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}"
+
+EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' --sysconfdir=${sysconfdir}/${BPN} --with-logdir=${localstatedir}/log/${BPN}"
+
+export BUILDCXXFLAGS="${BUILD_CXXFLAGS}"
+
+TESTDIR = "test-suite"
+
+do_configure_prepend() {
+    export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
+}
+
+do_compile_ptest() {
+    oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+    cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
+    cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
+
+    # do NOT need to rebuild Makefile itself
+    sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+    # Add squid-conf-tests for runtime tests
+    sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \
+        -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \
+        -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+    # Ensure the path for command true is correct
+    sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+}
+
+do_install_append() {
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+        echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+    fi
+
+    install -d ${D}${sysconfdir}/default/volatiles
+    install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid
+
+    rmdir "${D}${localstatedir}/run/${BPN}"
+    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run"
+
+    rmdir "${D}${localstatedir}/log/${BPN}"
+    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log"
+}
+
+FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons"
+FILES_${PN}-dbg += "/usr/src/debug"
+FILES_${PN}-doc += "${datadir}/*.txt"
+
+RDEPENDS_${PN} += "perl"
+RDEPENDS_${PN}-ptest += "make"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.7.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.7.bb
deleted file mode 100644
index e35aad7..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.7.bb
+++ /dev/null
@@ -1,79 +0,0 @@
-SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux"
-DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \
-Squid offers a rich access control, authorization and logging environment to \
-develop web proxy and content serving applications. \
-Squid offers a rich set of traffic optimization options, most of which are \
-enabled by default for simpler installation and high performance. \
-"
-HOMEPAGE = "http://www.squid-cache.org"
-SECTION = "web"
-LICENSE = "GPLv2+"
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}"
-MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${MIN_VER}/${BPN}-${PV}.tar.bz2 \
-           file://Set-up-for-cross-compilation.patch \
-           file://Skip-AC_RUN_IFELSE-tests.patch \
-           file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \
-           file://squid-use-serial-tests-config-needed-by-ptest.patch \
-           file://run-ptest \
-           file://volatiles.03_squid \
-           file://CVE-2016-3947.patch \
-"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \
-                    file://errors/COPYRIGHT;md5=0fed8f1462f6fdbc62bb431bcb618f46 \
-                   "
-SRC_URI[md5sum] = "06e43abc67aedcc3903a2780de20a3ed"
-SRC_URI[sha256sum] = "b7dcec8c5cb7f5687aff4256a7522f670c310a350cc9e9c0f29f3fd9cf88d017"
-
-DEPENDS = "libtool krb5 openldap db cyrus-sasl"
-
-inherit autotools useradd ptest
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid"
-
-PACKAGECONFIG ??= "${@base_contains('TARGET_ARCH', 'powerpc', 'noatomics', '', d)} \
-                   ${@base_contains('TARGET_ARCH', 'mips', 'noatomics', '', d)} \
-                  "
-PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack"
-PACKAGECONFIG[noatomics] = "squid_cv_gnu_atomics=no,squid_cv_gnu_atomics=yes,,"
-
-BASIC_AUTH = "DB SASL LDAP NIS"
-DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-BASIC_AUTH += "${@base_contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}"
-
-EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}'"
-export BUILDCXXFLAGS="${BUILD_CXXFLAGS}"
-
-TESTDIR = "test-suite"
-do_compile_ptest() {
-    oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
-    cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
-    cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
-
-    # do NOT need to rebuild Makefile itself
-    sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-}
-
-do_install_append() {
-	install -d ${D}${sysconfdir}/default/volatiles
-	install -m 0644 ${WORKDIR}/volatiles.03_squid  ${D}${sysconfdir}/default/volatiles/volatiles.03_squid
-	rmdir "${D}${localstatedir}/run/${BPN}"
-	rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run"
-}
-
-FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons"
-FILES_${PN}-dbg += "/usr/src/debug"
-FILES_${PN}-doc += "${datadir}/*.txt"
-
-RDEPENDS_${PN} += "perl"
-RDEPENDS_${PN}-ptest += "make"
-
-# http://errors.yoctoproject.org/Errors/Details/35128/
-PNBLACKLIST[squid] ?= "BROKEN: sysroots/qemuarm/usr/include/linux/in.h:28:16: error: redeclaration of 'IPPROTO_IP'"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
index 98842e4..115fa2e 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb
@@ -37,6 +37,9 @@
 
 EXTRA_OECONF += "--disable-option-checking"
 
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
 # configure.in has errors
 do_configure() {
     oe_runconf
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/makefile-add-ldflags.patch
new file mode 100644
index 0000000..a74452d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/files/makefile-add-ldflags.patch
@@ -0,0 +1,19 @@
+Add LDFLAGS variable to Makefile, make sure the extra linker flags can be passed.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/makefile b/makefile
+index 98008da..c328ba7 100644
+--- a/makefile
++++ b/makefile
+@@ -11,7 +11,7 @@ mandir = ${sharedir}/man
+ O=aoe.o bpf.o ${PLATFORM}.o ata.o
+ 
+ vblade: $O
+-	${CC} -o vblade $O
++	${CC} ${LDFLAGS} -o vblade $O
+ 
+ aoe.o : aoe.c config.h dat.h fns.h makefile
+ 	${CC} ${CFLAGS} -c $<
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_20.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_20.bb
index a357e40..344c746 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_20.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vblade/vblade_20.bb
@@ -5,7 +5,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BPN}-${PV}.tgz \
-       file://cross.patch"
+           file://cross.patch \
+           file://makefile-add-ldflags.patch \
+          "
 
 SRC_URI[md5sum] = "3c80e4a6bc7d66ae0c235b88cb44bd59"
 SRC_URI[sha256sum] = "c8fe2fc4f2fba8e07e5cfdf17335982584eef2cd5c78bf8b1db93f2b56e7121d"
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
new file mode 100644
index 0000000..7accbbc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch
@@ -0,0 +1,45 @@
+From 37cc924363515c8c309944c455bcbba7ddcc8eda 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
+
+Upstream-Status: Pending
+
+* Allow sysinfo() in the seccomp sandbox otherwise
+  comes below OOPS: priv_sock_get_cmd as the syscall
+  sysinfo() not allowed
+
+tnftp 192.168.1.1
+Connected to 192.168.1.1.
+220 (vsFTPd 3.0.3)
+Name (192.168.1.1:root): anonymous
+331 Please specify the password.
+Password:
+230 Login successful.
+Remote system type is UNIX.
+Using binary mode to transfer files.
+ftp> prompt
+Interactive mode off.
+ftp> mget small*
+OOPS: priv_sock_get_cmd
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ seccompsandbox.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/seccompsandbox.c b/seccompsandbox.c
+index 2c350a9..67d9ca5 100644
+--- a/seccompsandbox.c
++++ b/seccompsandbox.c
+@@ -409,6 +409,7 @@ seccomp_sandbox_setup_postlogin(const struct vsf_session* p_sess)
+   allow_nr(__NR_getcwd);
+   allow_nr(__NR_chdir);
+   allow_nr(__NR_getdents);
++  allow_nr(__NR_sysinfo);
+   /* Misc */
+   allow_nr(__NR_umask);
+ 
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb
index 4ee881d..3eaaa30 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb
@@ -18,6 +18,7 @@
            file://volatiles.99_vsftpd \
            file://vsftpd.service \
            file://vsftpd-2.1.0-filter.patch \
+           file://0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch \
 "
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271 \
@@ -29,13 +30,13 @@
 
 PACKAGECONFIG ??= "tcp-wrappers"
 PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers"
-SRC_URI +="${@base_contains('PACKAGECONFIG', 'tcp-wrappers', 'file://vsftpd-tcp_wrappers-support.patch', '', d)}"
+SRC_URI +="${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://vsftpd-tcp_wrappers-support.patch', '', d)}"
 
-DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-RDEPENDS_${PN} += "${@base_contains('DISTRO_FEATURES', 'pam', 'pam-plugin-listfile', '', d)}"
-PAMLIB = "${@base_contains('DISTRO_FEATURES', 'pam', '-L${STAGING_BASELIBDIR} -lpam', '', d)}"
-NOPAM_SRC ="${@base_contains('PACKAGECONFIG', 'tcp-wrappers', 'file://nopam-with-tcp_wrappers.patch', 'file://nopam.patch', d)}"
-SRC_URI += "${@base_contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)}"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-listfile', '', d)}"
+PAMLIB = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-L${STAGING_BASELIBDIR} -lpam', '', d)}"
+NOPAM_SRC ="${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://nopam-with-tcp_wrappers.patch', 'file://nopam.patch', d)}"
+SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)}"
 
 inherit update-rc.d useradd systemd
 
@@ -75,7 +76,7 @@
         sed -i "s:/lib/security:${base_libdir}/security:" ${D}${sysconfdir}/pam.d/vsftpd
         sed -i "s:ftpusers:vsftpd.ftpusers:" ${D}${sysconfdir}/pam.d/vsftpd
     fi
-    if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
         install -d ${D}${sysconfdir}/tmpfiles.d
         echo "d /var/run/vsftpd/empty 0755 root root -" \
         > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
@@ -100,10 +101,10 @@
 
 pkg_postinst_${PN}() {
     if [ -z "$D" ]; then
-	if type systemd-tmpfiles >/dev/null; then
-	    systemd-tmpfiles --create
-	elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
-	    ${sysconfdir}/init.d/populate-volatile.sh update
-	fi
+        if type systemd-tmpfiles >/dev/null; then
+            systemd-tmpfiles --create
+        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+            ${sysconfdir}/init.d/populate-volatile.sh update
+        fi
     fi
 }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch
new file mode 100644
index 0000000..e55c407
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-extended/iscsitarget/files/build_with_updated_interfaces_of_linux_v4.8_and_above.patch
@@ -0,0 +1,525 @@
+Resolve build error with linux kernel 4.8
+
+The below changes in kernel source, triggered iscsitarget
+build fail with linux kernel v4.8.
+
+1. An extra 'flags' argument has been passed to vfs_readv/vfs_writev
+   syscalls in v4.8. So, set this argument to "0" for now
+   (as there is no real need for that).
+   Ref: https://github.com/torvalds/linux/commit/793b80ef14af56d20c998265287648ad34239b6f
+   Solves:
+   -- snip --
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/nthread.c: In function 'write_data':
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/nthread.c:350:9: error: too few arguments to function 'vfs_writev'
+   res = vfs_writev(file, (struct iovec __user *) iop, count, &off);
+         ^~~~~~~~~~
+   -- snip --
+
+2. Redefine dropped PAGE_CACHE_* and page_cache_{get,release} definitions,
+   as they have been dropped with v4.8
+   Ref: https://github.com/torvalds/linux/commit/1fa64f198b9f8d6ec0f7aec7c18dc94684391140
+   Solves:
+   -- snip --
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/param.c: In function 'sess_param_check':
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/param.c:48:41: error: 'PAGE_CACHE_SIZE' undeclared (first use in this function)
+       (u32) ((ISCSI_CONN_IOV_MAX - 1) * PAGE_CACHE_SIZE));
+                                         ^
+   -- snip --
+
+3. Replace crypto_hash interfaces with crypto_ahash interfaces,
+   Ref: https://github.com/torvalds/linux/commit/896545098777564212b9e91af4c973f094649aa7
+   Ref: https://www.redhat.com/archives/dm-devel/2016-January/msg00244.html
+   Solves:
+   -- snip --
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/digest.c: In function 'digest_init':
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/digest.c:42:23: error: implicit declaration of function 'crypto_alloc_hash' [-Werror=implicit-function-declaration]
+   conn->rx_hash.tfm = crypto_alloc_hash("crc32c", 0,
+                       ^~~~~~~~~~~~~~~~~
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/digest.c: In function 'digest_cleanup':
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/digest.c:77:3: error: implicit declaration of function 'crypto_free_hash' [-Werror=implicit-function-declaration]
+   crypto_free_hash(conn->tx_hash.tfm);
+   ^~~~~~~~~~~~~~~~
+   -- snip --
+
+4. The earlier "rw" parameter has been set in "bi_rw" within
+   bio structure, hence remove "rw" argument.
+   Ref: https://github.com/torvalds/linux/commit/4e49ea4a3d276365bf7396c9b77b4d1d5923835a
+   Solves:
+-- snip --
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/block-io.c:140:14: warning: passing argument 1 of 'submit_bio' makes pointer from integer without a cast [-Wint-conversion]
+   submit_bio(rw, bio);
+              ^~
+-- snip --
+
+5. The 'len' argument from sk_data_ready() callback has been removed in
+   linux kernel v4.3 and above.
+   Ref: https://github.com/torvalds/linux/commit/676d23690fb62b5d51ba5d659935e9f7d9da9f8e
+   Solves:
+-- snip --
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/conn.c: In function 'iet_socket_bind':
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/conn.c:143:38: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
+  target->nthread_info.old_data_ready = conn->sock->sk->sk_data_ready;
+                                      ^
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/conn.c:144:32: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
+  conn->sock->sk->sk_data_ready = iet_data_ready;
+                                ^
+-- snip --
+
+6.
+   A. The "size" argument has been dropped from sock_recvmsg syscall in v4.8,
+      as all callers have it equal to msg_data_left(msg).
+   B. 'struct user_msghdr' is being used for userland-side msghdr instead
+      of 'struct msghdr', which is used for kernel-side msghdr in linux v3.19
+      and above, so typecase it while calling sock_recvmsg syscall.
+   Ref: https://github.com/torvalds/linux/commit/2da62906b1e298695e1bb725927041cd59942c98
+        https://github.com/torvalds/linux/commit/666547ff591cebdedc4679bf6b1b3f3383a8dea3
+   Solves:
+   -- snip --
+TOPDIR/tmp-glibc/work-shared/qemux86/kernel-source/include/linux/net.h:222:5: note: expected 'struct msghdr *' but argument is of type 'struct user_msghdr *'
+ int sock_recvmsg(struct socket *sock, struct msghdr *msg, int flags);
+     ^~~~~~~~~~~~
+TOPDIR/tmp-glibc/work/qemux86-oe-linux/iscsitarget/1.4.20.3+svn502-r0/iscsitarget-1.4.20.3+svn502/kernel/nthread.c:129:8: error: too many arguments to function 'sock_recvmsg'
+  res = sock_recvmsg(conn->sock, &msg, len, MSG_DONTWAIT | MSG_NOSIGNAL);
+        ^~~~~~~~~~~~
+   -- snip --
+
+Detailed error log is at: http://errors.yoctoproject.org/Errors/Details/83334/
+
+Upstream-Status: Pending
+
+Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
+
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c iscsitarget-1.4.20.3+svn502/kernel/block-io.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/block-io.c	2016-09-25 19:45:01.814641016 +0530
++++ iscsitarget-1.4.20.3+svn502/kernel/block-io.c	2016-09-25 19:47:59.666474094 +0530
+@@ -57,7 +57,6 @@ static int
+ blockio_make_request(struct iet_volume *volume, struct tio *tio, int rw)
+ {
+ 	struct blockio_data *bio_data = volume->private;
+-	struct request_queue *bdev_q = bdev_get_queue(bio_data->bdev);
+ 	struct tio_work *tio_work;
+ 	struct bio *tio_bio = NULL, *bio = NULL, *biotail = NULL;
+ 	struct blk_plug plug;
+@@ -69,6 +68,7 @@ blockio_make_request(struct iet_volume *
+ 	int err = 0;
+ 	loff_t ppos = tio->offset;	
+ #else	
++	struct request_queue *bdev_q = bdev_get_queue(bio_data->bdev);
+ 	int max_pages = 1;
+ 	int err = 0;
+ 
+@@ -102,7 +102,11 @@ blockio_make_request(struct iet_volume *
+ 		/* bi_sector is ALWAYS in units of 512 bytes */
+ 		bio->bi_iter.bi_sector = ppos >> 9;
+ 		bio->bi_bdev = bio_data->bdev;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++		bio->bi_end_io = (bio_end_io_t *) blockio_bio_endio;
++#else
+ 		bio->bi_end_io = blockio_bio_endio;
++#endif
+ 		bio->bi_private = tio_work;
+ 
+ 		if (tio_bio)
+@@ -137,7 +141,12 @@ blockio_make_request(struct iet_volume *
+ 		tio_bio = tio_bio->bi_next;
+ 		bio->bi_next = NULL;
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
++		submit_bio(bio);
++#else
+ 		submit_bio(rw, bio);
++#endif
+ 	}
+ 
+ 	blk_finish_plug(&plug);
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/conn.c iscsitarget-1.4.20.3+svn502/kernel/conn.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/conn.c	2016-09-25 19:45:01.774641057 +0530
++++ iscsitarget-1.4.20.3+svn502/kernel/conn.c	2016-09-25 19:47:59.666474094 +0530
+@@ -89,13 +89,21 @@ static void iet_state_change(struct sock
+ 	target->nthread_info.old_state_change(sk);
+ }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
++static void iet_data_ready(struct sock *sk)
++#else
+ static void iet_data_ready(struct sock *sk, int len)
++#endif    
+ {
+ 	struct iscsi_conn *conn = sk->sk_user_data;
+ 	struct iscsi_target *target = conn->session->target;
+ 
+ 	nthread_wakeup(target);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
++	target->nthread_info.old_data_ready(sk);
++#else
+ 	target->nthread_info.old_data_ready(sk, len);
++#endif
+ }
+ 
+ /*
+@@ -140,8 +148,14 @@ static void iet_socket_bind(struct iscsi
+ 	target->nthread_info.old_state_change = conn->sock->sk->sk_state_change;
+ 	conn->sock->sk->sk_state_change = iet_state_change;
+ 
++#if 0//LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	target->nthread_info.old_data_ready = (void (*) (struct sock *, int )) \
++						conn->sock->sk->sk_data_ready;
++	conn->sock->sk->sk_data_ready = (void (*) (struct sock *)) iet_data_ready;
++#else
+ 	target->nthread_info.old_data_ready = conn->sock->sk->sk_data_ready;
+ 	conn->sock->sk->sk_data_ready = iet_data_ready;
++#endif
+ 
+ 	target->nthread_info.old_write_space = conn->sock->sk->sk_write_space;
+ 	conn->sock->sk->sk_write_space = iet_write_space;
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/digest.c iscsitarget-1.4.20.3+svn502/kernel/digest.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/digest.c	2014-05-07 02:29:55.000000000 +0530
++++ iscsitarget-1.4.20.3+svn502/kernel/digest.c	2016-09-25 19:47:59.666474094 +0530
+@@ -30,6 +30,9 @@ void digest_alg_available(unsigned int *
+ int digest_init(struct iscsi_conn *conn)
+ {
+ 	int err = 0;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	struct crypto_ahash *tfm;
++#endif
+ 
+ 	if (!(conn->hdigest_type & DIGEST_ALL))
+ 		conn->hdigest_type = DIGEST_NONE;
+@@ -39,15 +42,40 @@ int digest_init(struct iscsi_conn *conn)
+ 
+ 	if (conn->hdigest_type & DIGEST_CRC32C ||
+ 	    conn->ddigest_type & DIGEST_CRC32C) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++		tfm = crypto_alloc_ahash("crc32c", 0, CRYPTO_ALG_ASYNC);
++		if (IS_ERR(tfm)) {
++			tfm = NULL;
++#else
+ 		conn->rx_hash.tfm = crypto_alloc_hash("crc32c", 0,
+ 						      CRYPTO_ALG_ASYNC);
+ 		conn->rx_hash.flags = 0;
+ 		if (IS_ERR(conn->rx_hash.tfm)) {
+ 			conn->rx_hash.tfm = NULL;
++#endif
+ 			err = -ENOMEM;
+ 			goto out;
+ 		}
+-
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++		conn->rx_hash = ahash_request_alloc(tfm, GFP_KERNEL);
++		if (!conn->rx_hash) {
++			pr_err("ahash_request_alloc() failed for conn->rx_hash\n");
++			crypto_free_ahash(tfm);
++			err = -ENOMEM;
++			goto out;
++		}
++		ahash_request_set_callback(conn->rx_hash, 0, NULL, NULL);
++		conn->tx_hash = ahash_request_alloc(tfm, GFP_KERNEL);
++		if(!conn->tx_hash) {
++			pr_err("ahash_request_alloc() failed for conn->tx_hash\n");
++			ahash_request_free(conn->rx_hash);
++			conn->rx_hash = NULL;
++			crypto_free_ahash(tfm);
++			err = -ENOMEM;
++			goto out;
++		}
++		ahash_request_set_callback(conn->tx_hash, 0, NULL, NULL);
++#else
+ 		conn->tx_hash.tfm = crypto_alloc_hash("crc32c", 0,
+ 						      CRYPTO_ALG_ASYNC);
+ 		conn->tx_hash.flags = 0;
+@@ -56,6 +84,7 @@ int digest_init(struct iscsi_conn *conn)
+ 			err = -ENOMEM;
+ 			goto out;
+ 		}
++#endif
+ 	}
+ 
+ out:
+@@ -73,10 +102,21 @@ out:
+  */
+ void digest_cleanup(struct iscsi_conn *conn)
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	ahash_request_free(conn->tx_hash);
++	if (conn->rx_hash) {
++		struct crypto_ahash *tfm;
++		tfm = crypto_ahash_reqtfm(conn->rx_hash);
++		ahash_request_free(conn->rx_hash);
++		crypto_free_ahash(tfm);
++	}
++
++#else
+ 	if (conn->tx_hash.tfm)
+ 		crypto_free_hash(conn->tx_hash.tfm);
+ 	if (conn->rx_hash.tfm)
+ 		crypto_free_hash(conn->rx_hash.tfm);
++#endif
+ }
+ 
+ /**
+@@ -160,8 +200,13 @@ static inline void __dbg_simulate_data_d
+ 	}
+ }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++static void digest_header(struct ahash_request *hash, struct iscsi_pdu *pdu,
++			  u8 *crc)
++#else
+ static void digest_header(struct hash_desc *hash, struct iscsi_pdu *pdu,
+ 			  u8 *crc)
++#endif
+ {
+ 	struct scatterlist sg[2];
+ 	unsigned int nbytes = sizeof(struct iscsi_hdr);
+@@ -174,16 +219,27 @@ static void digest_header(struct hash_de
+ 		nbytes += pdu->ahssize;
+ 	}
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	crypto_ahash_init(hash);
++	ahash_request_set_crypt(hash, sg, crc, nbytes);
++	crypto_ahash_update(hash);
++	crypto_ahash_digest(hash);
++#else
+ 	crypto_hash_init(hash);
+ 	crypto_hash_update(hash, sg, nbytes);
+ 	crypto_hash_final(hash, crc);
++#endif
+ }
+ 
+ int digest_rx_header(struct iscsi_cmnd *cmnd)
+ {
+ 	u32 crc;
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	digest_header(cmnd->conn->rx_hash, &cmnd->pdu, (u8 *) &crc);
++#else
+ 	digest_header(&cmnd->conn->rx_hash, &cmnd->pdu, (u8 *) &crc);
++#endif
+ 	if (crc != cmnd->hdigest)
+ 		return -EIO;
+ 
+@@ -192,11 +248,20 @@ int digest_rx_header(struct iscsi_cmnd *
+ 
+ void digest_tx_header(struct iscsi_cmnd *cmnd)
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	digest_header(cmnd->conn->tx_hash, &cmnd->pdu, (u8 *) &cmnd->hdigest);
++#else
+ 	digest_header(&cmnd->conn->tx_hash, &cmnd->pdu, (u8 *) &cmnd->hdigest);
++#endif
+ }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++static void digest_data(struct ahash_request *hash, struct iscsi_cmnd *cmnd,
++			struct tio *tio, u32 offset, u8 *crc)
++#else
+ static void digest_data(struct hash_desc *hash, struct iscsi_cmnd *cmnd,
+ 			struct tio *tio, u32 offset, u8 *crc)
++#endif
+ {
+ 	struct scatterlist *sg = cmnd->conn->hash_sg;
+ 	u32 size, length, npages;
+@@ -214,7 +279,11 @@ static void digest_data(struct hash_desc
+ 	BUG_ON(npages > ISCSI_CONN_IOV_MAX);
+ 
+ 	sg_init_table(sg, ARRAY_SIZE(cmnd->conn->hash_sg));
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	crypto_ahash_init(hash);
++#else
+ 	crypto_hash_init(hash);
++#endif
+ 
+ 	for (i = 0; size > 0; i++) {
+ 		length = min_t(u32, PAGE_CACHE_SIZE - offset, size);
+@@ -225,8 +294,14 @@ static void digest_data(struct hash_desc
+ 
+ 	sg_mark_end(&sg[i - 1]);
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	ahash_request_set_crypt(hash, sg, crc, nbytes);
++	crypto_ahash_update(hash);
++	crypto_ahash_digest(hash);
++#else
+ 	crypto_hash_update(hash, sg, nbytes);
+ 	crypto_hash_final(hash, crc);
++#endif
+ }
+ 
+ int digest_rx_data(struct iscsi_cmnd *cmnd)
+@@ -251,8 +326,11 @@ int digest_rx_data(struct iscsi_cmnd *cm
+ 		tio = cmnd->tio;
+ 		offset = 0;
+ 	}
+-
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	digest_data(cmnd->conn->rx_hash, cmnd, tio, offset, (u8 *) &crc);
++#else
+ 	digest_data(&cmnd->conn->rx_hash, cmnd, tio, offset, (u8 *) &crc);
++#endif
+ 
+ 	if (!cmnd->conn->read_overflow &&
+ 	    (cmnd_opcode(cmnd) != ISCSI_OP_PDU_REJECT)) {
+@@ -269,6 +347,11 @@ void digest_tx_data(struct iscsi_cmnd *c
+ 	struct iscsi_data_out_hdr *req = (struct iscsi_data_out_hdr *)&cmnd->pdu.bhs;
+ 
+ 	assert(tio);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	digest_data(cmnd->conn->tx_hash, cmnd, tio,
++		    be32_to_cpu(req->buffer_offset), (u8 *) &cmnd->ddigest);
++#else
+ 	digest_data(&cmnd->conn->tx_hash, cmnd, tio,
+ 		    be32_to_cpu(req->buffer_offset), (u8 *) &cmnd->ddigest);
++#endif
+ }
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h iscsitarget-1.4.20.3+svn502/kernel/iscsi.h
+--- iscsitarget-1.4.20.3+svn502_org/kernel/iscsi.h	2016-09-25 19:45:01.734641099 +0530
++++ iscsitarget-1.4.20.3+svn502/kernel/iscsi.h	2016-09-25 19:47:59.666474094 +0530
+@@ -14,6 +14,7 @@
+ #include <linux/pagemap.h>
+ #include <linux/seq_file.h>
+ #include <linux/mm.h>
++#include <crypto/hash.h>
+ #include <linux/crypto.h>
+ #include <linux/scatterlist.h>
+ #include <net/sock.h>
+@@ -81,7 +82,11 @@ struct network_thread_info {
+ 	spinlock_t nthread_lock;
+ 
+ 	void (*old_state_change)(struct sock *);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
++	void (*old_data_ready)(struct sock *);
++#else
+ 	void (*old_data_ready)(struct sock *, int);
++#endif
+ 	void (*old_write_space)(struct sock *);
+ };
+ 
+@@ -275,8 +280,13 @@ struct iscsi_conn {
+ 	u32 write_offset;
+ 	int write_state;
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	struct ahash_request *rx_hash;
++	struct ahash_request *tx_hash;
++#else
+ 	struct hash_desc rx_hash;
+ 	struct hash_desc tx_hash;
++#endif
+ 	struct scatterlist hash_sg[ISCSI_CONN_IOV_MAX];
+ };
+ 
+@@ -552,4 +562,10 @@ enum cmnd_flags {
+ #define PRODUCT_ID	"VIRTUAL-DISK"
+ #define PRODUCT_REV	"0"
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++#define PAGE_CACHE_SHIFT	PAGE_SHIFT
++#define PAGE_CACHE_SIZE	PAGE_SIZE
++#define PAGE_CACHE_MASK	PAGE_MASK
++#endif
++
+ #endif	/* __ISCSI_H__ */
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c iscsitarget-1.4.20.3+svn502/kernel/nthread.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/nthread.c	2016-09-25 19:45:01.734641099 +0530
++++ iscsitarget-1.4.20.3+svn502/kernel/nthread.c	2016-09-25 19:47:59.666474094 +0530
+@@ -126,7 +126,12 @@ static int do_recv(struct iscsi_conn *co
+ 
+ 	oldfs = get_fs();
+ 	set_fs(get_ds());
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	res = sock_recvmsg(conn->sock, (struct msghdr *) &msg, \
++				MSG_DONTWAIT | MSG_NOSIGNAL);
++#else
+ 	res = sock_recvmsg(conn->sock, &msg, len, MSG_DONTWAIT | MSG_NOSIGNAL);
++#endif
+ 	set_fs(oldfs);
+ 
+ 	if (res <= 0) {
+@@ -347,7 +352,11 @@ static int write_data(struct iscsi_conn
+ 			;
+ 		oldfs = get_fs();
+ 		set_fs(KERNEL_DS);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++		res = vfs_writev(file, (struct iovec __user *) iop, count, &off, 0);
++#else
+ 		res = vfs_writev(file, (struct iovec __user *) iop, count, &off);
++#endif
+ 		set_fs(oldfs);
+ 		dprintk(D_DATA, "%#Lx:%u: %d(%ld)\n",
+ 			(unsigned long long) conn->session->sid, conn->cid,
+@@ -478,7 +487,11 @@ static int tx_ddigest(struct iscsi_cmnd
+ 	iov.iov_base = (char *) (&cmnd->ddigest) + (sizeof(u32) - rest);
+ 	iov.iov_len = rest;
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	res = kernel_sendmsg(cmnd->conn->sock, (struct msghdr *) &msg, &iov, 1, rest);
++#else
+ 	res = kernel_sendmsg(cmnd->conn->sock, &msg, &iov, 1, rest);
++#endif
+ 
+ 	if (res > 0) {
+ 		cmnd->conn->write_size -= res;
+@@ -677,7 +690,12 @@ static void close_conn(struct iscsi_conn
+ 
+ 	write_lock_bh(&conn->sock->sk->sk_callback_lock);
+ 	conn->sock->sk->sk_state_change = target->nthread_info.old_state_change;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	conn->sock->sk->sk_data_ready = (void (*) (struct sock *)) \
++					target->nthread_info.old_data_ready;
++#else
+ 	conn->sock->sk->sk_data_ready = target->nthread_info.old_data_ready;
++#endif
+ 	conn->sock->sk->sk_write_space = target->nthread_info.old_write_space;
+ 	write_unlock_bh(&conn->sock->sk->sk_callback_lock);
+ 
+diff -Naurp iscsitarget-1.4.20.3+svn502_org/kernel/volume.c iscsitarget-1.4.20.3+svn502/kernel/volume.c
+--- iscsitarget-1.4.20.3+svn502_org/kernel/volume.c	2016-09-25 19:45:01.734641099 +0530
++++ iscsitarget-1.4.20.3+svn502/kernel/volume.c	2016-09-25 19:47:59.666474094 +0530
+@@ -84,12 +84,25 @@ static int set_scsisn(struct iet_volume
+ /* Generate a MD5 hash of the target IQN and LUN number */
+ static void gen_scsiid(struct iet_volume *volume)
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	struct ahash_request *hash;
++	struct crypto_ahash *tfm;
++#else
+ 	struct hash_desc hash;
++#endif
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	tfm = crypto_alloc_ahash("md5", 0, CRYPTO_ALG_ASYNC);
++#else
+ 	hash.tfm = crypto_alloc_hash("md5", 0, CRYPTO_ALG_ASYNC);
+ 	hash.flags = 0;
++#endif
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++	if (!IS_ERR(tfm)) {
++#else
+ 	if (!IS_ERR(hash.tfm)) {
++#endif
+ 		struct scatterlist sg[2];
+ 		unsigned int nbytes = 0;
+ 
+@@ -102,11 +115,19 @@ static void gen_scsiid(struct iet_volume
+ 		sg_set_buf(&sg[1], &volume->lun, sizeof(volume->lun));
+ 		nbytes += sizeof(volume->lun);
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++		crypto_ahash_init(hash);
++		ahash_request_set_crypt(hash, sg, volume->scsi_id, nbytes);
++		crypto_ahash_update(hash);
++		crypto_ahash_digest(hash);
++		crypto_free_ahash(tfm);
++#else
+ 		crypto_hash_init(&hash);
+ 		crypto_hash_update(&hash, sg, nbytes);
+ 		crypto_hash_final(&hash, volume->scsi_id);
+ 
+ 		crypto_free_hash(hash.tfm);
++#endif
+ 	} else {
+ 		/* If no MD5 available set ID to TID and LUN */
+ 		memcpy(volume->scsi_id, &volume->target->tid,
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 4c5eed6..7279bc6 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
@@ -12,7 +12,8 @@
            file://use-kernel-makefile-to-get-kernel-version.patch \
            file://fix-errors-observed-with-linux-3.19-and-greater.patch \
            file://access-sk_v6_daddr-iff-IPV6-defined.patch \
-           file://build_with_updated_bio_struct_of_linux_v4.3_and_above.patch"
+           file://build_with_updated_bio_struct_of_linux_v4.3_and_above.patch \
+           file://build_with_updated_interfaces_of_linux_v4.8_and_above.patch"
 
 SRC_URI[md5sum] = "ef9bc823bbabd3c772208c00d5f2d089"
 SRC_URI[sha256sum] = "d3196ccb78a43266dce28587bfe30d8ab4db7566d7bce96057dfbb84100babb5"
@@ -26,7 +27,8 @@
 do_make_scripts[depends] += "virtual/kernel:do_shared_workdir"
 
 do_compile() {
-    oe_runmake KSRC=${STAGING_KERNEL_DIR} LDFLAGS='' V=1
+    oe_runmake KSRC=${STAGING_KERNEL_DIR} LDFLAGS='' V=1 kernel
+    oe_runmake KSRC=${STAGING_KERNEL_DIR} usr
 }
 
 do_install() {
@@ -34,12 +36,12 @@
     install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/iscsi
     install -m 0644 kernel/iscsi_trgt.ko \
     ${D}/lib/modules/${KERNEL_VERSION}/kernel/iscsi/iscsi_trgt.ko
-    
+
     # Userspace utilities
     install -d ${D}${sbindir}
     install -m 0755 usr/ietd ${D}${sbindir}/ietd
     install -m 0755 usr/ietadm ${D}${sbindir}/ietadm
-    
+
     # Config files, init scripts
     mkdir -p ${D}${sysconfdir}/iet
     install -m 0644 etc/ietd.conf ${D}/${sysconfdir}/iet/ietd.conf
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libmnl/libmnl_1.0.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libmnl/libmnl_1.0.3.bb
deleted file mode 100644
index b3a5f2e..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libmnl/libmnl_1.0.3.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Minimalistic user-space Netlink utility library"
-DESCRIPTION = "Minimalistic user-space library oriented to Netlink developers, providing \
-    functions for common tasks in parsing, validating, and constructing both the Netlink header and TLVs."
-HOMEPAGE = "http://www.netfilter.org/projects/libmnl/index.html"
-SECTION = "libs"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "http://www.netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2;name=tar"
-SRC_URI[tar.md5sum] = "7d95fc3bea3365bc03c48e484224f65f"
-SRC_URI[tar.sha256sum] = "6f14336e9acdbc62c2dc71bbb59ce162e54e9af5c80153e92476c5443fe784de"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libmnl/libmnl_1.0.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libmnl/libmnl_1.0.4.bb
new file mode 100644
index 0000000..b458799
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libmnl/libmnl_1.0.4.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Minimalistic user-space Netlink utility library"
+DESCRIPTION = "Minimalistic user-space library oriented to Netlink developers, providing \
+    functions for common tasks in parsing, validating, and constructing both the Netlink header and TLVs."
+HOMEPAGE = "http://www.netfilter.org/projects/libmnl/index.html"
+SECTION = "libs"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "http://www.netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2;name=tar"
+SRC_URI[tar.md5sum] = "be9b4b5328c6da1bda565ac5dffadb2d"
+SRC_URI[tar.sha256sum] = "171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-acct_1.0.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-acct_1.0.3.bb
new file mode 100644
index 0000000..0d71303
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnetfilter/libnetfilter-acct_1.0.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "libnetfilter_acct accounting infrastructure."
+DESCRIPTION = "libnetfilter_acct is the userspace library providing interface to extended accounting infrastructure."
+HOMEPAGE = "http://netfilter.org/projects/libnetfilter_acct/index.html"
+SECTION = "libs"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+DEPENDS = "libnfnetlink libmnl"
+
+SRC_URI = "http://ftp.netfilter.org/pub/libnetfilter_acct/libnetfilter_acct-1.0.3.tar.bz2"
+SRC_URI[md5sum] = "814b2972b2f5c740ff87510bc109168b"
+SRC_URI[sha256sum] = "4250ceef3efe2034f4ac05906c3ee427db31b9b0a2df41b2744f4bf79a959a1a"
+
+S = "${WORKDIR}/libnetfilter_acct-${PV}"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.5.bb
deleted file mode 100644
index 6171151..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.5.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26"
-SECTION = "libs"
-DEPENDS = "libmnl"
-
-SRC_URI = "http://netfilter.org/projects/libnftnl/files/${BP}.tar.bz2  \
-          "
-
-SRC_URI[md5sum] = "af0c62ce6bbd7a7d39def0996c1c17c9"
-SRC_URI[sha256sum] = "f6d4f5a702e38bc7987f2363f9fcd65930e8b702595c221a497e2f3a359be497"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.6.bb
new file mode 100644
index 0000000..72aec19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.6.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26"
+SECTION = "libs"
+DEPENDS = "libmnl"
+
+SRC_URI = "http://netfilter.org/projects/libnftnl/files/${BP}.tar.bz2  \
+          "
+
+SRC_URI[md5sum] = "6d7f9f161538ca7efd535dcc70caf964"
+SRC_URI[sha256sum] = "ad3b932a39a1e567308e91b683b32239a5e1aea9b4582dfffe2288c3400ab07e"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb
new file mode 100644
index 0000000..d92f7c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "nfacct is the command line tool to create/retrieve/delete accounting objects"
+HOMEPAGE = "http://netfilter.org/projects/nfacct/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+SRC_URI = "ftp://ftp.netfilter.org/pub/nfacct/nfacct-1.0.2.tar.bz2"
+
+SRC_URI[md5sum] = "94faafdaaed85ca9220c5692be8a408e"
+SRC_URI[sha256sum] = "ecff2218754be318bce3c3a5d1775bab93bf4168b2c4aac465785de5655fbd69"
+DEPENDS = "libnfnetlink libmnl libnetfilter-acct"
+
+EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
+
+S = "${WORKDIR}/nfacct-${PV}"
+
+inherit autotools pkgconfig
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.5.bb
deleted file mode 100644
index 11b5e5a..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.5.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Netfilter Tables userspace utillites"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79"
-SECTION = "net"
-
-DEPENDS = "libmnl libnftnl readline gmp"
-RRECOMMENDS_${PN} += "kernel-module-nf-tables \
-    "
-
-SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \
-           file://fix-to-generate-ntf.8.patch \
-          "
-
-SRC_URI[md5sum] = "94bfe1c54bcb9f6ed974835f2fca8069"
-SRC_URI[sha256sum] = "1fb6dff333d8a4fc347cbbe273bf905a2634b27a8c39df0d3a45d5a3fde10ad6"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.6.bb
new file mode 100644
index 0000000..5dd9362
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.6.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Netfilter Tables userspace utillites"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79"
+SECTION = "net"
+
+DEPENDS = "libmnl libnftnl readline gmp"
+RRECOMMENDS_${PN} += "kernel-module-nf-tables \
+    "
+
+SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \
+           file://fix-to-generate-ntf.8.patch \
+          "
+SRC_URI[md5sum] = "fd320e35fdf14b7be795492189b13dae"
+SRC_URI[sha256sum] = "dede62655f1c56f2bc9f9be12d103d930dcef6d5f9e0855854ad9c6f93cd6c2d"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
index 22aecba..f3345a9 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-irc/znc/znc_git.bb
@@ -21,6 +21,9 @@
 
 inherit autotools-brokensep pkgconfig
 
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
 # ZNC has a custom autogen.sh that states that this command is needed *and* expected to fail
 do_configure_prepend() {
     automake --add-missing || true
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb
index 406a4f3..e9eea56 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb
@@ -70,7 +70,7 @@
 #define NETMAP_LINUX_HAVE_E1000E_DOWN2
 EOF
 
-if ${@ 'false' if (bb.utils.vercmp_string(d.getVar('KERNEL_VERSION', True), '3.17') < 0) else 'true' } ; then
+if ${@ 'false' if (bb.utils.vercmp_string(d.getVar('KERNEL_VERSION', True) or "0", '3.17') < 0) else 'true' } ; then
     echo OK
     cat >>  ${S}/LINUX/netmap_linux_config.h <<EOF
 #define NETMAP_LINUX_ALLOC_NETDEV_4ARGS
@@ -87,3 +87,6 @@
     cd ${S}/LINUX
     oe_runmake install
 }
+
+# http://errors.yoctoproject.org/Errors/Details/83335/
+PNBLACKLIST[netmap-modules] ?= "BROKEN: not compatible with default kernel version 4.8"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb
index a028585..667e7cc 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb
@@ -32,3 +32,6 @@
 FILES_${PN} += "${bindir}"
 RDEPENDS_${PN} = "kernel-module-netmap"
 RRECOMMENDS_${PN} = "kernel-module-netmap"
+
+# http://errors.yoctoproject.org/Errors/Details/69733/
+PNBLACKLIST[netmap] ?= "BROKEN: Tries to build kernel module and fails, either it should be disabled or there should be dependency on kernel like in netmap-modules"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/fixup_wait3_api_change.patch b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/fixup_wait3_api_change.patch
new file mode 100644
index 0000000..cd6df62
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/fixup_wait3_api_change.patch
@@ -0,0 +1,34 @@
+Fix build issue do to Deprecate union wait and remove support from wait functions [BZ #19613]
+
+| rlogin.c: In function 'catch_child':
+| rlogin.c:463:13: error: storage size of 'status' isn't known
+|   union wait status;
+
+https://sourceware.org/ml/libc-alpha/2016-02/msg00342.html
+
+Upstream-Status: Inappropriate [ no upstream maintaner ]
+
+Signed-off-by Armin Kuster <akuster@mvista.com>
+
+Index: netkit-rsh-0.17/rlogin/rlogin.c
+===================================================================
+--- netkit-rsh-0.17.orig/rlogin/rlogin.c
++++ netkit-rsh-0.17/rlogin/rlogin.c
+@@ -460,7 +460,7 @@ writeroob(int ignore)
+ void
+ catch_child(int ignore)
+ {
+-	union wait status;
++	int status;
+ 	int pid;
+ 
+ 	(void)ignore;
+@@ -471,7 +471,7 @@ catch_child(int ignore)
+ 			return;
+ 		/* if the child (reader) dies, just quit */
+ 		if (pid < 0 || (pid == childpid && !WIFSTOPPED(status)))
+-			done((int)(status.w_termsig | status.w_retcode));
++            done((int)(WTERMSIG(status) | WEXITSTATUS(status)));
+ 	}
+ 	/* NOTREACHED */
+ }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
index e29369c..8f08acf 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
@@ -15,6 +15,7 @@
             file://rsh.xinetd.netkit \
             file://netkit-rsh-0.17-rexec-ipv6.patch \
             file://fix-host-variable.patch \
+            file://fixup_wait3_api_change.patch \
 "
 
 SRC_URI[archive.md5sum] = "65f5f28e2fe22d9ad8b17bb9a10df096"
@@ -24,9 +25,10 @@
 
 # Other support files
 PAM_SRC_URI = "file://rexec.pam \
-	file://rlogin.pam \
-	file://rsh.pam"
-SRC_URI += "${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
+    file://rlogin.pam \
+    file://rsh.pam \
+"
+SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
 
 inherit pkgconfig
 
@@ -41,7 +43,7 @@
     ./configure --prefix=${prefix} --exec-prefix=${exec_prefix}
     echo "INSTALLROOT=${D}" > MCONFIG
 
-    if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
+    if [ "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
         echo "USE_PAM=1" >> MCONFIG
     fi
 
@@ -63,7 +65,7 @@
     'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
     'MANDIR=${mandir}' install
 
-    if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
+    if [ "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
         install -d ${D}${sysconfdir}/pam.d
         install -m 0644 debian/hosts.equiv ${D}/${sysconfdir}
         install -m 0644 ${WORKDIR}/rexec.pam ${D}/${sysconfdir}/pam.d/rexec
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb
index 10e98a4..22b7cfe 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/accel-ppp/accel-ppp_git.bb
@@ -40,3 +40,6 @@
                $cmlist
     done
 }
+
+# http://errors.yoctoproject.org/Errors/Details/81003/
+PNBLACKLIST[accel-ppp] ?= "BROKEN: fails to build with new binutils-2.27"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch
new file mode 100644
index 0000000..60ce809
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch
@@ -0,0 +1,29 @@
+From 7136d593ba96b64537069637c328bc65e1b66b2d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 22 Jul 2016 18:34:39 +0000
+Subject: [PATCH] get_pid_from_inode: Include limit.h
+
+PATH_MAX and NAME_MAX are required by this file
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ agent/mibgroup/util_funcs/get_pid_from_inode.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/agent/mibgroup/util_funcs/get_pid_from_inode.c b/agent/mibgroup/util_funcs/get_pid_from_inode.c
+index 8e157ae..a494ec7 100644
+--- a/agent/mibgroup/util_funcs/get_pid_from_inode.c
++++ b/agent/mibgroup/util_funcs/get_pid_from_inode.c
+@@ -5,6 +5,7 @@
+ #include <net-snmp/output_api.h>
+ 
+ #include <ctype.h>
++#include <limits.h>
+ #include <stdio.h>
+ #if HAVE_STDLIB_H
+ #include <stdlib.h>
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-agentx-crash.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-agentx-crash.patch
new file mode 100644
index 0000000..5eed893
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-agentx-crash.patch
@@ -0,0 +1,75 @@
+Description: fix snmpd crash via AgentX connection
+
+ taken from Fedora, net-snmp-5.7-agentx-crash.patch
+
+bz729738 - net-snmp dumps core in netsnmp_oid_find_prefix
+bz1038011 - net-snmp: snmpd crashes/hangs when AgentX subagent times-out
+
+commit f9304c83f76202db0e684269ca1af32e43cd9db4
+Author: Jan Safranek <jsafranek@users.sourceforge.net>
+Date:   Tue Feb 7 14:53:44 2012 +0100
+
+    CHANGES: PATCH 1633670: fixed snmpd crashing when an AgentX subagent
+    disconnect in the middle of processing of a request.
+
+    I fixed also the memory leak reported in the tracker comments.
+
+Upstream-Status: Backport
+
+Signed-off-by: Zhu Yanjun <yanjun.zhu@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+---
+ agent/mibgroup/agentx/master.c       | 5 +++++
+ agent/mibgroup/agentx/master_admin.c | 9 +++++++--
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/agent/mibgroup/agentx/master.c b/agent/mibgroup/agentx/master.c
+index c42a42a..baeebaf 100644
+--- a/agent/mibgroup/agentx/master.c
++++ b/agent/mibgroup/agentx/master.c
+@@ -219,6 +219,9 @@ agentx_got_response(int operation,
+     if (!cache) {
+         DEBUGMSGTL(("agentx/master", "response too late on session %8p\n",
+                     session));
++        /* response is too late, free the cache */
++        if (magic)
++            netsnmp_free_delegated_cache((netsnmp_delegated_cache*) magic);
+         return 0;
+     }
+     requests = cache->requests;
+@@ -606,6 +609,8 @@ agentx_master_handler(netsnmp_mib_handler *handler,
+     result = snmp_async_send(ax_session, pdu, agentx_got_response, cb_data);
+     if (result == 0) {
+         snmp_free_pdu(pdu);
++        if (cb_data)
++            netsnmp_free_delegated_cache((netsnmp_delegated_cache*) cb_data);
+     }
+ 
+     return SNMP_ERR_NOERROR;
+diff --git a/agent/mibgroup/agentx/master_admin.c b/agent/mibgroup/agentx/master_admin.c
+index f16f392..b84b85e 100644
+--- a/agent/mibgroup/agentx/master_admin.c
++++ b/agent/mibgroup/agentx/master_admin.c
+@@ -133,11 +133,16 @@ close_agentx_session(netsnmp_session * session, int sessid)
+          * requests, so that the delegated request will be completed and
+          * further requests can be processed
+          */
+-        netsnmp_remove_delegated_requests_for_session(session);
++	while (netsnmp_remove_delegated_requests_for_session(session)) {
++		DEBUGMSGTL(("agentx/master", "Continue removing delegated reqests\n"));
++	}
++
+         if (session->subsession != NULL) {
+             netsnmp_session *subsession = session->subsession;
+             for(; subsession; subsession = subsession->next) {
+-                netsnmp_remove_delegated_requests_for_session(subsession);
++                while (netsnmp_remove_delegated_requests_for_session(subsession)) {
++			DEBUGMSGTL(("agentx/master", "Continue removing delegated subsession reqests\n"));
++		}
+             }
+         }
+                 
+-- 
+2.7.4
+
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 ee8878f..1997d5c 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
@@ -8,21 +8,23 @@
 DEPENDS = "openssl libnl pciutils"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \
-        file://init \
-        file://snmpd.conf \
-        file://snmptrapd.conf \
-        file://systemd-support.patch \
-        file://snmpd.service \
-        file://snmptrapd.service \
-        file://net-snmp-add-knob-whether-nlist.h-are-checked.patch \
-        file://fix-libtool-finish.patch \
-        file://net-snmp-testing-add-the-output-format-for-ptest.patch \
-        file://run-ptest \
-        file://dont-return-incompletely-parsed-varbinds.patch \
-        file://0001-config_os_headers-Error-Fix.patch \
-        file://0001-config_os_libs2-Error-Fix.patch \
-        file://0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch \
-"
+           file://init \
+           file://snmpd.conf \
+           file://snmptrapd.conf \
+           file://systemd-support.patch \
+           file://snmpd.service \
+           file://snmptrapd.service \
+           file://net-snmp-add-knob-whether-nlist.h-are-checked.patch \
+           file://fix-libtool-finish.patch \
+           file://net-snmp-testing-add-the-output-format-for-ptest.patch \
+           file://run-ptest \
+           file://dont-return-incompletely-parsed-varbinds.patch \
+           file://0001-config_os_headers-Error-Fix.patch \
+           file://0001-config_os_libs2-Error-Fix.patch \
+           file://0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch \
+           file://net-snmp-agentx-crash.patch \
+           file://0001-get_pid_from_inode-Include-limit.h.patch \
+           "
 SRC_URI[md5sum] = "9f682bd70c717efdd9f15b686d07baee"
 SRC_URI[sha256sum] = "e8dfc79b6539b71a6ff335746ce63d2da2239062ad41872fff4354cafed07a3e"
 
@@ -142,11 +144,11 @@
 CONFFILES_${PN}-server-snmpd = "${sysconfdir}/snmp/snmpd.conf"
 CONFFILES_${PN}-server-snmptrapd = "${sysconfdir}/snmp/snmptrapd.conf"
 
-INITSCRIPT_PACKAGES = "${PN}-server"
-INITSCRIPT_NAME_${PN}-server = "snmpd"
-INITSCRIPT_PARAMS_${PN}-server = "start 90 2 3 4 5 . stop 60 0 1 6 ."
+INITSCRIPT_PACKAGES = "${PN}-server-snmpd"
+INITSCRIPT_NAME_${PN}-server-snmpd = "snmpd"
+INITSCRIPT_PARAMS_${PN}-server-snmpd = "start 90 2 3 4 5 . stop 60 0 1 6 ."
 
-EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemd', '--without-systemd', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemd', '--without-systemd', d)}"
 
 SYSTEMD_PACKAGES = "${PN}-server-snmpd \
                     ${PN}-server-snmptrapd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
index 5f465ce..d309ae1 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
@@ -20,7 +20,7 @@
 
 EXTRA_OECONF += " \
                  KARCH=${TARGET_ARCH} \
-                 ${@base_contains('PACKAGECONFIG', 'openssl', 'SSL_LIBS="-lssl -lcrypto"', '', d)} \
+                 ${@bb.utils.contains('PACKAGECONFIG', 'openssl', 'SSL_LIBS="-lssl -lcrypto"', '', d)} \
                 "
 
 S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-test-pppd_dummy.c-Fix-return-value.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-test-pppd_dummy.c-Fix-return-value.patch
new file mode 100644
index 0000000..1f576fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-test-pppd_dummy.c-Fix-return-value.patch
@@ -0,0 +1,38 @@
+From ce5f5563ab54db9d28dba44a0e25e8a8c7bb9876 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Oct 2016 00:34:35 +0000
+Subject: [PATCH] test/pppd_dummy.c: Fix return value
+
+pause() is defined in unistd.h, clang does not
+like the fact that we are using a function without
+declaration
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/pppd_dummy.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/test/pppd_dummy.c b/test/pppd_dummy.c
+index 148e7d2..b564c36 100644
+--- a/test/pppd_dummy.c
++++ b/test/pppd_dummy.c
+@@ -26,6 +26,7 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <syslog.h>
++#include <unistd.h>
+ 
+ #define PPPD_DUMMY_TMP_FILE	"/tmp/pppd_dummy"
+ 
+@@ -40,7 +41,7 @@ int main(int argc, char **argv)
+ 	
+ 	if (file == NULL) {
+ 		syslog(LOG_ERR, "Failed to open %s\n", filename);
+-		return;
++		return -1;
+ 	}
+ 
+ 	for (arg = 1; arg < argc; arg++) {
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/Makefile-obey-LDFLAGS.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/Makefile-obey-LDFLAGS.patch
new file mode 100644
index 0000000..811fadd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/openl2tp/openl2tp/Makefile-obey-LDFLAGS.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Pending
+
+--- openl2tp-1.8/Makefile.orig	2016-09-16 14:54:18.554291976 +0200
++++ openl2tp-1.8/Makefile	2016-09-16 14:57:23.559090400 +0200
+@@ -157,8 +157,8 @@ ADD_CFLAGS=			-I. -Iusl -Icli -isystem i
+ 				-MMD -Wall -Wno-strict-aliasing \
+ 				$(ADD_CPPFLAGS) $(CPPFLAGS.dmalloc) \
+ 				-DSYS_LIBDIR=$(SYS_LIBDIR)
+-LDFLAGS.l2tpd=		-Wl,-E -L. -Lusl -lusl -ldl $(LIBS.dmalloc) -lc
+-LDFLAGS.l2tpconfig=	-Lcli -lcli -lreadline $(LIBS.dmalloc) $(READLINE_LDFLAGS) -lc
++LDFLAGS.l2tpd=		-Wl,-E -L. -Lusl -lusl -ldl $(LIBS.dmalloc) -lc $(LDFLAGS)
++LDFLAGS.l2tpconfig=	-Lcli -lcli -lreadline $(LIBS.dmalloc) $(READLINE_LDFLAGS) -lc $(LDFLAGS)
+ 
+ OPT_CFLAGS?=		-O
+ 
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 d043b63..5a63404 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
@@ -14,14 +14,16 @@
 SRC_URI = "http://ftp.jaist.ac.jp/pub/sourceforge/o/op/${PN}/${PN}/${PV}/${BP}.tar.gz \
            file://Makefile-modify-CFLAGS-to-aviod-build-error.patch \
            file://openl2tp-simplify-gcc-warning-hack.patch \
-          "
+           file://Makefile-obey-LDFLAGS.patch \
+           file://0001-test-pppd_dummy.c-Fix-return-value.patch \
+           "
 SRC_URI[md5sum] = "e3d08dedfb9e6a9a1e24f6766f6dadd0"
 SRC_URI[sha256sum] = "1c97704d4b963a87fbc0e741668d4530933991515ae9ab0dffd11b5444f4860f"
 
 inherit autotools-brokensep pkgconfig
 
 PARALLEL_MAKE = ""
-EXTRA_OEMAKE = 'CFLAGS="${CFLAGS} -Wno-nused-but-set-variable"'
+EXTRA_OEMAKE = 'CFLAGS="${CFLAGS} -Wno-unused-but-set-variable"'
 
 do_compile_prepend() {
     sed -i -e "s:SYS_LIBDIR=.*:SYS_LIBDIR=${libdir}:g" \
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/Zebra-sync-zebra-routing-table-with-the-kernel-one.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/Zebra-sync-zebra-routing-table-with-the-kernel-one.patch
deleted file mode 100644
index 35f4637..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/Zebra-sync-zebra-routing-table-with-the-kernel-one.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-sync zebra routing table with the kernel one when interface is down
-
-Add router to kernel main router table with "ip", then you can see 
-a router item in kernel main router table. Also can see this router
-item in zebra router table. If down the interface, this router item
-will be deleted from kernel main router table, but it will not be 
-deleted from zebra router table, just set as inactive.
-
-This patch is adopted from [1].
-[1] http://www.gossamer-threads.com/lists/quagga/dev/22609
-
-Upstream-Status: Pending
-
-Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
-Signed-of-by: Roy.Li <rongqing.li@windriver.com>
-
----
- zebra/zebra_rib.c |    7 +++++++
- 1 files changed, 7 insertions(+), 0 deletions(-)
-
-diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
-index 154e8d5..63434d0 100644
---- a/zebra/zebra_rib.c
-+++ b/zebra/zebra_rib.c
-@@ -765,6 +765,9 @@ rib_match_ipv6 (struct in6_addr *addr)
- #define RIB_SYSTEM_ROUTE(R) \
-         ((R)->type == ZEBRA_ROUTE_KERNEL || (R)->type == ZEBRA_ROUTE_CONNECT)
- 
-+#define RIB_KERNEL_ROUTE(R) \
-+	((R)->type == ZEBRA_ROUTE_KERNEL)
-+
- /* This function verifies reachability of one given nexthop, which can be
-  * numbered or unnumbered, IPv4 or IPv6. The result is unconditionally stored
-  * in nexthop->flags field. If the 4th parameter, 'set', is non-zero,
-@@ -1135,6 +1138,10 @@ rib_process (struct route_node *rn)
-       redistribute_delete (&rn->p, fib);
-       if (! RIB_SYSTEM_ROUTE (fib))
- 	rib_uninstall_kernel (rn, fib);
-+#ifdef GNU_LINUX
-+      else if(RIB_KERNEL_ROUTE (fib) && !if_is_up(if_lookup_by_index(fib->nexthop->ifindex)))
-+	del=fib;
-+#endif
-       UNSET_FLAG (fib->flags, ZEBRA_FLAG_SELECTED);
- 
-       /* Set real nexthop. */
--- 
-1.7.4.1
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/babel-close-the-stdout-stderr-as-in-other-daemons.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/babel-close-the-stdout-stderr-as-in-other-daemons.patch
deleted file mode 100644
index c2757a2..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/babel-close-the-stdout-stderr-as-in-other-daemons.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From ba71f768e6dbb1f2ac72ed3bd880bff75a48d345 Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Wed, 19 Feb 2014 14:13:40 +0800
-Subject: [PATCH] babeld: close stdout once the background daemon is created
-
-Upstream-Status: pending
-
-Once babald becomes a background daemon, it should not output information to
-stdout, so need to close stdout.
-
-In fact, other daemons close their stdout when they run into background, like
-ospfd, isisd and bgpd, by calling daemon() which is in lib/daemon.c
-
-Closing the stdout can fix a tee hang issue { #/usr/sbin/babeld -d |tee tmp }
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- babeld/util.c |   10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/babeld/util.c b/babeld/util.c
-index 011f382..76203bc 100644
---- a/babeld/util.c
-+++ b/babeld/util.c
-@@ -425,7 +425,7 @@ uchar_to_in6addr(struct in6_addr *dest, const unsigned char *src)
- int
- daemonise()
- {
--    int rc;
-+    int rc, fd;
- 
-     fflush(stdout);
-     fflush(stderr);
-@@ -441,5 +441,13 @@ daemonise()
-     if(rc < 0)
-         return -1;
- 
-+    fd = open("/dev/null", O_RDWR, 0);
-+    if (fd != -1)
-+    {
-+        dup2(fd, STDOUT_FILENO);
-+        if (fd > 2)
-+            close(fd);
-+    }
-+
-     return 1;
- }
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/babeld.service b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/babeld.service
deleted file mode 100644
index dd344b0..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/files/babeld.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Babel routing daemon
-BindTo=zebra.service
-After=zebra.service
-ConditionPathExists=@SYSCONFDIR@/quagga/babeld.conf
-
-[Service]
-Type=forking
-EnvironmentFile=-@SYSCONFDIR@/default/quagga
-ExecStart=@SBINDIR@/babeld -d $babeld_options -f /etc/quagga/babeld.conf
-Restart=on-abort
-
-[Install]
-WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc
index de78e26..ae08a2d 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc
@@ -9,8 +9,8 @@
 SECTION = "net"
 LICENSE = "GPL-2.0 & LGPL-2.0"
 DEPENDS = "readline ncurses perl-native"
-DEPENDS += "${@base_contains('DISTRO_FEATURES', 'snmp', 'net-snmp', '', d)}"
-SNMP_CONF="${@base_contains('DISTRO_FEATURES', 'snmp', '--enable-snmp', '', d)}"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'snmp', 'net-snmp', '', d)}"
+SNMP_CONF="${@bb.utils.contains('DISTRO_FEATURES', 'snmp', '--enable-snmp', '', d)}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=81bcece21748c91ba9992349a91ec11d \
                     file://COPYING.LIB;md5=01ef24401ded36cd8e5d18bfe947240c"
@@ -22,7 +22,6 @@
 # ${QUAGGASUBDIR} is deal with old versions. Set to "/attic" for old
 # versions and leave it empty for recent versions.
 SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \
-           file://Zebra-sync-zebra-routing-table-with-the-kernel-one.patch \
            file://quagga.init \
            file://quagga.default \
            file://watchquagga.init \
@@ -31,7 +30,6 @@
            file://quagga.pam \
            file://ripd-fix-two-bugs-after-received-SIGHUP.patch \
            file://quagga-Avoid-duplicate-connected-address.patch \
-           file://babeld.service \
            file://bgpd.service \
            file://isisd.service \
            file://ospf6d.service \
@@ -41,14 +39,13 @@
            file://zebra.service \
 "
 
-PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
 PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap"
 PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam"
 
 inherit autotools update-rc.d useradd systemd
 
-SYSTEMD_PACKAGES = "${PN} ${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
-SYSTEMD_SERVICE_${PN}-babeld = "babeld.service"
+SYSTEMD_PACKAGES = "${PN} ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
 SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service"
 SYSTEMD_SERVICE_${PN}-isisd = "isisd.service"
 SYSTEMD_SERVICE_${PN}-ospf6d = "ospf6d.service"
@@ -62,9 +59,7 @@
                 --enable-exampledir=${docdir}/quagga/examples/ \
                 --enable-vtysh \
                 --enable-isisd \
-                ${@base_contains('DISTRO_FEATURES', 'sysvinit', '--enable-watchquagga', '--disable-watchquagga', d)} \
-                --enable-ospf-te \
-                --enable-opaque-lsa \
+                ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '--enable-watchquagga', '--disable-watchquagga', d)} \
                 --enable-ospfclient=yes \
                 --enable-multipath=64 \
                 --enable-user=quagga \
@@ -88,12 +83,12 @@
     install -m 0644 ${WORKDIR}/volatiles.03_quagga  ${D}${sysconfdir}/default/volatiles/volatiles.03_quagga
 
     # Install sample configurations for the daemons
-    for f in bgpd vtysh babeld isisd ospfd ripngd zebra ripd ospf6d; do
+    for f in bgpd vtysh isisd ospfd ripngd zebra ripd ospf6d; do
         install -m 0640 ${S}/$f/$f.conf.sample ${D}${sysconfdir}/quagga/$f.conf.sample
     done
 
-    for f in bgpd vtysh babeld isisd ospfd ripngd zebra ripd ospf6d; do
-	touch ${D}${sysconfdir}/quagga/$f.conf
+    for f in bgpd vtysh isisd ospfd ripngd zebra ripd ospf6d; do
+        touch ${D}${sysconfdir}/quagga/$f.conf
     done
     chown quagga:quaggavty ${D}${sysconfdir}/quagga
     chown quagga:quagga ${D}${sysconfdir}/quagga/*.conf
@@ -125,7 +120,7 @@
         fi
     done
 
-    if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
         install -d ${D}${sysconfdir}/tmpfiles.d
         echo "d /var/run/quagga 0755 quagga quagga -" \
         > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
@@ -138,7 +133,7 @@
     fi
 
     install -d ${D}${systemd_unitdir}/system
-    for i in babeld bgpd isisd ospf6d ospfd ripd ripngd zebra; do
+    for i in bgpd isisd ospf6d ospfd ripd ripngd zebra; do
         install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system
     done
     sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
@@ -160,15 +155,14 @@
 }
 
 # Split into a main package and separate per-protocol packages
-PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-babeld ${PN}-bgpd \
+PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-bgpd \
                      ${PN}-ripd ${PN}-ripngd ${PN}-isisd \
-                     ${PN}-ospfclient ${@base_contains('DISTRO_FEATURES', 'sysvinit', '${PN}-watchquagga', '', d)}"
+                     ${PN}-ospfclient ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${PN}-watchquagga', '', d)}"
 
-RDEPENDS_${PN} += "${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
+RDEPENDS_${PN} += "${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd"
 
 FILES_${PN}-ospfd       = "${sbindir}/ospfd ${libdir}/libospf.so.*"
 FILES_${PN}-ospf6d      = "${sbindir}/ospf6d"
-FILES_${PN}-babeld      = "${sbindir}/babeld"
 FILES_${PN}-bgpd        = "${sbindir}/bgpd"
 FILES_${PN}-ripd        = "${sbindir}/ripd"
 FILES_${PN}-ripngd      = "${sbindir}/ripngd"
@@ -181,7 +175,6 @@
 CONFFILES_${PN} = "${sysconfdir}/default/quagga \
                    ${sysconfdir}/quagga/bgpd.conf \
                    ${sysconfdir}/quagga/vtysh.conf \
-                   ${sysconfdir}/quagga/babeld.conf \
                    ${sysconfdir}/quagga/isisd.conf \
                    ${sysconfdir}/quagga/ospfd.conf \
                    ${sysconfdir}/quagga/ripngd.conf \
@@ -230,10 +223,6 @@
     ${sysconfdir}/init.d/quagga stop ospf6d
 }
 
-pkg_prerm_${PN}-babeld () {
-    ${sysconfdir}/init.d/quagga stop babeld
-}
-
 pkg_prerm_${PN}-bgpd () {
     ${sysconfdir}/init.d/quagga stop bgpd
 }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb
deleted file mode 100644
index cecf438..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_0.99.24.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require quagga.inc
-
-SRC_URI += "file://babel-close-the-stdout-stderr-as-in-other-daemons.patch \
-            file://0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch \
-"
-
-SRC_URI[md5sum] = "7986bdc2fe6027d4c9216f7f5791e718"
-SRC_URI[sha256sum] = "84ae1a47df085119a8fcab6c43ccea9efb9bc3112388b1dece5a9f0a0262754f"
-
-QUAGGASUBDIR = ""
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb
new file mode 100644
index 0000000..d165781
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.0.20160315.bb
@@ -0,0 +1,10 @@
+require quagga.inc
+
+SRC_URI += " \
+            file://0001-ospf6d-check-ospf6-before-using-it-in-ospf6_clean.patch \
+"
+
+SRC_URI[md5sum] = "e73d6e527fb80240f180de420cfe8042"
+SRC_URI[sha256sum] = "21ffb7bad0ef5f130f18dd299d219ea1cb4f5c03d473b6b32c83c340cd853263"
+
+QUAGGASUBDIR = ""
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/tsocks/tsocks/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/tsocks/tsocks/makefile-add-ldflags.patch
new file mode 100644
index 0000000..2146418
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/tsocks/tsocks/makefile-add-ldflags.patch
@@ -0,0 +1,19 @@
+Add LDFLAGS variable to Makefile.in, make sure the extra linker flags can be passed.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/Makefile.in b/Makefile.in
+index cad6706..0ed55c5 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -50,7 +50,7 @@ ${SAVE}: ${SAVE}.c
+ 	${SHCC} ${CFLAGS} ${INCLUDES} -static -o ${SAVE} ${SAVE}.c
+ 
+ ${SHLIB}: ${OBJS} ${COMMON}.o ${PARSER}.o
+-	${SHCC} ${CFLAGS} ${INCLUDES} -nostdlib -shared -o ${SHLIB} ${OBJS} ${COMMON}.o ${PARSER}.o ${DYNLIB_FLAGS} ${SPECIALLIBS} ${LIBS}
++	${SHCC} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -nostdlib -shared -o ${SHLIB} ${OBJS} ${COMMON}.o ${PARSER}.o ${DYNLIB_FLAGS} ${SPECIALLIBS} ${LIBS}
+ 	ln -sf ${SHLIB} ${LIB_NAME}.so
+ 
+ %.so: %.c
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/tsocks/tsocks_1.8beta5.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/tsocks/tsocks_1.8beta5.bb
index b3a9620..22287ce 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/tsocks/tsocks_1.8beta5.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/tsocks/tsocks_1.8beta5.bb
@@ -9,7 +9,9 @@
 LICENSE = "GPL-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
 
-SRC_URI = "http://downloads.sourceforge.net/tsocks/tsocks-${PV}.tar.gz"
+SRC_URI = "http://downloads.sourceforge.net/tsocks/tsocks-${PV}.tar.gz \
+           file://makefile-add-ldflags.patch \
+          "
 
 SRC_URI[md5sum] = "51caefd77e5d440d0bbd6443db4fc0f8"
 SRC_URI[sha256sum] = "849d7ef5af80d03e76cc05ed9fb8fa2bcc2b724b51ebfd1b6be11c7863f5b347"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf/makefile-add-ldflags.patch
new file mode 100644
index 0000000..c5a4414
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf/makefile-add-ldflags.patch
@@ -0,0 +1,19 @@
+Add LDFLAGS variable to Makefile, make sure the extra linker flags can be passed.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/Makefile b/Makefile
+index 77f3364..c98083f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -18,7 +18,7 @@ clean:
+ 
+ zeroconf: zeroconf.o delay.o
+ 	$(Q)echo "Creating $@"
+-	$(Q)$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
++	$(Q)$(CC) $(CFLAGS) ${LDFLAGS} -o $@ $^ $(LIBS)
+ 
+ 
+ # Automatic dependency generation
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb
index 9307263..13f9b9b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb
@@ -18,6 +18,7 @@
 
 SRC_URI = "http://www.progsoc.org/~wildfire/zeroconf/download/${BPN}-${PV}.tar.gz \
            file://compilefix.patch \
+           file://makefile-add-ldflags.patch \
            file://zeroconf-default \
            file://debian-zeroconf"
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/aoetools/aoetools/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/aoetools/aoetools/makefile-add-ldflags.patch
new file mode 100644
index 0000000..726d8c5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/aoetools/aoetools/makefile-add-ldflags.patch
@@ -0,0 +1,31 @@
+Add LDFLAGS variable to Makefile, make sure the extra linker flags can be passed.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/Makefile b/Makefile
+index 0c56ade..79f2e2b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -68,17 +68,17 @@ clean :
+ 	rm -f ${CONF_SCRIPTS} ${AOE_PING_OBJ} ${AOE_CFG_OBJ} ${SANCHECK_OBJ} ${PROGS}
+ 
+ aoeping : ${AOE_PING_OBJ}
+-	${CC} ${CFLAGS} -o $@ ${AOE_PING_OBJ}
++	${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${AOE_PING_OBJ}
+ aoeping.o : aoeping.c dat.h fns.h
+ 	${CC} ${CFLAGS} -o $@ -c $<
+ linux.o : linux.c config.h
+ 	${CC} ${CFLAGS} -o $@ -c $<
+ aoecfg: ${AOE_CFG_OBJ}
+-	${CC} ${CFLAGS} -o $@ ${AOE_CFG_OBJ}
++	${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${AOE_CFG_OBJ}
+ aoecfg.o : aoecfg.c dat.h fns.h
+ 	${CC} ${CFLAGS} -o $@ -c $<
+ aoe-sancheck : ${SANCHECK_OBJ}
+-	-$(CC) $(CFLAGS) -o $@ ${SANCHECK_OBJ} $(SANCHECKLIBS)
++	-$(CC) $(CFLAGS) ${LDFLAGS} -o $@ ${SANCHECK_OBJ} $(SANCHECKLIBS)
+ aoe-sancheck.o : aoe-sancheck.c
+ 	-$(CC) $(CFLAGS) -o $@ -c $<
+ 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/aoetools/aoetools_36.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/aoetools/aoetools_36.bb
index c382a71..9b73b44 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/aoetools/aoetools_36.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/aoetools/aoetools_36.bb
@@ -12,6 +12,7 @@
 
 SRC_URI = "http://sourceforge.net/projects/${BPN}/files/${BPN}/${BPN}-${PV}.tar.gz \
            file://aoe-stat-no-bashism.patch \
+           file://makefile-add-ldflags.patch \
         "
 SRC_URI[md5sum] = "bff30daa988a65f69d4448ce4726a6db"
 SRC_URI[sha256sum] = "fb5e2cd0de7644cc1ec04ee3aeb43211cf7445a0c19e13d6b3ed5a8fbdf215ff"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables.service b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables.service
new file mode 100644
index 0000000..f9fd56d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Arp filtering arptables
+After=network.target
+Requires=network.target
+
+[Service]
+Type=oneshot
+ExecStartPre=/bin/sh -c "mkdir -p /etc/sysconfig; if [ ! -f /etc/sysconfig/arptables ]; then /usr/sbin/arptables-save > /etc/sysconfig/arptables; fi"
+ExecStart=/bin/sh -c "/usr/sbin/arptables-restore < /etc/sysconfig/arptables"
+ExecStartPost=/bin/sh -c "touch /var/lock/subsys/arptables"
+RemainAfterExit=yes
+ExecStop=/bin/sh -c "/usr/sbin/arptables-restore < /dev/null"
+ExecStopPost=/bin/sh -c "rm -f /var/lock/subsys/arptables"
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb
index be2ac66..f536408 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb
@@ -13,6 +13,7 @@
     file://arptables-init-busybox.patch \
     file://arptables-arpt-get-target-fix.patch \
     file://arptables-remove-bashism.patch \
+    file://arptables.service \
 "
 SRC_URI[arptables.md5sum] = "1d4ab05761f063b0751645d8f2b8f8e5"
 SRC_URI[arptables.sha256sum] = "e529fd465c67d69ad335299a043516e6b38cdcd337a5ed21718413e96073f928"
@@ -31,3 +32,12 @@
 fakeroot do_install () {
     oe_runmake 'BINDIR=${sbindir}' 'MANDIR=${mandir}/' 'DESTDIR=${D}' install
 }
+
+do_install_append() {
+    install -d ${D}${systemd_unitdir}/system
+    install -m 644 ${WORKDIR}/arptables.service ${D}${systemd_unitdir}/system
+}
+
+inherit systemd
+
+SYSTEMD_SERVICE_${PN} = "arptables.service"
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
new file mode 100644
index 0000000..c6897b4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0001-build-error-out-correctly-if-a-submake-fails.patch
@@ -0,0 +1,69 @@
+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
new file mode 100644
index 0000000..25d08ab
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0002-libbridge-fix-some-build-time-warnings-fcntl.h.patch
@@ -0,0 +1,64 @@
+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
new file mode 100644
index 0000000..72f2a62
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0003-bridge-fix-some-build-time-warnings-errno.h.patch
@@ -0,0 +1,46 @@
+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
new file mode 100644
index 0000000..565186e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0004-libbridge-add-missing-include-s-fix-build-against-mu.patch
@@ -0,0 +1,47 @@
+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
new file mode 100644
index 0000000..9f2155e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/bridge-utils/bridge-utils/0005-build-don-t-ignore-CFLAGS-from-environment.patch
@@ -0,0 +1,53 @@
+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
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We need to take them into account so as to behave nicely towards
+build environments which expect to be able to set them, e.g. for
+optimisation flags, or debug options.
+
+Therefore they need to be added to the compiler command line of
+every source file, and in addition, the same CFLAGS that were
+used during compilation must also always be used during linking!
+
+Upstream-Status: Pending
+
+Signed-off-by: André Draszik <git@andred.net>
+---
+ brctl/Makefile.in     | 2 +-
+ libbridge/Makefile.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/brctl/Makefile.in b/brctl/Makefile.in
+index e1956d6..eff260c 100644
+--- a/brctl/Makefile.in
++++ b/brctl/Makefile.in
+@@ -34,7 +34,7 @@ install: $(PROGRAMS)
+ 	$(INSTALL) -m 755 $(PROGRAMS) $(DESTDIR)$(sbindir)
+ 
+ brctl:	$(brctl_OBJECTS) ../libbridge/libbridge.a
+-	$(CC) $(LDFLAGS) $(brctl_OBJECTS) $(LIBS) -o brctl
++	$(CC) $(CFLAGS) $(LDFLAGS) $(brctl_OBJECTS) $(LIBS) -o brctl
+ 
+ %.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
+
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
index 04f863b..6032ab0 100644
--- 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
@@ -1,8 +1,13 @@
 require bridge-utils.inc
 
-SRC_URI += "file://kernel-headers.patch"
-
-PARALLEL_MAKE = ""
+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"
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch
new file mode 100644
index 0000000..10fad4e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares/0001-configure.ac-don-t-override-passed-cflags.patch
@@ -0,0 +1,26 @@
+From 2a7236d2a7bb9c3d3c3f44ebf59404bf7134fcb3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
+Date: Tue, 12 Apr 2016 11:37:28 +0100
+Subject: [PATCH] configure.ac: don't override passed cflags
+
+We are controlling debug and optimiser flags from OE
+---
+ configure.ac | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5c02450..3cf9fcd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -147,8 +147,6 @@ dnl **********************************************************************
+ 
+ CARES_CHECK_COMPILER
+ CARES_SET_COMPILER_BASIC_OPTS
+-CARES_SET_COMPILER_DEBUG_OPTS
+-CARES_SET_COMPILER_OPTIMIZE_OPTS
+ CARES_SET_COMPILER_WARNING_OPTS
+ 
+ if test "$compiler_id" = "INTEL_UNIX_C"; then
+-- 
+2.8.0.rc3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.11.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.11.0.bb
deleted file mode 100644
index 2f72ab4..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.11.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) 2012-2014 LG Electronics, Inc.
-
-DESCRIPTION = "c-ares is a C library that resolves names asynchronously."
-HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://ares_init.c;beginline=1;endline=3;md5=53f5ecf4c22c37cf1ddd1ef8f8eccce0"
-
-SRC_URI = "http://c-ares.haxx.se/download/${BP}.tar.gz"
-SRC_URI[md5sum] = "d5c6d522cfc54bb6f215a0b7912d46be"
-SRC_URI[sha256sum] = "b3612e6617d9682928a1d50c1040de4db6519f977f0b25d40cf1b632900b3efd"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb
new file mode 100644
index 0000000..4e28d6a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/c-ares/c-ares_1.12.0.bb
@@ -0,0 +1,15 @@
+# Copyright (c) 2012-2014 LG Electronics, Inc.
+
+SUMMARY = "c-ares is a C library that resolves names asynchronously."
+HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f4b026880834eb01c035c5e5cb47ccac"
+
+SRC_URI = "http://c-ares.haxx.se/download/${BP}.tar.gz \
+           file://0001-configure.ac-don-t-override-passed-cflags.patch \
+"
+SRC_URI[md5sum] = "2ca44be1715cd2c5666a165d35788424"
+SRC_URI[sha256sum] = "8692f9403cdcdf936130e045c84021665118ee9bfea905d1a76f04d4e6f365fb"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf
new file mode 100644
index 0000000..8d226d3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chrony.conf
@@ -0,0 +1,44 @@
+# Use public NTP servers from the pool.ntp.org project.
+# Please consider joining the pool project if possible by running your own
+# server(s).
+# If you are a vendor distributing a product using chrony, you *MUST*
+# read and comply with http://www.pool.ntp.org/vendors.html
+pool 0.openembedded.pool.ntp.org iburst
+
+# Use a local timeserver in preference to the pool, if it's reachable.
+#server 192.168.22.22 iburst minpoll 2 prefer
+
+# Sync to pulse-per-second from an onboard GPS.
+#refclock PPS /dev/pps0 poll 0 prefer
+# You'll want to enable CONFIG_PPS and CONFIG_PPS_CLIENT_GPIO in your kernel,
+# and an entry something like this in your device tree:
+#	pps {
+#		compatible = "pps-gpio";
+#		gpios = <&ps7_gpio_0 56 0>;
+#	};
+
+# In first three updates step the system clock instead of slew
+# if the adjustment is larger than 1 second.
+makestep 1.0 3
+
+# Record the rate at which the system clock gains/loses time,
+# improving accuracy after reboot
+driftfile /var/lib/chrony/drift
+
+# Enable kernel synchronization of the hardware real-time clock (RTC).
+rtcsync
+
+# Allow NTP client access from local network.
+#allow 192.168/16
+
+# Serve time even if not synchronized to any NTP server.
+#local stratum 10
+
+# Specify file containing keys for NTP authentication.
+#keyfile /etc/chrony.keys
+
+# Specify directory for log files.
+logdir /var/log/chrony
+
+# Select which information is logged.
+#log measurements statistics tracking
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chronyd b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chronyd
new file mode 100644
index 0000000..04f1b68
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony/chronyd
@@ -0,0 +1,58 @@
+#! /bin/sh
+
+# System V init script for chrony
+# Adapted from the script already in meta-networking for ntpd
+
+### BEGIN INIT INFO
+# Provides:        chrony
+# Required-Start:  $network $remote_fs $syslog
+# Required-Stop:   $network $remote_fs $syslog
+# Default-Start:   2 3 4 5
+# Default-Stop:
+# Short-Description: Start chrony time daemon
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/bin:/usr/sbin
+
+DAEMON=/usr/sbin/chronyd
+PIDFILE=/var/run/chronyd.pid
+
+test -x $DAEMON -a -r /etc/chrony.conf || exit 0
+
+# Source function library.
+. /etc/init.d/functions
+
+# Functions to do individual actions
+startdaemon(){
+	echo -n "Starting chronyd: "
+	start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --startas $DAEMON -- "$@"
+	echo "done"
+}
+stopdaemon(){
+	echo -n "Stopping chronyd: "
+	start-stop-daemon --stop --quiet --oknodo -p $PIDFILE
+	echo "done"
+}
+
+case "$1" in
+  start)
+	startdaemon
+	;;
+  stop)
+  	stopdaemon
+	;;
+  force-reload | restart | reload)
+  	stopdaemon
+	startdaemon
+	;;
+  status)
+	status /usr/sbin/chronyd;
+	exit $?
+	;;
+  *)
+	echo "Usage: chronyd { start | stop | status | restart | reload }" >&2
+	exit 1
+	;;
+esac
+
+exit 0
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
new file mode 100644
index 0000000..a8898dc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/chrony/chrony_2.4.bb
@@ -0,0 +1,133 @@
+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 \
+"
+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 scfilter \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '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"
+PACKAGECONFIG[ipv6] = "--enable-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 87306a6..099d885 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
@@ -4,7 +4,6 @@
 LICENSE = "GPLv3 & LGPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-DEPENDS = "samba"
 PV = "6.4"
 
 SRCREV = "487f46da737291877867cbd3acb40fea087d3863"
@@ -18,7 +17,8 @@
 PACKAGECONFIG[cifscreds] = "--enable-cifscreds,--disable-cifscreds,keyutils"
 # when enabled, it creates ${sbindir}/cifs.upcall and --ignore-fail-on-non-empty in do_install_append is needed
 PACKAGECONFIG[cifsupcall] = "--enable-cifsupcall,--disable-cifsupcall,krb5 libtalloc keyutils"
-PACKAGECONFIG[cifsidmap] = "--enable-cifsidmap,--disable-cifsidmap, keyutils"
+PACKAGECONFIG[cifsidmap] = "--enable-cifsidmap,--disable-cifsidmap,keyutils samba"
+PACKAGECONFIG[cifsacl] = "--enable-cifsacl,--disable-cifsacl,samba"
 PACKAGECONFIG[pam] = "--enable-pam --with-pamdir=${base_libdir}/security,--disable-pam,libpam keyutils"
 
 inherit autotools pkgconfig
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
index 4b07c0b..2b49096 100644
--- 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
@@ -5,24 +5,24 @@
 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 \
-          "
+    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}
+    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
+    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/*"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb
index 5675384..a14de46 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb
@@ -5,29 +5,29 @@
 RCONFLICTS_${PN} = "cim-schema-exper"
 
 SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-MOFs.zip \
-           file://LICENSE \
-          "
+    file://LICENSE \
+"
 SRC_URI[md5sum] = "a9bdf17c7374e3b5b7adeaac4842c4ad"
 SRC_URI[sha256sum] = "dbfa3064ea427acd71a4bebbc172ca2dc44b0b09a6d83b0945b9ffa988a9058a"
 LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4"
 
 do_unpack() {
-        unzip -q ${DL_DIR}/cim_schema_${PV}Final-MOFs.zip -d ${S}
-        cp -f ${FILE_DIRNAME}/files/LICENSE ${WORKDIR}/
+    unzip -q ${DL_DIR}/cim_schema_${PV}Final-MOFs.zip -d ${S}
+    cp -f ${FILE_DIRNAME}/files/LICENSE ${WORKDIR}/
 }
 
 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}
+    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
+    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/*"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.1.bb
deleted file mode 100644
index 5d75784..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.1.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-DESCRIPTION = "CTDB is a cluster implementation of the TDB database \
-used by Samba and other projects to store temporary data. If an \
-application is already using TDB for temporary data it is very easy \
-to convert that application to be cluster aware and use CTDB instead."
-HOMEPAGE = "https://ctdb.samba.org/"
-LICENSE = "GPL-2.0+ & LGPL-3.0+ & GPL-3.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 \
-                    "
-
-SRC_URI = "https://ftp.samba.org/pub/${PN}/${BP}.tar.gz \
-           file://01-support-cross-compile-for-linux-os.patch \
-           file://02-link-rep_snprintf-for-ltdbtool.patch \
-           file://service-ensure-the-PID-directory-is-created.patch \
-          "
-
-SRC_URI[md5sum] = "d0cd91726ff4ca2229e1b21859c94717"
-SRC_URI[sha256sum] = "d5bf3f674cae986bb6178b1db215a703ac94adc5f75fadfdcff63dcbb5e98ab5"
-
-inherit autotools-brokensep pkgconfig systemd
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libtdb] = "--without-included-tdb,--with-included-tdb,libtdb"
-
-PARALLEL_MAKE = ""
-
-DEPENDS += "popt libtevent libtalloc libldb"
-
-# ctdbd_wrapper requires pgrep, hence procps
-RDEPENDS_${PN} += "procps"
-
-do_configure() {
-    oe_runconf
-}
-
-do_install_append() {
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${S}/config/ctdb.service ${D}${systemd_unitdir}/system
-    sed -i -e 's,/usr/sbin/,${sbindir}/,' ${D}${systemd_unitdir}/system/ctdb.service
-    sed -i -e 's,\([=\ ]\)/run/,\1${localstatedir}/run/,' ${D}${systemd_unitdir}/system/ctdb.service
-
-    rm -r ${D}/${localstatedir}/run
-}
-
-# The systemd service is disabled by default, as the service will fail to
-# start without /etc/ctdb/nodes. If the user supplies this, they can re-enable
-# the service.
-SYSTEMD_AUTO_ENABLE = "disable"
-SYSTEMD_SERVICE_${PN} = "ctdb.service"
-
-# onnode is a shell script with bashisms and bash #!
-RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.6.bb
new file mode 100644
index 0000000..d58e572
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.6.bb
@@ -0,0 +1,54 @@
+DESCRIPTION = "CTDB is a cluster implementation of the TDB database \
+used by Samba and other projects to store temporary data. If an \
+application is already using TDB for temporary data it is very easy \
+to convert that application to be cluster aware and use CTDB instead."
+HOMEPAGE = "https://ctdb.samba.org/"
+LICENSE = "GPL-2.0+ & LGPL-3.0+ & GPL-3.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 \
+                    "
+
+SRC_URI = "https://ftp.samba.org/pub/${PN}/${BP}.tar.gz \
+           file://01-support-cross-compile-for-linux-os.patch \
+           file://02-link-rep_snprintf-for-ltdbtool.patch \
+           file://service-ensure-the-PID-directory-is-created.patch \
+          "
+
+SRC_URI[md5sum] = "efc50109f90a4c790124c35e4ba234ad"
+SRC_URI[sha256sum] = "fc1cdd7efcc91afc629f21408281bba5da107b9c17e74bdee2f28a532d14f874"
+
+inherit autotools-brokensep pkgconfig systemd
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libtdb] = "--without-included-tdb,--with-included-tdb,libtdb"
+
+PARALLEL_MAKE = ""
+
+DEPENDS += "popt libtevent libtalloc libldb"
+
+# ctdbd_wrapper requires pgrep, hence procps
+RDEPENDS_${PN} += "procps"
+
+do_configure() {
+    oe_runconf
+}
+
+do_install_append() {
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${S}/config/ctdb.service ${D}${systemd_unitdir}/system
+    sed -i -e 's,/usr/sbin/,${sbindir}/,' ${D}${systemd_unitdir}/system/ctdb.service
+    sed -i -e 's,\([=\ ]\)/run/,\1${localstatedir}/run/,' ${D}${systemd_unitdir}/system/ctdb.service
+
+    rm -r ${D}/${localstatedir}/run
+}
+
+# The systemd service is disabled by default, as the service will fail to
+# start without /etc/ctdb/nodes. If the user supplies this, they can re-enable
+# the service.
+SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE_${PN} = "ctdb.service"
+
+# onnode is a shell script with bashisms and bash #!
+RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb
index 5663f0e..1848aa6 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb
@@ -8,23 +8,31 @@
 DEPENDS_class-native = "curl-native"
 
 SRC_URI = "http://curlpp.googlecode.com/files/curlpp-${PV}.tar.gz \
-           file://example21.cpp-remove-deprecated-code.patch \
-	"
+    file://example21.cpp-remove-deprecated-code.patch \
+"
 
 SRC_URI[md5sum] = "ccc3d30d4b3b5d2cdbed635898c29485"
 SRC_URI[sha256sum] = "e3f9427b27c5bddf898d383d45c0d3d5397e2056ff935d9a5cdaef6a9a653bd5"
 
 inherit autotools-brokensep pkgconfig binconfig
 
+# Upstream is currently working on porting the code to use std::unique_ptr instead of the
+# deprecated auto_ptr.  For now, ignore the issue.
+CXXFLAGS += "-Wno-error=deprecated-declarations"
+
+do_install_append () {
+    sed -i 's,${STAGING_DIR_TARGET},,g' ${D}${libdir}/pkgconfig/curlpp.pc
+}
+
 PACKAGES =+ "libcurlpp libcurlpp-dev libcurlpp-staticdev"
 
-FILES_lib${BPN} = "${libdir}/lib*.so.* \
-		"
+FILES_lib${BPN} = "${libdir}/lib*.so.*"
 
 FILES_lib${BPN}-dev = "${includedir} \
-                      ${libdir}/lib*.la \
-                      ${libdir}/pkgconfig \
-                      ${bindir}/*-config"
+    ${libdir}/lib*.la \
+    ${libdir}/pkgconfig \
+    ${bindir}/*-config \
+"
 
 FILES_lib${BPN}-staticdev = "${libdir}/lib*.a"
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
index cc7f9e3..9ef54fe 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
@@ -26,10 +26,10 @@
 PACKAGECONFIG[lua] = ",,lua"
 PACKAGECONFIG[resolvconf] = ",,,resolvconf"
 EXTRA_OEMAKE = "\
-    'COPTS=${@base_contains('PACKAGECONFIG', 'dbus', '-DHAVE_DBUS', '', d)} \
-           ${@base_contains('PACKAGECONFIG', 'idn', '-DHAVE_IDN', '', d)} \
-           ${@base_contains('PACKAGECONFIG', 'conntrack', '-DHAVE_CONNTRACK', '', d)} \
-           ${@base_contains('PACKAGECONFIG', 'lua', '-DHAVE_LUASCRIPT', '', d)}' \
+    'COPTS=${@bb.utils.contains('PACKAGECONFIG', 'dbus', '-DHAVE_DBUS', '', d)} \
+           ${@bb.utils.contains('PACKAGECONFIG', 'idn', '-DHAVE_IDN', '', d)} \
+           ${@bb.utils.contains('PACKAGECONFIG', 'conntrack', '-DHAVE_CONNTRACK', '', d)} \
+           ${@bb.utils.contains('PACKAGECONFIG', 'lua', '-DHAVE_LUASCRIPT', '', d)}' \
     'CFLAGS=${CFLAGS}' \
     'LDFLAGS=${LDFLAGS}' \
 "
@@ -38,7 +38,7 @@
 
 do_compile_append() {
     # build dhcp_release
-    cd ${S}/contrib/wrt
+    cd ${S}/contrib/lease-tools
     oe_runmake
 }
 
@@ -53,19 +53,19 @@
 
     install -d ${D}${systemd_unitdir}/system
 
-    if [ "${@base_contains('PACKAGECONFIG', 'resolvconf', 'resolvconf', '', d)}" != "" ]; then
+    if [ "${@bb.utils.contains('PACKAGECONFIG', 'resolvconf', 'resolvconf', '', d)}" != "" ]; then
         install -m 0644 ${WORKDIR}/dnsmasq-resolvconf.service ${D}${systemd_unitdir}/system/dnsmasq.service
     else
         install -m 0644 ${WORKDIR}/dnsmasq-noresolvconf.service ${D}${systemd_unitdir}/system/dnsmasq.service
     fi
 
-    install -m 0755 ${S}/contrib/wrt/dhcp_release ${D}${bindir}
+    install -m 0755 ${S}/contrib/lease-tools/dhcp_release ${D}${bindir}
 
-    if [ "${@base_contains('PACKAGECONFIG', 'dbus', 'dbus', '', d)}" != "" ]; then
+    if [ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'dbus', '', d)}" != "" ]; then
         install -d ${D}${sysconfdir}/dbus-1/system.d
         install -m 644 dbus/dnsmasq.conf ${D}${sysconfdir}/dbus-1/system.d/
     fi
-    if [ "${@base_contains('PACKAGECONFIG', 'resolvconf', 'resolvconf', '', d)}" != "" ]; then
+    if [ "${@bb.utils.contains('PACKAGECONFIG', 'resolvconf', 'resolvconf', '', d)}" != "" ]; then
         install -d ${D}${sysconfdir}/resolvconf/update.d/
         install -m 0755 ${WORKDIR}/dnsmasq.resolvconf ${D}${sysconfdir}/resolvconf/update.d/dnsmasq
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.75.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.75.bb
deleted file mode 100644
index a11aabb..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.75.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require dnsmasq.inc
-
-SRC_URI += "\
-    file://lua.patch \
-"
-
-SRC_URI[dnsmasq-2.75.md5sum] = "d99ac126d4fe910c679d88430559669b"
-SRC_URI[dnsmasq-2.75.sha256sum] = "f8252c0a0ba162c2cd45f81140c7c17cc40a5fca2b869d1a420835b74acad294"
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.76.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.76.bb
new file mode 100644
index 0000000..41573d9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.76.bb
@@ -0,0 +1,8 @@
+require dnsmasq.inc
+
+SRC_URI += "\
+    file://lua.patch \
+"
+
+SRC_URI[dnsmasq-2.76.md5sum] = "6610f8233ca89b15a1bb47c788ffb84f"
+SRC_URI[dnsmasq-2.76.sha256sum] = "777c4762d2fee3738a0380401f2d087b47faa41db2317c60660d69ad10a76c32"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.21.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.21.bb
deleted file mode 100644
index d7a7cc5..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.21.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "Dovecot is an open source IMAP and POP3 email server"
-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"
-
-SRC_URI[md5sum] = "28c39ab78a20f00701c26960d9190cf0"
-SRC_URI[sha256sum] = "7ab7139e59e1f0353bf9c24251f13c893cf1a6ef4bcc47e2d44de437108d0b20"
-
-DEPENDS = "openssl xz zlib bzip2 libcap icu"
-
-inherit autotools pkgconfig systemd useradd
-
-PACKAGECONFIG ??= " \
-                   ${@base_contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
-                   ${@base_contains('DISTRO_FEATURES', 'pam', '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.25.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.25.bb
new file mode 100644
index 0000000..66af361
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.2.25.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Dovecot is an open source IMAP and POP3 email server"
+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"
+
+SRC_URI[md5sum] = "8f62ea76489c47c369cbbe0b19818448"
+SRC_URI[sha256sum] = "d8d9f32c846397f7c22749a84c5cf6f59c55ff7ded3dc9f07749a255182f9667"
+
+DEPENDS = "openssl xz zlib bzip2 libcap icu"
+
+inherit autotools pkgconfig systemd useradd
+
+PACKAGECONFIG ??= " \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '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.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.3.bb
deleted file mode 100644
index 44459b5..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.3.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Distributed block device driver for Linux"
-DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\
-DRBD mirrors a block device over the network to another machine.\
-Think of it as networked raid 1. It is a building block for\
-setting up high availability (HA) clusters."
-HOMEPAGE = "http://www.drbd.org/"
-SECTION = "admin"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
-
-SRC_URI = "http://oss.linbit.com/drbd/${BP}.tar.gz \
-           file://0001-Makefile.in-don-t-compile-documentation.patch \
-           file://0001-Makefile.in-fix-permission-bits-for-drbd.service.patch \
-          "
-SRC_URI[md5sum] = "09c9c33c041e1f4f85dd359f9e0b0f24"
-SRC_URI[sha256sum] = "011050578c153bf4fef86e03749304ff9f333b7af3512c5c395e0e870a0445bd"
-
-SYSTEMD_SERVICE_${PN} = "drbd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-inherit autotools-brokensep systemd
-
-EXTRA_OECONF = " \
-                --with-initdir=/etc/init.d    \
-                --without-pacemaker           \
-                --without-rgmanager           \
-                --without-bashcompletion      \
-                --with-distro debian          \
-                --with-initscripttype=both    \
-                --with-systemdunitdir=${systemd_unitdir}/system \
-               "
-
-RDEPENDS_${PN} += "bash perl"
-
-# The drbd items are explicitly put under /lib when installed.
-#
-FILES_${PN} += "/run"
-FILES_${PN} += "${nonarch_base_libdir}/drbd \
-                ${nonarch_libdir}/drbd \
-                ${nonarch_libdir}/tmpfiles.d"
-FILES_${PN}-dbg += "${nonarch_base_libdir}/drbd/.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
new file mode 100644
index 0000000..3d6f5b2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_8.9.6.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Distributed block device driver for Linux"
+DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\
+DRBD mirrors a block device over the network to another machine.\
+Think of it as networked raid 1. It is a building block for\
+setting up high availability (HA) clusters."
+HOMEPAGE = "http://www.drbd.org/"
+SECTION = "admin"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+
+SRC_URI = "http://oss.linbit.com/drbd/${BP}.tar.gz \
+           file://0001-Makefile.in-fix-permission-bits-for-drbd.service.patch \
+          "
+SRC_URI[md5sum] = "76ed6d3190cd77b00890f3365353124b"
+SRC_URI[sha256sum] = "297b77c9b3f88de2e7dae459234f2753ea4fc2805282b2d276e35cf51e292913"
+
+SYSTEMD_SERVICE_${PN} = "drbd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+inherit autotools-brokensep systemd
+
+EXTRA_OECONF = " \
+                --with-initdir=/etc/init.d    \
+                --without-pacemaker           \
+                --without-rgmanager           \
+                --without-bashcompletion      \
+                --with-distro debian          \
+                --with-initscripttype=both    \
+                --with-systemdunitdir=${systemd_unitdir}/system \
+                --without-manual\
+               "
+
+RDEPENDS_${PN} += "bash perl"
+
+# The drbd items are explicitly put under /lib when installed.
+#
+FILES_${PN} += "/run"
+FILES_${PN} += "${nonarch_base_libdir}/drbd \
+                ${nonarch_libdir}/drbd \
+                ${nonarch_libdir}/tmpfiles.d"
+FILES_${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
index 163148c..2da73e7 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
@@ -24,6 +24,11 @@
 ALTERNATIVE_TARGET[sendmail] = "${bindir}/esmtp"
 ALTERNATIVE_PRIORITY = "10"
 
+ALTERNATIVE_${PN}-doc += "mailq.1 newaliases.1 sendmail.1"
+ALTERNATIVE_LINK_NAME[mailq.1] = "${mandir}/man1/mailq.1"
+ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1"
+ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1"
+
 SRC_URI[md5sum] = "79a9c1f9023d53f35bb82bf446150a72"
 SRC_URI[sha256sum] = "a0d26931bf731f97514da266d079d8bc7d73c65b3499ed080576ab606b21c0ce"
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb
index b6b17b7..2f5f2b6 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/fping/fping_3.5.bb
@@ -21,5 +21,5 @@
 
 EXTRA_OECONF = "--enable-ipv4"
 
-PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.45.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.45.bb
deleted file mode 100644
index 728ad58..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.45.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# Copyright (C) 2014, 2015 Wind River Systems, Inc.
-# Released under the MIT license (see COPYING.MIT for the terms)
-#
-SUMMARY = "GeoIP perl API library to access location database"
-DESCRIPTION = "perl library for country/city/organization to IP address or hostname mapping"
-HOMEPAGE = "http://www.maxmind.com/app/ip-location"
-SECTION = "libdevel"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;md5=b0fa745303912bd2d64430f7ae69487d"
-
-# 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 \
-           file://run-ptest \
-          "
-
-SRC_URI[md5sum] = "0ce57140890bf81958e0cea4fe1885b2"
-SRC_URI[sha256sum] = "c56437b1cc8887736cb1e435d0320c1c1ff3754830249516317b99137005fb23"
-
-S = "${WORKDIR}/geoip-api-perl-${PV}"
-
-DEPENDS += "geoip"
-
-inherit cpan ptest
-
-EXTRA_CPANFLAGS = "LIBS='-L${STAGING_LIBDIR}' INC='-I${STAGING_INCDIR}'"
-
-
-# perl scripts and some special small data files
-#
-do_install_ptest () {
-	install -d -m 0755 ${D}${PTEST_PATH}/t/data
-
-	install ${S}/t/*.t* ${D}${PTEST_PATH}/t
-	install ${S}/t/data/* ${D}${PTEST_PATH}/t/data
-}
-
-FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/Geo/IP/.debug"
-
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
new file mode 100644
index 0000000..a8c8bcf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip-perl_1.50.bb
@@ -0,0 +1,40 @@
+#
+# Copyright (C) 2014, 2015 Wind River Systems, Inc.
+# Released under the MIT license (see COPYING.MIT for the terms)
+#
+SUMMARY = "GeoIP perl API library to access location database"
+DESCRIPTION = "perl library for country/city/organization to IP address or hostname mapping"
+HOMEPAGE = "http://www.maxmind.com/app/ip-location"
+SECTION = "libdevel"
+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 \
+    file://run-ptest \
+"
+
+SRC_URI[md5sum] = "2d7f8b1b54e6ba6d9e3fefce52675815"
+SRC_URI[sha256sum] = "86da0dd67f417a43dc70f15a49bd3619f668970c117b9e7f737b4ab246c240a6"
+
+S = "${WORKDIR}/geoip-api-perl-${PV}"
+
+DEPENDS += "geoip"
+
+inherit cpan ptest
+
+EXTRA_CPANFLAGS = "LIBS='-L${STAGING_LIBDIR}' INC='-I${STAGING_INCDIR}'"
+
+
+# perl scripts and some special small data files
+#
+do_install_ptest () {
+    install -d -m 0755 ${D}${PTEST_PATH}/t/data
+
+    install ${S}/t/*.t* ${D}${PTEST_PATH}/t
+    install ${S}/t/data/* ${D}${PTEST_PATH}/t/data
+}
+
+FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/Geo/IP/.debug"
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.6.bb
deleted file mode 100644
index 0605154..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.6.bb
+++ /dev/null
@@ -1,93 +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 = "ed3f3e2b87fba05a8f2a5b9b1328e7d55be8bf30"
-
-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
new file mode 100644
index 0000000..9e8e0714
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoip_1.6.9.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 = "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.2.1/GeoIP.conf b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.2/GeoIP.conf
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.1/GeoIP.conf
rename to import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.2/GeoIP.conf
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.1/geoipupdate.cron b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.2/geoipupdate.cron
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.1/geoipupdate.cron
rename to import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate-2.2.2/geoipupdate.cron
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.2.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.2.1.bb
deleted file mode 100644
index 7a3a002..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.2.1.bb
+++ /dev/null
@@ -1,30 +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.2.1/geoipupdate-2.2.1.tar.gz \
-           file://GeoIP.conf \
-           file://geoipupdate.cron \
-          "
-
-SRC_URI[md5sum] = "abfd4bb9dd7fd489c103888dde5f2a57"
-SRC_URI[sha256sum] = "9547c42cc8620b2c3040fd8df95e8ee45c8b6ebcca7737d641f9526104d5f446"
-
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "\
-file://ChangeLog.md;md5=5ca3d911ed549b0756b03410ff77fa62 \
-"
-
-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.2.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.2.2.bb
new file mode 100644
index 0000000..3bc936a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/geoip/geoipupdate_2.2.2.bb
@@ -0,0 +1,30 @@
+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.2.2/geoipupdate-2.2.2.tar.gz \
+           file://GeoIP.conf \
+           file://geoipupdate.cron \
+          "
+
+SRC_URI[md5sum] = "06284bd7bcb298d078d794eb630dae55"
+SRC_URI[sha256sum] = "156ab7604255a9c62c4a442c76d48d024ac813c6542639bffa93b28e2a781621"
+
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "\
+file://ChangeLog.md;md5=8ebf6f27a39125c3d600c90914b4034a \
+"
+
+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/ifenslave/ifenslave_1.1.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_1.1.0.bb
deleted file mode 100644
index acc0864..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_1.1.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Configure network interfaces for parallel routing"
-HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding"
-SECTION = "net"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://ifenslave.c;beginline=8;endline=12;md5=a9f0bd2324cdc1b36d1f44f0e643a62a"
-
-SRC_URI = "http://ftp.debian.org/debian/pool/main/i/${BPN}-2.6/${BPN}-2.6_${PV}.orig.tar.gz"
-SRC_URI[md5sum] = "56126cd1013cefe0ce6f81613e677bdd"
-SRC_URI[sha256sum] = "7917bf34de80a2492eb225adf9168c83a4854ac8a008ed0fd5b3fd147ccd3041"
-
-do_compile() {
-    ${CC} ifenslave.c -o ifenslave
-}
-do_install() {
-    install -d "${D}${sbindir}"
-    install -m 755 "${S}/ifenslave" "${D}${sbindir}/"
-}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.7.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.7.bb
new file mode 100644
index 0000000..7473b0d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.7.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Configure network interfaces for parallel routing"
+HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding"
+SECTION = "net"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=6807ba81c0744ab50d735c94628c3f64"
+
+SRCREV = "400c490d52acb31f1064e1bf4fc9fcaf3791888f"
+SRC_URI = "git://anonscm.debian.org/collab-maint/ifenslave.git"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+    install -d ${D}${sbindir}
+    install -m 0755 ${S}/ifenslave ${D}${sbindir}/
+
+    install -m 0755 -D ${S}/debian/ifenslave.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/ifenslave
+    install -m 0755 -D ${S}/debian/ifenslave.if-post-down ${D}${sysconfdir}/network/if-post-down.d/ifenslave
+    install -m 0755 -D ${S}/debian/ifenslave.if-up ${D}${sysconfdir}/network/if-up.d/ifenslave
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
index d9f1212..4466974 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
@@ -61,7 +61,7 @@
                 --enable-dpd \
                 --enable-natt=yes \
                 --sysconfdir=${sysconfdir}/racoon \
-                ${@base_contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6=yes', '', d)}"
+                ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6=yes', '', d)}"
 
 # See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530527
 CFLAGS += "-fno-strict-aliasing"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm/makefile-add-ldflags.patch
new file mode 100644
index 0000000..1bf1eed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm/makefile-add-ldflags.patch
@@ -0,0 +1,19 @@
+Add LDFLAGS variable to Makefile, make sure the extra linker flags can be passed.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/Makefile b/Makefile
+index 461c021..8bc9cde 100644
+--- a/Makefile
++++ b/Makefile
+@@ -86,7 +86,7 @@ libs:
+ 		make -C libipvs
+ 
+ ipvsadm:	$(OBJS) libs
+-		$(CC) $(CFLAGS) -o $@ $(OBJS) $(STATIC_LIBS) $(LIBS)
++		$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(STATIC_LIBS) $(LIBS)
+ 
+ install:        all
+ 		if [ ! -d $(SBIN) ]; then $(MKDIR) -p $(SBIN); fi
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.26.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.26.bb
index 7302e9d..8d1b3f0 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.26.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.26.bb
@@ -19,6 +19,7 @@
         file://0001-Modify-the-Makefile-for-cross-compile.patch \
         file://0002-Replace-nl_handle-to-nl_sock.patch \
         file://0003-ipvsadm-remove-dependency-on-bash.patch \
+        file://makefile-add-ldflags.patch \
 "
 
 SRC_URI[md5sum] = "eac3ba3f62cd4dea2da353aeddd353a8"
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
new file mode 100644
index 0000000..93bd457
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb/ldb-Add-configure-options-for-packages.patch
@@ -0,0 +1,177 @@
+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_1.1.26.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.26.bb
deleted file mode 100644
index 5458d47..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.26.bb
+++ /dev/null
@@ -1,49 +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 += "libbsd 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 \
-          "
-
-PACKAGECONFIG[ldap] = ",,openldap"
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
-
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
-                    file://${COREBASE}/meta/files/common-licenses/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780 \
-                    file://${COREBASE}/meta/files/common-licenses/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
-
-SRC_URI[md5sum] = "31780b702b638ad32aa5d9853d257839"
-SRC_URI[sha256sum] = "8843c7a72b980d9413ba6c494c039bccd10c524b37fda2917afb147745d8b2e6"
-
-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}\
-                "
-DISABLE_STATIC = ""
-
-PACKAGES += "pyldb pyldb-dbg pyldb-dev"
-
-FILES_${PN} += "${libdir}/ldb/*"
-FILES_${PN}-dbg += "${libdir}/ldb/.debug/* \
-                    ${libdir}/ldb/modules/ldb/.debug/*"
-
-FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
-               ${libdir}/libpyldb-util.so.1 \
-               ${libdir}/libpyldb-util.so.1.1.17 \
-              "
-FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
-                   ${libdir}/.debug/libpyldb-util.so.1.1.17"
-FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.27.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.27.bb
new file mode 100644
index 0000000..f4370ef
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.1.27.bb
@@ -0,0 +1,61 @@
+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.contains('DISTRO_FEATURES', 'acl', '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] = "50a194dea128d062cf4b44c59130219b"
+SRC_URI[sha256sum] = "cdb8269cba09006ddf3766eb7721192b52ae3fdc8a6b95f4318b6b740b9d35ac"
+
+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}\
+                "
+DISABLE_STATIC = ""
+
+PACKAGES += "pyldb pyldb-dbg pyldb-dev"
+
+FILES_${PN} += "${libdir}/ldb/*"
+FILES_${PN}-dbg += "${libdir}/ldb/.debug/* \
+                    ${libdir}/ldb/modules/ldb/.debug/*"
+
+FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
+               ${libdir}/libpyldb-util.so.1 \
+               ${libdir}/libpyldb-util.so.1.1.17 \
+              "
+FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
+                   ${libdir}/.debug/libpyldb-util.so.1.1.17"
+FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
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
new file mode 100644
index 0000000..46b2405
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/talloc-Add-configure-options-for-packages.patch
@@ -0,0 +1,177 @@
+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.6.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.6.bb
deleted file mode 100644
index 8937311..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.6.bb
+++ /dev/null
@@ -1,42 +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+"
-
-DEPENDS += "libbsd"
-
-SRC_URI = "http://samba.org/ftp/talloc/talloc-${PV}.tar.gz"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
-                    file://${COREBASE}/meta/files/common-licenses/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
-
-SRC_URI[md5sum] = "707010c6ede5821fd34397f5d9ec6ab8"
-SRC_URI[sha256sum] = "3b8e1a50bacb359d99942e0dd9941cef779ae4b5eb20f138873bd8270cb1d47b"
-
-
-inherit waf-samba
-
-PACKAGECONFIG[attr] = ",,attr"
-
-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}\
-                "
-DISABLE_STATIC = ""
-
-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.8.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.8.bb
new file mode 100644
index 0000000..97a9a75
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.8.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://talloc.samba.org"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & GPL-3.0+"
+
+SRC_URI = "http://samba.org/ftp/talloc/talloc-${PV}.tar.gz \
+           file://talloc-Add-configure-options-for-packages.patch \
+"
+LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6d5228bfa7825249 \
+                    file://pytalloc.h;beginline=1;endline=18;md5=2c498cc6f2263672483237b20f46b43d"
+
+SRC_URI[md5sum] = "6fb70af4174330e4cc139ea63b07c9e9"
+SRC_URI[sha256sum] = "22d14911164d4de67ff76b5269fa5250d01f78c955bc77e28615350996877130"
+
+
+inherit waf-samba
+
+PACKAGECONFIG ??= "\
+    ${@bb.utils.contains('DISTRO_FEATURES', 'acl', '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}\
+                "
+DISABLE_STATIC = ""
+
+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/tdb-Add-configure-options-for-packages.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
new file mode 100644
index 0000000..4000557
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
@@ -0,0 +1,177 @@
+From 10ac5e5fdda44adcc2a159b6f9a2d51a51361057 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 21 Sep 2016 10:46:19 +0800
+Subject: [PATCH] tdb: 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 145300d..310048c 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 50b2286..748eef1 100644
+--- a/wscript
++++ b/wscript
+@@ -64,7 +64,12 @@ def set_options(opt):
+         opt.add_option('--disable-python',
+                        help=("disable the pytdb 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.env.disable_tdb_mutex_locking = getattr(Options.options,
+-- 
+2.8.3
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.10.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.10.bb
new file mode 100644
index 0000000..1d65d39
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.10.bb
@@ -0,0 +1,44 @@
+SUMMARY = "The tdb library"
+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 = "http://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] = "c98f24eb469022b0f1741d3a504cfda5"
+SRC_URI[sha256sum] = "5578fb726bd04835f250bea11fe7d1398fe0bb3a7c9390404241c83cd6b50c1c"
+
+PACKAGECONFIG ??= "\
+    ${@bb.utils.contains('DISTRO_FEATURES', 'acl', '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}\
+                "
+DISABLE_STATIC = ""
+
+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.8.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.8.bb
deleted file mode 100644
index bf6698a..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.8.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "The tdb library"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & GPL-3.0+"
-
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
-                    file://${COREBASE}/meta/files/common-licenses/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
-
-SRC_URI = "http://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
-           file://do-not-check-xsltproc-manpages.patch"
-
-SRC_URI[md5sum] = "fa4c9e2f59fcf41441285bca5f5ab481"
-SRC_URI[sha256sum] = "0605ac0427eac9c23bf61ebfd8206a07d5ece198498eab1769cd0cfb6e7de6b1"
-
-S = "${WORKDIR}/tdb-${PV}"
-
-inherit waf-samba
-
-EXTRA_OECONF += "--disable-rpath \
-                 --bundled-libraries=NONE \
-                 --builtin-libraries=replace \
-                 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
-                "
-DISABLE_STATIC = ""
-
-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/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
new file mode 100644
index 0000000..ddb8e4e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/tevent-Add-configure-options-for-packages.patch
@@ -0,0 +1,180 @@
+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.28.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.28.bb
deleted file mode 100644
index d0ad748..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.28.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://tevent.samba.org"
-SECTION = "libs"
-LICENSE = "LGPLv3+"
-
-DEPENDS += "libbsd libtalloc"
-RDEPENDS_python-tevent = "python"
-
-SRC_URI = "http://samba.org/ftp/tevent/tevent-${PV}.tar.gz"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b"
-
-SRC_URI[md5sum] = "945845817918f5cfbe0202d80a7db118"
-SRC_URI[sha256sum] = "04d953379025b1560af5c4ffcce58a3ee84db7aaa09c9f1e3eff5b2945a13529"
-
-inherit waf-samba
-
-PACKAGECONFIG[attr] = ",,attr"
-
-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 \
-                "
-DISABLE_STATIC = ""
-
-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.29.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.29.bb
new file mode 100644
index 0000000..9f4e235
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.29.bb
@@ -0,0 +1,45 @@
+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 = "http://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] = "4372c1430a1ecb7ea0adddfdf21c0d55"
+SRC_URI[sha256sum] = "a4f519b0bbb718fe2175bee9011ee4d199675f28c2ef80531be38e7bbaa1c42b"
+
+inherit waf-samba
+
+PACKAGECONFIG ??= "\
+    ${@bb.utils.contains('DISTRO_FEATURES', 'acl', '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 \
+                "
+DISABLE_STATIC = ""
+
+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/linux-atm/linux-atm/0001-fix-compile-error-with-linux-kernel-v4.8.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-fix-compile-error-with-linux-kernel-v4.8.patch
new file mode 100644
index 0000000..583a6ca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-fix-compile-error-with-linux-kernel-v4.8.patch
@@ -0,0 +1,74 @@
+From 7cdafc0dee8054f82777ed3bf6d4c8b5582d09ad Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Tue, 18 Oct 2016 07:56:02 +0000
+Subject: [PATCH] fix compile error with linux kernel v4.8
+
+In src/maint/zntune.c, the glibc time.h is included before linux
+time.h, so when compile the zntune.c, it break down by errors:
+
+	redefinition of 'struct timespec' 'struct timeval'
+	                'struct timezone' 'struct itimerval'
+
+We should exclude the linux time.h by disable linux/atm_zatm.h and
+move some useful definition in linux/atm_zatm.h to zntune.c to resolve
+it.
+
+Upstream-status: Pending
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ src/include/atm_zatm.h | 26 ++++++++++++++++++++++++++
+ src/maint/zntune.c     |  3 +--
+ 2 files changed, 27 insertions(+), 2 deletions(-)
+ create mode 100644 src/include/atm_zatm.h
+
+diff --git a/src/include/atm_zatm.h b/src/include/atm_zatm.h
+new file mode 100644
+index 0000000..7d64f4d
+--- /dev/null
++++ b/src/include/atm_zatm.h
+@@ -0,0 +1,26 @@
++#include <linux/atmapi.h>
++#include <linux/atmioc.h>
++
++#define ZATM_GETPOOL    _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc)
++                                                /* get pool statistics */
++#define ZATM_GETPOOLZ   _IOW('a',ATMIOC_SARPRV+2,struct atmif_sioc)
++                                                /* get statistics and zero */
++#define ZATM_SETPOOL    _IOW('a',ATMIOC_SARPRV+3,struct atmif_sioc)
++
++struct zatm_pool_info {
++        int ref_count;                  /* free buffer pool usage counters */
++        int low_water,high_water;       /* refill parameters */
++        int rqa_count,rqu_count;        /* queue condition counters */
++        int offset,next_off;            /* alignment optimizations: offset */
++        int next_cnt,next_thres;        /* repetition counter and threshold */
++};                                                /* set pool parameters */
++
++struct zatm_pool_req {
++        int pool_num;                   /* pool number */
++        struct zatm_pool_info info;     /* actual information */
++};
++
++#define ZATM_OAM_POOL           0       /* free buffer pool for OAM cells */
++#define ZATM_AAL0_POOL          1       /* free buffer pool for AAL0 cells */
++#define ZATM_AAL5_POOL_BASE     2       /* first AAL5 free buffer pool */
++#define ZATM_LAST_POOL  ZATM_AAL5_POOL_BASE+10 /* max. 64 kB */
+diff --git a/src/maint/zntune.c b/src/maint/zntune.c
+index 62d62ab..bb93eab 100644
+--- a/src/maint/zntune.c
++++ b/src/maint/zntune.c
+@@ -13,9 +13,8 @@
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
+ #include <atm.h>
++#include <atm_zatm.h>
+ #include <sys/time.h> /* for struct timeval, although it's not used */
+-#include <linux/atm_zatm.h>
+-
+ 
+ static void usage(const char *name)
+ {
+-- 
+2.9.0
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
index edfb045..6ab8b07 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
@@ -9,7 +9,9 @@
 
 SRC_URI = "http://nchc.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
            file://link-with-ldflags.patch \
-           file://install-from-buildir.patch"
+           file://install-from-buildir.patch \
+           file://0001-fix-compile-error-with-linux-kernel-v4.8.patch \
+"
 
 SRC_URI[md5sum] = "d49499368c3cf15f73a05d9bce8824a8"
 SRC_URI[sha256sum] = "9645481a2b16476b59220aa2d6bc5bc41043f291326c9b37581018fbd16dd53a"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb
deleted file mode 100644
index d3e6a5d..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project"
-HOMEPAGE = "http://lksctp.org"
-SECTION = "net"
-LICENSE = "LGPLv2.1 & GPLv2"
-
-LIC_FILES_CHKSUM = " \
-    file://COPYING.lib;md5=0a1b79af951c42a9c8573533fbba9a92 \
-    file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \
-"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/lksctp/${BP}.tar.gz \
-           file://run-ptest \
-           file://v4test.sh \
-           file://v6test.sh \
-          "
-
-SRC_URI[md5sum] = "708bb0b5a6806ad6e8d13c55b067518e"
-SRC_URI[sha256sum] = "0903dd526b7f30a89d5031aa2c82757612becc38ed7bc6e4f972f8deae351f26"
-
-#| 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] ?= "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', "BROKEN: fails to link against sctp_connectx symbol", '', d)}"
-
-S = "${WORKDIR}/${BP}"
-
-BBCLASSEXTEND = "native"
-
-inherit autotools pkgconfig binconfig ptest
-
-do_install_ptest () {
-	install -m 0755 ${WORKDIR}/v4test.sh ${D}${PTEST_PATH}
-	install -m 0755 ${WORKDIR}/v6test.sh ${D}${PTEST_PATH}
-	for testcase in `find ${B}/src/apps/.libs ${B}/src/func_tests/.libs -maxdepth 1 -type f -executable`; do
-		install $testcase ${D}${PTEST_PATH}
-	done
-}
-
-SOLIBVERSION="${PV}"
-SOLIBMAJORVERSION="1"
-
-PACKAGES =+ "${PN}-withsctp ${PN}-utils"
-
-FILES_${PN} = " \
-    ${libdir}/libsctp.so.${SOLIBVERSION} \
-    ${libdir}/libsctp.so.${SOLIBMAJORVERSION} \
-"
-
-FILES_${PN}-withsctp = " \
-    ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBVERSION} \
-    ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBMAJORVERSION} \
-"
-
-FILES_${PN}-dev += " \
-    ${libdir}/libsctp.so \
-    ${libdir}/lksctp-tools/libwithsctp.so \
-    ${datadir}/lksctp-tools/*.c \
-    ${datadir}/lksctp-tools/*.h \
-"
-
-FILES_${PN}-utils = "${bindir}/*"
-
-RRECOMMENDS_${PN}-utils += "kernel-module-sctp"
-RRECOMMENDS_${PN}-ptest += "kernel-module-sctp"
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
new file mode 100644
index 0000000..11c43ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.17.bb
@@ -0,0 +1,65 @@
+SUMMARY = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project"
+HOMEPAGE = "http://lksctp.org"
+SECTION = "net"
+LICENSE = "LGPLv2.1 & GPLv2"
+
+LIC_FILES_CHKSUM = " \
+    file://COPYING.lib;md5=0a1b79af951c42a9c8573533fbba9a92 \
+    file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \
+"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lksctp/${BP}.tar.gz \
+    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}"
+
+BBCLASSEXTEND = "native"
+
+inherit autotools pkgconfig binconfig ptest
+
+do_install_ptest () {
+    install -m 0755 ${WORKDIR}/v4test.sh ${D}${PTEST_PATH}
+    install -m 0755 ${WORKDIR}/v6test.sh ${D}${PTEST_PATH}
+    for testcase in `find ${B}/src/apps/.libs ${B}/src/func_tests/.libs -maxdepth 1 -type f -executable`; do
+        install $testcase ${D}${PTEST_PATH}
+    done
+}
+
+SOLIBVERSION="${PV}"
+SOLIBMAJORVERSION="1"
+
+PACKAGES =+ "${PN}-withsctp ${PN}-utils"
+
+FILES_${PN} = " \
+    ${libdir}/libsctp.so.${SOLIBVERSION} \
+    ${libdir}/libsctp.so.${SOLIBMAJORVERSION} \
+"
+
+FILES_${PN}-withsctp = " \
+    ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBVERSION} \
+    ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBMAJORVERSION} \
+"
+
+FILES_${PN}-dev += " \
+    ${libdir}/libsctp.so \
+    ${libdir}/lksctp-tools/libwithsctp.so \
+    ${datadir}/lksctp-tools/*.c \
+    ${datadir}/lksctp-tools/*.h \
+"
+
+FILES_${PN}-utils = "${bindir}/*"
+
+RRECOMMENDS_${PN}-utils += "kernel-module-sctp"
+RRECOMMENDS_${PN}-ptest += "kernel-module-sctp"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-build-errors-with-clang.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-build-errors-with-clang.patch
new file mode 100644
index 0000000..8e906f7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-build-errors-with-clang.patch
@@ -0,0 +1,34 @@
+From 5f9e80acb0a1ac399839bf160e43f6120c4b5128 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Oct 2016 23:49:09 +0000
+Subject: [PATCH] Fix build errors with clang
+
+| ../../../../../../../workspace/sources/lowpan-tools/src/coordinator.c:313:50: error: format specifies type 'unsigned char' but the argument has type 'int' [-Werror,-Wformat]
+|                 fprintf(stderr, "Opt: %c (%hhx)\n", (char)opt, opt);
+|                                           ~~~~                 ^~~
+|                                           %x
+| 1 error generated.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/coordinator.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/coordinator.c b/src/coordinator.c
+index c139aae..f0de6d2 100644
+--- a/src/coordinator.c
++++ b/src/coordinator.c
+@@ -310,7 +310,7 @@ int main(int argc, char **argv)
+ #else
+ 		opt = getopt(argc, argv, "l:f:d:m:n:i:s:p:c:hv");
+ #endif
+-		fprintf(stderr, "Opt: %c (%hhx)\n", opt, opt);
++		fprintf(stderr, "Opt: %c (%hhx)\n", opt, (unsigned char)opt);
+ 		if (opt == -1)
+ 			break;
+ 
+-- 
+1.9.1
+
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 b1bd926..8c7dbc0 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
@@ -9,7 +9,9 @@
 
 PV = "0.3.1+git${SRCPV}"
 SRC_URI = "git://git.code.sf.net/p/linux-zigbee/linux-zigbee \
-           file://no-help2man.patch"
+           file://no-help2man.patch \
+           file://0001-Fix-build-errors-with-clang.patch \
+           "
 SRCREV = "38f42dbfce9e13629263db3bd3b81f14c69bb733"
 
 S = "${WORKDIR}/git"
@@ -18,8 +20,10 @@
 
 CACHED_CONFIGUREVARS += "am_cv_python_pythondir=${PYTHON_SITEPACKAGES_DIR}/lowpan-tools"
 
+CFLAGS += "-Wno-initializer-overrides"
+
 do_install_append() {
-	rmdir ${D}${localstatedir}/run
+    rmdir ${D}${localstatedir}/run
 }
 
 FILES_${PN}-dbg += "${libexecdir}/lowpan-tools/.debug/"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.86.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.86.bb
index 7b73791..1d8a2cf 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.86.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.86.bb
@@ -17,3 +17,5 @@
 
 EXTRA_OECONF = "--without-gtk"
 
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb
index 89a646f..3311d24 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb
@@ -16,6 +16,8 @@
 
 S = "${WORKDIR}/${BPN}-${PV}"
 
+EXTRA_OEMAKE += "'LDFLAGS=${LDFLAGS}'"
+
 do_configure[noexec] = "1"
 
 netcat_do_patch() {
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb
index 8fb69bb..ed713ac 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/netcf/netcf_git.bb
@@ -28,9 +28,10 @@
     cd ${S}
 
     # avoid bootstrap cloning gnulib on every configure
-    # the rmdir acts as a sentinel to let us know if the pkg ever changes
-    # the path for GNUlib or populates the dir making it non-empty.
-    rmdir ${S}/.gnulib
+    # the dir starts out empty from the pkg, but unconditionally blow it
+    # away so if we reconfigure due to gnulib sysroot sig changes, we will
+    # get the newer gnulib content into the build here.
+    rm -rf ${S}/.gnulib
     cp -rf ${STAGING_DATADIR}/gnulib ${S}/.gnulib
 
     # --force to avoid errors on reconfigure e.g if recipes changed we depend on
@@ -43,7 +44,7 @@
 }
 
 do_install_append() {
-    if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
        install -d ${D}${systemd_unitdir}/system
        if [ -d "${D}${libdir}/systemd/system" ]; then
            mv ${D}${libdir}/systemd/system/* ${D}${systemd_unitdir}/system/
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/netperf/netperf_2.6.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/netperf/netperf_2.6.0.bb
index 760bab0..650fdae 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/netperf/netperf_2.6.0.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/netperf/netperf_2.6.0.bb
@@ -24,7 +24,7 @@
 
 # set the "_FILE_OFFSET_BITS" preprocessor symbol to 64 to support files
 # larger than 2GB
-CFLAGS_append = "${@base_contains('DISTRO_FEATURES', 'largefile', \
+CFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', \
     ' -D_FILE_OFFSET_BITS=64', '', d)}"
 
 PACKAGECONFIG ??= ""
@@ -60,7 +60,7 @@
     install -m 0644 ${S}/doc/netperf_old.ps ${D}${docdir}/netperf
 }
 
-RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG', 'sctp', 'kernel-module-sctp', '', d)}"
+RRECOMMENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'sctp', 'kernel-module-sctp', '', d)}"
 
 INITSCRIPT_NAME="netperf"
 INITSCRIPT_PARAMS="defaults"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/alignment-cheat.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/alignment-cheat.patch
new file mode 100644
index 0000000..be9b62b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools/alignment-cheat.patch
@@ -0,0 +1,52 @@
+yp-tools: avoid fatal cast warning
+
+The way casting is done, we will get a fatal alignment warning on some
+architectures.  This patch cheats our way around this.
+
+We also eliminate an unused constant which causes a fatal warning.
+
+Upstream-status: Inappropriate [code does not exist in version 4.x]
+
+Signed-off-by: Joe Slater <jslater@windriver.com>
+
+--- a/lib/do_ypcall.c
++++ b/lib/do_ypcall.c
+@@ -44,7 +44,6 @@ struct dom_binding
+ typedef struct dom_binding dom_binding;
+ 
+ static const struct timeval RPCTIMEOUT = {25, 0};
+-static const struct timeval UDPTIMEOUT = {5, 0};
+ static int const MAXTRIES = 2;
+ static pthread_mutex_t ypbindlist_lock = PTHREAD_MUTEX_INITIALIZER;
+ static dom_binding *ypbindlist = NULL;
+@@ -381,7 +380,7 @@ __ypclnt_call (u_long prog, xdrproc_t xa
+ 
+ int
+ do_ypcall (const char *domain, u_long prog, xdrproc_t xargs,
+-	   caddr_t req, xdrproc_t xres, caddr_t resp)
++	   caddr_t req, xdrproc_t xres, void *resp)
+ {
+   dom_binding *ydb;
+   int status;
+@@ -450,7 +449,7 @@ do_ypcall (const char *domain, u_long pr
+ /* Like do_ypcall, but translate the status value if necessary.  */
+ int
+ do_ypcall_tr (const char *domain, u_long prog, xdrproc_t xargs,
+-	      caddr_t req, xdrproc_t xres, caddr_t resp)
++	      caddr_t req, xdrproc_t xres, void *resp)
+ {
+   int status = do_ypcall (domain, prog, xargs, req, xres, resp);
+   if (status == YPERR_SUCCESS)
+--- a/lib/internal.h
++++ b/lib/internal.h
+@@ -17,8 +17,8 @@
+ #define _INTERNAL_H_
+ 
+ extern int do_ypcall (const char *domain, u_long prog, xdrproc_t xargs,
+-		      caddr_t req, xdrproc_t xres, caddr_t resp);
++		      caddr_t req, xdrproc_t xres, void *resp);
+ extern int do_ypcall_tr (const char *domain, u_long prog, xdrproc_t xargs,
+-			 caddr_t req, xdrproc_t xres, caddr_t resp);
++			 caddr_t req, xdrproc_t xres, void *resp);
+ extern int yp_maplist (const char *, struct ypmaplist **);
+ #endif
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_3.3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_3.3.bb
index b89f0b8..69217fa 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_3.3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/yp-tools_3.3.bb
@@ -11,11 +11,10 @@
 and ypdomainname. \
 "
 
-PNBLACKLIST[yp-tools] ?= "BROKEN: fails to build for qemuarm."
-
 SRC_URI = "http://www.linux-nis.org/download/yp-tools/${BP}.tar.bz2 \
            file://domainname.service \
            file://yp-tools-ipv4-ipv6-Provide-an-in-place-version-of-mapv4v6addr.patch \
+           file://alignment-cheat.patch \
 "
 SRC_URI[md5sum] = "acebeecc11a73fb8097503670344834c"
 SRC_URI[sha256sum] = "812be817df3d4c25813552be336c6c6ad5aedaf65611b81af3ad9f98fb3c2e50"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb
index d113b82..9fc6406 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb
@@ -19,7 +19,7 @@
 HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html"
 DEPENDS = " \
            yp-tools \
-           ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+           ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
           "
 RDEPENDS_${PN} += "yp-tools"
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb
index cee5880..82544e7 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.2.bb
@@ -15,7 +15,7 @@
 the server which answered as first. \
 "
 HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html"
-DEPENDS = "yp-tools ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+DEPENDS = "yp-tools ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
 PROVIDES += "ypbind"
 
 PNBLACKLIST[ypbind-mt] ?= "BROKEN: Depends on broken yp-tools"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p7.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p7.bb
deleted file mode 100644
index ff4ba64..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p7.bb
+++ /dev/null
@@ -1,160 +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=f41fedb22dffefcbfafecc85b0f79cfa"
-
-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] = "46dfba933c3e4bc924d8e55068797578"
-SRC_URI[sha256sum] = "81d20c06a0b01abe3b84fac092185bf014252d38fe5e7b2758f604680a0220dc"
-
-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"
-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"
-
-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 ${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
-}
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p8.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p8.bb
new file mode 100644
index 0000000..202d1a3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p8.bb
@@ -0,0 +1,170 @@
+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=f41fedb22dffefcbfafecc85b0f79cfa"
+
+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] = "4a8636260435b230636f053ffd070e34"
+SRC_URI[sha256sum] = "2ab3d0b5f0456e6311dda1cc27ab75da108762773a19e46abd938bd9407b97ee"
+
+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.contains('DISTRO_FEATURES', 'ipv6', '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/nuttcp/nuttcp_7.2.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb
index a275238..9430add 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb
@@ -20,10 +20,10 @@
 S = "${WORKDIR}"
 
 do_compile () {
-	${CC} ${CFLAGS} -o nuttcp nuttcp-${PV}.c
+    ${CC} ${CFLAGS} ${LDFLAGS} -o nuttcp nuttcp-${PV}.c
 }
 
 do_install () {
-	install -d ${D}${bindir}
-	install -m 0755 nuttcp ${D}${bindir}
+    install -d ${D}${bindir}
+    install -m 0755 nuttcp ${D}${bindir}
 }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.3.8.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.3.8.bb
deleted file mode 100644
index f010906..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.3.8.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=5aac200199fde47501876cba7263cb0c"
-DEPENDS = "lzo openssl iproute2 ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-inherit autotools systemd
-
-SRC_URI = "http://swupdate.openvpn.org/community/releases/openvpn-${PV}.tar.gz \
-           file://openvpn \
-           file://openvpn@.service \
-           file://openvpn-volatile.conf"
-
-SRC_URI[md5sum] = "51d996f1f1fc30f501ae251a254effeb"
-SRC_URI[sha256sum] = "532435eff61c14b44a583f27b72f93e7864e96c95fe51134ec0ad4b1b1107c51"
-
-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-password-save --enable-iproute2"
-EXTRA_OECONF += "${@base_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=/sbin/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 ${@base_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 -m 755 ${D}/${localstatedir}/run/
-        install -d -m 755 ${D}/${localstatedir}/run/openvpn
-
-        install -d ${D}${sysconfdir}/tmpfiles.d
-        install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${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 \
-                /run"
-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.3.9.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.3.9.bb
new file mode 100644
index 0000000..a3ef765
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.3.9.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=5aac200199fde47501876cba7263cb0c"
+DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+inherit autotools systemd
+
+SRC_URI = "http://swupdate.openvpn.org/community/releases/openvpn-${PV}.tar.gz \
+           file://openvpn \
+           file://openvpn@.service \
+           file://openvpn-volatile.conf"
+
+SRC_URI[md5sum] = "265755044ae88f9249d509f6d061f7e5"
+SRC_URI[sha256sum] = "2c12fe9ea641ac1291e70322cc500641c84e5903dd4f40bf2eda7e9f209b2f9c"
+
+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=/sbin/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 -m 755 ${D}/${localstatedir}/run/
+        install -d -m 755 ${D}/${localstatedir}/run/openvpn
+
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${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 \
+                /run"
+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/phytool/phytool.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/phytool/phytool.bb
new file mode 100644
index 0000000..4ed3ed1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/phytool/phytool.bb
@@ -0,0 +1,15 @@
+SUMMARY = "PHY interface tool for Linux"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0"
+
+PV = "1.0.1+git${SRCPV}"
+SRCREV = "3149bfdb4f513e2f0da0a7d0bc5d0873578696f2"
+SRC_URI = "git://github.com/wkz/phytool.git"
+
+S = "${WORKDIR}/git"
+
+# The Makefile has "$PREFIX/bin" hardcoded into it, hence not using $bindir here
+do_install() {
+    install -d ${D}${prefix}/bin
+    oe_runmake 'DESTDIR=${D}' 'PREFIX=${prefix}' install
+}
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.1.8.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.1.8.bb
index 3469043..41b8f6d 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.1.8.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.1.8.bb
@@ -12,8 +12,8 @@
 CFLAGS += "-I ${S}/include "
 
 do_install() {
-	unset datadir
-	unset mandir
-	oe_runmake 'DESTDIR=${D}' install
+    unset datadir
+    unset mandir
+    oe_runmake 'DESTDIR=${D}' install
 }
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb
index 32caec6..0531ffe 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://asmping.c;beginline=2;endline=11;md5=1ca8d1a1ca931e5cfe604ebf20a78b71"
 
 SRC_URI = "http://www.venaas.no/multicast/ssmping/${BP}.tar.gz \
-           file://0001-Makefile-tweak-install-dir.patch \
+    file://0001-Makefile-tweak-install-dir.patch \
 "
 SRC_URI[md5sum] = "ad8e3d13f6d72918f73be7e7975d7fad"
 SRC_URI[sha256sum] = "22103a37eaa28489169a0927bc01e0596c3485fc4d29fc8456c07fd2c70fca6d"
@@ -13,5 +13,5 @@
 CFLAGS += "-D_GNU_SOURCE "
 
 do_install() {
-	oe_runmake 'DESTDIR=${D}' 'PREFIX=${prefix}' install
+    oe_runmake 'DESTDIR=${D}' 'PREFIX=${prefix}' install
 }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.3.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.3.2.bb
deleted file mode 100644
index 7ec1a8e..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.3.2.bb
+++ /dev/null
@@ -1,57 +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://support-newer-systemd.patch \
-        file://install-strongswan-swanctl-service.patch \
-"
-
-SRC_URI[md5sum] = "fab014be1477ef4ebf9a765e10f8802c"
-SRC_URI[sha256sum] = "a4a9bc8c4e42bdc4366a87a05a02bf9f425169a7ab0c6f4482d347e44acbf225"
-
-EXTRA_OECONF = " \
-        --without-lib-prefix \
-"
-
-EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-
-PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \
-        ${@base_contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
-"
-PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,"
-PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
-PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,"
-PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient,"
-PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,"
-PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,"
-PACKAGECONFIG[stroke] = "--enable-stroke,--disable-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} ${libdir}/ipsec/plugins/*.so"
-FILES_${PN}-dbg += "${libdir}/ipsec/.debug ${libdir}/ipsec/plugins/.debug ${libexecdir}/ipsec/.debug"
-FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/plugins/*.la"
-FILES_${PN}-staticdev += "${libdir}/ipsec/*.a ${libdir}/ipsec/plugins/*.a"
-
-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.5.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.0.bb
new file mode 100644
index 0000000..8941cf6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.5.0.bb
@@ -0,0 +1,55 @@
+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 \
+"
+
+SRC_URI[md5sum] = "a96fa7eb6c62b40143dadb064b6bd586"
+SRC_URI[sha256sum] = "58463998ac6725eac3687e8a20c1f69803c3772657076d06c43386a24b4c8454"
+
+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.contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \
+"
+PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,"
+PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
+PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,"
+PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,"
+PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient,"
+PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,"
+PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,"
+PACKAGECONFIG[stroke] = "--enable-stroke,--disable-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} ${libdir}/ipsec/plugins/*.so"
+FILES_${PN}-dbg += "${libdir}/ipsec/.debug ${libdir}/ipsec/plugins/.debug ${libexecdir}/ipsec/.debug"
+FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/plugins/*.la"
+FILES_${PN}-staticdev += "${libdir}/ipsec/*.a ${libdir}/ipsec/plugins/*.a"
+
+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/stunnel/stunnel_5.28.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.28.bb
deleted file mode 100644
index 0a8bcd8..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.28.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Program for providing universal TLS/SSL tunneling service"
-DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server."
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=866cdc7459d91e092b174388fab8d283"
-DEPENDS = "openssl zlib tcp-wrappers"
-
-RDEPENDS_${PN} += "perl"
-
-SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "2c39ae0be771f91bf5b0205beafddca6"
-SRC_URI[sha256sum] = "9a25b87b1ef0c08fa3d796edce07b4408e6a8acece23de2eb7ee9285b78852b5"
-
-inherit autotools
-
-EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips"
-
-PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','',d)}"
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.35.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.35.bb
new file mode 100644
index 0000000..51369f4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.35.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Program for providing universal TLS/SSL tunneling service"
+DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server."
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=866cdc7459d91e092b174388fab8d283"
+DEPENDS = "openssl zlib tcp-wrappers"
+
+RDEPENDS_${PN} += "perl"
+
+SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "9079f5fafbccaf88b7d92b227d78249a"
+SRC_URI[sha256sum] = "ffa386ae4c825f35f35157c285e7402a6d58779ad8c3822f74a9d355b54aba1d"
+
+inherit autotools
+
+EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.7.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.7.4.bb
index 150e55f..e18228f 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.7.4.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.7.4.bb
@@ -47,5 +47,5 @@
 }
 
 do_compile_ptest() {
-	oe_runmake buildtest-TESTS
+    oe_runmake buildtest-TESTS
 }
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb
index 293760f..e65739a 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb
@@ -22,15 +22,15 @@
 # cross-compilation options to configure!
 #
 do_configure () {
-	oe_runconf \
-            --srcdir="." \
-            ac_cv_build=${BUILD_SYS} \
-            ac_cv_host=${HOST_SYS} \
-            ac_cv_target=${HOST_SYS}
+    oe_runconf \
+        --srcdir="." \
+        ac_cv_build=${BUILD_SYS} \
+        ac_cv_host=${HOST_SYS} \
+        ac_cv_target=${HOST_SYS}
 }
 
 do_install () {
-	mkdir -p ${D}/usr/sbin
-	install -c -m 555 tcpslice ${D}/usr/sbin
+    mkdir -p ${D}/usr/sbin
+    install -c -m 555 tcpslice ${D}/usr/sbin
 }
 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-cross-compile.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-cross-compile.patch
deleted file mode 100755
index a856b18..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-cross-compile.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-Uptream-Status: Pending
-
-Signed-off-by: Zongchun Yu <Zongchun.Yu@freescale.com>
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -402,7 +402,6 @@
- 
- dnl 0.9.6 (which is still thinks it is 0.9.5 due to a bug) introduces an important
- dnl fix for OSX.  See: http://tcpreplay.synfin.net/trac/ticket/167
--libpcap_version_096=no
- AC_RUN_IFELSE(AC_LANG_PROGRAM([[
- #include <string.h>
- #include <stdlib.h>
-@@ -419,11 +418,12 @@
-             exit(0);
- 
-     exit(1);
--]]), [
--    libpcap_version_096=yes
--])
-+]]),
-+ [libpcap_version_096=yes],
-+ [libpcap_version_096=no],
-+ [libpcap_version_096=yes]
-+)
- 
--libpcap_ver8=no
- AC_RUN_IFELSE(AC_LANG_PROGRAM([[
- #include <string.h>
- #include <stdlib.h>
-@@ -444,13 +444,12 @@
-         exit(0);
- 
-     exit(1);
--]]), [
--    libpcap_ver8=yes
--], [
--    libpcap_ver8=no
--])
-+]]),
-+ [libpcap_ver8=yes],
-+ [libpcap_ver8=no],
-+ [libpcap_ver8=yes]
-+)
- 
--libpcap_ver7=no
- AC_RUN_IFELSE(AC_LANG_PROGRAM([[
- #include <string.h>
- #include <stdlib.h>
-@@ -469,11 +468,11 @@
-             exit(0);
- 
-     exit(1);
--]]), [
--    libpcap_ver7=yes
--], [
--    libpcap_ver7=no
--])
-+]]),
-+ [libpcap_ver7=yes],
-+ [libpcap_ver7=no],
-+ [libpcap_ver7=yes]
-+)
- 
- if test x$libpcap_ver8 = xyes ; then
-     AC_MSG_RESULT(>= 0.8.0)
-@@ -761,8 +760,8 @@
- 
- have_bpf=no
- dnl Check for BSD's BPF
--AC_MSG_CHECKING(for BPF device sending support)
--AC_TRY_RUN([
-+AC_CACHE_CHECK([for BPF device sending support], ac_cv_have_bpf,
-+[AC_TRY_RUN([
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/types.h>
-@@ -796,8 +795,11 @@
-             [Do we have BPF device support?])
-     AC_MSG_RESULT(yes)
-     have_bpf=yes
--],[
--    AC_MSG_RESULT(no)
-+],
-+[AC_MSG_RESULT(no)],
-+[AC_MSG_ERROR([cross-compiling,
-+  presetting ac_cv_have_bpf=(yes|no) will help])]
-+)
- ])
- 
- 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch
deleted file mode 100644
index 5f36c68..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Uptream-Status: Pending
-
-Signed-off-by: Zongchun Yu <Zongchun.Yu@freescale.com>
-
-Index: tcpreplay-3.4.4/configure.ac
-===================================================================
---- tcpreplay-3.4.4.orig/configure.ac
-+++ tcpreplay-3.4.4/configure.ac
-@@ -389,7 +389,7 @@ CFLAGS="$CFLAGS -I$LPCAPINCDIR"
- AC_SEARCH_LIBS([pcap_close], [pcap],
-     LPCAPLIB="$LIBS",
-     AC_ERROR([Unable to link libpcap in ${foundpcap}]),
--    -lnl)
-+    -lnl-3)
- 
- AC_SUBST(LPCAPINC)
- AC_SUBST(LPCAPLIB)
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-improve-search-for-libpcap.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-improve-search-for-libpcap.patch
deleted file mode 100644
index 50f024c..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-improve-search-for-libpcap.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-tcpreplay: improve search for libpcap
-
-Add a test which will find libpcap if $testdir/.. is a sysroot.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -350,14 +350,20 @@ for testdir in $trypcapdir /usr/local /o
-     if test -f "${testdir}/include/pcap.h" -a $foundpcap = no ; then
-         LPCAPINC="${testdir}/include/pcap.h"
-         LPCAPINCDIR="${testdir}/include"
-+        # If testdir/.. is a sysroot, then sDir should point to where the libraries are.
-+        sDir=$(readlink -m ${testdir}/../${libdir})
-         if test $dynamic_link = yes; then
--            if test -f "${testdir}/lib64/libpcap${shrext_cmds}" ; then
-+            if test -f "${sDir}/libpcap${shrext_cmds}" ; then
-+                LPCAPLIB="-L${sDir} -lpcap"
-+            elif test -f "${testdir}/lib64/libpcap${shrext_cmds}" ; then
-                 LPCAPLIB="-L${testdir}/lib64 -lpcap"
-             elif test -f "${testdir}/lib/libpcap${shrext_cmds}" ; then
-                 LPCAPLIB="-L${testdir}/lib -lpcap"
-             else
-                 AC_ERROR([Unable to find libpcap in ${testdir}])
-             fi
-+        elif test -f "${sDir}/libpcap.${libext}" ; then
-+            LPCAPLIB="${sDir}/libpcap.${libext}"
-         elif test -f "${testdir}/lib64/libpcap.${libext}" ; then
-             LPCAPLIB="${testdir}/lib64/libpcap.${libext}"
-         elif test -f "${testdir}/lib/libpcap.${libext}" ; then
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-no-bfp-support.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-no-bfp-support.patch
deleted file mode 100644
index 3c11c92..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-no-bfp-support.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Uptream-Status: Pending
-
-Signed-off-by: Zongchun Yu <Zongchun.Yu@freescale.com>
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -758,6 +758,8 @@
-     AC_MSG_RESULT(no)
- ])
- 
-+ac_cv_have_bpf=no
-+
- have_bpf=no
- dnl Check for BSD's BPF
- AC_CACHE_CHECK([for BPF device sending support], ac_cv_have_bpf,
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb
deleted file mode 100644
index ccbab9f..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Use previously captured traffic to test network devices"
-
-HOMEPAGE = "http://tcpreplay.synfin.net/"
-SECTION = "net"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=c33cccf72cc1603e8a72a84811ae3ac8"
-
-SRC_URI = "http://prdownloads.sourceforge.net/tcpreplay/${PV}/tcpreplay-${PV}.tar.gz \
-           file://tcpreplay-3.4.4-cross-compile.patch \
-           file://tcpreplay-3.4.4-no-bfp-support.patch \
-           file://tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch \
-           file://tcpreplay-3.4.4-improve-search-for-libpcap.patch \
-           "
-SRC_URI[md5sum] = "22725feb9b2590809f9350308ec65180"
-SRC_URI[sha256sum] = "7a809c58ddec86407fd6e5597ac883d7874a19bea81d716bb2b1c6e3b0e7b58f"
-
-DEPENDS = "libpcap"
-
-EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr"
-
-inherit siteinfo autotools-brokensep
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.1.bb
new file mode 100644
index 0000000..389d61b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.1.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Use previously captured traffic to test network devices"
+
+HOMEPAGE = "http://tcpreplay.synfin.net/"
+SECTION = "net"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=890b830b22fd632e9ffd996df20338f8"
+
+SRC_URI = "http://prdownloads.sourceforge.net/tcpreplay/${PV}/tcpreplay-${PV}.tar.gz \
+           "
+SRC_URI[md5sum] = "80394c33fe697b53b69eac9bb0968ae9"
+SRC_URI[sha256sum] = "61b916ef91049cad2a9ddc8de6f5e3e3cc5d9998dbb644dc91cf3a798497ffe4"
+
+DEPENDS = "libpcap"
+
+EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr"
+
+inherit siteinfo autotools-brokensep
+
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20130505.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20130505.bb
deleted file mode 100644
index 7d1c515..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20130505.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Enhanced NetBSD ftp client"
-DESCRIPTION = "tnftp (formerly known as lukemftp) is a port of the NetBSD FTP client \
-to other systems. It offers many enhancements over the traditional \
-BSD FTP client, including command-line editing, command-line fetches \
-of FTP and HTTP URLs (including via proxies), command-line uploads of \
-FTP URLs, context-sensitive word completion, dynamic progress bar, \
-IPv6 support, modification time preservation, paging of local and \
-remote files, passive mode support (with fallback to active mode), \
-SOCKS support, TIS FWTK gate-ftp server support, and transfer rate \
-throttling."
-
-SECTION = "net"
-LICENSE = "BSD-4-Clause"
-
-DEPENDS = "ncurses"
-
-SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/${BPN}-${PV}.tar.gz \
-	   file://tnftp-autotools.patch \
-	  "
-
-inherit autotools update-alternatives pkgconfig
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "ftp"
-ALTERNATIVE_LINK_NAME_${PN} = "${bindir}/ftp"
-ALTERNATIVE_TARGET_${PN}  = "${bindir}/tnftp"
-
-FILES_${PN} = "${bindir}/tnftp"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=6d6796cb166a9bb050958241dad9479e"
-SRC_URI[md5sum] = "66e218d02ec7d9fc39ab70ba2900305a"
-SRC_URI[sha256sum] = "6f650e25f6fd51538f677b789b49379f367ae9f1dee74c94cfe24d92abc2cffb"
-
-PACKAGECONFIG ?= "openssl"
-PACKAGECONFIG[openssl] = "--enable-ssl, --disable-ssl --with-ssl=no, openssl"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20151004.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20151004.bb
new file mode 100644
index 0000000..8c2c111
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20151004.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Enhanced NetBSD ftp client"
+DESCRIPTION = "tnftp (formerly known as lukemftp) is a port of the NetBSD FTP client \
+to other systems. It offers many enhancements over the traditional \
+BSD FTP client, including command-line editing, command-line fetches \
+of FTP and HTTP URLs (including via proxies), command-line uploads of \
+FTP URLs, context-sensitive word completion, dynamic progress bar, \
+IPv6 support, modification time preservation, paging of local and \
+remote files, passive mode support (with fallback to active mode), \
+SOCKS support, TIS FWTK gate-ftp server support, and transfer rate \
+throttling."
+
+SECTION = "net"
+LICENSE = "BSD-4-Clause"
+
+DEPENDS = "ncurses"
+
+SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/${BPN}-${PV}.tar.gz \
+    file://tnftp-autotools.patch \
+"
+
+inherit autotools update-alternatives pkgconfig
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN} = "ftp"
+ALTERNATIVE_LINK_NAME_${PN} = "${bindir}/ftp"
+ALTERNATIVE_TARGET_${PN}  = "${bindir}/tnftp"
+
+FILES_${PN} = "${bindir}/tnftp"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6d6796cb166a9bb050958241dad9479e"
+SRC_URI[md5sum] = "a49fbe752318d5a7893f900046ea00d5"
+SRC_URI[sha256sum] = "c94a8a49d3f4aec1965feea831d4d5bf6f90c65fd8381ee0863d11a5029a43a0"
+
+PACKAGECONFIG ?= "openssl \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+"
+PACKAGECONFIG[openssl] = "--enable-ssl, --disable-ssl --with-ssl=no, openssl"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb
deleted file mode 100644
index 09da1ef..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "A new modern implementation of traceroute(8) utility for Linux systems"
-DESCRIPTION = "The traceroute utility displays the route used by IP packets on \
-their way to a specified network (or Internet) host.  Traceroute displays \
-the IP number and host name (if possible) of the machines along the \
-route taken by the packets.  Traceroute is used as a network debugging \
-tool.  If you're having network connectivity problems, traceroute will \
-show you where the trouble is coming from along the route."
-SECTION = "net"
-HOMEPAGE = "http://traceroute.sourceforge.net/"
-LICENSE = "GPL-2.0+ & LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-
-inherit update-alternatives
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/${BP}/${BP}.tar.gz \
-           file://filter-out-the-patches-from-subdirs.patch \
-"
-
-SRC_URI[md5sum] = "79289adabd6f3ebf9160fc0815ab3150"
-SRC_URI[sha256sum] = "f7ac93ef30b13a587292b8d6a7e2538a65bc978a3a576eab238c392b884e96e0"
-
-EXTRA_OEMAKE = "VPATH=${STAGING_LIBDIR}"
-
-do_compile() {
-    export LDFLAGS="${TARGET_LDFLAGS} -L${S}/libsupp"
-    oe_runmake "env=yes"
-}
-
-do_install() {
-    install -d ${D}${bindir}
-    install -m755 ${BPN}/${BPN} ${D}${bindir}
-
-    install -m755 wrappers/tcptraceroute ${D}${bindir}
-
-    install -d ${D}${mandir}
-    install -p -m644 ${BPN}/${BPN}.8 ${D}${mandir}
-    ln -s ${BPN}.8 ${D}${mandir}/${BPN}6.8
-    ln -s ${BPN}.8 ${D}${mandir}/tcptraceroute.8
-
-}
-
-ALTERNATIVE_PRIORITY = "60"
-ALTERNATIVE_${PN} = "traceroute"
-ALTERNATIVE_LINK_NAME[traceroute] = "${bindir}/traceroute"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb
new file mode 100644
index 0000000..48a0c12
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = "A new modern implementation of traceroute(8) utility for Linux systems"
+DESCRIPTION = "The traceroute utility displays the route used by IP packets on \
+their way to a specified network (or Internet) host.  Traceroute displays \
+the IP number and host name (if possible) of the machines along the \
+route taken by the packets.  Traceroute is used as a network debugging \
+tool.  If you're having network connectivity problems, traceroute will \
+show you where the trouble is coming from along the route."
+SECTION = "net"
+HOMEPAGE = "http://traceroute.sourceforge.net/"
+LICENSE = "GPL-2.0+ & LGPL-2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+inherit update-alternatives
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/${BP}/${BP}.tar.gz \
+           file://filter-out-the-patches-from-subdirs.patch \
+"
+
+SRC_URI[md5sum] = "84d329d67abc3fb83fc8cb12aeaddaba"
+SRC_URI[sha256sum] = "3669d22a34d3f38ed50caba18cd525ba55c5c00d5465f2d20d7472e5d81603b6"
+
+EXTRA_OEMAKE = "VPATH=${STAGING_LIBDIR}"
+
+do_compile() {
+    export LDFLAGS="${TARGET_LDFLAGS} -L${S}/libsupp"
+    oe_runmake "env=yes"
+}
+
+do_install() {
+    install -d ${D}${bindir}
+    install -m755 ${BPN}/${BPN} ${D}${bindir}
+
+    install -m755 wrappers/tcptraceroute ${D}${bindir}
+
+    install -d ${D}${mandir}
+    install -p -m644 ${BPN}/${BPN}.8 ${D}${mandir}
+    ln -s ${BPN}.8 ${D}${mandir}/${BPN}6.8
+    ln -s ${BPN}.8 ${D}${mandir}/tcptraceroute.8
+
+}
+
+ALTERNATIVE_PRIORITY = "60"
+ALTERNATIVE_${PN} = "traceroute"
+ALTERNATIVE_LINK_NAME[traceroute] = "${bindir}/traceroute"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tunctl/tunctl.inc b/import-layers/meta-openembedded/meta-networking/recipes-support/tunctl/tunctl.inc
index e95cfa5..1c11823 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/tunctl/tunctl.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tunctl/tunctl.inc
@@ -3,7 +3,9 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://tunctl.c;beginline=1;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/tunctl/tunctl-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/tunctl/tunctl-${PV}.tar.gz \
+           file://makefile-add-ldflags.patch \
+          "
 
 do_compile() {
     oe_runmake tunctl
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/tunctl/tunctl/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/tunctl/tunctl/makefile-add-ldflags.patch
new file mode 100644
index 0000000..c96f538
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/tunctl/tunctl/makefile-add-ldflags.patch
@@ -0,0 +1,19 @@
+Add LDFLAGS variable to Makefile, make sure the extra linker flags can be passed.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/Makefile b/Makefile
+index a0aa7f6..d6ce2c7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -14,7 +14,7 @@ MAN_DIR ?= /usr/share/man/man$(MANS)
+ all : $(BIN) $(MAN)
+ 
+ $(BIN) : $(BIN).c
+-	$(CC) $(CFLAGS) -o $(BIN) $(BIN).c
++	$(CC) $(CFLAGS) ${LDFLAGS} -o $(BIN) $(BIN).c
+ 
+ $(MAN) : $(PACKAGE).sgml
+ 	docbook2man $(PACKAGE).sgml
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.0.2.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.0.2.bb
deleted file mode 100644
index f306172..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.0.2.bb
+++ /dev/null
@@ -1,60 +0,0 @@
-DESCRIPTION = "wireshark - a popular network protocol analyzer"
-HOMEPAGE = "http://www.wireshark.org"
-SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://README.linux;md5=631e077455b7972172eb149195e065b0"
-
-DEPENDS = "perl-native pcre expat glib-2.0 sbc"
-
-SRC_URI = "https://2.na.dl.wireshark.org/src/all-versions/${BP}.tar.bz2"
-
-SRC_URI[md5sum] = "204d053e0796c7da09292e0b54bc8503"
-SRC_URI[sha256sum] = "e921fb072085a5654d899949bb561d0687f4819f7b63ba35777bb949a9b6b9c1"
-
-PE = "1"
-
-inherit autotools pkgconfig
-
-ARM_INSTRUCTION_SET = "arm"
-
-# Works with either gtk+ or gtk3.
-WHICH_GTK = "gtk+"
-
-PACKAGECONFIG ?= "libpcap gnutls libnl libcap"
-PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk2 graphics", "", d)}"
-PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", 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-gtk2=yes, --with-gtk2=no, gtk+"
-PACKAGECONFIG[gtk3] = "--with-gtk3=yes, --with-gtk3=no, gtk+3"
-PACKAGECONFIG[graphics] = "--enable-wireshark, --disable-wireshark,"
-PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6,"
-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"
-
-# these next two options require addional layers
-PACKAGECONFIG[adns] = "--with-adns=yes, --with-adns=no, adns"
-PACKAGECONFIG[c-ares] = "--with-c-ares=yes, --with-c-ares=no, c-ares"
-
-EXTRA_OECONF += "--with-qt=no --enable-usr-local=no --enable-tshark --enable-rawshark"
-
-do_configure_prepend() {
-    # force to use fallback 
-    sed -i -e '/^glib_prefix/s/=.*$/=""/' ${S}/aclocal-flags
-}
-
-ALLOW_EMPTY_${PN} = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-
-FILES_${PN} += "${datadir}*"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.1.bb
new file mode 100644
index 0000000..a8f61fe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_2.2.1.bb
@@ -0,0 +1,70 @@
+DESCRIPTION = "wireshark - a popular network protocol analyzer"
+HOMEPAGE = "http://www.wireshark.org"
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://README.linux;md5=631e077455b7972172eb149195e065b0"
+
+DEPENDS = "pcre expat glib-2.0"
+
+SRC_URI = "https://2.na.dl.wireshark.org/src/all-versions/${BP}.tar.bz2"
+
+PE = "1"
+SRC_URI[md5sum] = "49a1023a69ac108ca089d750eee50e37"
+SRC_URI[sha256sum] = "900e22af04c8b35e0d02a25a360ab1fb7cfe5ac18fc48a9afd75a7103e569149"
+
+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-oe/README b/import-layers/meta-openembedded/meta-oe/README
index a564c29..a4fc10e 100644
--- a/import-layers/meta-openembedded/meta-oe/README
+++ b/import-layers/meta-openembedded/meta-oe/README
@@ -1,15 +1,16 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: krogoth
+branch: morty
 revision: HEAD
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][krogoth]' 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][krogoth][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][morty][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.
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
+
diff --git a/import-layers/meta-openembedded/meta-oe/classes/gitpkgv.bbclass b/import-layers/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
index 1cba00c..8cd4bfd 100644
--- a/import-layers/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
+++ b/import-layers/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
@@ -61,7 +61,14 @@
     #
     format = d.getVar('SRCREV_FORMAT', True)
     if not format:
-        format = 'default'
+        names = []
+        for url in ud.values():
+            if url.type == 'git' or url.type == 'gitsm':
+                names.extend(url.revisions.keys())
+        if len(names) > 0:
+            format = '_'.join(names)
+        else:
+            format = 'default'
 
     found = False
     for url in ud.values():
@@ -87,11 +94,13 @@
 
                     if commits != "":
                         oe.path.remove(rev_file, recurse=False)
-                        open(rev_file, "w").write("%d\n" % int(commits))
+                        with open(rev_file, "w") as f:
+                            f.write("%d\n" % int(commits))
                     else:
                         commits = "0"
                 else:
-                    commits = open(rev_file, "r").readline(128).strip()
+                    with open(rev_file, "r") as f:
+                        commits = f.readline(128).strip()
 
                 if use_tags:
                     try:
diff --git a/import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc b/import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc
index 2565e32..2559948 100644
--- a/import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc
+++ b/import-layers/meta-openembedded/meta-oe/conf/distro/include/meta_oe_security_flags.inc
@@ -3,5 +3,12 @@
 SECURITY_CFLAGS_pn-rrdtool = "${SECURITY_NO_PIE_CFLAGS}"
 
 # This has text reloc errors with the pie options enabled
+SECURITY_CFLAGS_pn-llvm3.3 = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-mozjs = "${SECURITY_NO_PIE_CFLAGS}"
 SECURITY_CFLAGS_pn-openldap = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-s3c64xx-gpio = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-s3c24xx-gpio = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-cpufrequtils = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-libcec = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-libmodplug = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS_pn-libcdio = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/import-layers/meta-openembedded/meta-oe/conf/layer.conf b/import-layers/meta-openembedded/meta-oe/conf/layer.conf
index a67cc1a..bdc8210 100644
--- a/import-layers/meta-openembedded/meta-oe/conf/layer.conf
+++ b/import-layers/meta-openembedded/meta-oe/conf/layer.conf
@@ -37,6 +37,7 @@
   gpsd-machine-conf \
   distro-feed-configs \
   ca-certificates \
+  pointercal \
 "
 
 SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
@@ -50,6 +51,7 @@
 # ttf.inc inherits fontcache which adds fontconfig-utils to RDEPENDS
 SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
   terminus-font->fontconfig \
+  ttf-abyssinica->fontconfig \
   ttf-arphic-uming->fontconfig \
   ttf-dejavu->fontconfig \
   ttf-droid->fontconfig \
@@ -57,11 +59,15 @@
   ttf-hunkyfonts->fontconfig \
   ttf-inconsolata->fontconfig \
   ttf-liberation->fontconfig \
+  ttf-liberation-sans-narrow->fontconfig \
+  ttf-lklug->fontconfig \
+  ttf-lohit->fontconfig \
   ttf-pt-sans->fontconfig \
   ttf-mplus->fontconfig \
   ttf-sazanami->fontconfig \
   ttf-tlwg->fontconfig \
   ttf-ubuntu-font-family->fontconfig \
+  ttf-vlgothic->fontconfig \
   ttf-wqy-zenhei->fontconfig \
   source-han-sans-cn-fonts->fontconfig \
   source-han-sans-jp-fonts->fontconfig \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_git.bb
index d97ff0a..8888b22 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_git.bb
@@ -17,13 +17,13 @@
 RDEPENDS_${PN} += "python-core python-datetime python-stringold"
 
 PV = "3.2+gitr${SRCPV}"
-SRCREV = "bce3cbec43bc2ce7a8c79b210314dd9d9ac1010b"
+SRCREV = "c669e002a2e7504f21e277ad248fa81033926391"
 SRC_URI = "git://github.com/01org/suspendresume.git;protocol=https"
 S = "${WORKDIR}/git"
 
 do_install() {
-	install -Dm 0755 analyze_suspend.py ${D}${bindir}/analyze_suspend.py
-	install -Dm 0644 README ${D}${docdir}/analyze-suspend/README
+    install -Dm 0755 analyze_suspend.py ${D}${bindir}/analyze_suspend.py
+    install -Dm 0644 README ${D}${docdir}/analyze-suspend/README
 }
 
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2.2.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2.2.6.bb
deleted file mode 100644
index db67173..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2.2.6.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Filesystem and hardware benchmark and stress tool"
-DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
-stress/hardware verification. It has support for a number of I/O engines, \
-I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
-and much more. It can work on block devices as well as files. fio accepts \
-job descriptions in a simple-to-understand text format. Several example job \
-files are included. fio displays all sorts of I/O performance information."
-HOMEPAGE = "http://freecode.com/projects/fio"
-SECTION = "console/tests"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-
-DEPENDS = "libaio zlib"
-
-PACKAGECONFIG_NUMA = "numa"
-# ARM does not currently support NUMA
-PACKAGECONFIG_NUMA_arm = ""
-
-PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
-PACKAGECONFIG[numa] = ",--disable-numa,numactl"
-
-# rev for v2.2.6
-SRCREV = "f52c9691bc8c285f3445235c69acdfd6de7f9b82"
-SRC_URI = "git://git.kernel.dk/fio.git"
-
-S = "${WORKDIR}/git"
-
-# avoids build breaks when using no-static-libs.inc
-DISABLE_STATIC = ""
-
-EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
-
-do_configure() {
-    ./configure ${EXTRA_OECONF}
-}
-
-do_install() {
-    oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
-    install -d ${D}/${docdir}/${PN}
-    cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2.9.bb
new file mode 100644
index 0000000..67b513f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2.9.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Filesystem and hardware benchmark and stress tool"
+DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
+stress/hardware verification. It has support for a number of I/O engines, \
+I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
+and much more. It can work on block devices as well as files. fio accepts \
+job descriptions in a simple-to-understand text format. Several example job \
+files are included. fio displays all sorts of I/O performance information."
+HOMEPAGE = "http://freecode.com/projects/fio"
+SECTION = "console/tests"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+
+DEPENDS = "libaio zlib"
+
+PACKAGECONFIG_NUMA = "numa"
+# ARM does not currently support NUMA
+PACKAGECONFIG_NUMA_arm = ""
+
+PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
+PACKAGECONFIG[numa] = ",--disable-numa,numactl"
+
+# rev for v2.9
+SRCREV = "fe8d0f4c54f0c308c9a02a4e3c2f5084e8bf5461"
+SRC_URI = "git://git.kernel.dk/fio.git"
+
+S = "${WORKDIR}/git"
+
+# avoids build breaks when using no-static-libs.inc
+DISABLE_STATIC = ""
+
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
+
+do_configure() {
+    ./configure ${EXTRA_OECONF}
+}
+
+do_install() {
+    oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
+    install -d ${D}/${docdir}/${PN}
+    cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-build-error-due-missing-space-before-macro.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-build-error-due-missing-space-before-macro.patch
new file mode 100644
index 0000000..00eb2ed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-build-error-due-missing-space-before-macro.patch
@@ -0,0 +1,27 @@
+From 3fb9b6aeed2e2758239e59ba9ba1ca98535fe510 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Fri, 19 Aug 2016 15:08:44 +0000
+Subject: [PATCH] Fix build error due missing space before macro
+Organization: O.S. Systems Software LTDA.
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ src/native-state-x11.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/native-state-x11.cpp b/src/native-state-x11.cpp
+index 3b66b77..3c1703b 100644
+--- a/src/native-state-x11.cpp
++++ b/src/native-state-x11.cpp
+@@ -60,7 +60,7 @@ NativeStateX11::display()
+ bool
+ NativeStateX11::create_window(WindowProperties const& properties)
+ {
+-    static const char *win_name("glmark2 "GLMARK_VERSION);
++    static const char *win_name("glmark2 " GLMARK_VERSION);
+ 
+     if (!xdpy_) {
+         Log::error("Error: X11 Display has not been initialized!\n");
+-- 
+2.1.4
+
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
new file mode 100644
index 0000000..fde8238
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-configure-for-sqrt-check.patch
@@ -0,0 +1,13 @@
+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)
+ 
+     # 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,
+                       uselib = uselib, mandatory = True)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-deprecated-declarations.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-deprecated-declarations.patch
new file mode 100644
index 0000000..7a25de7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/Fix-deprecated-declarations.patch
@@ -0,0 +1,61 @@
+Index: git/src/image-reader.cpp
+===================================================================
+--- git.orig/src/image-reader.cpp	2016-07-29 16:17:51.000000000 -0500
++++ git/src/image-reader.cpp	2016-07-29 16:18:43.000000000 -0500
+@@ -120,7 +120,7 @@
+ 
+     Log::debug("Reading PNG file %s\n", filename.c_str());
+ 
+-    const std::auto_ptr<std::istream> is_ptr(Util::get_resource(filename));
++    const std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
+     if (!(*is_ptr)) {
+         Log::error("Cannot open file %s!\n", filename.c_str());
+         return false;
+Index: git/src/libmatrix/shader-source.cc
+===================================================================
+--- git.orig/src/libmatrix/shader-source.cc	2016-07-29 16:18:14.000000000 -0500
++++ git/src/libmatrix/shader-source.cc	2016-07-29 16:18:43.000000000 -0500
+@@ -34,7 +34,7 @@
+ bool
+ ShaderSource::load_file(const std::string& filename, std::string& str)
+ {
+-    std::auto_ptr<std::istream> is_ptr(Util::get_resource(filename));
++    std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
+     std::istream& inputFile(*is_ptr);
+ 
+     if (!inputFile)
+Index: git/src/model.cpp
+===================================================================
+--- git.orig/src/model.cpp	2016-07-29 16:18:00.000000000 -0500
++++ git/src/model.cpp	2016-07-29 16:18:43.000000000 -0500
+@@ -361,7 +361,7 @@
+ 
+     Log::debug("Loading model from 3ds file '%s'\n", filename.c_str());
+ 
+-    const std::auto_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
++    const std::unique_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
+     std::istream& input_file(*input_file_ptr);
+ 
+     if (!input_file) {
+@@ -681,7 +681,7 @@
+ {
+     Log::debug("Loading model from obj file '%s'\n", filename.c_str());
+ 
+-    const std::auto_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
++    const std::unique_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
+     std::istream& inputFile(*input_file_ptr);
+     if (!inputFile)
+     {
+Index: git/src/scene-jellyfish.cpp
+===================================================================
+--- git.orig/src/scene-jellyfish.cpp	2016-07-29 16:18:08.000000000 -0500
++++ git/src/scene-jellyfish.cpp	2016-07-29 16:18:43.000000000 -0500
+@@ -272,7 +272,7 @@
+ {
+     Log::debug("Loading model from file '%s'\n", filename.c_str());
+ 
+-    const std::auto_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
++    const std::unique_ptr<std::istream> input_file_ptr(Util::get_resource(filename));
+     std::istream& inputFile(*input_file_ptr);
+     if (!inputFile)
+     {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index e29921b..a2558a7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -14,7 +14,10 @@
 
 SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https \
            file://build-Check-packages-to-be-used-by-the-enabled-flavo.patch \
-           file://0001-Fix-wl_surface-should-be-destoryed-after-the-wl_wind.patch"
+           file://0001-Fix-wl_surface-should-be-destoryed-after-the-wl_wind.patch \
+           file://Fix-build-error-due-missing-space-before-macro.patch \
+           file://Fix-configure-for-sqrt-check.patch \
+           file://Fix-deprecated-declarations.patch"
 SRCREV = "fa71af2dfab711fac87b9504b6fc9862f44bf72a"
 
 S = "${WORKDIR}/git"
@@ -25,6 +28,9 @@
                   ${@bb.utils.contains('DISTRO_FEATURES', 'wayland opengl', 'wayland-gl wayland-gles2', '', d)} \
                   drm-gl drm-gles2"
 
+# Enable C++11 features
+CXXFLAGS += "-std=c++11"
+
 PACKAGECONFIG[x11-gl] = ",,virtual/libgl virtual/libx11"
 PACKAGECONFIG[x11-gles2] = ",,virtual/libgles2 virtual/libx11"
 PACKAGECONFIG[drm-gl] = ",,virtual/libgl libdrm"
@@ -50,3 +56,4 @@
     if flavors:
         d.appendVar("EXTRA_OECONF", " --with-flavors=%s" % ",".join(flavors))
 }
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_414.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_414.bb
deleted file mode 100644
index 14373b9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_414.bb
+++ /dev/null
@@ -1,114 +0,0 @@
-SUMMARY = "Filesystem and Disk Benchmarking Tool"
-HOMEPAGE = "http://www.iozone.org/"
-AUTHOR = "Don Capps <don.capps2@verizon.net>, William D. Norcott <wnorcott@us.oracle.com>"
-SECTION = "console/tests"
-LICENSE = "iozone3"
-LIC_FILES_CHKSUM = "file://iozone.c;beginline=266;endline=270;md5=ab42a6185fd0443978871f11a007ac0b"
-
-SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \
-    file://copyright.txt \
-"
-SRC_URI[md5sum] = "a40dcda593f5841d0aaffe9f21172020"
-SRC_URI[sha256sum] = "9f60e854d7bc5bc3de15355cf5621e15098bd744a26845d11730b3060f4a5fff"
-
-S = "${WORKDIR}/${BPN}_${PV}/src/current/"
-
-#
-# All other arches can use the default OEMAKE except those
-# explicitly listed below. Another, the iozone3 Makefile
-# needs to be told about the cross-compiler explicitly here.
-#
-EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE_arm = "linux-arm CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install() {
-    install -d ${D}${bindir} \
-               ${D}${mandir}/man1 \
-               ${D}${datadir}/doc/${BPN}/examples
-
-    install -m 0755 ${S}/iozone ${D}${bindir}
-    install -m 0755 ${S}/fileop ${D}${bindir}
-    install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/iozone.1 ${D}${mandir}/man1/
-    install -m 0644 ${WORKDIR}/copyright.txt ${D}${datadir}/doc/${BPN}/
-
-    install -m 0644 ${S}/*.dem ${D}${datadir}/doc/${BPN}/examples
-    install -m 0644 ${S}/client_list ${D}${datadir}/doc/${BPN}/examples
-    install -m 0644 ${S}/Gnuplot.txt ${D}${datadir}/doc/${BPN}/examples
-
-    install -m 0755 ${S}/Generate_Graphs ${D}${datadir}/doc/${BPN}/examples
-    install -m 0755 ${S}/gengnuplot.sh ${D}${datadir}/doc/${BPN}/examples
-    install -m 0755 ${S}/report.pl ${D}${datadir}/doc/${BPN}/examples
-
-    install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Iozone_ps.gz ${D}${datadir}/doc/${BPN}/
-    install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/IOzone_msword_98.pdf ${D}${datadir}/doc/${BPN}/
-    install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Run_rules.doc ${D}${datadir}/doc/${BPN}/
-}
-
-FILES_${PN} += "${datadir}/doc/${PN}/copyright.txt"
-
-# LICENSE:
-#
-#  Copyright 1991, 1992, 1994, 1998, 1999, 2002   William D. Norcott
-#
-#  License to freely use and distribute this software is hereby granted
-#  by the author, subject to the condition that this copyright notice
-#  remains intact.  The author retains the exclusive right to publish
-#  derivative works based on this work, including, but not limited to
-#  revised versions of this work.
-#
-
-#
-# Below is author reply to question about distributing iozone3 in
-# OpenEmbedded:
-#
-# ========================================================================
-#
-# Marcin,
-#
-#     Re-distribution is permitted as long as the copyright is
-#     maintained and the source code is not changed. I do not
-#     see a problem with your mods to enable fileop for Linux-arm,
-#     as these mods have been returned to the Iozone folks,
-#     and they have been accepted for inclusion in the next
-#     release :-)
-#
-# Thank you for your contribution,
-# Don Capps
-#
-# ----- Original Message -----
-# From: "Marcin Juszkiewicz" <firma@hrw.one.pl>
-# To: "Don Capps" <don.capps2@verizon.net>; "William D. Norcott"
-# <wnorcott@us.oracle.com>
-# Sent: Sunday, October 29, 2006 4:55 PM
-# Subject: iozone3 263 patch for arm and License question
-#
-#
-# > Morning
-# >
-# > I want to include iozone3 in OpenEmbedded [1] metadata to give it for
-# > other developers. Currently OE is used to build few distributions for
-# > misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of
-# > machines (PDA, settopbox, devboards, desktops, thin clients, routers).
-# >
-# > According to your distribution of derivations is forbidden. Packaging
-# > iozone3 in OpenEmbedded will not involve any source code changes. But
-# > when I was building it for ARM I discovered that fileop binary was not
-# > built - so I created patch for it (attached). Not yet tested it on target
-# > device.
-# >
-# > Thus, I seek your written permission via e-mail to distribute a package of
-# > the unmodified source code and also a package of the pre-compiled binary.
-# > Your copyright statement will be included in the package.
-# >
-# >
-# > 1. http://www.openembedded.org/
-# >
-# > Regards
-# > --
-# > JID: hrw-jabber.org
-# > OpenEmbedded developer/consultant
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_434.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_434.bb
new file mode 100644
index 0000000..daa36ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_434.bb
@@ -0,0 +1,114 @@
+SUMMARY = "Filesystem and Disk Benchmarking Tool"
+HOMEPAGE = "http://www.iozone.org/"
+AUTHOR = "Don Capps <don.capps2@verizon.net>, William D. Norcott <wnorcott@us.oracle.com>"
+SECTION = "console/tests"
+LICENSE = "iozone3"
+LIC_FILES_CHKSUM = "file://iozone.c;beginline=268;endline=272;md5=ab42a6185fd0443978871f11a007ac0b"
+
+SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \
+    file://copyright.txt \
+"
+SRC_URI[md5sum] = "3e8f4213581407225065b91774e970ed"
+SRC_URI[sha256sum] = "2c388d9db393a5505b31eca38951883744c69745f687f3c7df5185b4681d462a"
+
+S = "${WORKDIR}/${BPN}_${PV}/src/current/"
+
+#
+# All other arches can use the default OEMAKE except those
+# explicitly listed below. Another, the iozone3 Makefile
+# needs to be told about the cross-compiler explicitly here.
+#
+EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE_arm = "linux-arm CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install() {
+    install -d ${D}${bindir} \
+               ${D}${mandir}/man1 \
+               ${D}${datadir}/doc/${BPN}/examples
+
+    install -m 0755 ${S}/iozone ${D}${bindir}
+    install -m 0755 ${S}/fileop ${D}${bindir}
+    install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/iozone.1 ${D}${mandir}/man1/
+    install -m 0644 ${WORKDIR}/copyright.txt ${D}${datadir}/doc/${BPN}/
+
+    install -m 0644 ${S}/*.dem ${D}${datadir}/doc/${BPN}/examples
+    install -m 0644 ${S}/client_list ${D}${datadir}/doc/${BPN}/examples
+    install -m 0644 ${S}/Gnuplot.txt ${D}${datadir}/doc/${BPN}/examples
+
+    install -m 0755 ${S}/Generate_Graphs ${D}${datadir}/doc/${BPN}/examples
+    install -m 0755 ${S}/gengnuplot.sh ${D}${datadir}/doc/${BPN}/examples
+    install -m 0755 ${S}/report.pl ${D}${datadir}/doc/${BPN}/examples
+
+    install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Iozone_ps.gz ${D}${datadir}/doc/${BPN}/
+    install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/IOzone_msword_98.pdf ${D}${datadir}/doc/${BPN}/
+    install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Run_rules.doc ${D}${datadir}/doc/${BPN}/
+}
+
+FILES_${PN} += "${datadir}/doc/${PN}/copyright.txt"
+
+# LICENSE:
+#
+#  Copyright 1991, 1992, 1994, 1998, 1999, 2002   William D. Norcott
+#
+#  License to freely use and distribute this software is hereby granted
+#  by the author, subject to the condition that this copyright notice
+#  remains intact.  The author retains the exclusive right to publish
+#  derivative works based on this work, including, but not limited to
+#  revised versions of this work.
+#
+
+#
+# Below is author reply to question about distributing iozone3 in
+# OpenEmbedded:
+#
+# ========================================================================
+#
+# Marcin,
+#
+#     Re-distribution is permitted as long as the copyright is
+#     maintained and the source code is not changed. I do not
+#     see a problem with your mods to enable fileop for Linux-arm,
+#     as these mods have been returned to the Iozone folks,
+#     and they have been accepted for inclusion in the next
+#     release :-)
+#
+# Thank you for your contribution,
+# Don Capps
+#
+# ----- Original Message -----
+# From: "Marcin Juszkiewicz" <firma@hrw.one.pl>
+# To: "Don Capps" <don.capps2@verizon.net>; "William D. Norcott"
+# <wnorcott@us.oracle.com>
+# Sent: Sunday, October 29, 2006 4:55 PM
+# Subject: iozone3 263 patch for arm and License question
+#
+#
+# > Morning
+# >
+# > I want to include iozone3 in OpenEmbedded [1] metadata to give it for
+# > other developers. Currently OE is used to build few distributions for
+# > misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of
+# > machines (PDA, settopbox, devboards, desktops, thin clients, routers).
+# >
+# > According to your distribution of derivations is forbidden. Packaging
+# > iozone3 in OpenEmbedded will not involve any source code changes. But
+# > when I was building it for ARM I discovered that fileop binary was not
+# > built - so I created patch for it (attached). Not yet tested it on target
+# > device.
+# >
+# > Thus, I seek your written permission via e-mail to distribute a package of
+# > the unmodified source code and also a package of the pre-compiled binary.
+# > Your copyright statement will be included in the package.
+# >
+# >
+# > 1. http://www.openembedded.org/
+# >
+# > Regards
+# > --
+# > JID: hrw-jabber.org
+# > OpenEmbedded developer/consultant
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0002-fix-bool-size-m4.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0002-fix-bool-size-m4.patch
new file mode 100644
index 0000000..348e316
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0002-fix-bool-size-m4.patch
@@ -0,0 +1,16 @@
+--- iperf-2.0.5/m4/dast.m4.orig	2016-06-15 11:42:03.945581785 -0400
++++ iperf-2.0.5/m4/dast.m4	2016-06-15 11:42:11.053581641 -0400
+@@ -11,7 +11,12 @@
+ 
+ AC_DEFUN(DAST_CHECK_BOOL, [
+ 
+-AC_CHECK_SIZEOF(bool)
++if test "$ac_cv_header_stdbool_h" = yes; then
++  AC_CHECK_SIZEOF(bool,,[#include <stdbool.h>])
++else
++    AC_CHECK_SIZEOF(bool)
++fi
++
+ if test "$ac_cv_sizeof_bool" = 0 ; then
+   AC_DEFINE(bool, int)
+ fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
index 4e66792..9981d82 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb
@@ -7,6 +7,7 @@
 SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${BP}.tar.gz \
             file://iperf-2.0.5_ManPage.patch \
             file://0001-fix-out-of-tree-config.patch \
+            file://0002-fix-bool-size-m4.patch \
           "
 
 SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016"
@@ -17,3 +18,6 @@
 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_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
index 4a0f28e..bcf6537 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
@@ -9,15 +9,15 @@
 BUGTRACKER = "https://github.com/esnet/iperf/issues"
 AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=062ab1bc33fae1926387ac1274cb0873"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3434c5a9a53c78c7739f0bc9e5adda"
 
 SRC_URI = "\
     git://github.com/esnet/iperf.git \
     file://automake-foreign.patch \
 "
 
-PV = "3.1+gitr${SRCPV}"
-SRCREV = "e396134952a01199326665d1df7c51ae9e62e945"
+PV = "3.1.2+gitr${SRCPV}"
+SRCREV = "4fbdab392caf6fcd77c538b6712b721a56ff31b8"
 
 S = "${WORKDIR}/git"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/Force-text-segment-alignment-to-0x08000000-for-i386-.patch b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/Force-text-segment-alignment-to-0x08000000-for-i386-.patch
new file mode 100644
index 0000000..ce6974d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/Force-text-segment-alignment-to-0x08000000-for-i386-.patch
@@ -0,0 +1,92 @@
+From 3c6f8d0e3c0694f79244ec6ad5ad9ba3ca26bc0a Mon Sep 17 00:00:00 2001
+From: Yang Shi <yang.shi@linaro.org>
+Date: Mon, 7 Dec 2015 14:12:13 -0800
+Subject: [PATCH] Force text segment alignment to 0x08000000 for i386 with gold
+ linker
+
+Upstream-Status: Backport
+
+When build libhugetlbfs tests with gold linker for i386, the below error occurs:
+
+i586-oe-linux-gcc  -m32 -march=i586 -Wl,-O1 -Wl,--hash-style=gnu
+-Wl,--as-needed
+--sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemux86 -I..
+-O2
+-Wall -g -o obj32/linkhuge_rw.o -c linkhuge_rw.c
+| i586-oe-linux-gcc  -m32 -march=i586 -Wl,-O1 -Wl,--hash-style=gnu
+-Wl,--as-needed
+--sysroot=/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemux86
+-B./obj32
+-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,noexecstack -ldl
+-L../obj32
+-o obj32/linkhuge_rw -Wl,--no-as-needed -lpthread -ldl -lhugetlbfs_privutils
+-Wl,--hugetlbfs-align obj32/linkhuge_rw.o obj32/testutils.o
+| i586-oe-linux-ld: internal error in do_write, at
+/home/jenkins/oe/world/shr-core/tmp-glibc/work/x86_64-oe-linux/binutils-cross-i586/2.25-r0/git/gold/output.cc:464
+| collect2: error: ld returned 1 exit status
+
+But, it works well with GNU linker. --hugetlbfs-align flag passes
+"-zcommon-page-size=$SLICE_SIZE -zmax-page-size=$SLICE_SIZE", that are supported by gold linker too.
+But, it looks gold linker deal with them in a different way from gnu linker for i586.
+
+The readelf shows the below result with GNU linker:
+
+Elf file type is EXEC (Executable file)
+Entry point 0x8048fbd
+There are 8 program headers, starting at offset 52
+
+Program Headers:
+  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
+  PHDR           0x000034 0x08000034 0x08000034 0x00100 0x00100 R E 0x4
+  INTERP         0x048134 0x08048134 0x08048134 0x00013 0x00013 R   0x1
+      [Requesting program interpreter: /lib/ld-linux.so.2]
+  LOAD           0x000000 0x08000000 0x08000000 0x5a5bc 0x5a5bc R E 0x400000
+  LOAD           0x05a5bc 0x0845a5bc 0x0845a5bc 0x1028c 0x202cc RW 0x400000
+  DYNAMIC        0x05a5d0 0x0845a5d0 0x0845a5d0 0x000e8 0x000e8 RW  0x4
+  NOTE           0x048148 0x08048148 0x08048148 0x00044 0x00044 R   0x4
+  GNU_EH_FRAME   0x059e5c 0x08059e5c 0x08059e5c 0x0009c 0x0009c R   0x4
+  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x10
+
+"--relax" linker option doesn't solve this problem.
+Forced textsegment alignment to 0x08000000 with gold linker, the build will pass and
+readelf shows the same result with GNU linker:
+
+Elf file type is EXEC (Executable file)
+Entry point 0x8048fbd
+There are 8 program headers, starting at offset 52
+
+Program Headers:
+  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
+  PHDR           0x000034 0x08000034 0x08000034 0x00100 0x00100 R E 0x4
+  INTERP         0x048134 0x08048134 0x08048134 0x00013 0x00013 R   0x1
+      [Requesting program interpreter: /lib/ld-linux.so.2]
+  LOAD           0x000000 0x08000000 0x08000000 0x5a5bc 0x5a5bc R E 0x400000
+  LOAD           0x05a5bc 0x0845a5bc 0x0845a5bc 0x1028c 0x202cc RW 0x400000
+  DYNAMIC        0x05a5d0 0x0845a5d0 0x0845a5d0 0x000e8 0x000e8 RW  0x4
+  NOTE           0x048148 0x08048148 0x08048148 0x00044 0x00044 R   0x4
+  GNU_EH_FRAME   0x059e5c 0x08059e5c 0x08059e5c 0x0009c 0x0009c R   0x4
+  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x10
+
+The fix just have impact on hugelink_rw test case, which needs --hugetlbfs-align flag.
+
+Signed-off-by: Yang Shi <yang.shi@linaro.org>
+Signed-off-by: Eric B Munson <emunson@mgebm.net>
+---
+ ld.hugetlbfs | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ld.hugetlbfs b/ld.hugetlbfs
+index 4417442..32bc6fb 100755
+--- a/ld.hugetlbfs
++++ b/ld.hugetlbfs
+@@ -98,6 +98,7 @@ if [ "$HTLB_ALIGN" == "slice" ]; then
+ 	# otherwise it will be NULL.
+ 	case "$EMU" in
+ 	armelf*_linux_eabi)	HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" ;;
++	elf_i386)		HTLBOPTS="$HTLBOPTS -Ttext-segment=0x08000000" ;;
+ 	esac
+ fi
+ 
+-- 
+2.0.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
index 015d446..301b550 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 DEPENDS = "sysfsutils perl"
-RDEPENDS_${PN} += "bash perl python python-io python-lang python-subprocess python-resource"
+RDEPENDS_${PN} += "bash perl python python-io python-lang python-subprocess python-resource ${PN}-perl"
 RDEPENDS_${PN}-tests += "bash"
 
 PV = "2.19"
@@ -19,11 +19,12 @@
     file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \
     file://libhugetlbfs-elf_i386-avoid-search-host-library-path.patch \
     file://libhugetlbfs-avoid-using-restrict-as-var-name.patch \
+    file://Force-text-segment-alignment-to-0x08000000-for-i386-.patch \
 "
 
 S = "${WORKDIR}/git"
 
-COMPATIBLE_HOST = "(x86_64|powerpc|powerpc64|aarch64|arm).*-linux*"
+COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*"
 
 LIBARGS = "LIB32=${baselib} LIB64=${baselib}"
 LIBHUGETLBFS_ARCH = "${TARGET_ARCH}"
@@ -36,6 +37,7 @@
 TARGET_CC_ARCH += "${LDFLAGS}"
 
 #The CUSTOM_LDSCRIPTS doesn't work with the gold linker
+inherit cpan-base
 do_configure() {
     if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
       sed -i 's/CUSTOM_LDSCRIPTS = yes/CUSTOM_LDSCRIPTS = no/'  Makefile
@@ -43,6 +45,11 @@
 
     # fixup perl module directory hardcoded to perl5
     sed -i 's/perl5/perl/g'  Makefile
+
+    # fixup to install perl module under $(LIBDIR)/perl/${@get_perl_version(d)}/TLBC
+    # to avoid below error
+    # Can't locate TLBC/OpCollect.pm in @INC
+    sed -i '/^PMDIR/ s:perl:perl/${@get_perl_version(d)}:g' Makefile
 }
 
 do_install() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
index a62389d..62906fd 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -32,7 +32,9 @@
 }
 
 do_compile () {
-    . ${CONFIG_SITE}
+    for CONFIG_SITE_ITEM in $CONFIG_SITE; do
+        . $CONFIG_SITE_ITEM
+    done
     if [ X"$ac_cv_uint" = X"yes" ]; then
         CFLAGS="${CFLAGS} -DHAVE_uint"
     fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.0.1.bb
index 5acfbf1..aab64a3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.0.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_6.0.1.bb
@@ -13,23 +13,23 @@
 inherit systemd allarch
 
 do_install() {
-	DESTDIR=${D} ./install-sh ${exec_prefix}
+    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
+    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}/* \
+    ${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/sysbench/sysbench_0.4.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
new file mode 100644
index 0000000..fdf54e3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
@@ -0,0 +1,26 @@
+SUMMARY = "System performance benchmark"
+HOMEPAGE = "http://github.com/akopytov/sysbench"
+SECTION = "console/tests"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit autotools
+
+# The project has moved from Sourceforge to Launchpad, to Github. Use the source tarball from
+# Launchpad until the next release is available from Github.
+SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+files/${BPN}_${PV}.orig.tar.gz"
+
+SRC_URI[md5sum] = "3a6d54fdd3fe002328e4458206392b9d"
+SRC_URI[sha256sum] = "83fa7464193e012c91254e595a89894d8e35b4a38324b52a5974777e3823ea9e"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'largefile', '', d)}"
+PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
+PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio,"
+PACKAGECONFIG[mysql] = "--with-mysql \
+                        --with-mysql-includes=${STAGING_INCDIR}/mysql \
+                        --with-mysql-libs=${STAGING_LIBDIR}, \
+                        --without-mysql,mysql5"
+
+do_configure_prepend() {
+    touch ${S}/NEWS ${S}/AUTHORS
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
index 9898a70..38e71be 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
@@ -6,9 +6,9 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://main.c;endline=22;md5=879b9bbb60851454885b5fa47eb6b345"
 
-PV = "0.3.9+git${SRCPV}"
+PV = "0.4.0+git${SRCPV}"
 
-SRCREV = "95e68477588d41187b2d2e52ecf6be0e7eb06b8d"
+SRCREV = "2c789849709d837b4bd114c11ed2d9bdc65afbc6"
 SRC_URI = "git://github.com/ssvb/tinymembench.git"
 
 S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/COPYING b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/COPYING
new file mode 100644
index 0000000..63f5293
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/COPYING
@@ -0,0 +1,2 @@
+This is a blank COPYING file, and should be filled in by original author in future.
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/pointercal b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/pointercal
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/pointercal
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuarm/pointercal b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuarm/pointercal
new file mode 100644
index 0000000..abd84ca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuarm/pointercal
@@ -0,0 +1 @@
+8313 4 -8526 7 8334 -82604 65536
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuarmv6/pointercal b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuarmv6/pointercal
new file mode 100644
index 0000000..abd84ca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuarmv6/pointercal
@@ -0,0 +1 @@
+8313 4 -8526 7 8334 -82604 65536
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuarmv7/pointercal b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuarmv7/pointercal
new file mode 100644
index 0000000..abd84ca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuarmv7/pointercal
@@ -0,0 +1 @@
+8313 4 -8526 7 8334 -82604 65536
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemumips/pointercal b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemumips/pointercal
new file mode 100644
index 0000000..abd84ca
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemumips/pointercal
@@ -0,0 +1 @@
+8313 4 -8526 7 8334 -82604 65536
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuppc/pointercal b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuppc/pointercal
new file mode 100644
index 0000000..c2d6e37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemuppc/pointercal
Binary files differ
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemux86-64/pointercal b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemux86-64/pointercal
new file mode 100644
index 0000000..640053d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemux86-64/pointercal
@@ -0,0 +1 @@
+1280 0 1002 0 960 328 65536
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemux86/pointercal b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemux86/pointercal
new file mode 100644
index 0000000..640053d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal/qemux86/pointercal
@@ -0,0 +1 @@
+1280 0 1002 0 960 328 65536
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal_0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal_0.0.bb
new file mode 100644
index 0000000..fcfd038
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-bsp/pointercal/pointercal_0.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Touchscreen calibration data"
+SECTION = "base"
+PR = "r11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4b5fcfc87fb615860d398b5e38685edf"
+
+SRC_URI = "file://pointercal \
+           file://COPYING"
+
+S = "${WORKDIR}"
+
+do_install() {
+    # Only install file if it has a contents
+    if [ -s ${S}/pointercal ]; then
+        install -d ${D}${sysconfdir}/
+        install -m 0644 ${S}/pointercal ${D}${sysconfdir}/
+    fi
+}
+
+ALLOW_EMPTY_${PN} = "1"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+INHIBIT_DEFAULT_DEPS = "1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb
index f33b435..4441175 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb
@@ -1,6 +1,6 @@
 SUMMARY = "GNU All Mobile Managment Utilities"
 SECTION = "console/network"
-DEPENDS = "cmake-native virtual/libiconv libdbi mysql5 glib-2.0 udev libgudev"
+DEPENDS = "cmake-native virtual/libiconv libdbi mysql5 glib-2.0 udev libgudev unixodbc"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf"
 HOMEPAGE = "http://www.gammu.org/"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
index cfd794d..2de547a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb
@@ -5,7 +5,7 @@
 
 SRC_URI = "http://www.gnokii.org/download/gnokii/gnokii-${PV}.tar.bz2"
 
-DEPENDS = "glib-2.0"
+DEPENDS = "glib-2.0 intltool-native"
 X11DEPENDS = " libxpm gtk+"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
@@ -24,8 +24,9 @@
 
 FILES_${PN} = "${bindir} ${sbindir}"
 FILES_libgnokii-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
-                ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
-	        /lib/*.a /lib/*.o ${datadir}/aclocal"
+    ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
+    /lib/*.a /lib/*.o ${datadir}/aclocal \
+"
 FILES_${PN}-dev = ""
 FILES_libgnokii = "${libdir}/libgnokii.so.*"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch
new file mode 100644
index 0000000..2fc7896
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch
@@ -0,0 +1,86 @@
+From ecbb0b3dc122b0d290987cf9c84010bbe53e1022 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <jouni@qca.qualcomm.com>
+Date: Fri, 4 Mar 2016 17:20:18 +0200
+Subject: [PATCH 1/1] WPS: Reject a Credential with invalid passphrase
+
+WPA/WPA2-Personal passphrase is not allowed to include control
+characters. Reject a Credential received from a WPS Registrar both as
+STA (Credential) and AP (AP Settings) if the credential is for WPAPSK or
+WPA2PSK authentication type and includes an invalid passphrase.
+
+This fixes an issue where hostapd or wpa_supplicant could have updated
+the configuration file PSK/passphrase parameter with arbitrary data from
+an external device (Registrar) that may not be fully trusted. Should
+such data include a newline character, the resulting configuration file
+could become invalid and fail to be parsed.
+
+Upstream-Status: Backport
+
+CVE: CVE-2016-4476
+
+Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
+Signed-off-by: Zhixiong Chi <Zhixiong.Chi@windriver.com>
+---
+ src/utils/common.c         | 12 ++++++++++++
+ src/utils/common.h         |  1 +
+ src/wps/wps_attr_process.c | 10 ++++++++++
+ 3 files changed, 23 insertions(+)
+
+diff --git a/src/utils/common.c b/src/utils/common.c
+index 450e2c6..27b7c02 100644
+--- a/src/utils/common.c
++++ b/src/utils/common.c
+@@ -697,6 +697,18 @@ int is_hex(const u8 *data, size_t len)
+ }
+ 
+ 
++int has_ctrl_char(const u8 *data, size_t len)
++{
++	size_t i;
++
++	for (i = 0; i < len; i++) {
++		if (data[i] < 32 || data[i] == 127)
++			return 1;
++	}
++	return 0;
++}
++
++
+ size_t merge_byte_arrays(u8 *res, size_t res_len,
+ 			 const u8 *src1, size_t src1_len,
+ 			 const u8 *src2, size_t src2_len)
+diff --git a/src/utils/common.h b/src/utils/common.h
+index 701dbb2..a972240 100644
+--- a/src/utils/common.h
++++ b/src/utils/common.h
+@@ -488,6 +488,7 @@ const char * wpa_ssid_txt(const u8 *ssid, size_t ssid_len);
+ 
+ char * wpa_config_parse_string(const char *value, size_t *len);
+ int is_hex(const u8 *data, size_t len);
++int has_ctrl_char(const u8 *data, size_t len);
+ size_t merge_byte_arrays(u8 *res, size_t res_len,
+ 			 const u8 *src1, size_t src1_len,
+ 			 const u8 *src2, size_t src2_len);
+diff --git a/src/wps/wps_attr_process.c b/src/wps/wps_attr_process.c
+index eadb22f..e8c4579 100644
+--- a/src/wps/wps_attr_process.c
++++ b/src/wps/wps_attr_process.c
+@@ -229,6 +229,16 @@ static int wps_workaround_cred_key(struct wps_credential *cred)
+ 		cred->key_len--;
+ #endif /* CONFIG_WPS_STRICT */
+ 	}
++
++
++	if (cred->auth_type & (WPS_AUTH_WPAPSK | WPS_AUTH_WPA2PSK) &&
++	    (cred->key_len < 8 || has_ctrl_char(cred->key, cred->key_len))) {
++		wpa_printf(MSG_INFO, "WPS: Reject credential with invalid WPA/WPA2-Personal passphrase");
++		wpa_hexdump_ascii_key(MSG_INFO, "WPS: Network Key",
++				      cred->key, cred->key_len);
++		return -1;
++	}
++
+ 	return 0;
+ }
+ 
+--
+1.9.1
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.5.bb
index c38e20a..ab01235 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.5.bb
@@ -16,6 +16,7 @@
     file://defconfig \
     file://init \
     file://hostapd.service \
+    file://0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch \
 "
 
 S = "${WORKDIR}/hostapd-${PV}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-aliasing-bugs-CVE-2015-2696.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-aliasing-bugs-CVE-2015-2696.patch
deleted file mode 100644
index b771b41..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-aliasing-bugs-CVE-2015-2696.patch
+++ /dev/null
@@ -1,739 +0,0 @@
-From f6e57c402688f4bc386d1a39512657a30f0bafd3 Mon Sep 17 00:00:00 2001
-From: Nicolas Williams <nico@twosigma.com>
-Date: Mon, 14 Sep 2015 12:28:36 -0400
-Subject: [PATCH 2/4] Fix IAKERB context aliasing bugs [CVE-2015-2696]
-
-The IAKERB mechanism currently replaces its context handle with the
-krb5 mechanism handle upon establishment, under the assumption that
-most GSS functions are only called after context establishment.  This
-assumption is incorrect, and can lead to aliasing violations for some
-programs.  Maintain the IAKERB context structure after context
-establishment and add new IAKERB entry points to refer to it with that
-type.  Add initiate and established flags to the IAKERB context
-structure for use in gss_inquire_context() prior to context
-establishment.
-
-CVE-2015-2696:
-
-In MIT krb5 1.9 and later, applications which call
-gss_inquire_context() on a partially-established IAKERB context can
-cause the GSS-API library to read from a pointer using the wrong type,
-generally causing a process crash.  Java server applications using the
-native JGSS provider are vulnerable to this bug.  A carefully crafted
-IAKERB packet might allow the gss_inquire_context() call to succeed
-with attacker-determined results, but applications should not make
-access control decisions based on gss_inquire_context() results prior
-to context establishment.
-
-    CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:C/E:POC/RL:OF/RC:C
-
-[ghudson@mit.edu: several bugfixes, style changes, and edge-case
-behavior changes; commit message and CVE description]
-
-ticket: 8244
-target_version: 1.14
-tags: pullup
-
-Backport upstream commit:
-https://github.com/krb5/krb5/commit/e04f0283516e80d2f93366e0d479d13c9b5c8c2a
-
-Upstream-Status: Backport
----
- src/lib/gssapi/krb5/gssapiP_krb5.h | 114 ++++++++++++
- src/lib/gssapi/krb5/gssapi_krb5.c  | 105 +++++++++--
- src/lib/gssapi/krb5/iakerb.c       | 351 +++++++++++++++++++++++++++++++++----
- 3 files changed, 529 insertions(+), 41 deletions(-)
-
-diff --git a/src/lib/gssapi/krb5/gssapiP_krb5.h b/src/lib/gssapi/krb5/gssapiP_krb5.h
-index a0e8625..05dc321 100644
---- a/src/lib/gssapi/krb5/gssapiP_krb5.h
-+++ b/src/lib/gssapi/krb5/gssapiP_krb5.h
-@@ -620,6 +620,21 @@ OM_uint32 KRB5_CALLCONV krb5_gss_accept_sec_context_ext
- );
- #endif /* LEAN_CLIENT */
- 
-+OM_uint32 KRB5_CALLCONV krb5_gss_inquire_sec_context_by_oid
-+(OM_uint32*,       /* minor_status */
-+ const gss_ctx_id_t,
-+ /* context_handle */
-+ const gss_OID,    /* desired_object */
-+ gss_buffer_set_t* /* data_set */
-+);
-+
-+OM_uint32 KRB5_CALLCONV krb5_gss_set_sec_context_option
-+(OM_uint32*,       /* minor_status */
-+ gss_ctx_id_t*,    /* context_handle */
-+ const gss_OID,    /* desired_object */
-+ const gss_buffer_t/* value */
-+);
-+
- OM_uint32 KRB5_CALLCONV krb5_gss_process_context_token
- (OM_uint32*,       /* minor_status */
-  gss_ctx_id_t,     /* context_handle */
-@@ -1301,6 +1316,105 @@ OM_uint32 KRB5_CALLCONV
- krb5_gss_import_cred(OM_uint32 *minor_status, gss_buffer_t token,
-                      gss_cred_id_t *cred_handle);
- 
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_process_context_token(OM_uint32 *minor_status,
-+                                 const gss_ctx_id_t context_handle,
-+                                 const gss_buffer_t token_buffer);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_context_time(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                        OM_uint32 *time_rec);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_inquire_context(OM_uint32 *minor_status,
-+                           gss_ctx_id_t context_handle, gss_name_t *src_name,
-+                           gss_name_t *targ_name, OM_uint32 *lifetime_rec,
-+                           gss_OID *mech_type, OM_uint32 *ctx_flags,
-+                           int *locally_initiated, int *opened);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_get_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                   gss_qop_t qop_req, gss_buffer_t message_buffer,
-+                   gss_buffer_t message_token);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                       gss_qop_t qop_req, gss_iov_buffer_desc *iov,
-+                       int iov_count);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_get_mic_iov_length(OM_uint32 *minor_status,
-+                              gss_ctx_id_t context_handle, gss_qop_t qop_req,
-+                              gss_iov_buffer_desc *iov, int iov_count);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                      gss_buffer_t msg_buffer, gss_buffer_t token_buffer,
-+                      gss_qop_t *qop_state);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                          gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
-+                          int iov_count);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                int conf_req_flag, gss_qop_t qop_req,
-+                gss_buffer_t input_message_buffer, int *conf_state,
-+                gss_buffer_t output_message_buffer);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_wrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                    int conf_req_flag, gss_qop_t qop_req, int *conf_state,
-+                    gss_iov_buffer_desc *iov, int iov_count);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_wrap_iov_length(OM_uint32 *minor_status,
-+                           gss_ctx_id_t context_handle, int conf_req_flag,
-+                           gss_qop_t qop_req, int *conf_state,
-+                           gss_iov_buffer_desc *iov, int iov_count);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_unwrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                  gss_buffer_t input_message_buffer,
-+                  gss_buffer_t output_message_buffer, int *conf_state,
-+                  gss_qop_t *qop_state);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_unwrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                      int *conf_state, gss_qop_t *qop_state,
-+                      gss_iov_buffer_desc *iov, int iov_count);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_wrap_size_limit(OM_uint32 *minor_status,
-+                           gss_ctx_id_t context_handle, int conf_req_flag,
-+                           gss_qop_t qop_req, OM_uint32 req_output_size,
-+                           OM_uint32 *max_input_size);
-+
-+#ifndef LEAN_CLIENT
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_export_sec_context(OM_uint32 *minor_status,
-+                              gss_ctx_id_t *context_handle,
-+                              gss_buffer_t interprocess_token);
-+#endif /* LEAN_CLIENT */
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_inquire_sec_context_by_oid(OM_uint32 *minor_status,
-+                                      const gss_ctx_id_t context_handle,
-+                                      const gss_OID desired_object,
-+                                      gss_buffer_set_t *data_set);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_set_sec_context_option(OM_uint32 *minor_status,
-+                                  gss_ctx_id_t *context_handle,
-+                                  const gss_OID desired_object,
-+                                  const gss_buffer_t value);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_pseudo_random(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                         int prf_key, const gss_buffer_t prf_in,
-+                         ssize_t desired_output_len, gss_buffer_t prf_out);
-+
- /* Magic string to identify exported krb5 GSS credentials.  Increment this if
-  * the format changes. */
- #define CRED_EXPORT_MAGIC "K5C1"
-diff --git a/src/lib/gssapi/krb5/gssapi_krb5.c b/src/lib/gssapi/krb5/gssapi_krb5.c
-index 77b7fff..9a23656 100644
---- a/src/lib/gssapi/krb5/gssapi_krb5.c
-+++ b/src/lib/gssapi/krb5/gssapi_krb5.c
-@@ -345,7 +345,7 @@ static struct {
-     }
- };
- 
--static OM_uint32 KRB5_CALLCONV
-+OM_uint32 KRB5_CALLCONV
- krb5_gss_inquire_sec_context_by_oid (OM_uint32 *minor_status,
-                                      const gss_ctx_id_t context_handle,
-                                      const gss_OID desired_object,
-@@ -459,7 +459,7 @@ static struct {
- };
- #endif
- 
--static OM_uint32 KRB5_CALLCONV
-+OM_uint32 KRB5_CALLCONV
- krb5_gss_set_sec_context_option (OM_uint32 *minor_status,
-                                  gss_ctx_id_t *context_handle,
-                                  const gss_OID desired_object,
-@@ -904,20 +904,103 @@ static struct gss_config krb5_mechanism = {
-     krb5_gss_get_mic_iov_length,
- };
- 
-+/* Functions which use security contexts or acquire creds are IAKERB-specific;
-+ * other functions can borrow from the krb5 mech. */
-+static struct gss_config iakerb_mechanism = {
-+    { GSS_MECH_KRB5_OID_LENGTH, GSS_MECH_KRB5_OID },
-+    NULL,
-+    iakerb_gss_acquire_cred,
-+    krb5_gss_release_cred,
-+    iakerb_gss_init_sec_context,
-+#ifdef LEAN_CLIENT
-+    NULL,
-+#else
-+    iakerb_gss_accept_sec_context,
-+#endif
-+    iakerb_gss_process_context_token,
-+    iakerb_gss_delete_sec_context,
-+    iakerb_gss_context_time,
-+    iakerb_gss_get_mic,
-+    iakerb_gss_verify_mic,
-+#if defined(IOV_SHIM_EXERCISE_WRAP) || defined(IOV_SHIM_EXERCISE)
-+    NULL,
-+#else
-+    iakerb_gss_wrap,
-+#endif
-+#if defined(IOV_SHIM_EXERCISE_UNWRAP) || defined(IOV_SHIM_EXERCISE)
-+    NULL,
-+#else
-+    iakerb_gss_unwrap,
-+#endif
-+    krb5_gss_display_status,
-+    krb5_gss_indicate_mechs,
-+    krb5_gss_compare_name,
-+    krb5_gss_display_name,
-+    krb5_gss_import_name,
-+    krb5_gss_release_name,
-+    krb5_gss_inquire_cred,
-+    NULL,                /* add_cred */
-+#ifdef LEAN_CLIENT
-+    NULL,
-+    NULL,
-+#else
-+    iakerb_gss_export_sec_context,
-+    NULL,
-+#endif
-+    krb5_gss_inquire_cred_by_mech,
-+    krb5_gss_inquire_names_for_mech,
-+    iakerb_gss_inquire_context,
-+    krb5_gss_internal_release_oid,
-+    iakerb_gss_wrap_size_limit,
-+    krb5_gss_localname,
-+    krb5_gss_authorize_localname,
-+    krb5_gss_export_name,
-+    krb5_gss_duplicate_name,
-+    krb5_gss_store_cred,
-+    iakerb_gss_inquire_sec_context_by_oid,
-+    krb5_gss_inquire_cred_by_oid,
-+    iakerb_gss_set_sec_context_option,
-+    krb5_gssspi_set_cred_option,
-+    krb5_gssspi_mech_invoke,
-+    NULL,                /* wrap_aead */
-+    NULL,                /* unwrap_aead */
-+    iakerb_gss_wrap_iov,
-+    iakerb_gss_unwrap_iov,
-+    iakerb_gss_wrap_iov_length,
-+    NULL,               /* complete_auth_token */
-+    NULL,               /* acquire_cred_impersonate_name */
-+    NULL,               /* add_cred_impersonate_name */
-+    NULL,               /* display_name_ext */
-+    krb5_gss_inquire_name,
-+    krb5_gss_get_name_attribute,
-+    krb5_gss_set_name_attribute,
-+    krb5_gss_delete_name_attribute,
-+    krb5_gss_export_name_composite,
-+    krb5_gss_map_name_to_any,
-+    krb5_gss_release_any_name_mapping,
-+    iakerb_gss_pseudo_random,
-+    NULL,               /* set_neg_mechs */
-+    krb5_gss_inquire_saslname_for_mech,
-+    krb5_gss_inquire_mech_for_saslname,
-+    krb5_gss_inquire_attrs_for_mech,
-+    krb5_gss_acquire_cred_from,
-+    krb5_gss_store_cred_into,
-+    iakerb_gss_acquire_cred_with_password,
-+    krb5_gss_export_cred,
-+    krb5_gss_import_cred,
-+    NULL,               /* import_sec_context_by_mech */
-+    NULL,               /* import_name_by_mech */
-+    NULL,               /* import_cred_by_mech */
-+    iakerb_gss_get_mic_iov,
-+    iakerb_gss_verify_mic_iov,
-+    iakerb_gss_get_mic_iov_length,
-+};
-+
- #ifdef _GSS_STATIC_LINK
- #include "mglueP.h"
- static int gss_iakerbmechglue_init(void)
- {
-     struct gss_mech_config mech_iakerb;
--    struct gss_config iakerb_mechanism = krb5_mechanism;
--
--    /* IAKERB mechanism mirrors krb5, but with different context SPIs */
--    iakerb_mechanism.gss_accept_sec_context = iakerb_gss_accept_sec_context;
--    iakerb_mechanism.gss_init_sec_context   = iakerb_gss_init_sec_context;
--    iakerb_mechanism.gss_delete_sec_context = iakerb_gss_delete_sec_context;
--    iakerb_mechanism.gss_acquire_cred       = iakerb_gss_acquire_cred;
--    iakerb_mechanism.gssspi_acquire_cred_with_password
--                                    = iakerb_gss_acquire_cred_with_password;
- 
-     memset(&mech_iakerb, 0, sizeof(mech_iakerb));
-     mech_iakerb.mech = &iakerb_mechanism;
-diff --git a/src/lib/gssapi/krb5/iakerb.c b/src/lib/gssapi/krb5/iakerb.c
-index f30de32..4662bd9 100644
---- a/src/lib/gssapi/krb5/iakerb.c
-+++ b/src/lib/gssapi/krb5/iakerb.c
-@@ -47,6 +47,8 @@ struct _iakerb_ctx_id_rec {
-     gss_ctx_id_t gssc;
-     krb5_data conv;                     /* conversation for checksumming */
-     unsigned int count;                 /* number of round trips */
-+    int initiate;
-+    int established;
-     krb5_get_init_creds_opt *gic_opts;
- };
- 
-@@ -695,7 +697,7 @@ cleanup:
-  * Allocate and initialise an IAKERB context
-  */
- static krb5_error_code
--iakerb_alloc_context(iakerb_ctx_id_t *pctx)
-+iakerb_alloc_context(iakerb_ctx_id_t *pctx, int initiate)
- {
-     iakerb_ctx_id_t ctx;
-     krb5_error_code code;
-@@ -709,6 +711,8 @@ iakerb_alloc_context(iakerb_ctx_id_t *pctx)
-     ctx->magic = KG_IAKERB_CONTEXT;
-     ctx->state = IAKERB_AS_REQ;
-     ctx->count = 0;
-+    ctx->initiate = initiate;
-+    ctx->established = 0;
- 
-     code = krb5_gss_init_context(&ctx->k5c);
-     if (code != 0)
-@@ -732,7 +736,7 @@ iakerb_gss_delete_sec_context(OM_uint32 *minor_status,
-                               gss_ctx_id_t *context_handle,
-                               gss_buffer_t output_token)
- {
--    OM_uint32 major_status = GSS_S_COMPLETE;
-+    iakerb_ctx_id_t iakerb_ctx = (iakerb_ctx_id_t)*context_handle;
- 
-     if (output_token != GSS_C_NO_BUFFER) {
-         output_token->length = 0;
-@@ -740,23 +744,10 @@ iakerb_gss_delete_sec_context(OM_uint32 *minor_status,
-     }
- 
-     *minor_status = 0;
-+    *context_handle = GSS_C_NO_CONTEXT;
-+    iakerb_release_context(iakerb_ctx);
- 
--    if (*context_handle != GSS_C_NO_CONTEXT) {
--        iakerb_ctx_id_t iakerb_ctx = (iakerb_ctx_id_t)*context_handle;
--
--        if (iakerb_ctx->magic == KG_IAKERB_CONTEXT) {
--            iakerb_release_context(iakerb_ctx);
--            *context_handle = GSS_C_NO_CONTEXT;
--        } else {
--            assert(iakerb_ctx->magic == KG_CONTEXT);
--
--            major_status = krb5_gss_delete_sec_context(minor_status,
--                                                       context_handle,
--                                                       output_token);
--        }
--    }
--
--    return major_status;
-+    return GSS_S_COMPLETE;
- }
- 
- static krb5_boolean
-@@ -802,7 +793,7 @@ iakerb_gss_accept_sec_context(OM_uint32 *minor_status,
-     int initialContextToken = (*context_handle == GSS_C_NO_CONTEXT);
- 
-     if (initialContextToken) {
--        code = iakerb_alloc_context(&ctx);
-+        code = iakerb_alloc_context(&ctx, 0);
-         if (code != 0)
-             goto cleanup;
- 
-@@ -854,11 +845,8 @@ iakerb_gss_accept_sec_context(OM_uint32 *minor_status,
-                                                        time_rec,
-                                                        delegated_cred_handle,
-                                                        &exts);
--        if (major_status == GSS_S_COMPLETE) {
--            *context_handle = ctx->gssc;
--            ctx->gssc = NULL;
--            iakerb_release_context(ctx);
--        }
-+        if (major_status == GSS_S_COMPLETE)
-+            ctx->established = 1;
-         if (mech_type != NULL)
-             *mech_type = (gss_OID)gss_mech_krb5;
-     }
-@@ -897,7 +885,7 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status,
-     int initialContextToken = (*context_handle == GSS_C_NO_CONTEXT);
- 
-     if (initialContextToken) {
--        code = iakerb_alloc_context(&ctx);
-+        code = iakerb_alloc_context(&ctx, 1);
-         if (code != 0) {
-             *minor_status = code;
-             goto cleanup;
-@@ -983,11 +971,8 @@ iakerb_gss_init_sec_context(OM_uint32 *minor_status,
-                                                      ret_flags,
-                                                      time_rec,
-                                                      &exts);
--        if (major_status == GSS_S_COMPLETE) {
--            *context_handle = ctx->gssc;
--            ctx->gssc = GSS_C_NO_CONTEXT;
--            iakerb_release_context(ctx);
--        }
-+        if (major_status == GSS_S_COMPLETE)
-+            ctx->established = 1;
-         if (actual_mech_type != NULL)
-             *actual_mech_type = (gss_OID)gss_mech_krb5;
-     } else {
-@@ -1010,3 +995,309 @@ cleanup:
- 
-     return major_status;
- }
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_unwrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                  gss_buffer_t input_message_buffer,
-+                  gss_buffer_t output_message_buffer, int *conf_state,
-+                  gss_qop_t *qop_state)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_unwrap(minor_status, ctx->gssc, input_message_buffer,
-+                           output_message_buffer, conf_state, qop_state);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_wrap(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                int conf_req_flag, gss_qop_t qop_req,
-+                gss_buffer_t input_message_buffer, int *conf_state,
-+                gss_buffer_t output_message_buffer)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_wrap(minor_status, ctx->gssc, conf_req_flag, qop_req,
-+                         input_message_buffer, conf_state,
-+                         output_message_buffer);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_process_context_token(OM_uint32 *minor_status,
-+                                 const gss_ctx_id_t context_handle,
-+                                 const gss_buffer_t token_buffer)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_DEFECTIVE_TOKEN;
-+
-+    return krb5_gss_process_context_token(minor_status, ctx->gssc,
-+                                          token_buffer);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_context_time(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                        OM_uint32 *time_rec)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_context_time(minor_status, ctx->gssc, time_rec);
-+}
-+
-+#ifndef LEAN_CLIENT
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_export_sec_context(OM_uint32 *minor_status,
-+                              gss_ctx_id_t *context_handle,
-+                              gss_buffer_t interprocess_token)
-+{
-+    OM_uint32 maj;
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    /* We don't currently support exporting partially established contexts. */
-+    if (!ctx->established)
-+        return GSS_S_UNAVAILABLE;
-+
-+    maj = krb5_gss_export_sec_context(minor_status, &ctx->gssc,
-+                                      interprocess_token);
-+    if (ctx->gssc == GSS_C_NO_CONTEXT) {
-+        iakerb_release_context(ctx);
-+        *context_handle = GSS_C_NO_CONTEXT;
-+    }
-+    return maj;
-+}
-+
-+/*
-+ * Until we implement partial context exports, there are no SPNEGO exported
-+ * context tokens, only tokens for the underlying krb5 context.  So we do not
-+ * need to implement an iakerb_gss_import_sec_context() yet; it would be
-+ * unreachable except via a manually constructed token.
-+ */
-+
-+#endif /* LEAN_CLIENT */
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_inquire_context(OM_uint32 *minor_status,
-+                           gss_ctx_id_t context_handle, gss_name_t *src_name,
-+                           gss_name_t *targ_name, OM_uint32 *lifetime_rec,
-+                           gss_OID *mech_type, OM_uint32 *ctx_flags,
-+                           int *initiate, int *opened)
-+{
-+    OM_uint32 ret;
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (src_name != NULL)
-+        *src_name = GSS_C_NO_NAME;
-+    if (targ_name != NULL)
-+        *targ_name = GSS_C_NO_NAME;
-+    if (lifetime_rec != NULL)
-+        *lifetime_rec = 0;
-+    if (mech_type != NULL)
-+        *mech_type = (gss_OID)gss_mech_iakerb;
-+    if (ctx_flags != NULL)
-+        *ctx_flags = 0;
-+    if (initiate != NULL)
-+        *initiate = ctx->initiate;
-+    if (opened != NULL)
-+        *opened = ctx->established;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_COMPLETE;
-+
-+    ret = krb5_gss_inquire_context(minor_status, ctx->gssc, src_name,
-+                                   targ_name, lifetime_rec, mech_type,
-+                                   ctx_flags, initiate, opened);
-+
-+    if (!ctx->established) {
-+        /* Report IAKERB as the mech OID until the context is established. */
-+        if (mech_type != NULL)
-+            *mech_type = (gss_OID)gss_mech_iakerb;
-+
-+        /* We don't support exporting partially-established contexts. */
-+        if (ctx_flags != NULL)
-+            *ctx_flags &= ~GSS_C_TRANS_FLAG;
-+    }
-+
-+    return ret;
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_wrap_size_limit(OM_uint32 *minor_status,
-+                           gss_ctx_id_t context_handle, int conf_req_flag,
-+                           gss_qop_t qop_req, OM_uint32 req_output_size,
-+                           OM_uint32 *max_input_size)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_wrap_size_limit(minor_status, ctx->gssc, conf_req_flag,
-+                                    qop_req, req_output_size, max_input_size);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_get_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                   gss_qop_t qop_req, gss_buffer_t message_buffer,
-+                   gss_buffer_t message_token)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_get_mic(minor_status, ctx->gssc, qop_req, message_buffer,
-+                            message_token);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_verify_mic(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                      gss_buffer_t msg_buffer, gss_buffer_t token_buffer,
-+                      gss_qop_t *qop_state)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_verify_mic(minor_status, ctx->gssc, msg_buffer,
-+                               token_buffer, qop_state);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_inquire_sec_context_by_oid(OM_uint32 *minor_status,
-+                                      const gss_ctx_id_t context_handle,
-+                                      const gss_OID desired_object,
-+                                      gss_buffer_set_t *data_set)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_UNAVAILABLE;
-+
-+    return krb5_gss_inquire_sec_context_by_oid(minor_status, ctx->gssc,
-+                                               desired_object, data_set);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_set_sec_context_option(OM_uint32 *minor_status,
-+                                  gss_ctx_id_t *context_handle,
-+                                  const gss_OID desired_object,
-+                                  const gss_buffer_t value)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)*context_handle;
-+
-+    if (ctx == NULL || ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_UNAVAILABLE;
-+
-+    return krb5_gss_set_sec_context_option(minor_status, &ctx->gssc,
-+                                           desired_object, value);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_wrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                    int conf_req_flag, gss_qop_t qop_req, int *conf_state,
-+                    gss_iov_buffer_desc *iov, int iov_count)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_wrap_iov(minor_status, ctx->gssc, conf_req_flag, qop_req,
-+                             conf_state, iov, iov_count);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_unwrap_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                      int *conf_state, gss_qop_t *qop_state,
-+                      gss_iov_buffer_desc *iov, int iov_count)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_unwrap_iov(minor_status, ctx->gssc, conf_state, qop_state,
-+                               iov, iov_count);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_wrap_iov_length(OM_uint32 *minor_status,
-+                           gss_ctx_id_t context_handle, int conf_req_flag,
-+                           gss_qop_t qop_req, int *conf_state,
-+                           gss_iov_buffer_desc *iov, int iov_count)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_wrap_iov_length(minor_status, ctx->gssc, conf_req_flag,
-+                                    qop_req, conf_state, iov, iov_count);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_pseudo_random(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                         int prf_key, const gss_buffer_t prf_in,
-+                         ssize_t desired_output_len, gss_buffer_t prf_out)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_pseudo_random(minor_status, ctx->gssc, prf_key, prf_in,
-+                                  desired_output_len, prf_out);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                       gss_qop_t qop_req, gss_iov_buffer_desc *iov,
-+                       int iov_count)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_get_mic_iov(minor_status, ctx->gssc, qop_req, iov,
-+                                iov_count);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
-+                          gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
-+                          int iov_count)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_verify_mic_iov(minor_status, ctx->gssc, qop_state, iov,
-+                                   iov_count);
-+}
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_get_mic_iov_length(OM_uint32 *minor_status,
-+                              gss_ctx_id_t context_handle, gss_qop_t qop_req,
-+                              gss_iov_buffer_desc *iov, int iov_count)
-+{
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+
-+    if (ctx->gssc == GSS_C_NO_CONTEXT)
-+        return GSS_S_NO_CONTEXT;
-+
-+    return krb5_gss_get_mic_iov_length(minor_status, ctx->gssc, qop_req, iov,
-+                                       iov_count);
-+}
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-export-import-CVE-2015-2698.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-export-import-CVE-2015-2698.patch
deleted file mode 100644
index 2f45d30..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-IAKERB-context-export-import-CVE-2015-2698.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From aa769c8c6905d1abfac66d4d1b0fc73740ccbe7d Mon Sep 17 00:00:00 2001
-From: Greg Hudson <ghudson@mit.edu>
-Date: Sat, 14 Nov 2015 02:47:04 -0500
-Subject: [PATCH 4/4] Fix IAKERB context export/import [CVE-2015-2698]
-
-The patches for CVE-2015-2696 contained a regression in the newly
-added IAKERB iakerb_gss_export_sec_context() function, which could
-cause it to corrupt memory.  Fix the regression by properly
-dereferencing the context_handle pointer before casting it.
-
-Also, the patches did not implement an IAKERB gss_import_sec_context()
-function, under the erroneous belief that an exported IAKERB context
-would be tagged as a krb5 context.  Implement it now to allow IAKERB
-contexts to be successfully exported and imported after establishment.
-
-CVE-2015-2698:
-
-In any MIT krb5 release with the patches for CVE-2015-2696 applied, an
-application which calls gss_export_sec_context() may experience memory
-corruption if the context was established using the IAKERB mechanism.
-Historically, some vulnerabilities of this nature can be translated
-into remote code execution, though the necessary exploits must be
-tailored to the individual application and are usually quite
-complicated.
-
-    CVSSv2 Vector: AV:N/AC:H/Au:S/C:C/I:C/A:C/E:POC/RL:OF/RC:C
-
-ticket: 8273 (new)
-target_version: 1.14
-tags: pullup
-
-Backport upstream commit:
-https://github.com/krb5/krb5/commit/3db8dfec1ef50ddd78d6ba9503185995876a39fd
-
-Upstream-Status: Backport
----
- src/lib/gssapi/krb5/gssapiP_krb5.h |  5 +++++
- src/lib/gssapi/krb5/gssapi_krb5.c  |  2 +-
- src/lib/gssapi/krb5/iakerb.c       | 42 +++++++++++++++++++++++++++++++-------
- 3 files changed, 41 insertions(+), 8 deletions(-)
-
-diff --git a/src/lib/gssapi/krb5/gssapiP_krb5.h b/src/lib/gssapi/krb5/gssapiP_krb5.h
-index 05dc321..ac53662 100644
---- a/src/lib/gssapi/krb5/gssapiP_krb5.h
-+++ b/src/lib/gssapi/krb5/gssapiP_krb5.h
-@@ -1396,6 +1396,11 @@ OM_uint32 KRB5_CALLCONV
- iakerb_gss_export_sec_context(OM_uint32 *minor_status,
-                               gss_ctx_id_t *context_handle,
-                               gss_buffer_t interprocess_token);
-+
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_import_sec_context(OM_uint32 *minor_status,
-+                              const gss_buffer_t interprocess_token,
-+                              gss_ctx_id_t *context_handle);
- #endif /* LEAN_CLIENT */
- 
- OM_uint32 KRB5_CALLCONV
-diff --git a/src/lib/gssapi/krb5/gssapi_krb5.c b/src/lib/gssapi/krb5/gssapi_krb5.c
-index 9a23656..d7ba279 100644
---- a/src/lib/gssapi/krb5/gssapi_krb5.c
-+++ b/src/lib/gssapi/krb5/gssapi_krb5.c
-@@ -945,7 +945,7 @@ static struct gss_config iakerb_mechanism = {
-     NULL,
- #else
-     iakerb_gss_export_sec_context,
--    NULL,
-+    iakerb_gss_import_sec_context,
- #endif
-     krb5_gss_inquire_cred_by_mech,
-     krb5_gss_inquire_names_for_mech,
-diff --git a/src/lib/gssapi/krb5/iakerb.c b/src/lib/gssapi/krb5/iakerb.c
-index 4662bd9..48beaee 100644
---- a/src/lib/gssapi/krb5/iakerb.c
-+++ b/src/lib/gssapi/krb5/iakerb.c
-@@ -1061,7 +1061,7 @@ iakerb_gss_export_sec_context(OM_uint32 *minor_status,
-                               gss_buffer_t interprocess_token)
- {
-     OM_uint32 maj;
--    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)context_handle;
-+    iakerb_ctx_id_t ctx = (iakerb_ctx_id_t)*context_handle;
- 
-     /* We don't currently support exporting partially established contexts. */
-     if (!ctx->established)
-@@ -1076,13 +1076,41 @@ iakerb_gss_export_sec_context(OM_uint32 *minor_status,
-     return maj;
- }
- 
--/*
-- * Until we implement partial context exports, there are no SPNEGO exported
-- * context tokens, only tokens for the underlying krb5 context.  So we do not
-- * need to implement an iakerb_gss_import_sec_context() yet; it would be
-- * unreachable except via a manually constructed token.
-- */
-+OM_uint32 KRB5_CALLCONV
-+iakerb_gss_import_sec_context(OM_uint32 *minor_status,
-+                              gss_buffer_t interprocess_token,
-+                              gss_ctx_id_t *context_handle)
-+{
-+    OM_uint32 maj, tmpmin;
-+    krb5_error_code code;
-+    gss_ctx_id_t gssc;
-+    krb5_gss_ctx_id_t kctx;
-+    iakerb_ctx_id_t ctx;
-+
-+    maj = krb5_gss_import_sec_context(minor_status, interprocess_token, &gssc);
-+    if (maj != GSS_S_COMPLETE)
-+        return maj;
-+    kctx = (krb5_gss_ctx_id_t)gssc;
-+
-+    if (!kctx->established) {
-+        /* We don't currently support importing partially established
-+         * contexts. */
-+        krb5_gss_delete_sec_context(&tmpmin, &gssc, GSS_C_NO_BUFFER);
-+        return GSS_S_FAILURE;
-+    }
- 
-+    code = iakerb_alloc_context(&ctx, kctx->initiate);
-+    if (code != 0) {
-+        krb5_gss_delete_sec_context(&tmpmin, &gssc, GSS_C_NO_BUFFER);
-+        *minor_status = code;
-+        return GSS_S_FAILURE;
-+    }
-+
-+    ctx->gssc = gssc;
-+    ctx->established = 1;
-+    *context_handle = (gss_ctx_id_t)ctx;
-+    return GSS_S_COMPLETE;
-+}
- #endif /* LEAN_CLIENT */
- 
- OM_uint32 KRB5_CALLCONV
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-SPNEGO-context-aliasing-bugs-CVE-2015-2695.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-SPNEGO-context-aliasing-bugs-CVE-2015-2695.patch
deleted file mode 100644
index 227e6c6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-SPNEGO-context-aliasing-bugs-CVE-2015-2695.patch
+++ /dev/null
@@ -1,572 +0,0 @@
-From 884913e807414a1e06245918dea71243c5fdd0e6 Mon Sep 17 00:00:00 2001
-From: Nicolas Williams <nico@twosigma.com>
-Date: Mon, 14 Sep 2015 12:27:52 -0400
-Subject: [PATCH 1/4] Fix SPNEGO context aliasing bugs [CVE-2015-2695]
-
-The SPNEGO mechanism currently replaces its context handle with the
-mechanism context handle upon establishment, under the assumption that
-most GSS functions are only called after context establishment.  This
-assumption is incorrect, and can lead to aliasing violations for some
-programs.  Maintain the SPNEGO context structure after context
-establishment and refer to it in all GSS methods.  Add initiate and
-opened flags to the SPNEGO context structure for use in
-gss_inquire_context() prior to context establishment.
-
-CVE-2015-2695:
-
-In MIT krb5 1.5 and later, applications which call
-gss_inquire_context() on a partially-established SPNEGO context can
-cause the GSS-API library to read from a pointer using the wrong type,
-generally causing a process crash.  This bug may go unnoticed, because
-the most common SPNEGO authentication scenario establishes the context
-after just one call to gss_accept_sec_context().  Java server
-applications using the native JGSS provider are vulnerable to this
-bug.  A carefully crafted SPNEGO packet might allow the
-gss_inquire_context() call to succeed with attacker-determined
-results, but applications should not make access control decisions
-based on gss_inquire_context() results prior to context establishment.
-
-    CVSSv2 Vector: AV:N/AC:M/Au:N/C:N/I:N/A:C/E:POC/RL:OF/RC:C
-
-[ghudson@mit.edu: several bugfixes, style changes, and edge-case
-behavior changes; commit message and CVE description]
-
-ticket: 8244
-target_version: 1.14
-tags: pullup
-
-Backport upstream commit:
-https://github.com/krb5/krb5/commit/b51b33f2bc5d1497ddf5bd107f791c101695000d
-
-Upstream-Status: Backport
----
- src/lib/gssapi/spnego/gssapiP_spnego.h |   2 +
- src/lib/gssapi/spnego/spnego_mech.c    | 254 ++++++++++++++++++++++++---------
- 2 files changed, 192 insertions(+), 64 deletions(-)
-
-diff --git a/src/lib/gssapi/spnego/gssapiP_spnego.h b/src/lib/gssapi/spnego/gssapiP_spnego.h
-index bc23f56..8e05736 100644
---- a/src/lib/gssapi/spnego/gssapiP_spnego.h
-+++ b/src/lib/gssapi/spnego/gssapiP_spnego.h
-@@ -102,6 +102,8 @@ typedef struct {
- 	int firstpass;
- 	int mech_complete;
- 	int nego_done;
-+	int initiate;
-+	int opened;
- 	OM_uint32 ctx_flags;
- 	gss_name_t internal_name;
- 	gss_OID actual_mech;
-diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c
-index f9248ab..3423f22 100644
---- a/src/lib/gssapi/spnego/spnego_mech.c
-+++ b/src/lib/gssapi/spnego/spnego_mech.c
-@@ -101,7 +101,7 @@ static OM_uint32 get_negotiable_mechs(OM_uint32 *, spnego_gss_cred_id_t,
- 				      gss_cred_usage_t, gss_OID_set *);
- static void release_spnego_ctx(spnego_gss_ctx_id_t *);
- static void check_spnego_options(spnego_gss_ctx_id_t);
--static spnego_gss_ctx_id_t create_spnego_ctx(void);
-+static spnego_gss_ctx_id_t create_spnego_ctx(int);
- static int put_mech_set(gss_OID_set mechSet, gss_buffer_t buf);
- static int put_input_token(unsigned char **, gss_buffer_t, unsigned int);
- static int put_mech_oid(unsigned char **, gss_OID_const, unsigned int);
-@@ -439,7 +439,7 @@ check_spnego_options(spnego_gss_ctx_id_t spnego_ctx)
- }
- 
- static spnego_gss_ctx_id_t
--create_spnego_ctx(void)
-+create_spnego_ctx(int initiate)
- {
- 	spnego_gss_ctx_id_t spnego_ctx = NULL;
- 	spnego_ctx = (spnego_gss_ctx_id_t)
-@@ -462,6 +462,8 @@ create_spnego_ctx(void)
- 	spnego_ctx->mic_rcvd = 0;
- 	spnego_ctx->mech_complete = 0;
- 	spnego_ctx->nego_done = 0;
-+	spnego_ctx->opened = 0;
-+	spnego_ctx->initiate = initiate;
- 	spnego_ctx->internal_name = GSS_C_NO_NAME;
- 	spnego_ctx->actual_mech = GSS_C_NO_OID;
- 
-@@ -627,7 +629,7 @@ init_ctx_new(OM_uint32 *minor_status,
- 	OM_uint32 ret;
- 	spnego_gss_ctx_id_t sc = NULL;
- 
--	sc = create_spnego_ctx();
-+	sc = create_spnego_ctx(1);
- 	if (sc == NULL)
- 		return GSS_S_FAILURE;
- 
-@@ -644,10 +646,7 @@ init_ctx_new(OM_uint32 *minor_status,
- 		ret = GSS_S_FAILURE;
- 		goto cleanup;
- 	}
--	/*
--	 * The actual context is not yet determined, set the output
--	 * context handle to refer to the spnego context itself.
--	 */
-+
- 	sc->ctx_handle = GSS_C_NO_CONTEXT;
- 	*ctx = (gss_ctx_id_t)sc;
- 	sc = NULL;
-@@ -1088,16 +1087,11 @@ cleanup:
- 	}
- 	gss_release_buffer(&tmpmin, &mechtok_out);
- 	if (ret == GSS_S_COMPLETE) {
--		/*
--		 * Now, switch the output context to refer to the
--		 * negotiated mechanism's context.
--		 */
--		*context_handle = (gss_ctx_id_t)spnego_ctx->ctx_handle;
-+		spnego_ctx->opened = 1;
- 		if (actual_mech != NULL)
- 			*actual_mech = spnego_ctx->actual_mech;
- 		if (ret_flags != NULL)
- 			*ret_flags = spnego_ctx->ctx_flags;
--		release_spnego_ctx(&spnego_ctx);
- 	} else if (ret != GSS_S_CONTINUE_NEEDED) {
- 		if (spnego_ctx != NULL) {
- 			gss_delete_sec_context(&tmpmin,
-@@ -1341,7 +1335,7 @@ acc_ctx_hints(OM_uint32 *minor_status,
- 	if (ret != GSS_S_COMPLETE)
- 		goto cleanup;
- 
--	sc = create_spnego_ctx();
-+	sc = create_spnego_ctx(0);
- 	if (sc == NULL) {
- 		ret = GSS_S_FAILURE;
- 		goto cleanup;
-@@ -1423,7 +1417,7 @@ acc_ctx_new(OM_uint32 *minor_status,
- 		gss_release_buffer(&tmpmin, &sc->DER_mechTypes);
- 		assert(mech_wanted != GSS_C_NO_OID);
- 	} else
--		sc = create_spnego_ctx();
-+		sc = create_spnego_ctx(0);
- 	if (sc == NULL) {
- 		ret = GSS_S_FAILURE;
- 		*return_token = NO_TOKEN_SEND;
-@@ -1806,13 +1800,12 @@ cleanup:
- 			ret = GSS_S_FAILURE;
- 	}
- 	if (ret == GSS_S_COMPLETE) {
--		*context_handle = (gss_ctx_id_t)sc->ctx_handle;
-+		sc->opened = 1;
- 		if (sc->internal_name != GSS_C_NO_NAME &&
- 		    src_name != NULL) {
- 			*src_name = sc->internal_name;
- 			sc->internal_name = GSS_C_NO_NAME;
- 		}
--		release_spnego_ctx(&sc);
- 	} else if (ret != GSS_S_CONTINUE_NEEDED) {
- 		if (sc != NULL) {
- 			gss_delete_sec_context(&tmpmin, &sc->ctx_handle,
-@@ -2125,8 +2118,13 @@ spnego_gss_unwrap(
- 		gss_qop_t *qop_state)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_unwrap(minor_status,
--			context_handle,
-+			sc->ctx_handle,
- 			input_message_buffer,
- 			output_message_buffer,
- 			conf_state,
-@@ -2146,8 +2144,13 @@ spnego_gss_wrap(
- 		gss_buffer_t output_message_buffer)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_wrap(minor_status,
--		    context_handle,
-+		    sc->ctx_handle,
- 		    conf_req_flag,
- 		    qop_req,
- 		    input_message_buffer,
-@@ -2164,8 +2167,14 @@ spnego_gss_process_context_token(
- 				const gss_buffer_t token_buffer)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	/* SPNEGO doesn't have its own context tokens. */
-+	if (!sc->opened)
-+		return (GSS_S_DEFECTIVE_TOKEN);
-+
- 	ret = gss_process_context_token(minor_status,
--					context_handle,
-+					sc->ctx_handle,
- 					token_buffer);
- 
- 	return (ret);
-@@ -2189,19 +2198,9 @@ spnego_gss_delete_sec_context(
- 	if (*ctx == NULL)
- 		return (GSS_S_COMPLETE);
- 
--	/*
--	 * If this is still an SPNEGO mech, release it locally.
--	 */
--	if ((*ctx)->magic_num == SPNEGO_MAGIC_ID) {
--		(void) gss_delete_sec_context(minor_status,
--				    &(*ctx)->ctx_handle,
--				    output_token);
--		(void) release_spnego_ctx(ctx);
--	} else {
--		ret = gss_delete_sec_context(minor_status,
--				    context_handle,
--				    output_token);
--	}
-+	(void) gss_delete_sec_context(minor_status, &(*ctx)->ctx_handle,
-+				      output_token);
-+	(void) release_spnego_ctx(ctx);
- 
- 	return (ret);
- }
-@@ -2213,8 +2212,13 @@ spnego_gss_context_time(
- 			OM_uint32	*time_rec)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_context_time(minor_status,
--			    context_handle,
-+			    sc->ctx_handle,
- 			    time_rec);
- 	return (ret);
- }
-@@ -2226,9 +2230,20 @@ spnego_gss_export_sec_context(
- 			    gss_buffer_t interprocess_token)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = *(spnego_gss_ctx_id_t *)context_handle;
-+
-+	/* We don't currently support exporting partially established
-+	 * contexts. */
-+	if (!sc->opened)
-+		return GSS_S_UNAVAILABLE;
-+
- 	ret = gss_export_sec_context(minor_status,
--				    context_handle,
-+				    &sc->ctx_handle,
- 				    interprocess_token);
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT) {
-+		release_spnego_ctx(&sc);
-+		*context_handle = GSS_C_NO_CONTEXT;
-+	}
- 	return (ret);
- }
- 
-@@ -2238,11 +2253,12 @@ spnego_gss_import_sec_context(
- 	const gss_buffer_t	interprocess_token,
- 	gss_ctx_id_t		*context_handle)
- {
--	OM_uint32 ret;
--	ret = gss_import_sec_context(minor_status,
--				    interprocess_token,
--				    context_handle);
--	return (ret);
-+	/*
-+	 * Until we implement partial context exports, there are no SPNEGO
-+	 * exported context tokens, only tokens for underlying mechs.  So just
-+	 * return an error for now.
-+	 */
-+	return GSS_S_UNAVAILABLE;
- }
- #endif /* LEAN_CLIENT */
- 
-@@ -2259,16 +2275,48 @@ spnego_gss_inquire_context(
- 			int		*opened)
- {
- 	OM_uint32 ret = GSS_S_COMPLETE;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (src_name != NULL)
-+		*src_name = GSS_C_NO_NAME;
-+	if (targ_name != NULL)
-+		*targ_name = GSS_C_NO_NAME;
-+	if (lifetime_rec != NULL)
-+		*lifetime_rec = 0;
-+	if (mech_type != NULL)
-+		*mech_type = (gss_OID)gss_mech_spnego;
-+	if (ctx_flags != NULL)
-+		*ctx_flags = 0;
-+	if (locally_initiated != NULL)
-+		*locally_initiated = sc->initiate;
-+	if (opened != NULL)
-+		*opened = sc->opened;
-+
-+	if (sc->ctx_handle != GSS_C_NO_CONTEXT) {
-+		ret = gss_inquire_context(minor_status, sc->ctx_handle,
-+					  src_name, targ_name, lifetime_rec,
-+					  mech_type, ctx_flags, NULL, NULL);
-+	}
- 
--	ret = gss_inquire_context(minor_status,
--				context_handle,
--				src_name,
--				targ_name,
--				lifetime_rec,
--				mech_type,
--				ctx_flags,
--				locally_initiated,
--				opened);
-+	if (!sc->opened) {
-+		/*
-+		 * We are still doing SPNEGO negotiation, so report SPNEGO as
-+		 * the OID.  After negotiation is complete we will report the
-+		 * underlying mechanism OID.
-+		 */
-+		if (mech_type != NULL)
-+			*mech_type = (gss_OID)gss_mech_spnego;
-+
-+		/*
-+		 * Remove flags we don't support with partially-established
-+		 * contexts.  (Change this to keep GSS_C_TRANS_FLAG if we add
-+		 * support for exporting partial SPNEGO contexts.)
-+		 */
-+		if (ctx_flags != NULL) {
-+			*ctx_flags &= ~GSS_C_PROT_READY_FLAG;
-+			*ctx_flags &= ~GSS_C_TRANS_FLAG;
-+		}
-+	}
- 
- 	return (ret);
- }
-@@ -2283,8 +2331,13 @@ spnego_gss_wrap_size_limit(
- 	OM_uint32	*max_input_size)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_wrap_size_limit(minor_status,
--				context_handle,
-+				sc->ctx_handle,
- 				conf_req_flag,
- 				qop_req,
- 				req_output_size,
-@@ -2301,8 +2354,13 @@ spnego_gss_get_mic(
- 		gss_buffer_t message_token)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_get_mic(minor_status,
--		    context_handle,
-+		    sc->ctx_handle,
- 		    qop_req,
- 		    message_buffer,
- 		    message_token);
-@@ -2318,8 +2376,13 @@ spnego_gss_verify_mic(
- 		gss_qop_t *qop_state)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_verify_mic(minor_status,
--			    context_handle,
-+			    sc->ctx_handle,
- 			    msg_buffer,
- 			    token_buffer,
- 			    qop_state);
-@@ -2334,8 +2397,14 @@ spnego_gss_inquire_sec_context_by_oid(
- 		gss_buffer_set_t *data_set)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	/* There are no SPNEGO-specific OIDs for this function. */
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_UNAVAILABLE);
-+
- 	ret = gss_inquire_sec_context_by_oid(minor_status,
--			    context_handle,
-+			    sc->ctx_handle,
- 			    desired_object,
- 			    data_set);
- 	return (ret);
-@@ -2404,8 +2473,15 @@ spnego_gss_set_sec_context_option(
- 		const gss_buffer_t value)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)*context_handle;
-+
-+	/* There are no SPNEGO-specific OIDs for this function, and we cannot
-+	 * construct an empty SPNEGO context with it. */
-+	if (sc == NULL || sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_UNAVAILABLE);
-+
- 	ret = gss_set_sec_context_option(minor_status,
--			    context_handle,
-+			    &sc->ctx_handle,
- 			    desired_object,
- 			    value);
- 	return (ret);
-@@ -2422,8 +2498,13 @@ spnego_gss_wrap_aead(OM_uint32 *minor_status,
- 		     gss_buffer_t output_message_buffer)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_wrap_aead(minor_status,
--			    context_handle,
-+			    sc->ctx_handle,
- 			    conf_req_flag,
- 			    qop_req,
- 			    input_assoc_buffer,
-@@ -2444,8 +2525,13 @@ spnego_gss_unwrap_aead(OM_uint32 *minor_status,
- 		       gss_qop_t *qop_state)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_unwrap_aead(minor_status,
--			      context_handle,
-+			      sc->ctx_handle,
- 			      input_message_buffer,
- 			      input_assoc_buffer,
- 			      output_payload_buffer,
-@@ -2464,8 +2550,13 @@ spnego_gss_wrap_iov(OM_uint32 *minor_status,
- 		    int iov_count)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_wrap_iov(minor_status,
--			   context_handle,
-+			   sc->ctx_handle,
- 			   conf_req_flag,
- 			   qop_req,
- 			   conf_state,
-@@ -2483,8 +2574,13 @@ spnego_gss_unwrap_iov(OM_uint32 *minor_status,
- 		      int iov_count)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_unwrap_iov(minor_status,
--			     context_handle,
-+			     sc->ctx_handle,
- 			     conf_state,
- 			     qop_state,
- 			     iov,
-@@ -2502,8 +2598,13 @@ spnego_gss_wrap_iov_length(OM_uint32 *minor_status,
- 			   int iov_count)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_wrap_iov_length(minor_status,
--				  context_handle,
-+				  sc->ctx_handle,
- 				  conf_req_flag,
- 				  qop_req,
- 				  conf_state,
-@@ -2520,8 +2621,13 @@ spnego_gss_complete_auth_token(
- 		gss_buffer_t input_message_buffer)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_UNAVAILABLE);
-+
- 	ret = gss_complete_auth_token(minor_status,
--				      context_handle,
-+				      sc->ctx_handle,
- 				      input_message_buffer);
- 	return (ret);
- }
-@@ -2773,8 +2879,13 @@ spnego_gss_pseudo_random(OM_uint32 *minor_status,
- 			 gss_buffer_t prf_out)
- {
- 	OM_uint32 ret;
-+	spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context;
-+
-+	if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+		return (GSS_S_NO_CONTEXT);
-+
- 	ret = gss_pseudo_random(minor_status,
--				context,
-+				sc->ctx_handle,
- 				prf_key,
- 				prf_in,
- 				desired_output_len,
-@@ -2915,7 +3026,12 @@ spnego_gss_get_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
- 		       gss_qop_t qop_req, gss_iov_buffer_desc *iov,
- 		       int iov_count)
- {
--    return gss_get_mic_iov(minor_status, context_handle, qop_req, iov,
-+    spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+    if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+	    return (GSS_S_NO_CONTEXT);
-+
-+    return gss_get_mic_iov(minor_status, sc->ctx_handle, qop_req, iov,
- 			   iov_count);
- }
- 
-@@ -2924,7 +3040,12 @@ spnego_gss_verify_mic_iov(OM_uint32 *minor_status, gss_ctx_id_t context_handle,
- 			  gss_qop_t *qop_state, gss_iov_buffer_desc *iov,
- 			  int iov_count)
- {
--    return gss_verify_mic_iov(minor_status, context_handle, qop_state, iov,
-+    spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+    if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+	    return (GSS_S_NO_CONTEXT);
-+
-+    return gss_verify_mic_iov(minor_status, sc->ctx_handle, qop_state, iov,
- 			      iov_count);
- }
- 
-@@ -2933,7 +3054,12 @@ spnego_gss_get_mic_iov_length(OM_uint32 *minor_status,
- 			      gss_ctx_id_t context_handle, gss_qop_t qop_req,
- 			      gss_iov_buffer_desc *iov, int iov_count)
- {
--    return gss_get_mic_iov_length(minor_status, context_handle, qop_req, iov,
-+    spnego_gss_ctx_id_t sc = (spnego_gss_ctx_id_t)context_handle;
-+
-+    if (sc->ctx_handle == GSS_C_NO_CONTEXT)
-+	    return (GSS_S_NO_CONTEXT);
-+
-+    return gss_get_mic_iov_length(minor_status, sc->ctx_handle, qop_req, iov,
- 				  iov_count);
- }
- 
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-build_principal-memory-bug-CVE-2015-2697.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-build_principal-memory-bug-CVE-2015-2697.patch
deleted file mode 100644
index 9b0c18b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/Fix-build_principal-memory-bug-CVE-2015-2697.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 9cb63711e63042f22da914ba039c4537b22e8fb0 Mon Sep 17 00:00:00 2001
-From: Greg Hudson <ghudson@mit.edu>
-Date: Fri, 25 Sep 2015 12:51:47 -0400
-Subject: [PATCH 3/4] Fix build_principal memory bug [CVE-2015-2697]
-
-In build_principal_va(), use k5memdup0() instead of strdup() to make a
-copy of the realm, to ensure that we allocate the correct number of
-bytes and do not read past the end of the input string.  This bug
-affects krb5_build_principal(), krb5_build_principal_va(), and
-krb5_build_principal_alloc_va().  krb5_build_principal_ext() is not
-affected.
-
-CVE-2015-2697:
-
-In MIT krb5 1.7 and later, an authenticated attacker may be able to
-cause a KDC to crash using a TGS request with a large realm field
-beginning with a null byte.  If the KDC attempts to find a referral to
-answer the request, it constructs a principal name for lookup using
-krb5_build_principal() with the requested realm.  Due to a bug in this
-function, the null byte causes only one byte be allocated for the
-realm field of the constructed principal, far less than its length.
-Subsequent operations on the lookup principal may cause a read beyond
-the end of the mapped memory region, causing the KDC process to crash.
-
-CVSSv2: AV:N/AC:L/Au:S/C:N/I:N/A:C/E:POC/RL:OF/RC:C
-
-ticket: 8252 (new)
-target_version: 1.14
-tags: pullup
-
-Backport upstream commit:
-https://github.com/krb5/krb5/commit/f0c094a1b745d91ef2f9a4eae2149aac026a5789
-
-Upstream-Status: Backport
----
- src/lib/krb5/krb/bld_princ.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/src/lib/krb5/krb/bld_princ.c b/src/lib/krb5/krb/bld_princ.c
-index ab6fed8..8604268 100644
---- a/src/lib/krb5/krb/bld_princ.c
-+++ b/src/lib/krb5/krb/bld_princ.c
-@@ -40,10 +40,8 @@ build_principal_va(krb5_context context, krb5_principal princ,
-     data = malloc(size * sizeof(krb5_data));
-     if (!data) { retval = ENOMEM; }
- 
--    if (!retval) {
--        r = strdup(realm);
--        if (!r) { retval = ENOMEM; }
--    }
-+    if (!retval)
-+        r = k5memdup0(realm, rlen, &retval);
- 
-     while (!retval && (component = va_arg(ap, char *))) {
-         if (count == size) {
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-CVE-2016-3119.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-CVE-2016-3119.patch
deleted file mode 100644
index 67fefed..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-CVE-2016-3119.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Subject: kerb: Fix LDAP null deref on empty arg [CVE-2016-3119]
-From: Greg Hudson
-
-In the LDAP KDB module's process_db_args(), strtok_r() may return NULL
-if there is an empty string in the db_args array.  Check for this case
-and avoid dereferencing a null pointer.
-
-CVE-2016-3119:
-
-In MIT krb5 1.6 and later, an authenticated attacker with permission
-to modify a principal entry can cause kadmind to dereference a null
-pointer by supplying an empty DB argument to the modify_principal
-command, if kadmind is configured to use the LDAP KDB module.
-
-    CVSSv2 Vector: AV:N/AC:H/Au:S/C:N/I:N/A:C/E:H/RL:OF/RC:ND
-
-ticket: 8383 (new)
-target_version: 1.14-next
-target_version: 1.13-next
-tags: pullup
-
-Upstream-Status: Backport
-
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
-Index: krb5-1.13.2/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c
-===================================================================
---- krb5-1.13.2.orig/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c	2015-05-09 07:27:02.000000000 +0800
-+++ krb5-1.13.2/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c	2016-04-11 15:17:12.874140518 +0800
-@@ -267,6 +267,7 @@
-     if (db_args) {
-         for (i=0; db_args[i]; ++i) {
-             arg = strtok_r(db_args[i], "=", &arg_val);
-+            arg = (arg != NULL) ? arg : "";
-             if (strcmp(arg, TKTPOLICY_ARG) == 0) {
-                 dptr = &xargs->tktpolicydn;
-             } else {
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
new file mode 100644
index 0000000..1b42716
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-admin-server.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=MIT Kerberos KDC administrative daemon
+After=syslog.target network.target
+ConditionPathExists=/etc/krb5.conf
+
+[Service]
+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
+SuccessExitStatus=1 2 SIGKILL
+TimeoutStopSec=30
+
+[Install]
+WantedBy=multi-user.target
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
new file mode 100644
index 0000000..d5e5a95
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/krb5-kdc.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=MIT Kerberos KDC
+After=syslog.target network.target
+ConditionPathExists=/etc/krb5.conf
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/krb5kdc
+SuccessExitStatus=1 2 SIGKILL
+TimeoutStopSec=30
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb
deleted file mode 100644
index 713b76c..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb
+++ /dev/null
@@ -1,107 +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=f64248328d2d9928e1f04158b5243e7f"
-DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native"
-
-inherit autotools-brokensep binconfig perlnative
-
-SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}-signed.tar \
-           file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
-           file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
-           file://Fix-SPNEGO-context-aliasing-bugs-CVE-2015-2695.patch;striplevel=2 \
-           file://Fix-IAKERB-context-aliasing-bugs-CVE-2015-2696.patch;striplevel=2 \
-           file://Fix-build_principal-memory-bug-CVE-2015-2697.patch;striplevel=2 \
-           file://Fix-IAKERB-context-export-import-CVE-2015-2698.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-CVE-2016-3119.patch;striplevel=2 \
-"
-SRC_URI[md5sum] = "f7ebfa6c99c10b16979ebf9a98343189"
-SRC_URI[sha256sum] = "e528c30b0209c741f6f320cb83122ded92f291802b6a1a1dc1a01dcdb3ff6de1"
-
-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 += "-DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
-LDFLAGS_append += "-lpthread"
-
-FILES_${PN} += "${datadir}/gnats"
-FILES_${PN}-doc += "${datadir}/examples"
-FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
-
-# As this recipe doesn't inherit update-rc.d, we need to add this dependency here
-RDEPENDS_${PN}_class-target += "initscripts-functions"
-
-krb5_do_unpack() {
-    # ${P}-signed.tar contains ${P}.tar.gz.asc and ${P}.tar.gz
-    tar xzf ${WORKDIR}/${BP}.tar.gz -C ${WORKDIR}/
-}
-
-python do_unpack() {
-    bb.build.exec_func('base_do_unpack', d)
-    bb.build.exec_func('krb5_do_unpack', d)
-}
-
-do_configure() {
-    gnu-configize --force
-    autoreconf
-    oe_runconf
-}
-
-do_install_append() {
-    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
-
-    rm -rf ${D}/${localstatedir}/run
-    mkdir -p ${D}/${sysconfdir}/default/volatiles
-    echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
-           > ${D}${sysconfdir}/default/volatiles/87_krb5
-    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
-    fi
-
-}
-
-pkg_postinst_${PN} () {
-    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.13.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb
new file mode 100644
index 0000000..06f7f90
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.13.6.bb
@@ -0,0 +1,103 @@
+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=c6f37efad53b098e420f45e7ab6807dc"
+DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native"
+
+inherit autotools-brokensep binconfig perlnative systemd
+
+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] = "6164ca9c075b4ecc68eadd6d13040417"
+SRC_URI[sha256sum] = "9c0a46b8918237a53916370d2e02298c2b294f55f0351f9404e18930bc26badc"
+
+S = "${WORKDIR}/${BP}/src"
+
+SYSTEMD_SERVICE_${PN} = "krb5-admin-server.service krb5-kdc.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+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"
+
+FILES_${PN} += "${datadir}/gnats"
+FILES_${PN}-doc += "${datadir}/examples"
+FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
+
+# As this recipe doesn't inherit update-rc.d, we need to add this dependency here
+RDEPENDS_${PN}_class-target += "initscripts-functions"
+
+do_configure() {
+    gnu-configize --force
+    autoreconf
+    oe_runconf
+}
+
+do_install_append() {
+    rm -rf ${D}/${localstatedir}/run
+
+    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
+}
+
+pkg_postinst_${PN} () {
+    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/libmbim/libmbim/clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch
new file mode 100644
index 0000000..92e657c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim/clang.patch
@@ -0,0 +1,73 @@
+Check for clang compiler since we need to disable
+unused-function warning for clang, at same time
+pass werror when checking for compiler options if
+werror is enabled so spurious options do not get
+enabled. Only the ones that are supported by given
+compiler are accepted.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: libmbim-1.14.0/m4/compiler-warnings.m4
+===================================================================
+--- libmbim-1.14.0.orig/m4/compiler-warnings.m4
++++ libmbim-1.14.0/m4/compiler-warnings.m4
+@@ -2,10 +2,30 @@ AC_DEFUN([LIBMBIM_COMPILER_WARNINGS],
+ [AC_ARG_ENABLE(more-warnings,
+ 	AS_HELP_STRING([--enable-more-warnings], [Possible values: no/yes/error]),
+ 	set_more_warnings="$enableval",set_more_warnings=error)
++
++# Clang throws a lot of warnings when it does not understand a flag. Disable
++# this warning for now so other warnings are visible.
++AC_MSG_CHECKING([if compiling with clang])
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
++#ifndef __clang__
++	not clang
++#endif
++	]])],
++	[CLANG=yes],
++	[CLANG=no]
++)
++AC_MSG_RESULT([$CLANG])
++AS_IF([test "x$CLANG" = "xyes"], [CLANG_FLAGS=-Wno-error=unused-function])
++CFLAGS="$CFLAGS $CLANG_FLAGS"
++LDFLAGS="$LDFLAGS $CLANG_FLAGS"
++
+ AC_MSG_CHECKING(for more warnings)
+ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+ 	AC_MSG_RESULT(yes)
+ 	CFLAGS="-Wall -std=gnu89 $CFLAGS"
++	if test "x$set_more_warnings" = xerror; then
++		WERROR="-Werror"
++	fi
+ 
+ 	for option in -Wmissing-declarations -Wmissing-prototypes \
+ 		      -Wdeclaration-after-statement -Wstrict-prototypes \
+@@ -17,22 +37,23 @@ if test "$GCC" = "yes" -a "$set_more_war
+ 		      -Wmissing-include-dirs -Waggregate-return \
+ 		      -Wformat-security; do
+ 		SAVE_CFLAGS="$CFLAGS"
+-		CFLAGS="$CFLAGS $option"
++		CFLAGS="$CFLAGS $option $WERROR"
+ 		AC_MSG_CHECKING([whether gcc understands $option])
+ 		AC_TRY_COMPILE([], [],
+ 			has_option=yes,
+ 			has_option=no,)
+ 		if test $has_option = no; then
+ 			CFLAGS="$SAVE_CFLAGS"
++		else
++			CFLAGS="$SAVE_CFLAGS $option"
+ 		fi
+ 		AC_MSG_RESULT($has_option)
+ 		unset has_option
+ 		unset SAVE_CFLAGS
+ 	done
++	CFLAGS="$CFLAGS $WERROR"
+ 	unset option
+-	if test "x$set_more_warnings" = xerror; then
+-		CFLAGS="$CFLAGS -Werror"
+-	fi
++	unset WERROR
+ else
+ 	AC_MSG_RESULT(no)
+ fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.12.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.12.2.bb
deleted file mode 100644
index f1ecce5..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.12.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
-DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = " \
-    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = "glib-2.0 libgudev"
-
-inherit autotools pkgconfig
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "921fb5ab3f13f1e00833e009d8f3b4f6"
-SRC_URI[sha256sum] = "949351d3e3d69b81e40a49f1d187944c26149e0647a415f0227ccdc112047b29"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.14.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.14.0.bb
new file mode 100644
index 0000000..02a1788
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.14.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
+DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 libgudev"
+
+inherit autotools pkgconfig bash-completion
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
+           file://clang.patch \
+"
+SRC_URI[md5sum] = "2ed809e65c85353d3ab59e372890e549"
+SRC_URI[sha256sum] = "ca8d52a95a18cbabae8f15f83f1572316e888b6504f946e6645d24405127ab5b"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.5.bb
deleted file mode 100644
index 8f1d1ff..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Library for IPv6 Neighbor Discovery Protocol"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "http://libndp.org/files/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "beb82e8d75d8382d1b7c0bb0f68be429"
-SRC_URI[sha256sum] = "faf116ab70ce9514ec4e8573556025debea08f606e7f38b616de1f26e120c795"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.6.bb
new file mode 100644
index 0000000..a35dff8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.6.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Library for IPv6 Neighbor Discovery Protocol"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "http://libndp.org/files/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "1e54d26bcb4a4110bc3f90c5dd04f1a7"
+SRC_URI[sha256sum] = "0c7dfa84e013bd5e569ef2c6292a6f72cfaf14f4ff77a77425e52edc33ffac0e"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch
new file mode 100644
index 0000000..98008db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch
@@ -0,0 +1,58 @@
+From ffd7fab744a9ad2893169a8fb6244074604d5d0d Mon Sep 17 00:00:00 2001
+From: rofl0r <retnyg@gmx.net>
+Date: Tue, 12 Aug 2014 21:51:39 +0200
+Subject: [PATCH] Support musl libc, remove support for glibc < 2.1
+
+Upstream-Status: Backport
+
+The workarounds for glibc < 2.1 (was released february 1999) break the
+build with musl libc.
+
+It is very unlikely that 2.0 or earlier is still in use, and if so,
+1) that's a big security hole
+2) code wouldnt compile anyway since noone tested build in the last decade
+3) user of it wouldn't expect anyway to get bleeding edge sw built on it,
+   so he would just use the latest version that works for him.
+
+Closes #52
+
+Signed-off-by: rofl0r <retnyg@gmx.net>
+Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
+---
+ libnet/src/libnet_link_linux.c | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/src/libnet_link_linux.c b/src/libnet_link_linux.c
+index 054458d..3c6df3c 100644
+--- a/src/libnet_link_linux.c
++++ b/src/libnet_link_linux.c
+@@ -30,26 +30,15 @@
+ #include <sys/time.h>
+ 
+ #include <net/if.h>
+-#if (__GLIBC__)
+ #include <netinet/if_ether.h>
+ #include <net/if_arp.h>
+-#else
+-#include <linux/if_arp.h>
+-#include <linux/if_ether.h>
+-#endif
+ 
+ #if (HAVE_PACKET_SOCKET)
+ #ifndef SOL_PACKET
+ #define SOL_PACKET 263
+ #endif  /* SOL_PACKET */
+-#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1
+ #include <netpacket/packet.h>
+ #include <net/ethernet.h>     /* the L2 protocols */
+-#else
+-#include <asm/types.h>
+-#include <linux/if_packet.h>
+-#include <linux/if_ether.h>   /* The L2 protocols */
+-#endif
+ #endif  /* HAVE_PACKET_SOCKET */
+ 
+ #include "../include/libnet.h"
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
index a558e80..dfc2049 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
@@ -8,7 +8,9 @@
 # There are major API changes beween libnet v1.0 and libnet v1.1
 PROVIDES = "libnet-1.2rc2"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/libnet-dev/${BPN}-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/libnet-dev/${BPN}-${PV}.tar.gz \
+           file://0001-Support-musl-libc-remove-support-for-glibc-2.1.patch \
+          "
 
 SRC_URI[md5sum] = "f051e6e5bdecddb90f77c701c2ca1804"
 SRC_URI[sha256sum] = "72c380785ad44183005e654b47cc12485ee0228d7fa6b0a87109ff7614be4a63"
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
new file mode 100644
index 0000000..4047ffb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
@@ -0,0 +1,84 @@
+From 4cfb728804157e8f3c69e11ba4df449d8f76388f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Oct 2016 04:42:26 +0000
+Subject: [PATCH] Detect clang
+
+Check for clang compiler since we need to disable
+unused-function warning for clang, at same time
+pass werror when checking for compiler options if
+werror is enabled so spurious options do not get
+enabled. Only the ones that are supported by given
+compiler are accepted.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+---
+ m4/compiler-warnings.m4 | 29 +++++++++++++++++++++++++----
+ 1 file changed, 25 insertions(+), 4 deletions(-)
+
+diff --git a/m4/compiler-warnings.m4 b/m4/compiler-warnings.m4
+index de4a8b0..e4ba718 100644
+--- a/m4/compiler-warnings.m4
++++ b/m4/compiler-warnings.m4
+@@ -2,10 +2,30 @@ AC_DEFUN([LIBQMI_COMPILER_WARNINGS],
+ [AC_ARG_ENABLE(more-warnings,
+ 	AS_HELP_STRING([--enable-more-warnings], [Possible values: no/yes/error]),
+ 	set_more_warnings="$enableval",set_more_warnings=error)
++
++# Clang throws a lot of warnings when it does not understand a flag. Disable
++# this warning for now so other warnings are visible.
++AC_MSG_CHECKING([if compiling with clang])
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
++#ifndef __clang__
++	not clang
++#endif
++	]])],
++	[CLANG=yes],
++	[CLANG=no]
++)
++AC_MSG_RESULT([$CLANG])
++AS_IF([test "x$CLANG" = "xyes"], [CLANG_FLAGS=-Wno-error=unused-function])
++CFLAGS="$CFLAGS $CLANG_FLAGS"
++LDFLAGS="$LDFLAGS $CLANG_FLAGS"
++
+ AC_MSG_CHECKING(for more warnings)
+ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+ 	AC_MSG_RESULT(yes)
+ 	CFLAGS="-Wall -std=gnu89 $CFLAGS"
++	if test "x$set_more_warnings" = xerror; then
++		WERROR="-Werror"
++	fi
+ 
+ 	for option in -Wmissing-declarations -Wmissing-prototypes \
+ 		      -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
+ 		SAVE_CFLAGS="$CFLAGS"
+-		CFLAGS="$CFLAGS $option"
++		CFLAGS="$CFLAGS $option $WERROR"
+ 		AC_MSG_CHECKING([whether gcc understands $option])
+ 		AC_TRY_COMPILE([], [],
+ 			has_option=yes,
+ 			has_option=no,)
+ 		if test $has_option = no; then
+ 			CFLAGS="$SAVE_CFLAGS"
++		else
++			CFLAGS="$SAVE_CFLAGS $option"
+ 		fi
+ 		AC_MSG_RESULT($has_option)
+ 		unset has_option
+ 		unset SAVE_CFLAGS
+ 	done
++	CFLAGS="$CFLAGS $WERROR"
+ 	unset option
+-	if test "x$set_more_warnings" = xerror; then
+-		CFLAGS="$CFLAGS -Werror"
+-	fi
++	unset WERROR
+ else
+ 	AC_MSG_RESULT(no)
+ fi
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.12.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.12.6.bb
deleted file mode 100644
index 7a15527..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.12.6.bb
+++ /dev/null
@@ -1,16 +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"
-
-inherit autotools pkgconfig
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "24c9eb300662ba6cff0152de89bd9ec0"
-SRC_URI[sha256sum] = "0857bffece4e8ddfa7f721dd9ca63b4c78de345ac9ae2faebf04062cacba3780"
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
new file mode 100644
index 0000000..679b102
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.16.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"
+
+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/linuxptp/linuxptp_1.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb
index 254b855..0939d17 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.6.bb
@@ -9,7 +9,7 @@
 SRC_URI[sha256sum] = "e7fd16a9f235b059be527bd512e86f0c1d9f2e7c36736e6d6d9727a4427ac14c"
 
 EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \
-		EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_ONESTEP_SYNC ${CFLAGS}'"
+    EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_ONESTEP_SYNC ${CFLAGS}'"
 
 do_install () {
     install -d ${D}/${bindir}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-lircrcd-Mark-local-inline-funtions-as-static.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-lircrcd-Mark-local-inline-funtions-as-static.patch
new file mode 100644
index 0000000..e19d276
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc/0001-lircrcd-Mark-local-inline-funtions-as-static.patch
@@ -0,0 +1,49 @@
+From c2be4543e4777c9e3d74b30326ba37b01917b0a9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 25 Aug 2016 03:02:37 +0000
+Subject: [PATCH] lircrcd: Mark local inline funtions as static
+
+These functions are not used anywhere outside
+this file, so they should be converted into static
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ daemons/lircrcd.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/daemons/lircrcd.c b/daemons/lircrcd.c
+index 55777cd..5ddc94d 100644
+--- a/daemons/lircrcd.c
++++ b/daemons/lircrcd.c
+@@ -153,7 +153,7 @@ char *s;
+ /* A safer write(), since sockets might not write all but only some of the
+    bytes requested */
+ 
+-inline int write_socket(int fd, char *buf, int len)
++static inline int write_socket(int fd, char *buf, int len)
+ {
+ 	int done, todo = len;
+ 
+@@ -167,7 +167,7 @@ inline int write_socket(int fd, char *buf, int len)
+ 	return (len);
+ }
+ 
+-inline int write_socket_len(int fd, char *buf)
++static inline int write_socket_len(int fd, char *buf)
+ {
+ 	int len;
+ 
+@@ -177,7 +177,7 @@ inline int write_socket_len(int fd, char *buf)
+ 	return (1);
+ }
+ 
+-inline int read_timeout(int fd, char *buf, int len, int timeout)
++static inline int read_timeout(int fd, char *buf, int len, int timeout)
+ {
+ 	fd_set fds;
+ 	struct timeval tv;
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.2.bb
index 900b68d..1726192 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/lirc/lirc_0.9.2.bb
@@ -1,6 +1,7 @@
 require lirc.inc
 
 SRC_URI += " \
+    file://0001-lircrcd-Mark-local-inline-funtions-as-static.patch \
     file://lircd.service \
     file://lircd.init \
     file://lircexec.init \
@@ -17,7 +18,7 @@
 SYSTEMD_SERVICE_${PN} = "lircd.service lircmd.service"
 SYSTEMD_AUTO_ENABLE_lirc = "enable"
 
-inherit autotools pkgconfig systemd pythonnative
+inherit autotools pkgconfig systemd python3native
 
 PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd"
 PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/enum-conversion.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/enum-conversion.patch
new file mode 100644
index 0000000..a3fb0f3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/enum-conversion.patch
@@ -0,0 +1,21 @@
+Fixes errors found bt Clang
+
+| ../../ModemManager-1.6.4/src/mm-bearer-qmi.c:774:50: error: implicit conversion from enumeration type 'MMBearerStatus' to different enumeration type 'MMBearerConnectionStatus' [-Werror,-Wenum-conversion]
+|         MMBearerConnectionStatus bearer_status = mm_base_bearer_get_status (MM_BASE_BEARER (self));
+|                                  ~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+| 1 error generated.
+
+
+Index: ModemManager-1.6.4/src/mm-bearer-qmi.c
+===================================================================
+--- ModemManager-1.6.4.orig/src/mm-bearer-qmi.c
++++ ModemManager-1.6.4/src/mm-bearer-qmi.c
+@@ -771,7 +771,7 @@ packet_service_status_indication_cb (Qmi
+             &connection_status,
+             NULL,
+             NULL)) {
+-        MMBearerConnectionStatus bearer_status = mm_base_bearer_get_status (MM_BASE_BEARER (self));
++        MMBearerConnectionStatus bearer_status = (MMBearerConnectionStatus)mm_base_bearer_get_status (MM_BASE_BEARER (self));
+ 
+         if (connection_status == QMI_WDS_CONNECTION_STATUS_DISCONNECTED &&
+             bearer_status != MM_BEARER_CONNECTION_STATUS_DISCONNECTED &&
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.4.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.4.12.bb
deleted file mode 100644
index a173e69..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.4.12.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
-DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
-LICENSE = "GPL-2.0 & LGPL-2.1"
-LIC_FILES_CHKSUM = " \
-    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-inherit gnomebase gettext systemd vala gobject-introspection
-
-DEPENDS = "glib-2.0 libgudev dbus-glib"
-
-SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz"
-SRC_URI[md5sum] = "66cc7266b15525cb366253e6639fc564"
-SRC_URI[sha256sum] = "7ef5035375a953b285a742591df0a65fd442f4641ce4d8f4392a41d6d6bc70b3"
-
-S = "${WORKDIR}/ModemManager-${PV}"
-
-PACKAGECONFIG ??= "mbim qmi polkit \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
-"
-
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
-PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
-# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
-PACKAGECONFIG[mbim] = "--with-mbim,--enable-mbim=no,libmbim"
-# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
-PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
-
-FILES_${PN} += " \
-    ${datadir}/icons \
-    ${datadir}/polkit-1 \
-    ${datadir}/dbus-1 \
-    ${libdir}/ModemManager \
-    ${systemd_unitdir}/system \
-"
-
-FILES_${PN}-dev += " \
-    ${libdir}/ModemManager/*.la \
-"
-
-FILES_${PN}-staticdev += " \
-    ${libdir}/ModemManager/*.a \
-"
-
-FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
-
-SYSTEMD_SERVICE_${PN} = "ModemManager.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb
new file mode 100644
index 0000000..5e4e220
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.6.4.bb
@@ -0,0 +1,51 @@
+SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
+DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
+LICENSE = "GPL-2.0 & LGPL-2.1"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit gnomebase gettext systemd vala gobject-introspection bash-completion
+
+DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native"
+
+SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \
+           file://enum-conversion.patch \
+"
+SRC_URI[md5sum] = "06488186c7dd53f8104183b86f7a1568"
+SRC_URI[sha256sum] = "cdd5b4cb1e4d7643643a28ccbfc4bb354bfa9cb89a77ea160ebdf7926171c668"
+
+S = "${WORKDIR}/ModemManager-${PV}"
+
+PACKAGECONFIG ??= "mbim qmi polkit \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+"
+
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
+PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
+# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
+PACKAGECONFIG[mbim] = "--with-mbim,--enable-mbim=no,libmbim"
+# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
+PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
+
+FILES_${PN} += " \
+    ${datadir}/icons \
+    ${datadir}/polkit-1 \
+    ${datadir}/dbus-1 \
+    ${libdir}/ModemManager \
+    ${systemd_unitdir}/system \
+"
+
+FILES_${PN}-dev += " \
+    ${libdir}/ModemManager/*.la \
+"
+
+FILES_${PN}-staticdev += " \
+    ${libdir}/ModemManager/*.a \
+"
+
+FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
+
+SYSTEMD_SERVICE_${PN} = "ModemManager.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.2.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.2.4.bb
index 16e2a7d..4bf238d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.2.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.2.4.bb
@@ -25,11 +25,11 @@
 FILES_${PN}-server = "${bindir}/mosh-server"
 
 NEEDED_PERL_MODULES = "\
-	perl-module-socket \
-	perl-module-getopt-long \
-	perl-module-errno \
-	perl-module-io-socket-inet \
-	perl-module-posix \
+    perl-module-socket \
+    perl-module-getopt-long \
+    perl-module-errno \
+    perl-module-io-socket-inet \
+    perl-module-posix \
 "
 
 # mosh uses SSH to authenticate and the client uses OpenSSH-specific features
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb
index 258ee68..fe1d601 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager-openvpn_1.0.8.bb
@@ -4,7 +4,7 @@
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c"
 
-DEPENDS = "dbus dbus-glib networkmanager openvpn"
+DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native"
 
 inherit gnomebase useradd gettext systemd
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-networkmanager-fixed-issues-of-NetworkManager-wait-o.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-networkmanager-fixed-issues-of-NetworkManager-wait-o.patch
new file mode 100644
index 0000000..4eb9e21
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-networkmanager-fixed-issues-of-NetworkManager-wait-o.patch
@@ -0,0 +1,44 @@
+From 0690452b863286e524d2037427816b7850301f93 Mon Sep 17 00:00:00 2001
+From: Haiqing Bai <Haiqing.Bai@windriver.com>
+Date: Tue, 6 Sep 2016 09:27:38 +0800
+Subject: [PATCH] networkmanager: fixed issues of
+ NetworkManager-wait-online.service.in.
+
+Remove network.target in "Before" to avoid circle dependency.
+Wants=network.target
+Before=network.target network-online.target
+
+Correct the "WantedBy" to network-online.target.
+
+Upstream-status: Pending
+
+Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
+---
+ data/NetworkManager-wait-online.service.in | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/data/NetworkManager-wait-online.service.in b/data/NetworkManager-wait-online.service.in
+index 6ad6942..1753d20 100644
+--- a/data/NetworkManager-wait-online.service.in
++++ b/data/NetworkManager-wait-online.service.in
+@@ -1,13 +1,14 @@
+ [Unit]
+ Description=Network Manager Wait Online
++Documentation=man:nm-online(1)
+ Requisite=NetworkManager.service
+ After=NetworkManager.service
+-Wants=network.target
+-Before=network.target network-online.target
++Before=network-online.target
+ 
+ [Service]
+ Type=oneshot
+ ExecStart=@bindir@/nm-online -s -q --timeout=30
++RemainAfterExit=yes
+ 
+ [Install]
+-WantedBy=multi-user.target
++WantedBy=network-online.target
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.10.bb
deleted file mode 100644
index 831ddf0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.10.bb
+++ /dev/null
@@ -1,124 +0,0 @@
-SUMMARY = "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=51d7fb67bde992e58533a8481cee070b \
-"
-
-DEPENDS = "libnl dbus dbus-glib libgudev util-linux libndp libnewt polkit"
-
-inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection
-
-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-add-pkg-config-for-libgcrypt.patch \
-    file://0003-core-fix-failure-to-configure-routes-due-to-wrong-de.patch \
-    file://0004-ppp-manager-clear-ppp_watch_id-upon-pppd-termination.patch \
-    file://0005-device-update-ip_iface-only-if-IP-interface-exists.patch \
-    file://0006-Fix-nm-version-macro-includes.patch \
-"
-SRC_URI[md5sum] = "a8f54460a4708efd840358f32d0968fd"
-SRC_URI[sha256sum] = "1bcfce8441dfd9f432a100d06b54f3831a2275cccc3b74b1b4c09a011e179fbc"
-
-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','consolekit',d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES','bluetooth','${BLUEZ}','',d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES','wifi','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 libgcrypt"
-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}-tests \
-  ${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.contains('PACKAGECONFIG','dnsmasq','dnsmasq','',d)} \
-"
-RCONFLICTS_${PN} = "connman"
-
-FILES_${PN}-dbg += " \
-    ${libdir}/NetworkManager/.debug/ \
-    ${libdir}/pppd/*/.debug/ \
-"
-
-FILES_${PN}-dev += " \
-    ${datadir}/NetworkManager/gdb-cmd \
-    ${libdir}/pppd/*/*.la \
-    ${libdir}/NetworkManager/*.la \
-"
-
-FILES_${PN}-tests = " \
-    ${bindir}/nm-online \
-"
-
-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-oe/recipes-connectivity/networkmanager/networkmanager_1.0.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.12.bb
new file mode 100644
index 0000000..9134880
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.12.bb
@@ -0,0 +1,118 @@
+SUMMARY = "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=51d7fb67bde992e58533a8481cee070b \
+"
+
+DEPENDS = "intltool-native libnl dbus dbus-glib dbus-glib-native libgudev util-linux libndp libnewt polkit"
+
+inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection
+
+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-add-pkg-config-for-libgcrypt.patch \
+    file://0006-Fix-nm-version-macro-includes.patch \
+    file://0002-networkmanager-fixed-issues-of-NetworkManager-wait-o.patch \
+"
+SRC_URI[md5sum] = "ebb273456a81ccf9dfaf2461061b0e96"
+SRC_URI[sha256sum] = "3a470f8c60109b1acb5784ddc2423501706b5fe34c793a6faee87e591eb04a9e"
+
+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','consolekit',d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES','bluetooth','${BLUEZ}','',d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES','wifi','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 libgcrypt"
+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.contains('PACKAGECONFIG','dnsmasq','dnsmasq','',d)} \
+"
+RCONFLICTS_${PN} = "connman"
+
+FILES_${PN}-dbg += " \
+    ${libdir}/NetworkManager/.debug/ \
+    ${libdir}/pppd/*/.debug/ \
+"
+
+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-oe/recipes-connectivity/obexftp/obexftp_0.23.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
index fcd447c..b6bdfb7 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/obexftp/obexftp_0.23.bb
@@ -4,9 +4,6 @@
 
 DEPENDS += "openobex"
 
-# Depends on openobex
-PNBLACKLIST[obexftp] ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5 conflicts with bluez4 and bluez5 is selected in DISTRO_FEATURES', '', d)}"
-
 SRC_URI = "http://sourceforge.net/projects/openobex/files/obexftp/${PV}/obexftp-${PV}.tar.bz2 \
            file://Remove_some_printf_in_obexftpd.patch "
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
index dde4599..0ede5e5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
@@ -2,7 +2,7 @@
 # Released under the MIT license (see COPYING.MIT for the terms)
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
                     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 SUMMARY = "Set of Bluetooth related tools for inclusion in images"
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
index 95adecd..b8a9d4a 100644
--- 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
@@ -22,25 +22,25 @@
 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}${bindir}
+    install -m 755 ${S}/src/smsd "${D}${bindir}/smsd"
 
-	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 -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}/init.d
-	install -m 755 ${S}/scripts/sms3 "${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}"
+    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/telepathy/libtelepathy_0.3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
index f13e709..c398dc1 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
@@ -11,8 +11,9 @@
 PR = "r5"
 
 SRC_URI = "http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-${PV}.tar.gz \
-           file://prefer_python_2.5.patch \
-           file://doublefix.patch"
+    file://prefer_python_2.5.patch \
+    file://doublefix.patch \
+"
 
 SRC_URI[md5sum] = "490ca1a0c614d4466394b72d43bf7370"
 SRC_URI[sha256sum] = "e0d230be855125163579743418203c6f6be2f10f98c4f065735c1dc9ed115878"
@@ -20,4 +21,4 @@
 inherit autotools pkgconfig pythonnative
 
 FILES_${PN} += "${datadir}/telepathy \
-		${datadir}/dbus-1"
+    ${datadir}/dbus-1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
index 9ae68dd..582783c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
@@ -23,15 +23,15 @@
 PACKAGECONFIG[nm] = "--with-connectivity=nm,,networkmanager"
 
 PACKAGES =+ " \
-	libmissioncontrol \
-	libmissioncontrol-config \
-	libmissioncontrol-server \
-	libmissioncontrol-dev \
-	libmissioncontrol-config-dev \
-	libmissioncontrol-server-dev \
-	libmissioncontrol-dbg \
-	libmissioncontrol-config-dbg \
-	libmissioncontrol-server-dbg \
+    libmissioncontrol \
+    libmissioncontrol-config \
+    libmissioncontrol-server \
+    libmissioncontrol-dev \
+    libmissioncontrol-config-dev \
+    libmissioncontrol-server-dev \
+    libmissioncontrol-dbg \
+    libmissioncontrol-config-dbg \
+    libmissioncontrol-server-dbg \
 "
 
 FILES_${PN} += "${datadir}/dbus* ${datadir}/glib-2.0/schemas"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch
new file mode 100644
index 0000000..fcc2f08
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-Forcibly-disable-check-for-Qt5.patch
@@ -0,0 +1,27 @@
+From b3da0d8677b7e8467367a303c18551c56ed20e15 Mon Sep 17 00:00:00 2001
+From: Philip Balister <philip@balister.org>
+Date: Tue, 12 Apr 2016 17:30:15 -0400
+Subject: [PATCH] Forcibly disable check for Qt5.
+
+Signed-off-by: Philip Balister <philip@balister.org>
+---
+ build/cmake/DefineOptions.cmake | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/build/cmake/DefineOptions.cmake b/build/cmake/DefineOptions.cmake
+index 62e240f..f8b4493 100644
+--- a/build/cmake/DefineOptions.cmake
++++ b/build/cmake/DefineOptions.cmake
+@@ -52,9 +52,6 @@ CMAKE_DEPENDENT_OPTION(WITH_LIBEVENT "Build with libevent support" ON
+ find_package(Qt4 QUIET COMPONENTS QtCore QtNetwork)
+ CMAKE_DEPENDENT_OPTION(WITH_QT4 "Build with Qt4 support" ON
+                        "QT4_FOUND" OFF)
+-find_package(Qt5 QUIET COMPONENTS Core Network)
+-CMAKE_DEPENDENT_OPTION(WITH_QT5 "Build with Qt5 support" ON
+-                       "Qt5_FOUND" OFF)
+ if(${WITH_QT4} AND ${WITH_QT5} AND ${CMAKE_MAJOR_VERSION} LESS 3)
+   # cmake < 3.0.0 causes conflict when building both Qt4 and Qt5
+   set(WITH_QT4 OFF)
+-- 
+2.5.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch
new file mode 100644
index 0000000..7cc8d17
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch
@@ -0,0 +1,110 @@
+From bc577820ad25795543b31f123e309cdaebc7d6c6 Mon Sep 17 00:00:00 2001
+From: Cody P Schafer <dev@codyps.com>
+Date: Mon, 16 May 2016 15:21:10 -0400
+Subject: [PATCH 1/2] THRIFT-3828 In cmake avoid use of both quoted paths and
+ SYSTEM with include_directories()
+
+This allows us to avoid issues where there are no paths to be added to
+the include path (include_directories() errors when given an empty
+string).
+
+Specifically, gcc-6 requires that libraries stop passing paths like
+'/usr/include' (or they will get libstdc++ build errors), so these paths
+will be empty more often in the future.
+---
+ lib/cpp/CMakeLists.txt      | 8 ++++----
+ lib/cpp/test/CMakeLists.txt | 2 +-
+ test/cpp/CMakeLists.txt     | 6 +++---
+ tutorial/cpp/CMakeLists.txt | 2 +-
+ 4 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/lib/cpp/CMakeLists.txt b/lib/cpp/CMakeLists.txt
+index 4c7caeb..a716ac3 100755
+--- a/lib/cpp/CMakeLists.txt
++++ b/lib/cpp/CMakeLists.txt
+@@ -24,7 +24,7 @@ else()
+   find_package(Boost 1.53.0 REQUIRED)
+ endif()
+ 
+-include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
++include_directories(${Boost_INCLUDE_DIRS})
+ include_directories(src)
+ 
+ # SYSLIBS contains libraries that need to be linked to all lib targets
+@@ -104,7 +104,7 @@ if(OPENSSL_FOUND AND WITH_OPENSSL)
+        src/thrift/transport/TSSLSocket.cpp
+        src/thrift/transport/TSSLServerSocket.cpp
+     )
+-    include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}")
++    include_directories(${OPENSSL_INCLUDE_DIR})
+     list(APPEND SYSLIBS "${OPENSSL_LIBRARIES}")
+ endif()
+ 
+@@ -162,7 +162,7 @@ TARGET_LINK_LIBRARIES_THRIFT(thrift ${SYSLIBS})
+ 
+ if(WITH_LIBEVENT)
+     find_package(Libevent REQUIRED)  # Libevent comes with CMake support form upstream
+-    include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS})
++    include_directories(${LIBEVENT_INCLUDE_DIRS})
+ 
+     ADD_LIBRARY_THRIFT(thriftnb ${thriftcppnb_SOURCES})
+     TARGET_LINK_LIBRARIES_THRIFT(thriftnb ${SYSLIBS} ${LIBEVENT_LIBRARIES})
+@@ -171,7 +171,7 @@ endif()
+ 
+ if(WITH_ZLIB)
+     find_package(ZLIB REQUIRED)
+-    include_directories(SYSTEM ${ZLIB_INCLUDE_DIRS})
++    include_directories(${ZLIB_INCLUDE_DIRS})
+ 
+     ADD_LIBRARY_THRIFT(thriftz ${thriftcppz_SOURCES})
+     TARGET_LINK_LIBRARIES_THRIFT(thriftz ${SYSLIBS} ${ZLIB_LIBRARIES})
+diff --git a/lib/cpp/test/CMakeLists.txt b/lib/cpp/test/CMakeLists.txt
+index 5de9fc4..c956c38 100644
+--- a/lib/cpp/test/CMakeLists.txt
++++ b/lib/cpp/test/CMakeLists.txt
+@@ -20,7 +20,7 @@
+ # Find required packages
+ set(Boost_USE_STATIC_LIBS ON) # Force the use of static boost test framework
+ find_package(Boost 1.53.0 REQUIRED COMPONENTS chrono filesystem system thread unit_test_framework)
+-include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
++include_directories(${Boost_INCLUDE_DIRS})
+ 
+ #Make sure gen-cpp files can be included
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}")
+diff --git a/test/cpp/CMakeLists.txt b/test/cpp/CMakeLists.txt
+index 2d75f2e..b1409de 100755
+--- a/test/cpp/CMakeLists.txt
++++ b/test/cpp/CMakeLists.txt
+@@ -22,13 +22,13 @@ include(ThriftMacros)
+ 
+ set(Boost_USE_STATIC_LIBS ON)
+ find_package(Boost 1.53.0 REQUIRED COMPONENTS program_options system filesystem)
+-include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
++include_directories(${Boost_INCLUDE_DIRS})
+ 
+ find_package(OpenSSL REQUIRED)
+-include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}")
++include_directories(${OPENSSL_INCLUDE_DIR})
+ 
+ find_package(Libevent REQUIRED)  # Libevent comes with CMake support from upstream
+-include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS})
++include_directories(${LIBEVENT_INCLUDE_DIRS})
+ 
+ #Make sure gen-cpp files can be included
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}")
+diff --git a/tutorial/cpp/CMakeLists.txt b/tutorial/cpp/CMakeLists.txt
+index 2b0c143..5ecae17 100644
+--- a/tutorial/cpp/CMakeLists.txt
++++ b/tutorial/cpp/CMakeLists.txt
+@@ -18,7 +18,7 @@
+ #
+ 
+ find_package(Boost 1.53.0 REQUIRED)
+-include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
++include_directories(${Boost_INCLUDE_DIRS})
+ 
+ #Make sure gen-cpp files can be included
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}")
+-- 
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
new file mode 100644
index 0000000..f13adbb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift-0.9.3/0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch
@@ -0,0 +1,40 @@
+From f6cad0580e5391c37af7f60adddb71bf1a403dc4 Mon Sep 17 00:00:00 2001
+From: Cody P Schafer <dev@codyps.com>
+Date: Fri, 9 Sep 2016 15:50:26 -0400
+Subject: [PATCH 2/2] THRIFT-3831 in test/cpp explicitly use `signed char`
+
+`char`'s signed-ness is implimentation dependent, and in the case where
+`char` was not signed, we previously recieved errors like
+
+    thrift/0.9.3-r0/git/test/cpp/src/TestClient.cpp:404:15: error: narrowing conversion of '-127' from 'int' to 'char' inside { } [-Wnarrowing]
+
+(This example from gcc-6 on arm)
+---
+ test/cpp/src/TestClient.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/cpp/src/TestClient.cpp b/test/cpp/src/TestClient.cpp
+index e709899..4a961f8 100644
+--- a/test/cpp/src/TestClient.cpp
++++ b/test/cpp/src/TestClient.cpp
+@@ -383,7 +383,7 @@ int main(int argc, char** argv) {
+      * BINARY TEST
+      */
+     printf("testBinary([-128..127]) = {");
+-    const char bin_data[256]
++    const signed char bin_data[256]
+         = {-128, -127, -126, -125, -124, -123, -122, -121, -120, -119, -118, -117, -116, -115, -114,
+            -113, -112, -111, -110, -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99,
+            -98,  -97,  -96,  -95,  -94,  -93,  -92,  -91,  -90,  -89,  -88,  -87,  -86,  -85,  -84,
+@@ -404,7 +404,7 @@ int main(int argc, char** argv) {
+            127};
+     try {
+       string bin_result;
+-      testClient.testBinary(bin_result, string(bin_data, 256));
++      testClient.testBinary(bin_result, string(reinterpret_cast<const char *>(bin_data), 256));
+       if (bin_result.size() != 256) {
+         printf("}\n*** FAILED ***\n");
+         printf("invalid length: %lu\n", bin_result.size());
+-- 
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb
new file mode 100644
index 0000000..905e561
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.9.3.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Apache Thrift"
+DESCRIPTION =  "A software framework, for scalable cross-language services development"
+HOMEPAGE = "https://thrift.apache.org/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e4ed21f679b2aafef26eac82ab0c2cbf"
+
+DEPENDS = "thrift-native boost python libevent flex-native bison-native \
+           glib-2.0 openssl"
+
+SRC_URI = "git://git-wip-us.apache.org/repos/asf/thrift.git;protocol=https \
+           file://0001-Forcibly-disable-check-for-Qt5.patch \
+           file://0001-THRIFT-3828-In-cmake-avoid-use-of-both-quoted-paths-.patch \
+           file://0002-THRIFT-3831-in-test-cpp-explicitly-use-signed-char.patch \
+"
+SRCREV = "61b8a29b0704ccd81b520f2300f5d1bb261fea3e"
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native nativesdk"
+
+inherit pkgconfig cmake pythonnative
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+export BUILD_SYS
+export HOST_SYS
+
+EXTRA_OECMAKE = "-DWITH_QT4=OFF -DWITH_QT5=OFF -DBUILD_JAVA=OFF"
+EXTRA_OECMAKE_append_class-native = "\
+             -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DWITH_CPP=OFF"
+EXTRA_OECMAKE_append_class-nativesdk = "\
+             -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DWITH_PYTHON=OFF"
+
+do_install_append () {
+    ln -sf thrift ${D}/${bindir}/thrift-compiler
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
index f7adf4c..65617fa 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
@@ -28,3 +28,5 @@
 do_install() {
     oe_runmake prefix=${D}/usr PPPDIR=${D}/etc/ppp/peers install
 }
+
+PNBLACKLIST[wvdial] ?= "Depends on broken wvstreams"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
index 6199a2f..8d86448 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
@@ -46,3 +46,6 @@
 
 FILES_${PN}-valgrind = "${libdir}/valgrind/wvstreams.supp"
 RDEPENDS_${PN} += "perl"
+
+# http://errors.yoctoproject.org/Errors/Details/68614/
+PNBLACKLIST[wvstreams] ?= "BROKEN: fails to build with gcc-6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.7.bb
index c2c4eae..8b9c4b8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.7.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_2.4.7.bb
@@ -24,8 +24,9 @@
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 SRC_URI = "http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/${PV}/${BPN}-${PV}.tar.gz \
-           file://0001-Fix-configure.ac.patch \
-           file://zabbix-agent.service"
+    file://0001-Fix-configure.ac.patch \
+    file://zabbix-agent.service \
+"
 
 SRC_URI[md5sum] = "9f8aeb11d8415585f41c3f2f22566b78"
 SRC_URI[sha256sum] = "d2c47b8f5b9b91f18010d54c45de55845d979014a8b3fe4bef64e0b08f8b00da"
@@ -39,21 +40,23 @@
 USERADD_PACKAGES = "${PN}"
 GROUPADD_PARAM_${PN} = "-r zabbix"
 USERADD_PARAM_${PN} = "-r -g zabbix -d /var/lib/zabbix \
-                       -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix"
+    -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \
+"
 
 KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}"
 
-EXTRA_OECONF = '--enable-dependency-tracking \
-	        --enable-agent \
-	        --enable-ipv6 \
-	        --with-net-snmp \
-	        --with-ldap=${STAGING_EXECPREFIXDIR} \
-	        --with-jabber \
-	        --with-unixodbc \
-	        --with-ssh2 \
-	        --with-sqlite3 \
-	        '
-CFLAGS_append += "-lldap -llber"
+EXTRA_OECONF = " \
+    --enable-dependency-tracking \
+    --enable-agent \
+    --enable-ipv6 \
+    --with-net-snmp \
+    --with-ldap=${STAGING_EXECPREFIXDIR} \
+    --with-jabber \
+    --with-unixodbc \
+    --with-ssh2 \
+    --with-sqlite3 \
+"
+CFLAGS_append = " -lldap -llber"
 
 do_configure_prepend() {
     export KERNEL_VERSION="${KERNEL_VERSION}"
@@ -62,7 +65,7 @@
 do_install_append() {
     if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
         install -d ${D}${systemd_unitdir}/system
-	install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/
+        install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/
         sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service
     fi
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.4.bb
deleted file mode 100644
index 2090152..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.4.bb
+++ /dev/null
@@ -1,30 +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"
-DEPENDS = "libsodium"
-
-SRC_URI = "http://download.zeromq.org/zeromq-${PV}.tar.gz \
-           file://run-ptest \
-           "
-SRC_URI[md5sum] = "a611ecc93fffeb6d058c0e6edf4ad4fb"
-SRC_URI[sha256sum] = "e99f44fde25c2e4cb84ce440f87ca7d3fe3271c2b8cfbc67d55e4de25e6fe378"
-
-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.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.5.bb
new file mode 100644
index 0000000..8da8674
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.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/zeromq4-1/releases/download/v${PV}/zeromq-${PV}.tar.gz \
+    file://run-ptest \
+"
+SRC_URI[md5sum] = "e7adf4b7dbae09b28cfd10d26cd67fac"
+SRC_URI[sha256sum] = "04aac57f081ffa3a2ee5ed04887be9e205df3a7ddade0027460b8042432bdbcf"
+
+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-core/llvm/llvm-common/llvm-config b/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm-common/llvm-config
index a9a416d..b0f33c8 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm-common/llvm-config
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/llvm/llvm-common/llvm-config
@@ -4,7 +4,8 @@
 if [ $WANT_LLVM_RELEASE ]; then
 	exec `dirname $0`/${TARGET_PREFIX}llvm-config$WANT_LLVM_RELEASE ${@}
 else
-  echo "The variable WANT_LLVM_RELEASE is not defined and exported"
-	echo "by your build recipe. Go figure."
-  exit 1
+	echo "To use llvm-common WANT_LLVM_RELEASE needs to be exported."
+	echo "For example if this is being called through a recipe:"
+	echo "export WANT_LLVM_RELEASE=\"3.3\""
+	exit 1
 fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
index 21dd1de..a53fa69 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
@@ -22,7 +22,7 @@
 TASK_BASIC_SSHDAEMON ?= "dropbear openssh-sftp openssh-sftp-server"
 
 #
-# The section below is designed to match with packagegroup-boot, but doesn't depend on it to allow for more freedom 
+# The section below is designed to match with packagegroup-boot, but doesn't depend on it to allow for more freedom
 # when writing image recipes.
 # It also avoids the choice between connman/networkmanager/ifupdown since that is an image feature, not a
 # distro feature.
@@ -38,7 +38,7 @@
 # The following section is split in 3:
 #   1) Machine features: kernel modules and userspace helpers for those
 #   2) Distro features: packages associated with those
-#   3) Nice to have: packages that are nice to have, but aren't strictly needed  
+#   3) Nice to have: packages that are nice to have, but aren't strictly needed
 #
 RRECOMMENDS_${PN} = "\
     ${MACHINE_EXTRA_RRECOMMENDS} \
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 9ca8502..1c1a02d 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
@@ -1,8 +1,9 @@
 SUMMARY = "Plymouth is a project from Fedora providing a flicker-free graphical boot process."
 
 DESCRIPTION = "Plymouth is an application that runs very early in the boot process \
-               (even before the root filesystem is mounted!) that provides a \
-	       graphical boot animation while the boot process happens in the background."
+    (even before the root filesystem is mounted!) that provides a \
+    graphical boot animation while the boot process happens in the background. \
+"
 
 HOMEPAGE = "http://www.freedesktop.org/wiki/Software/Plymouth"
 SECTION = "base"
@@ -19,34 +20,38 @@
 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)} \
-                "
+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)} \
+"
+
+PACKAGECONFIG ??= "pango initrd"
+PACKAGECONFIG_append_x86 = " drm"
+PACKAGECONFIG_append_x86-64 = " drm"
 
 PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
 PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
 PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+"
-
-PACKAGECONFIG ??= "pango"
+PACKAGECONFIG[initrd] = ",,,"
 
 LOGO ??= "${datadir}/plymouth/bizcom.png"
 
-PACKAGECONFIG_append_x86 = " drm"
-PACKAGECONFIG_append_x86-64 = " drm"
-
 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"
+    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"
+
+    if ! ${@bb.utils.contains('PACKAGECONFIG', 'initrd', 'true', 'false', d)}; then
+        rm -rf "${D}${libexecdir}"
+    fi
 }
 
-PACKAGES =+ "${PN}-initrd ${PN}-set-default-theme"
+PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'initrd', '${PN}-initrd ', '', d)}"
+PACKAGES =+ "${PN}-set-default-theme"
 
 FILES_${PN}-initrd = "${libexecdir}/plymouth/*"
 FILES_${PN}-set-default-theme = "${sbindir}/plymouth-set-default-theme"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-Fix-TOYBOX_VERSION.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-Fix-TOYBOX_VERSION.patch
new file mode 100644
index 0000000..8af4305
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-Fix-TOYBOX_VERSION.patch
@@ -0,0 +1,29 @@
+From 209fad8ebd17bf46d0431dafbb547f429a3cffdf Mon Sep 17 00:00:00 2001
+From: Paul Barker <paul@paulbarker.me.uk>
+Date: Sat, 4 Jun 2016 15:05:49 +0100
+Subject: [PATCH 1/2] Fix TOYBOX_VERSION
+
+The latest tagged version is 0.7.1.
+
+Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
+Upstream-status: Submitted
+---
+ main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/main.c b/main.c
+index eeae2f3..bedb333 100644
+--- a/main.c
++++ b/main.c
+@@ -6,7 +6,7 @@
+ #include "toys.h"
+ 
+ #ifndef TOYBOX_VERSION
+-#define TOYBOX_VERSION "0.7.0"
++#define TOYBOX_VERSION "0.7.1"
+ #endif
+ 
+ // Populate toy_list[].
+-- 
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0002-Fix-trimmed-printf-in-grep.patch b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0002-Fix-trimmed-printf-in-grep.patch
new file mode 100644
index 0000000..37808d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0002-Fix-trimmed-printf-in-grep.patch
@@ -0,0 +1,34 @@
+From 9c51a0d7690fb3b08871dae2486af4032d8442fb Mon Sep 17 00:00:00 2001
+From: Paul Barker <paul@paulbarker.me.uk>
+Date: Sat, 4 Jun 2016 15:42:48 +0100
+Subject: [PATCH 2/2] Fix trimmed printf in grep
+
+Using a default trim value of INT_MAX/2 when printing a line causes nothing to
+be printed on a system built using OpenEmbedded for the qemux86 target. This may
+also affect other systems.
+
+Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
+Upstream-status: Submitted
+---
+ toys/posix/grep.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/toys/posix/grep.c b/toys/posix/grep.c
+index 2ca02d2..f38c538 100644
+--- a/toys/posix/grep.c
++++ b/toys/posix/grep.c
+@@ -74,7 +74,10 @@ static void outline(char *line, char dash, char *name, long lcount, long bcount,
+   if (!line || (lcount && (toys.optflags&FLAG_n)))
+     printf("%ld%c", lcount, line ? dash : TT.outdelim);
+   if (bcount && (toys.optflags&FLAG_b)) printf("%ld%c", bcount-1, dash);
+-  if (line) xprintf("%.*s%c", trim ? trim : INT_MAX/2, line, TT.outdelim);
++  if (line) {
++    if (trim) xprintf("%.*s%c", trim, line, TT.outdelim);
++    else xprintf("%s%c", line, TT.outdelim);
++  }
+ }
+ 
+ // Show matches in one file
+-- 
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.6.0.bb
deleted file mode 100644
index da03200..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.6.0.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "Toybox combines common utilities together into a single executable."
-HOMEPAGE = "http://www.landley.net/toybox/"
-
-SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "7f4a6c89e56c48e3350e611f5b36c2cf"
-SRC_URI[sha256sum] = "b6e2694d19ac08f1c3416d5b2a02a31d445db2ed98dec89761430cdff2c9710d"
-
-
-LICENSE = "BSD-0-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
-
-SECTION = "base"
-
-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
-}
-
-do_compile() {
-    oe_runmake toybox_unstripped
-
-    # Create a list of links needed
-    oe_runmake 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_unstripped ${D}${base_bindir}/toybox
-    else
-        install -m 0755 ${B}/toybox_unstripped ${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', True)
-    pn = d.getVar('PN', True)
-    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_0.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.1.bb
new file mode 100644
index 0000000..defca70
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.7.1.bb
@@ -0,0 +1,74 @@
+SUMMARY = "Toybox combines common utilities together into a single executable."
+HOMEPAGE = "http://www.landley.net/toybox/"
+DEPENDS = "attr"
+
+SRC_URI = " \
+    http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \
+    file://0001-Fix-TOYBOX_VERSION.patch \
+    file://0002-Fix-trimmed-printf-in-grep.patch \
+"
+
+SRC_URI[md5sum] = "e959e5ff8c6806781eb06e56f302a393"
+SRC_URI[sha256sum] = "5bb3069f58faf12940d5cfde3209ac7f63210bebdd9023979b0c20cede126ea7"
+
+LICENSE = "BSD-0-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511"
+
+SECTION = "base"
+
+TOYBOX_BIN = "generated/unstripped/toybox"
+
+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', True)
+    pn = d.getVar('PN', True)
+    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/usleep/usleep_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-core/usleep/usleep_1.0.bb
index 2ef4b7c..9e9c7ed 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-core/usleep/usleep_1.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-core/usleep/usleep_1.0.bb
@@ -3,24 +3,22 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
-PR = "r0"
-
 S = "${WORKDIR}"
 DEPENDS = "popt"
 
 SRC_URI = "file://usleep.c \
-           file://usleep.1 \
-           file://GPLv2.patch \
+    file://usleep.1 \
+    file://GPLv2.patch \
 "
 
 do_compile() {
-	${CC} ${CFLAGS} ${LDFLAGS} usleep.c -o usleep -lpopt
+    ${CC} ${CFLAGS} ${LDFLAGS} usleep.c -o usleep -lpopt
 }
 
 do_install() {
-	install -d ${D}${base_bindir}
-	install -d ${D}${mandir}/man1
+    install -d ${D}${base_bindir}
+    install -d ${D}${mandir}/man1
 
-	install -m 0755	${WORKDIR}/usleep	${D}${base_bindir}
-	install -m 0644	${WORKDIR}/usleep.1	${D}${mandir}/man1
+    install -m 0755 ${WORKDIR}/usleep   ${D}${base_bindir}
+    install -m 0644 ${WORKDIR}/usleep.1 ${D}${mandir}/man1
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup
new file mode 100644
index 0000000..f7d9973
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# TODO enable the lines below once we have support for getprop
+# retrieve the product info from Android
+# manufacturer=$(getprop ro.product.manufacturer Android)
+# model=$(getprop ro.product.model Android)
+# serial=$(getprop ro.serialno 0123456789ABCDEF)
+
+manufacturer="$(cat /system/build.prop | grep -o 'ro.product.manufacturer=.*' | cut -d'=' -f 2)"
+model="$(cat /system/build.prop | grep -o 'ro.product.model=.*' | cut -d'=' -f 2)"
+# get the device serial number from /proc/cmdline directly(since we have no getprop on
+# GNU/Linux)
+serial="$(cat /proc/cmdline | sed 's/.*androidboot.serialno=//' | sed 's/ .*//')"
+
+echo $serial > /sys/class/android_usb/android0/iSerial
+echo $manufacturer > /sys/class/android_usb/android0/iManufacturer
+echo $model > /sys/class/android_usb/android0/iProduct
+
+echo "0" > /sys/class/android_usb/android0/enable
+echo "18d1" > /sys/class/android_usbid_usb/android0/idVendor
+echo "D002" > /sys/class/android_usb/android0/idProduct
+echo "adb" > /sys/class/android_usb/android0/functions
+echo "1" >  /sys/class/android_usb/android0/enable
+
+sleep 4
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb
new file mode 100644
index 0000000..af98f92
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Different utilities from Android - corressponding configuration files"
+SECTION = "console/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = "file://android-gadget-setup"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_install() {
+    install -d ${D}${bindir}
+    install -m 0755 ${WORKDIR}/android-gadget-setup ${D}${bindir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/.gitignore b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/.gitignore
new file mode 100644
index 0000000..b8a08f8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/.gitignore
@@ -0,0 +1,57 @@
+*
+!.gitignore
+!*.indirectionsymlink
+!*.[ch]
+!*.mk
+!NOTICE
+!MODULE_LICENSE_*
+!/system/
+!/system/core/
+!/system/core/adb/
+!/system/core/fastboot/
+!/system/core/fs_mgr/
+!/system/core/fs_mgr/include/
+!/system/core/include/
+!/system/core/include/android/
+!/system/core/include/cutils/
+!/system/core/include/log/
+!/system/core/include/mincrypt/
+!/system/core/include/private/
+!/system/core/include/utils/
+!/system/core/include/zipfile/
+!/system/core/liblog/
+!/system/core/liblog/tests/
+!/system/core/libcutils/
+!/system/core/libmincrypt/
+!/system/core/libzipfile/
+!/system/core/libsparse/
+!/system/core/libsparse/include/
+!/system/core/libsparse/include/sparse/
+!/system/core/libsparse/simg_dump.py
+!/system/core/mkbootimg/
+!/system/extras/
+!/system/extras/ext4_utils/
+!/system/extras/ext4_utils/mkuserimg.sh
+!/system/extras/ext4_utils/test_ext4fixup
+!/system/extras/f2fs_utils/
+!/hardware/
+!/hardware/libhardware/
+!/hardware/libhardware/include/
+!/hardware/libhardware/include/hardware/
+!/external/
+!/external/libselinux/
+!/external/libselinux/include/
+!/external/libselinux/include/selinux/
+!/external/libselinux/src/
+!/external/f2fs-tools/
+!/external/f2fs-tools/include/
+!/external/f2fs-tools/lib/
+!/external/f2fs-tools/mkfs/
+!/build/
+!/build/core/
+!/build/core/version_defaults.mk
+!/build/core/combo/
+!/build/core/combo/include/
+!/build/core/combo/include/arch/
+!/build/core/combo/include/arch/linux-*/
+!/build/core/combo/include/arch/linux-*/AndroidConfig.h
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adb.mk b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adb.mk
new file mode 100644
index 0000000..0687c22
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adb.mk
@@ -0,0 +1,72 @@
+# Makefile for adb
+
+SRCDIR ?= $(S)
+
+VPATH += $(SRCDIR)/system/core/adb
+adb_SRC_FILES += adb.c
+adb_SRC_FILES += console.c
+adb_SRC_FILES += transport.c
+adb_SRC_FILES += transport_local.c
+adb_SRC_FILES += transport_usb.c
+adb_SRC_FILES += commandline.c
+adb_SRC_FILES += adb_client.c
+adb_SRC_FILES += adb_auth_host.c
+adb_SRC_FILES += sockets.c
+adb_SRC_FILES += services.c
+adb_SRC_FILES += file_sync_client.c
+adb_SRC_FILES += get_my_path_linux.c
+adb_SRC_FILES += usb_linux.c
+adb_SRC_FILES += usb_vendors.c
+adb_SRC_FILES += fdevent.c
+adb_OBJS := $(adb_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/system/core/libcutils
+libcutils_SRC_FILES += atomic.c
+libcutils_SRC_FILES += hashmap.c
+libcutils_SRC_FILES += native_handle.c
+libcutils_SRC_FILES += config_utils.c
+libcutils_SRC_FILES += cpu_info.c
+libcutils_SRC_FILES += load_file.c
+# libcutils_SRC_FILES += open_memstream.c
+# libcutils_SRC_FILES += strdup16to8.c
+# libcutils_SRC_FILES += strdup8to16.c
+# libcutils_SRC_FILES += record_stream.c
+# libcutils_SRC_FILES += process_name.c
+# libcutils_SRC_FILES += threads.c
+# libcutils_SRC_FILES += sched_policy.c
+# libcutils_SRC_FILES += iosched_policy.c
+libcutils_SRC_FILES += str_parms.c
+libcutils_SRC_FILES += fs.c
+libcutils_SRC_FILES += multiuser.c
+libcutils_SRC_FILES += socket_inaddr_any_server.c
+libcutils_SRC_FILES += socket_local_client.c
+libcutils_SRC_FILES += socket_local_server.c
+libcutils_SRC_FILES += socket_loopback_client.c
+libcutils_SRC_FILES += socket_loopback_server.c
+libcutils_SRC_FILES += socket_network_client.c
+libcutils_SRC_FILES += sockets.c
+libcutils_SRC_FILES += ashmem-host.c
+libcutils_SRC_FILES += dlmalloc_stubs.c
+libcutils_OBJS := $(libcutils_SRC_FILES:.c=.o)
+
+CFLAGS += -DANDROID
+CFLAGS += -DWORKAROUND_BUG6558362
+CFLAGS += -DADB_HOST=1
+CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
+CFLAGS += -DANDROID_SMP=0
+CFLAGS += -I$(SRCDIR)/system/core/adb
+CFLAGS += -I$(SRCDIR)/system/core/include
+CFLAGS += -include $(SRCDIR)/build/core/combo/include/arch/$(android_arch)/AndroidConfig.h
+
+LIBS += libcutils.a -lpthread -lcrypto
+
+all: adb
+
+adb: libcutils.a $(adb_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(adb_OBJS) $(LIBS)
+
+libcutils.a: $(libcutils_OBJS)
+	$(AR) rcs $@ $(libcutils_OBJS)
+
+clean:
+	$(RM) $(adb_OBJS) $(libcutils_OBJS) adb *.a
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adbd.mk b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adbd.mk
new file mode 100644
index 0000000..84cd06b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/adbd.mk
@@ -0,0 +1,163 @@
+# Makefile for adbd
+
+SRCDIR ?= $(S)
+
+VPATH += $(SRCDIR)/system/core/adb
+adbd_SRC_FILES += adb.c
+adbd_SRC_FILES += fdevent.c
+adbd_SRC_FILES += transport.c
+adbd_SRC_FILES += transport_local.c
+adbd_SRC_FILES += transport_usb.c
+adbd_SRC_FILES += adb_auth_client.c
+adbd_SRC_FILES += sockets.c
+adbd_SRC_FILES += services.c
+adbd_SRC_FILES += file_sync_service.c
+adbd_SRC_FILES += jdwp_service.c
+adbd_SRC_FILES += framebuffer_service.c
+adbd_SRC_FILES += remount_service.c
+adbd_SRC_FILES += disable_verity_service.c
+adbd_SRC_FILES += usb_linux_client.c
+adbd_OBJS := $(adbd_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/system/core/liblog
+liblog_SRC_FILES += logd_write.c
+liblog_SRC_FILES += log_event_write.c
+liblog_SRC_FILES += logprint.c
+liblog_SRC_FILES += event_tag_map.c
+liblog_SRC_FILES += fake_log_device.c
+liblog_OBJS := $(liblog_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/system/core/fs_mgr
+fs_mgr_SRC_FILES += fs_mgr_fstab.c
+fs_mgr_OBJS := $(fs_mgr_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/system/core/libcutils
+libcutils_SRC_FILES += atomic.c
+libcutils_SRC_FILES += hashmap.c
+libcutils_SRC_FILES += native_handle.c
+libcutils_SRC_FILES += config_utils.c
+libcutils_SRC_FILES += cpu_info.c
+libcutils_SRC_FILES += load_file.c
+# libcutils_SRC_FILES += open_memstream.c
+# libcutils_SRC_FILES += strdup16to8.c
+# libcutils_SRC_FILES += strdup8to16.c
+# libcutils_SRC_FILES += record_stream.c
+# libcutils_SRC_FILES += process_name.c
+# libcutils_SRC_FILES += threads.c
+# libcutils_SRC_FILES += sched_policy.c
+# libcutils_SRC_FILES += iosched_policy.c
+libcutils_SRC_FILES += str_parms.c
+libcutils_SRC_FILES += fs.c
+libcutils_SRC_FILES += multiuser.c
+libcutils_SRC_FILES += socket_inaddr_any_server.c
+libcutils_SRC_FILES += socket_local_client.c
+libcutils_SRC_FILES += socket_local_server.c
+libcutils_SRC_FILES += socket_loopback_client.c
+libcutils_SRC_FILES += socket_loopback_server.c
+libcutils_SRC_FILES += socket_network_client.c
+libcutils_SRC_FILES += sockets.c
+libcutils_SRC_FILES += ashmem-host.c
+libcutils_SRC_FILES += dlmalloc_stubs.c
+libcutils_SRC_FILES += klog.c
+libcutils_SRC_FILES += properties.c
+libcutils_OBJS := $(libcutils_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/external/libselinux/src
+libselinux_SRC_FILES += booleans.c
+libselinux_SRC_FILES += canonicalize_context.c
+libselinux_SRC_FILES += disable.c
+libselinux_SRC_FILES += enabled.c
+libselinux_SRC_FILES += fgetfilecon.c
+libselinux_SRC_FILES += fsetfilecon.c
+libselinux_SRC_FILES += getenforce.c
+libselinux_SRC_FILES += getfilecon.c
+libselinux_SRC_FILES += getpeercon.c
+libselinux_SRC_FILES += lgetfilecon.c
+libselinux_SRC_FILES += load_policy.c
+libselinux_SRC_FILES += lsetfilecon.c
+libselinux_SRC_FILES += policyvers.c
+libselinux_SRC_FILES += procattr.c
+libselinux_SRC_FILES += setenforce.c
+libselinux_SRC_FILES += setfilecon.c
+libselinux_SRC_FILES += context.c
+libselinux_SRC_FILES += mapping.c
+libselinux_SRC_FILES += stringrep.c
+libselinux_SRC_FILES += compute_create.c
+libselinux_SRC_FILES += compute_av.c
+libselinux_SRC_FILES += avc.c
+libselinux_SRC_FILES += avc_internal.c
+libselinux_SRC_FILES += avc_sidtab.c
+libselinux_SRC_FILES += get_initial_context.c
+libselinux_SRC_FILES += checkAccess.c
+libselinux_SRC_FILES += sestatus.c
+libselinux_SRC_FILES += deny_unknown.c
+
+libselinux_SRC_FILES += callbacks.c
+libselinux_SRC_FILES += check_context.c
+libselinux_SRC_FILES += freecon.c
+libselinux_SRC_FILES += init.c
+libselinux_SRC_FILES += label.c
+libselinux_SRC_FILES += label_file.c
+libselinux_SRC_FILES += label_android_property.c
+libselinux_OBJS := $(libselinux_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/system/extras/ext4_utils
+libext4_utils_SRC_FILES += make_ext4fs.c
+libext4_utils_SRC_FILES += ext4fixup.c
+libext4_utils_SRC_FILES += ext4_utils.c
+libext4_utils_SRC_FILES += allocate.c
+libext4_utils_SRC_FILES += contents.c
+libext4_utils_SRC_FILES += extent.c
+libext4_utils_SRC_FILES += indirect.c
+libext4_utils_SRC_FILES += uuid.c
+libext4_utils_SRC_FILES += sha1.c
+libext4_utils_SRC_FILES += wipe.c
+libext4_utils_SRC_FILES += crc16.c
+libext4_utils_SRC_FILES += ext4_sb.c
+libext4_utils_OBJS := $(libext4_utils_SRC_FILES:.c=.o)
+
+CFLAGS += -std=gnu11
+CFLAGS += -DANDROID
+CFLAGS += -DADB_HOST=0
+CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
+CFLAGS += -DALLOW_ADBD_ROOT=1
+CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1
+CFLAGS += -DPROP_NAME_MAX=32
+CFLAGS += -DPROP_VALUE_MAX=92
+CFLAGS += -DAUDITD_LOG_TAG=1003
+# CFLAGS += -DHOST
+CFLAGS += -DANDROID_SMP=0
+CFLAGS += -I$(SRCDIR)/system/core/adb
+CFLAGS += -I$(SRCDIR)/system/core/include
+CFLAGS += -I$(SRCDIR)/system/core/libsparse/include
+CFLAGS += -I$(SRCDIR)/system/extras/ext4_utils
+CFLAGS += -I$(SRCDIR)/system/core/fs_mgr/include
+CFLAGS += -I$(SRCDIR)/hardware/libhardware/include
+CFLAGS += -I$(SRCDIR)/external/libselinux/include
+CFLAGS += -include $(SRCDIR)/build/core/combo/include/arch/$(android_arch)/AndroidConfig.h
+
+LIBS += liblog.a libfs_mgr.a libcutils.a libselinux.a libext4_utils.a -lpthread -lbsd -lpcre -lresolv -lcrypto
+
+all: adbd
+
+adbd: liblog.a libfs_mgr.a libcutils.a libselinux.a libext4_utils.a $(adbd_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(adbd_OBJS) $(LIBS)
+
+liblog.a: $(liblog_OBJS)
+	$(AR) rcs $@ $(liblog_OBJS)
+
+libfs_mgr.a: $(fs_mgr_OBJS)
+	$(AR) rcs $@ $(fs_mgr_OBJS)
+
+libcutils.a: $(libcutils_OBJS)
+	$(AR) rcs $@ $(libcutils_OBJS)
+
+libselinux.a: $(libselinux_OBJS)
+	export CFLAGS="-DANDROID -DHOST"
+	$(AR) rcs $@ $(libselinux_OBJS)
+
+libext4_utils.a: $(libext4_utils_OBJS)
+	$(AR) rcs $@ $(libext4_utils_OBJS)
+
+clean:
+	$(RM) *.o *.a adbd
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/android-tools-adbd.service b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/android-tools-adbd.service
new file mode 100644
index 0000000..88ed687
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/android-tools-adbd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Android Debug Bridge
+
+[Service]
+Type=simple
+Restart=on-failure
+ExecStartPre=/usr/bin/android-gadget-setup adb
+ExecStart=/usr/bin/adbd
+StandardOutput=null
+
+[Install]
+WantedBy=basic.target
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/define-shell-command.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/define-shell-command.patch
new file mode 100644
index 0000000..8381967
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/define-shell-command.patch
@@ -0,0 +1,23 @@
+Description: we intend to run on Linux system so the shell is always /bin/sh,
+             for the host or the target.
+Author: Fathi Boudra <fabo@debian.org>
+
+Upstream-Status: Inappropriate
+---
+ system/core/adb/services.c |    4 ----
+ 1 file changed, 4 deletions(-)
+
+--- a/system/core/adb/services.c
++++ b/system/core/adb/services.c
+@@ -299,11 +299,7 @@ static int create_subproc_raw(const char
+ }
+ #endif  /* !ABD_HOST */
+ 
+-#if ADB_HOST
+ #define SHELL_COMMAND "/bin/sh"
+-#else
+-#define SHELL_COMMAND "/system/bin/sh"
+-#endif
+ 
+ #if !ADB_HOST
+ static void subproc_waiter_service(int fd, void *cookie)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/ext4_utils.mk b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/ext4_utils.mk
new file mode 100644
index 0000000..c18aa9c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/ext4_utils.mk
@@ -0,0 +1,103 @@
+# Makefile for ext4_utils
+
+SRCDIR ?= $(S)
+
+VPATH += $(SRCDIR)/system/extras/ext4_utils
+make_ext4fs_SRC_FILES += make_ext4fs_main.c
+make_ext4fs_SRC_FILES += canned_fs_config.c
+make_ext4fs_OBJS := $(make_ext4fs_SRC_FILES:.c=.o)
+
+ext2simg_SRC_FILES += ext2simg.c
+ext2simg_OBJS := $(ext2simg_SRC_FILES:.c=.o)
+
+ext4fixup_SRC_FILES += ext4fixup_main.c
+ext4fixup_OBJS := $(ext4fixup_SRC_FILES:.c=.o)
+
+libext4_utils_SRC_FILES += make_ext4fs.c
+libext4_utils_SRC_FILES += ext4fixup.c
+libext4_utils_SRC_FILES += ext4_utils.c
+libext4_utils_SRC_FILES += allocate.c
+libext4_utils_SRC_FILES += contents.c
+libext4_utils_SRC_FILES += extent.c
+libext4_utils_SRC_FILES += indirect.c
+libext4_utils_SRC_FILES += uuid.c
+libext4_utils_SRC_FILES += sha1.c
+libext4_utils_SRC_FILES += wipe.c
+libext4_utils_SRC_FILES += crc16.c
+libext4_utils_SRC_FILES += ext4_sb.c
+libext4_utils_OBJS := $(libext4_utils_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/system/core/libsparse
+simg2img_SRC_FILES += simg2img.c
+simg2img_SRC_FILES += sparse_crc32.c
+simg2img_OBJS := $(simg2img_SRC_FILES:.c=.o)
+
+img2simg_SRC_FILES += img2simg.c
+img2simg_OBJS := $(img2simg_SRC_FILES:.c=.o)
+
+simg2simg_SRC_FILES += simg2simg.c
+simg2simg_SRC_FILES += sparse_crc32.c
+simg2simg_OBJS := $(simg2simg_SRC_FILES:.c=.o)
+
+libsparse_SRC_FILES += backed_block.c
+libsparse_SRC_FILES += output_file.c
+libsparse_SRC_FILES += sparse.c
+libsparse_SRC_FILES += sparse_crc32.c
+libsparse_SRC_FILES += sparse_err.c
+libsparse_SRC_FILES += sparse_read.c
+libsparse_OBJS := $(libsparse_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/external/libselinux/src
+libselinux_SRC_FILES += callbacks.c
+libselinux_SRC_FILES += check_context.c
+libselinux_SRC_FILES += freecon.c
+libselinux_SRC_FILES += init.c
+libselinux_SRC_FILES += label.c
+libselinux_SRC_FILES += label_file.c
+libselinux_SRC_FILES += label_android_property.c
+libselinux_OBJS := $(libselinux_SRC_FILES:.c=.o)
+
+CFLAGS += -DANDROID
+CFLAGS += -DHOST
+CFLAGS += -I$(SRCDIR)/system/extras/ext4_utils
+CFLAGS += -I$(SRCDIR)/system/core/include
+CFLAGS += -I$(SRCDIR)/system/core/libsparse/include
+CFLAGS += -I$(SRCDIR)/external/libselinux/include
+CFLAGS += -include $(SRCDIR)/build/core/combo/include/arch/$(android_arch)/AndroidConfig.h
+
+all: make_ext4fs ext2simg ext4fixup simg2img img2simg simg2simg
+
+make_ext4fs: libext4_utils.a libsparse.a libselinux.a $(make_ext4fs_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(make_ext4fs_OBJS) \
+		libext4_utils.a libsparse.a libselinux.a -lz -lpcre
+
+ext2simg: libext4_utils.a libselinux.a libsparse.a $(ext2simg_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(ext2simg_OBJS) \
+		libext4_utils.a libselinux.a libsparse.a -lz -lpcre
+
+ext4fixup: libext4_utils.a libsparse.a $(ext4fixup_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(ext4fixup_OBJS) libext4_utils.a libsparse.a -lz
+
+simg2img: libsparse.a $(simg2img_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(simg2img_OBJS) libsparse.a -lz
+
+img2simg: libsparse.a $(img2simg_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(img2simg_OBJS) libsparse.a -lz
+
+simg2simg: libsparse.a $(simg2simg_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(simg2simg_OBJS) libsparse.a -lz
+
+libext4_utils.a: $(libext4_utils_OBJS)
+	$(AR) rcs $@ $(libext4_utils_OBJS)
+
+libsparse.a: $(libsparse_OBJS)
+	$(AR) rcs $@ $(libsparse_OBJS)
+
+libselinux.a: $(libselinux_OBJS)
+	$(AR) rcs $@ $(libselinux_OBJS)
+
+clean:
+	$(RM) $(make_ext4fs_OBJS) $(ext2simg_OBJS) $(ext4fixup_OBJS) \
+		$(simg2img_OBJS) $(img2simg_OBJS) $(simg2simg_OBJS) \
+		$(libext4_utils_OBJS) $(libsparse_OBJS) $(libselinux_OBJS) \
+		make_ext4fs ext2simg ext4fixup simg2img img2simg simg2simg *.a
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/fastboot.mk b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/fastboot.mk
new file mode 100644
index 0000000..b9ba95f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/fastboot.mk
@@ -0,0 +1,89 @@
+# Makefile for fastboot
+
+SRCDIR ?= $(S)
+
+VPATH += $(SRCDIR)/system/core/fastboot
+fastboot_SRC_FILES += protocol.c
+fastboot_SRC_FILES += engine.c
+fastboot_SRC_FILES += bootimg.c
+fastboot_SRC_FILES += fastboot.c
+fastboot_SRC_FILES += util.c
+fastboot_SRC_FILES += fs.c
+fastboot_SRC_FILES += usb_linux.c
+fastboot_SRC_FILES += util_linux.c
+fastboot_OBJS := $(fastboot_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/system/core/libzipfile
+libzipfile_SRC_FILES += centraldir.c
+libzipfile_SRC_FILES += zipfile.c
+libzipfile_OBJS := $(libzipfile_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/system/extras/ext4_utils
+libext4_utils_SRC_FILES += make_ext4fs.c
+libext4_utils_SRC_FILES += ext4fixup.c
+libext4_utils_SRC_FILES += ext4_utils.c
+libext4_utils_SRC_FILES += allocate.c
+libext4_utils_SRC_FILES += contents.c
+libext4_utils_SRC_FILES += extent.c
+libext4_utils_SRC_FILES += indirect.c
+libext4_utils_SRC_FILES += uuid.c
+libext4_utils_SRC_FILES += sha1.c
+libext4_utils_SRC_FILES += wipe.c
+libext4_utils_SRC_FILES += crc16.c
+libext4_utils_SRC_FILES += ext4_sb.c
+libext4_utils_OBJS := $(libext4_utils_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/system/core/libsparse
+libsparse_SRC_FILES += backed_block.c
+libsparse_SRC_FILES += output_file.c
+libsparse_SRC_FILES += sparse.c
+libsparse_SRC_FILES += sparse_crc32.c
+libsparse_SRC_FILES += sparse_err.c
+libsparse_SRC_FILES += sparse_read.c
+libsparse_OBJS := $(libsparse_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/external/libselinux/src
+libselinux_SRC_FILES += callbacks.c
+libselinux_SRC_FILES += check_context.c
+libselinux_SRC_FILES += freecon.c
+libselinux_SRC_FILES += init.c
+libselinux_SRC_FILES += label.c
+libselinux_SRC_FILES += label_file.c
+libselinux_SRC_FILES += label_android_property.c
+libselinux_OBJS := $(libselinux_SRC_FILES:.c=.o)
+
+CFLAGS += -std=gnu11
+CFLAGS += -DANDROID
+# CFLAGS += -DUSE_F2FS
+CFLAGS += -DHOST
+CFLAGS += -I$(SRCDIR)/system/core/fastboot
+CFLAGS += -I$(SRCDIR)/system/core/include
+CFLAGS += -I$(SRCDIR)/system/core/mkbootimg
+CFLAGS += -I$(SRCDIR)/system/extras/ext4_utils
+CFLAGS += -I$(SRCDIR)/system/extras/f2fs_utils
+CFLAGS += -I$(SRCDIR)/system/core/libsparse/include
+CFLAGS += -I$(SRCDIR)/external/libselinux/include
+CFLAGS += -include $(SRCDIR)/build/core/combo/include/arch/$(android_arch)/AndroidConfig.h
+
+LIBS += libzipfile.a libext4_utils.a libsparse.a libselinux.a -lz -lpcre
+
+all: fastboot
+
+fastboot: libzipfile.a libext4_utils.a libsparse.a libselinux.a $(fastboot_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(fastboot_OBJS) $(LIBS)
+
+libzipfile.a: $(libzipfile_OBJS)
+	$(AR) rcs $@ $(libzipfile_OBJS)
+
+libext4_utils.a: $(libext4_utils_OBJS)
+	$(AR) rcs $@ $(libext4_utils_OBJS)
+
+libsparse.a: $(libsparse_OBJS)
+	$(AR) rcs $@ $(libsparse_OBJS)
+
+libselinux.a: $(libselinux_OBJS)
+	$(AR) rcs $@ $(libselinux_OBJS)
+
+clean:
+	$(RM) $(fastboot_OBJS) $(libzipfile_OBJS) $(libext4_utils_OBJS) \
+		$(libsparse_OBJS) $(libselinux_OBJS) fastboot *.a
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/implicit-declaration-function-strlcat-strlcopy.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/implicit-declaration-function-strlcat-strlcopy.patch
new file mode 100644
index 0000000..64db616
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/implicit-declaration-function-strlcat-strlcopy.patch
@@ -0,0 +1,42 @@
+Description: fix implicit declaration of stlcat/strlcopy functions.
+Author: Fathi Boudra <fabo@debian.org>
+
+Upstream-Status: Inappropriate
+---
+ system/core/adb/adb.c                |    1 +
+ system/core/fs_mgr/fs_mgr_fstab.c    |    2 +-
+ system/core/include/cutils/sockets.h |    2 +-
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+
+--- a/system/core/fs_mgr/fs_mgr_fstab.c
++++ b/system/core/fs_mgr/fs_mgr_fstab.c
+@@ -17,7 +17,7 @@
+ #include <ctype.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
++#include <bsd/string.h>
+ #include <sys/mount.h>
+ 
+ #include "fs_mgr_priv.h"
+--- a/system/core/include/cutils/sockets.h
++++ b/system/core/include/cutils/sockets.h
+@@ -19,7 +19,7 @@
+ 
+ #include <errno.h>
+ #include <stdlib.h>
+-#include <string.h>
++#include <bsd/string.h>
+ #include <stdbool.h>
+ 
+ #ifdef HAVE_WINSOCK
+--- a/system/core/adb/adb.c
++++ b/system/core/adb/adb.c
+@@ -41,6 +41,7 @@
+ #include <sys/prctl.h>
+ #include <getopt.h>
+ #include <selinux/selinux.h>
++#include <grp.h>
+ #else
+ #include "usb_vendors.h"
+ #endif
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg-Add-dt-parameter-to-specify-DT-image.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg-Add-dt-parameter-to-specify-DT-image.patch
new file mode 100644
index 0000000..35bb766
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg-Add-dt-parameter-to-specify-DT-image.patch
@@ -0,0 +1,108 @@
+From cc5e7b02a3be57709a1aed6e34be100b82a71620 Mon Sep 17 00:00:00 2001
+From: David Ng <dave@codeaurora.org>
+Date: Fri, 27 Jul 2012 17:15:03 -0700
+Subject: [PATCH 1/2] mkbootimg: Add --dt parameter to specify DT image
+
+New optional --dt parameter to specify a kernel device
+tree image.
+
+Change-Id: Ie29a11cbf4138426bfd19ae486d69a5fcbd8f442
+
+Upstream-Status: Inappropriate
+---
+ system/core/mkbootimg/bootimg.h   |    7 +++++--
+ system/core/mkbootimg/mkbootimg.c |   21 +++++++++++++++++++++
+ 2 files changed, 26 insertions(+), 2 deletions(-)
+
+--- a/system/core/mkbootimg/bootimg.h
++++ b/system/core/mkbootimg/bootimg.h
+@@ -41,8 +41,8 @@ struct boot_img_hdr
+ 
+     unsigned tags_addr;    /* physical addr for kernel tags */
+     unsigned page_size;    /* flash page size we assume */
+-    unsigned unused[2];    /* future expansion: should be 0 */
+-
++    unsigned dt_size;      /* device tree in bytes */
++    unsigned unused;       /* future expansion: should be 0 */
+     unsigned char name[BOOT_NAME_SIZE]; /* asciiz product name */
+ 
+     unsigned char cmdline[BOOT_ARGS_SIZE];
+@@ -64,10 +64,13 @@ struct boot_img_hdr
+ ** +-----------------+
+ ** | second stage    | o pages
+ ** +-----------------+
++** | device tree     | p pages
++** +-----------------+
+ **
+ ** n = (kernel_size + page_size - 1) / page_size
+ ** m = (ramdisk_size + page_size - 1) / page_size
+ ** o = (second_size + page_size - 1) / page_size
++** p = (dt_size + page_size - 1) / page_size
+ **
+ ** 0. all entities are page_size aligned in flash
+ ** 1. kernel and ramdisk are required (size != 0)
+--- a/system/core/mkbootimg/mkbootimg.c
++++ b/system/core/mkbootimg/mkbootimg.c
+@@ -65,6 +65,7 @@ int usage(void)
+             "       [ --board <boardname> ]\n"
+             "       [ --base <address> ]\n"
+             "       [ --pagesize <pagesize> ]\n"
++            "       [ --dt <filename> ]\n"
+             "       -o|--output <filename>\n"
+             );
+     return 1;
+@@ -105,6 +106,8 @@ int main(int argc, char **argv)
+     char *cmdline = "";
+     char *bootimg = 0;
+     char *board = "";
++    char *dt_fn = 0;
++    void *dt_data = 0;
+     unsigned pagesize = 2048;
+     int fd;
+     SHA_CTX ctx;
+@@ -158,6 +161,8 @@ int main(int argc, char **argv)
+                 fprintf(stderr,"error: unsupported page size %d\n", pagesize);
+                 return -1;
+             }
++        } else if(!strcmp(arg, "--dt")) {
++            dt_fn = val;
+         } else {
+             return usage();
+         }
+@@ -232,6 +237,14 @@ int main(int argc, char **argv)
+         }
+     }
+ 
++    if(dt_fn) {
++        dt_data = load_file(dt_fn, &hdr.dt_size);
++        if (dt_data == 0) {
++            fprintf(stderr,"error: could not load device tree image '%s'\n", dt_fn);
++            return 1;
++        }
++    }
++
+     /* put a hash of the contents in the header so boot images can be
+      * differentiated based on their first 2k.
+      */
+@@ -242,6 +255,10 @@ int main(int argc, char **argv)
+     SHA_update(&ctx, &hdr.ramdisk_size, sizeof(hdr.ramdisk_size));
+     SHA_update(&ctx, second_data, hdr.second_size);
+     SHA_update(&ctx, &hdr.second_size, sizeof(hdr.second_size));
++    if(dt_data) {
++        SHA_update(&ctx, dt_data, hdr.dt_size);
++        SHA_update(&ctx, &hdr.dt_size, sizeof(hdr.dt_size));
++    }
+     sha = SHA_final(&ctx);
+     memcpy(hdr.id, sha,
+            SHA_DIGEST_SIZE > sizeof(hdr.id) ? sizeof(hdr.id) : SHA_DIGEST_SIZE);
+@@ -266,6 +283,10 @@ int main(int argc, char **argv)
+         if(write_padding(fd, pagesize, hdr.second_size)) goto fail;
+     }
+ 
++    if(dt_data) {
++        if(write(fd, dt_data, hdr.dt_size) != (ssize_t) hdr.dt_size) goto fail;
++        if(write_padding(fd, pagesize, hdr.dt_size)) goto fail;
++    }
+     return 0;
+ 
+ fail:
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg.mk b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg.mk
new file mode 100644
index 0000000..519f609
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/mkbootimg.mk
@@ -0,0 +1,29 @@
+# Makefile for mkbootimg
+
+SRCDIR ?= $(S)
+
+VPATH += $(SRCDIR)/system/core/mkbootimg
+mkbootimg_SRC_FILES += mkbootimg.c
+mkbootimg_OBJS := $(mkbootimg_SRC_FILES:.c=.o)
+
+VPATH += $(SRCDIR)/system/core/libmincrypt
+libmincrypt_SRC_FILES := dsa_sig.c p256.c p256_ec.c p256_ecdsa.c rsa.c sha.c sha256.c
+libmincrypt_OBJS := $(libmincrypt_SRC_FILES:.c=.o)
+
+CFLAGS += -DANDROID
+CFLAGS += -I$(SRCDIR)/system/core/mkbootimg
+CFLAGS += -I$(SRCDIR)/system/core/include
+CFLAGS += -include $(SRCDIR)/build/core/combo/include/arch/$(android_arch)/AndroidConfig.h
+
+LIBS += libmincrypt.a
+
+all: mkbootimg
+
+mkbootimg: libmincrypt.a $(mkbootimg_OBJS)
+	$(CC) -o $@ $(LDFLAGS) $(mkbootimg_OBJS) $(LIBS)
+
+libmincrypt.a: $(libmincrypt_OBJS)
+	$(AR) rcs $@ $(libmincrypt_OBJS)
+
+clean:
+	$(RM) $(mkbootimg_OBJS) $(libmincrypt_OBJS) mkbootimg *.a
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
new file mode 100644
index 0000000..85af81f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/preserve-ownership.patch
@@ -0,0 +1,72 @@
+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 ++++++++--
+ 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;
+ 
+ extern struct selabel_handle* selinux_android_file_context_handle(void);
+ 
++extern int preserve_owner;
++
+ static void usage(char *path)
+ {
+ 	fprintf(stderr, "%s [ -l <len> ] [ -j <journal size> ] [ -b <block_size> ]\n", basename(path));
+ 	fprintf(stderr, "    [ -g <blocks per group> ] [ -i <inodes> ] [ -I <inode size> ]\n");
+ 	fprintf(stderr, "    [ -L <label> ] [ -f ] [ -a <android mountpoint> ]\n");
+ 	fprintf(stderr, "    [ -S file_contexts ] [ -C fs_config ] [ -T timestamp ]\n");
+-	fprintf(stderr, "    [ -z | -s ] [ -w ] [ -c ] [ -J ] [ -v ] [ -B <block_list_file> ]\n");
++	fprintf(stderr, "    [ -z | -s ] [ -w ] [ -c ] [ -J ] [ -o ] [ -v ] [ -B <block_list_file> ]\n");
+ 	fprintf(stderr, "    <filename> [<directory>]\n");
+ }
+ 
+@@ -81,7 +83,7 @@ int main(int argc, char **argv)
+ 	struct selinux_opt seopts[] = { { SELABEL_OPT_PATH, "" } };
+ #endif
+ 
+-	while ((opt = getopt(argc, argv, "l:j:b:g:i:I:L:a:S:T:C:B:fwzJsctv")) != -1) {
++	while ((opt = getopt(argc, argv, "l:j:b:g:i:I:L:a:S:T:C:B:fwzJsctov")) != -1) {
+ 		switch (opt) {
+ 		case 'l':
+ 			info.len = parse_num(optarg);
+@@ -144,6 +146,10 @@ int main(int argc, char **argv)
+ 			}
+ #endif
+ 			break;
++		case 'o':
++			preserve_owner = 1;
++			printf("Warning: Enabling 'preserve ownership', this is an unofficial feature!\n");
++			break;
+ 		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/remove-bionic-android.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/remove-bionic-android.patch
new file mode 100644
index 0000000..e933724
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/remove-bionic-android.patch
@@ -0,0 +1,67 @@
+Description: remove bionic specific calls
+Author: Fathi Boudra <fabo@debian.org>
+
+Upstream-Status: Inappropriate
+---
+ system/core/include/cutils/properties.h |    1 -
+ system/core/libcutils/properties.c      |    2 +-
+ system/core/liblog/logd_write.c         |    5 +++++
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+--- a/system/core/include/cutils/properties.h
++++ b/system/core/include/cutils/properties.h
+@@ -19,7 +19,6 @@
+ 
+ #include <sys/cdefs.h>
+ #include <stddef.h>
+-#include <sys/system_properties.h>
+ #include <stdint.h>
+ 
+ #ifdef __cplusplus
+--- a/system/core/liblog/logd_write.c
++++ b/system/core/liblog/logd_write.c
+@@ -23,6 +23,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/stat.h>
++#include <sys/syscall.h>
+ #include <sys/types.h>
+ #if (FAKE_LOG_DEVICE == 0)
+ #include <sys/socket.h>
+@@ -205,7 +206,11 @@ static int __write_to_log_kernel(log_id_
+     realtime_ts.tv_nsec = ts.tv_nsec;
+ 
+     log_id_buf = log_id;
++#ifdef __BIONIC__
+     tid = gettid();
++#else
++    tid = (pid_t) syscall(__NR_gettid);
++#endif
+ 
+     newVec[0].iov_base   = (unsigned char *) &log_id_buf;
+     newVec[0].iov_len    = sizeof_log_id_t;
+--- a/system/core/libcutils/properties.c
++++ b/system/core/libcutils/properties.c
+@@ -104,10 +104,10 @@ int32_t property_get_int32(const char *k
+     return (int32_t)property_get_imax(key, INT32_MIN, INT32_MAX, default_value);
+ }
+ 
++#undef HAVE_LIBC_SYSTEM_PROPERTIES
+ #ifdef HAVE_LIBC_SYSTEM_PROPERTIES
+ 
+ #define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
+-#include <sys/_system_properties.h>
+ 
+ int property_set(const char *key, const char *value)
+ {
+--- a/external/libselinux/src/procattr.c
++++ b/external/libselinux/src/procattr.c
+@@ -8,7 +8,7 @@
+ #include "selinux_internal.h"
+ #include "policy.h"
+ 
+-#ifdef HOST
++#ifndef __BIONIC__
+ static pid_t gettid(void)
+ {
+ 	return syscall(__NR_gettid);
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/remove-selinux-android.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/remove-selinux-android.patch
new file mode 100644
index 0000000..d4a37f8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/remove-selinux-android.patch
@@ -0,0 +1,56 @@
+Subject: drop useless includes of Android SELINUX extensions; avoids having to clone another module; this should be sent upstream
+Author: Sergio Schvezov <sergio.schvezov@canonical.com>
+
+Upstream-Status: Inappropriate
+---
+ system/core/adb/file_sync_service.c         |    3 ---
+ system/extras/ext4_utils/make_ext4fs.c      |    1 -
+ system/extras/ext4_utils/make_ext4fs_main.c |    1 -
+ 3 files changed, 5 deletions(-)
+
+--- a/system/extras/ext4_utils/make_ext4fs.c
++++ b/system/extras/ext4_utils/make_ext4fs.c
+@@ -62,7 +62,6 @@
+ 
+ #include <selinux/selinux.h>
+ #include <selinux/label.h>
+-#include <selinux/android.h>
+ 
+ #define O_BINARY 0
+ 
+--- a/system/extras/ext4_utils/make_ext4fs_main.c
++++ b/system/extras/ext4_utils/make_ext4fs_main.c
+@@ -32,7 +32,6 @@
+ #ifndef USE_MINGW
+ #include <selinux/selinux.h>
+ #include <selinux/label.h>
+-#include <selinux/android.h>
+ #else
+ struct selabel_handle;
+ #endif
+--- a/system/core/adb/file_sync_service.c
++++ b/system/core/adb/file_sync_service.c
+@@ -26,7 +26,6 @@
+ 
+ #include <errno.h>
+ #include <private/android_filesystem_config.h>
+-#include <selinux/android.h>
+ #include "sysdeps.h"
+ 
+ #define TRACE_TAG  TRACE_SYNC
+@@ -73,7 +72,6 @@ static int mkdirs(char *name)
+                 *x = '/';
+                 return ret;
+             }
+-            selinux_android_restorecon(name, 0);
+         }
+         *x++ = '/';
+     }
+@@ -251,7 +249,6 @@ static int handle_send_file(int s, char
+     if(fd >= 0) {
+         struct utimbuf u;
+         adb_close(fd);
+-        selinux_android_restorecon(path, 0);
+         u.actime = timestamp;
+         u.modtime = timestamp;
+         utime(path, &u);
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/use-capability.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/use-capability.patch
new file mode 100644
index 0000000..b8ebe09
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/use-capability.patch
@@ -0,0 +1,19 @@
+Subject: use linux/capability.h on linux systems too
+Author: Loïc Minier <loic.minier@ubuntu.com>
+
+Upstream-Status: Inappropriate
+---
+ system/core/include/private/android_filesystem_config.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/system/core/include/private/android_filesystem_config.h
++++ b/system/core/include/private/android_filesystem_config.h
+@@ -27,7 +27,7 @@
+ #include <sys/types.h>
+ #include <stdint.h>
+ 
+-#ifdef HAVE_ANDROID_OS
++#if defined(HAVE_ANDROID_OS) || defined(__linux__)
+ #include <linux/capability.h>
+ #else
+ #include "android_filesystem_capability.h"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/use-local-socket.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/use-local-socket.patch
new file mode 100644
index 0000000..7facd61
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/use-local-socket.patch
@@ -0,0 +1,62 @@
+Subject: adb: Use local sockets where appropriate
+Author: Hilko Bengen <bengen@debian.org>
+
+Upstream-Status: Inappropriate
+---
+ system/core/adb/adb.c             |    6 +++++-
+ system/core/adb/adb_client.c      |    5 +++--
+ system/core/adb/transport_local.c |    3 ++-
+ 3 files changed, 10 insertions(+), 4 deletions(-)
+
+--- a/system/core/adb/adb.c
++++ b/system/core/adb/adb.c
+@@ -1230,7 +1230,11 @@ int launch_server(int server_port)
+  */
+ void build_local_name(char* target_str, size_t target_size, int server_port)
+ {
+-  snprintf(target_str, target_size, "tcp:%d", server_port);
++  if (gListenAll > 0) {
++    snprintf(target_str, target_size, "tcp:%d", server_port);
++  } else {
++    snprintf(target_str, target_size, "local:%d", server_port);
++  }
+ }
+ 
+ #if !ADB_HOST
+--- a/system/core/adb/adb_client.c
++++ b/system/core/adb/adb_client.c
+@@ -185,12 +185,12 @@ int _adb_connect(const char *service)
+         strcpy(__adb_error, "service name too long");
+         return -1;
+     }
+-    snprintf(tmp, sizeof tmp, "%04x", len);
++    snprintf(tmp, sizeof tmp, "%d", __adb_server_port);
+ 
+     if (__adb_server_name)
+         fd = socket_network_client(__adb_server_name, __adb_server_port, SOCK_STREAM);
+     else
+-        fd = socket_loopback_client(__adb_server_port, SOCK_STREAM);
++        fd = socket_local_client(tmp, ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_STREAM);
+ 
+     if(fd < 0) {
+         strcpy(__adb_error, "cannot connect to daemon");
+@@ -201,6 +201,7 @@ int _adb_connect(const char *service)
+         return -1;
+     }
+ 
++    snprintf(tmp, sizeof tmp, "%04x", len);
+     if(writex(fd, tmp, 4) || writex(fd, service, len)) {
+         strcpy(__adb_error, "write failure during connection");
+         adb_close(fd);
+--- a/system/core/adb/transport_local.c
++++ b/system/core/adb/transport_local.c
+@@ -121,7 +121,8 @@ int local_connect_arbitrary_ports(int co
+     }
+ #endif
+     if (fd < 0) {
+-        fd = socket_loopback_client(adb_port, SOCK_STREAM);
++        snprintf(buf, sizeof buf, "%d", adb_port);
++        fd = socket_local_client(buf, ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_STREAM);
+     }
+ 
+     if (fd >= 0) {
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
new file mode 100644
index 0000000..a9e7d5d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -0,0 +1,163 @@
+DESCRIPTION = "Different utilities from Android"
+SECTION = "console/utils"
+LICENSE = "Apache-2.0 & GPL-2.0 & BSD-2-Clause & BSD-3-Clause"
+LIC_FILES_CHKSUM = " \
+    file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \
+    file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
+    file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=8bef8e6712b1be5aa76af1ebde9d6378 \
+    file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \
+"
+DEPENDS = "libbsd libpcre openssl zlib"
+
+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"
+LIBHARDWARE_REPO = "${ANDROID_MIRROR}/platform/hardware/libhardware"
+LIBSELINUX_REPO = "${ANDROID_MIRROR}/platform/external/libselinux"
+BUILD_REPO = "${ANDROID_MIRROR}/platform/build"
+
+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} \
+    file://remove-selinux-android.patch;apply=yes \
+    file://use-capability.patch;apply=yes \
+    file://use-local-socket.patch;apply=yes \
+    file://preserve-ownership.patch;apply=yes \
+    file://mkbootimg-Add-dt-parameter-to-specify-DT-image.patch;apply=yes \
+    file://remove-bionic-android.patch;apply=yes \
+    file://define-shell-command.patch;apply=yes \
+    file://implicit-declaration-function-strlcat-strlcopy.patch;apply=yes \
+    file://android-tools-adbd.service \
+    file://.gitignore;subdir=git \
+    file://adb.mk;subdir=${BPN} \
+    file://adbd.mk;subdir=${BPN} \
+    file://ext4_utils.mk;subdir=${BPN} \
+    file://fastboot.mk;subdir=${BPN} \
+    file://mkbootimg.mk;subdir=${BPN} \
+"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/${BPN}"
+
+inherit systemd
+
+SYSTEMD_SERVICE_${PN} = "android-tools-adbd.service"
+
+# Get rid of files uneeded to build Android tools
+do_unpack_extra() {
+    cd ${S}
+    rm -rf \
+      system/core/.git \
+      system/extras/.git \
+      hardware/libhardware/.git \
+      external/libselinux/.git \
+      build/.git
+    git init
+    git add .
+    git commit -m \
+      "Initial import - committed ${ANDROID_TAG}"
+    git clean -fdx
+}
+
+addtask unpack_extra after do_unpack before do_patch
+
+# Find libbsd headers during native builds
+CC_append_class-native = " -I${STAGING_INCDIR}"
+CC_append_class-nativesdk = " -I${STAGING_INCDIR}"
+
+TOOLS = "adb fastboot ext4_utils mkbootimg adbd"
+
+# Adb needs sys/capability.h, which is not available for native*
+TOOLS_class-native = "fastboot ext4_utils mkbootimg"
+TOOLS_class-nativesdk = "fastboot ext4_utils mkbootimg"
+
+do_compile() {
+    # Setting both variables below causing our makefiles to not work with
+    # implicit make rules
+    unset CFLAGS
+    unset CPPFLAGS
+
+    export SRCDIR=${S}
+
+    case "${HOST_ARCH}" in
+      arm)
+        export android_arch=linux-arm
+      ;;
+      aarch64)
+        export android_arch=linux-arm64
+      ;;
+      mips|mipsel)
+        export android_arch=linux-mips
+      ;;
+      powerpc|powerpc64)
+        export android_arch=linux-ppc
+      ;;
+      i586|x86_64)
+        export android_arch=linux-x86
+      ;;
+    esac
+
+    for tool in ${TOOLS}; do
+      mkdir -p ${B}/${tool}
+      oe_runmake -f ${B}/${tool}.mk -C ${B}/${tool}
+    done
+}
+
+do_install() {
+    if echo ${TOOLS} | grep -q "ext4_utils" ; then
+        install -D -p -m0755 ${S}/system/core/libsparse/simg_dump.py ${D}${bindir}/simg_dump
+        install -D -p -m0755 ${S}/system/extras/ext4_utils/mkuserimg.sh ${D}${bindir}/mkuserimg
+
+        install -m0755 ${B}/ext4_utils/ext2simg ${D}${bindir}
+        install -m0755 ${B}/ext4_utils/ext4fixup ${D}${bindir}
+        install -m0755 ${B}/ext4_utils/img2simg ${D}${bindir}
+        install -m0755 ${B}/ext4_utils/make_ext4fs ${D}${bindir}
+        install -m0755 ${B}/ext4_utils/simg2img ${D}${bindir}
+        install -m0755 ${B}/ext4_utils/simg2simg ${D}${bindir}
+    fi
+
+    if echo ${TOOLS} | grep -q "adb " ; then
+        install -d ${D}${bindir}
+        install -m0755 ${B}/adb/adb ${D}${bindir}
+    fi
+
+    if echo ${TOOLS} | grep -q "adbd" ; then
+        install -d ${D}${bindir}
+        install -m0755 ${B}/adbd/adbd ${D}${bindir}
+    fi
+
+    # Outside the if statement to avoid errors during do_package
+    install -D -p -m0644 ${WORKDIR}/android-tools-adbd.service \
+      ${D}${systemd_unitdir}/system/android-tools-adbd.service
+
+    if echo ${TOOLS} | grep -q "fastboot" ; then
+        install -d ${D}${bindir}
+        install -m0755 ${B}/fastboot/fastboot ${D}${bindir}
+    fi
+
+    if echo ${TOOLS} | grep -q "mkbootimg" ; then
+        install -d ${D}${bindir}
+        install -m0755 ${B}/mkbootimg/mkbootimg ${D}${bindir}
+    fi
+}
+
+PACKAGES += "${PN}-fstools"
+
+RDEPENDS_${BPN} = "${BPN}-conf bash"
+
+FILES_${PN}-fstools = "\
+    ${bindir}/ext2simg \
+    ${bindir}/ext4fixup \
+    ${bindir}/img2simg \
+    ${bindir}/make_ext4fs \
+    ${bindir}/simg2img \
+    ${bindir}/simg2simg \
+    ${bindir}/simg_dump \
+    ${bindir}/mkuserimg \
+"
+
+BBCLASSEXTEND += "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
index 7ada3a3..b573ea5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
@@ -17,6 +17,8 @@
 SRC_URI = "svn://google-breakpad.googlecode.com/svn;module=trunk;protocol=http"
 S = "${WORKDIR}/trunk"
 
+COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
+
 do_install_append() {
         install -d ${D}${includedir}
         install -d ${D}${includedir}/breakpad
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
index 87e524d..6940d2d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
@@ -101,7 +101,7 @@
 
      install -m 0755 -d ${D}${sysconfdir}/avahi/services/
      install -m 0644 ${WORKDIR}/cloud9-avahi.service ${D}${sysconfdir}/avahi/services/
-     
+
      install -d ${D}${systemd_unitdir}/system
      install -m 0644 ${WORKDIR}/cloud9.service ${D}${systemd_unitdir}/system
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
index 51243c2..19767c3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
@@ -10,7 +10,7 @@
 PV = "0.5.1+git${SRCPV}"
 SRCREV = "f97d3da5c375ac2fc5a9173cdd36cb828915a2e1"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a0b24c1a8f9ad516a297d055b0294231"
-SRC_URI = "git://github.com/concurrencykit/ck.git;protocol=https \
+SRC_URI = "git://github.com/concurrencykit/ck.git \
            file://cross.patch \
 "
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.28.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.28.bb
new file mode 100644
index 0000000..781287a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.28.bb
@@ -0,0 +1,263 @@
+DESCRIPTION = "A fast and lightweight IDE"
+HOMEPAGE = "http://plugins.geany.org/"
+
+LICENSE_DEFAULT = "GPLv2"
+LICENSE = "${LICENSE_DEFAULT} & BSD-2-Clause & GPLv3"
+
+python () {
+    for plugin in d.getVar('PLUGINS', True).split():
+        if 'LICENSE_%s' % plugin not in d:
+            d.setVar('LICENSE_' + plugin, '${LICENSE_DEFAULT}')
+}
+
+DEPENDS = " \
+    geany \
+    libxml2 \
+    libsoup-2.4 \
+    enchant \
+    intltool-native \
+    libassuan \
+    gpgme \
+    vte9 \
+    libgit2 \
+"
+
+inherit autotools pkgconfig gtk-icon-cache
+
+SRC_URI = "http://plugins.geany.org/${PN}/${PN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "54ad042b6f91ff8e7a497c22faa2db4b"
+SRC_URI[sha256sum] = "b13471e0a4cb76d04a96bb21c965087b50c16390edee0c6b3bbd920d8ac17745"
+
+do_configure_prepend() {
+    rm -f ${S}/build/cache/glib-gettext.m4
+}
+
+FILES_${PN} += "${datadir}/icons"
+FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${PN}/*/*.la"
+
+PLUGINS += "${PN}-addons"
+LIC_FILES_CHKSUM += "file://addons/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-addons = "${libdir}/geany/addons.so"
+RDEPENDS_${PN}-addons = "${PN}"
+
+PLUGINS += "${PN}-autoclose"
+LIC_FILES_CHKSUM += "file://autoclose/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-autoclose = "${libdir}/geany/autoclose.so"
+RDEPENDS_${PN}-autoclose = "${PN}"
+
+PLUGINS += "${PN}-automark"
+LIC_FILES_CHKSUM += "file://automark/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-automark = "${libdir}/geany/automark.so"
+RDEPENDS_${PN}-automark = "${PN}"
+
+PLUGINS += "${PN}-codenav"
+LIC_FILES_CHKSUM += "file://codenav/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-codenav = "${libdir}/geany/codenav.so"
+RDEPENDS_${PN}-codenav = "${PN}"
+
+PLUGINS += "${PN}-commander"
+LIC_FILES_CHKSUM += "file://commander/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE_${PN}-commander = "GPLv3"
+FILES_${PN}-commander = "${libdir}/geany/commander.so"
+RDEPENDS_${PN}-commander = "${PN}"
+
+PLUGINS += "${PN}-debugger"
+LIC_FILES_CHKSUM += "file://debugger/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-debugger = "${libdir}/geany/debugger.so ${datadir}/${PN}/debugger"
+RDEPENDS_${PN}-debugger = "${PN}"
+
+PLUGINS += "${PN}-defineformat"
+LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-defineformat = "${libdir}/geany/defineformat.so"
+RDEPENDS_${PN}-defineformat = "${PN}"
+
+# no gnome devhelp in some common layer
+EXTRA_OECONF += "--disable-devhelp"
+#PLUGINS += "${PN}-devhelp"
+#LIC_FILES_CHKSUM += "file://devhelp/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+#LICENSE_${PN}-devhelp = "GPLv3"
+#FILES_${PN}-devhelp = "${libdir}/geany/devhelp.so"
+#RDEPENDS_${PN}-devhelp = "${PN}"
+
+PLUGINS += "${PN}-geanyctags"
+LIC_FILES_CHKSUM += "file://geanyctags/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanyctags = "${libdir}/geany/geanyctags.so"
+RDEPENDS_${PN}-geanyctags = "${PN}"
+
+PLUGINS += "${PN}-geanydoc"
+LIC_FILES_CHKSUM += "file://geanydoc/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE_${PN}-geanydoc = "GPLv3"
+FILES_${PN}-geanydoc = "${libdir}/geany/geanydoc.so"
+RDEPENDS_${PN}-geanydoc = "${PN}"
+
+PLUGINS += "${PN}-geanyextrasel"
+LIC_FILES_CHKSUM += "file://geanyextrasel/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanyextrasel = "${libdir}/geany/geanyextrasel.so"
+RDEPENDS_${PN}-geanyextrasel = "${PN}"
+
+PLUGINS += "${PN}-geanyinsertnum"
+LIC_FILES_CHKSUM += "file://geanyinsertnum/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanyinsertnum = "${libdir}/geany/geanyinsertnum.so"
+RDEPENDS_${PN}-geanyinsertnum = "${PN}"
+
+PLUGINS += "${PN}-geanylatex"
+LIC_FILES_CHKSUM += "file://geanylatex/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanylatex = "${libdir}/geany/geanylatex.so"
+RDEPENDS_${PN}-geanylatex = "${PN}"
+
+PLUGINS += "${PN}-geanylipsum"
+LIC_FILES_CHKSUM += "file://geanylipsum/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-geanylipsum = "${libdir}/geany/geanylipsum.so"
+RDEPENDS_${PN}-geanylipsum = "${PN}"
+
+# no lua: max supported version is 5.2
+EXTRA_OECONF += "--disable-geanylua"
+#PLUGINS += "${PN}-geanylua"
+#LIC_FILES_CHKSUM += "file://geanylua/COPYING;md5=4325afd396febcb659c36b49533135d4"
+#FILES_${PN}-geanylua = "${libdir}/geany/geanylua.so ${libdir}/${PN}/geanylua/*.so"
+#RDEPENDS_${PN}-geanylua = "${PN}"
+
+PLUGINS += "${PN}-geanymacro"
+LIC_FILES_CHKSUM += "file://geanymacro/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanymacro = "${libdir}/geany/geanymacro.so"
+RDEPENDS_${PN}-geanymacro = "${PN}"
+
+PLUGINS += "${PN}-geanyminiscript"
+LIC_FILES_CHKSUM += "file://geanyminiscript/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-geanyminiscript = "${libdir}/geany/geanyminiscript.so"
+RDEPENDS_${PN}-geanyminiscript = "${PN}"
+
+PLUGINS += "${PN}-geanynumberedbookmarks"
+LIC_FILES_CHKSUM += "file://geanynumberedbookmarks/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanynumberedbookmarks = "${libdir}/geany/geanynumberedbookmarks.so"
+RDEPENDS_${PN}-geanynumberedbookmarks = "${PN}"
+
+PLUGINS += "${PN}-geanypg"
+LIC_FILES_CHKSUM += "file://geanypg/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+FILES_${PN}-geanypg = "${libdir}/geany/geanypg.so"
+RDEPENDS_${PN}-geanypg = "${PN}"
+
+PLUGINS += "${PN}-geanyprj"
+LIC_FILES_CHKSUM += "file://geanyprj/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE_${PN}-geanyprj = "GPLv3"
+FILES_${PN}-geanyprj = "${libdir}/geany/geanyprj.so"
+RDEPENDS_${PN}-geanyprj = "${PN}"
+
+# no gnome pygtk
+EXTRA_OECONF += "--disable-geanypy"
+#PLUGINS += "${PN}-geanypy"
+#LIC_FILES_CHKSUM += "file://geanypy/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+#FILES_${PN}-geanypy = "${libdir}/geany/geanypy.so"
+#RDEPENDS_${PN}-geanypy = "${PN}"
+
+PLUGINS += "${PN}-geanyvc"
+LIC_FILES_CHKSUM += "file://geanyvc/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-geanyvc = "${libdir}/geany/geanyvc.so"
+RDEPENDS_${PN}-geanyvc = "${PN}"
+
+PLUGINS += "${PN}-geniuspaste"
+LIC_FILES_CHKSUM += "file://geniuspaste/COPYING;md5=bfc203269f8862ebfc1198cdc809a95a"
+FILES_${PN}-geniuspaste = "${libdir}/geany/geniuspaste.so ${datadir}/${PN}/geniuspaste"
+RDEPENDS_${PN}-geniuspaste = "${PN}"
+
+PLUGINS += "${PN}-git-changebar"
+LIC_FILES_CHKSUM += "file://git-changebar/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE_${PN}-git-changebar = "GPLv3"
+FILES_${PN}-git-changebar = "${libdir}/geany/git-changebar.so"
+RDEPENDS_${PN}-git-changebar = "${PN}"
+
+PLUGINS += "${PN}-lineoperations"
+LIC_FILES_CHKSUM += "file://lineoperations/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-lineoperations = "${libdir}/geany/lineoperations.so"
+RDEPENDS_${PN}-lineoperations = "${PN}"
+
+# no markdown - avoid floating dependencies
+EXTRA_OECONF += " --disable-peg-markdown"
+#PLUGINS += "${PN}-markdown"
+#LIC_FILES_CHKSUM += "file://markdown/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+#FILES_${PN}-markdown = "${libdir}/geany/markdown.so"
+#RDEPENDS_${PN}-markdown = "${PN}"
+
+PLUGINS += "${PN}-multiterm"
+LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+FILES_${PN}-multiterm = "${libdir}/geany/multiterm.so"
+RDEPENDS_${PN}-multiterm = "${PN}"
+
+PLUGINS += "${PN}-overview"
+LIC_FILES_CHKSUM += "file://overview/overview/overviewplugin.c;beginline=4;endline=20;md5=1aa33522916cdeb46cccac0c629da0d0"
+FILES_${PN}-overview = "${libdir}/geany/overview.so ${datadir}/${PN}/overview"
+RDEPENDS_${PN}-overview = "${PN}"
+
+PLUGINS += "${PN}-pairtaghighlighter"
+LICENSE_${PN}-pairtaghighlighter = "BSD-2-Clause"
+LIC_FILES_CHKSUM += "file://pairtaghighlighter/COPYING;md5=d6d927525a612b3a8dbebc4b2e9b47c1"
+FILES_${PN}-pairtaghighlighter = "${libdir}/geany/pairtaghighlighter.so"
+RDEPENDS_${PN}-pairtaghighlighter = "${PN}"
+
+PLUGINS += "${PN}-pohelper"
+LICENSE_${PN}-pohelper = "GPLv3"
+LIC_FILES_CHKSUM += "file://pohelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+FILES_${PN}-pohelper = "${libdir}/geany/pohelper.so"
+RDEPENDS_${PN}-pohelper = "${PN}"
+
+PLUGINS += "${PN}-pretty-printer"
+LIC_FILES_CHKSUM += "file://pretty-printer/src/PrettyPrinter.c;beginline=1;endline=17;md5=1665115c2fadb17c1b53cdb4e43b2440"
+FILES_${PN}-pretty-printer = "${libdir}/geany/pretty-printer.so"
+RDEPENDS_${PN}-pretty-printer = "${PN}"
+
+PLUGINS += "${PN}-projectorganizer"
+LIC_FILES_CHKSUM += "file://projectorganizer/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-projectorganizer = "${libdir}/geany/projectorganizer.so"
+RDEPENDS_${PN}-projectorganizer = "${PN}"
+
+PLUGINS += "${PN}-scope"
+LIC_FILES_CHKSUM += "file://scope/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-scope = "${libdir}/geany/scope.so"
+RDEPENDS_${PN}-scope = "${PN}"
+
+PLUGINS += "${PN}-sendmail"
+LIC_FILES_CHKSUM += "file://sendmail/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES_${PN}-sendmail = "${libdir}/geany/sendmail.so"
+RDEPENDS_${PN}-sendmail = "${PN}"
+
+PLUGINS += "${PN}-shiftcolumn"
+LIC_FILES_CHKSUM += "file://shiftcolumn/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES_${PN}-shiftcolumn = "${libdir}/geany/shiftcolumn.so"
+RDEPENDS_${PN}-shiftcolumn = "${PN}"
+
+PLUGINS += "${PN}-spellcheck"
+LIC_FILES_CHKSUM += "file://spellcheck/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-spellcheck = "${libdir}/geany/spellcheck.so"
+RDEPENDS_${PN}-spellcheck = "${PN}"
+
+PLUGINS += "${PN}-tableconvert"
+LIC_FILES_CHKSUM += "file://tableconvert/COPYING;md5=6753686878d090a1f3f9445661d3dfbc"
+FILES_${PN}-tableconvert = "${libdir}/geany/tableconvert.so"
+RDEPENDS_${PN}-tableconvert = "${PN}"
+
+PLUGINS += "${PN}-treebrowser"
+LIC_FILES_CHKSUM += "file://treebrowser/README;beginline=67;endline=67;md5=52f90857fd1a9672111e472dd056a0d8"
+FILES_${PN}-treebrowser = "${libdir}/geany/treebrowser.so"
+RDEPENDS_${PN}-treebrowser = "${PN}"
+
+PLUGINS += "${PN}-updatechecker"
+LIC_FILES_CHKSUM += "file://updatechecker/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-updatechecker = "${libdir}/geany/updatechecker.so"
+RDEPENDS_${PN}-updatechecker = "${PN}"
+
+# no webkit - lasts ages and is not properly detected
+EXTRA_OECONF += " --disable-webhelper"
+#PLUGINS += "${PN}-webhelper"
+#LIC_FILES_CHKSUM += "file://webhelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+#LICENSE_${PN}-webhelper = "GPLv3"
+#FILES_${PN}-webhelper = "${libdir}/geany/webhelper.so"
+#RDEPENDS_${PN}-webhelper = "${PN}"
+
+PLUGINS += "${PN}-xmlsnippets"
+LIC_FILES_CHKSUM += "file://xmlsnippets/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES_${PN}-xmlsnippets = "${libdir}/geany/xmlsnippets.so"
+RDEPENDS_${PN}-xmlsnippets = "${PN}"
+
+PACKAGES =+ "${PLUGINS}"
+RDEPENDS_${PN} = "${PLUGINS}"
+ALLOW_EMPTY_${PN} = "1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.26.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.26.bb
deleted file mode 100644
index ca4f6b6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.26.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A fast and lightweight IDE"
-HOMEPAGE = "http://www.geany.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5"
-DEPENDS = "gtk+ python-docutils-native"
-
-inherit autotools pkgconfig perlnative pythonnative
-
-SRC_URI = " \
-    http://download.geany.org/${BP}.tar.bz2 \
-    file://0001-configure.ac-remove-additional-c-test.patch \
-"
-SRC_URI[md5sum] = "bd457caba57099cfa23b063e78b6f819"
-SRC_URI[sha256sum] = "e38530e87c577e1e9806be3b40e08fb9ee321eb1abc6361ddacdad89c825f90d"
-
-FILES_${PN} += "${datadir}/icons"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.28.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.28.bb
new file mode 100644
index 0000000..da97090
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.28.bb
@@ -0,0 +1,18 @@
+SUMMARY = "A fast and lightweight IDE"
+HOMEPAGE = "http://www.geany.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5"
+DEPENDS = "gtk+ python3-docutils-native"
+
+inherit autotools pkgconfig perlnative pythonnative
+
+SRC_URI = " \
+    http://download.geany.org/${BP}.tar.bz2 \
+    file://0001-configure.ac-remove-additional-c-test.patch \
+"
+SRC_URI[md5sum] = "39a29deb598e9e3503ee7d9d5fb51a34"
+SRC_URI[sha256sum] = "f73a3708f1a26e9bf72da564d5037d6f7fedca2e0d6175db0681c2b672100a5a"
+
+FILES_${PN} += "${datadir}/icons"
+
+EXTRA_OECONF = "--disable-html-docs"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb
deleted file mode 100644
index e59d0e5..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "shared library for GIF images"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a"
-PR = "r3"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.bz2"
-
-inherit autotools
-
-EXTRA_OECONF = "--disable-x11"
-
-PACKAGES += "${PN}-utils"
-FILES_${PN} = "${libdir}/libgif.so.*"
-FILES_${PN}-utils = "${bindir}"
-
-BBCLASSEXTEND = "native"
-
-RDEPENDS_${PN}-utils = "perl"
-
-SRC_URI[md5sum] = "7125644155ae6ad33dbc9fc15a14735f"
-SRC_URI[sha256sum] = "e1c1ced9c5bc8f93ef0faf0a8c7717abf784d10a7b270d2285e8e1f3b93f2bed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb
new file mode 100644
index 0000000..21fa352
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb
@@ -0,0 +1,19 @@
+SUMMARY = "shared library for GIF images"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.bz2"
+
+inherit autotools
+
+PACKAGES += "${PN}-utils"
+FILES_${PN} = "${libdir}/libgif.so.*"
+FILES_${PN}-utils = "${bindir}"
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS_${PN}-utils = "perl"
+
+SRC_URI[md5sum] = "2c171ced93c0e83bb09e6ccad8e3ba2b"
+SRC_URI[sha256sum] = "df27ec3ff24671f80b29e6ab1c4971059c14ac3db95406884fc26574631ba8d5"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch
new file mode 100644
index 0000000..f735ff8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0002-fix-gcc-6-build.patch
@@ -0,0 +1,39 @@
+From 5aa3d2abb905fa8594f6c6572a87809da54c9342 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 5 Sep 2016 11:25:27 +0200
+Subject: [PATCH] fix gcc-6 build
+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>
+---
+ gladeui/glade-editor-property.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/gladeui/glade-editor-property.c b/gladeui/glade-editor-property.c
+index a0c1039..5e9ac38 100644
+--- a/gladeui/glade-editor-property.c
++++ b/gladeui/glade-editor-property.c
+@@ -2703,6 +2703,8 @@ glade_eprop_object_view (gboolean             radio)
+ }
+ 
+ 
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+ static gchar *
+ glade_eprop_object_dialog_title (GladeEditorProperty *eprop)
+ {
+@@ -2731,6 +2733,7 @@ glade_eprop_object_dialog_title (GladeEditorProperty *eprop)
+ 	return g_strdup_printf (format, g_type_name 
+ 				(eprop->klass->pspec->value_type));
+ }
++#pragma GCC diagnostic pop
+ 
+ 
+ gboolean
+-- 
+2.5.5
+
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
index 4e7ef9b..fd65536 100644
--- 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
@@ -4,12 +4,15 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
                     file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
                     file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "gtk+ gnome-doc-utils-native gnome-common libxml2"
+DEPENDS = "gtk+ gnome-doc-utils gnome-common libxml2 intltool-native"
 
-inherit autotools pkgconfig pythonnative
+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"
+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 \
+"
 SRC_URI[md5sum] = "4e4b4f5ee34a03e017e4cef97d796c1f"
 SRC_URI[sha256sum] = "58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735"
 
@@ -18,10 +21,4 @@
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[gnome] = "--enable-gnome,--disable-gnome,libbonoboui libgnomeui"
 
-do_configure_prepend() {
-    sed -i '/^if HAVE_GNOME_DOC_UTILS/,/^endif/d' ${S}/Makefile.am
-}
-
 FILES_${PN} += "${datadir}/icons"
-FILES_${PN}-dbg += "${libdir}/glade3/modules/.debug"
-FILES_${PN}-dev += "${libdir}/glade3/modules/*.la"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb
index 25e6001..e7a406f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb
@@ -20,7 +20,11 @@
 EXTRA_OEMAKE = "-e MAKEFLAGS="
 
 do_compile() {
-    oe_runmake -C src all  
+    oe_runmake -C src all
+}
+
+do_install_append() {
+    rm -r ${D}/${localstatedir}/run
 }
 
 do_install() {
@@ -29,7 +33,7 @@
         TARGET=${D}${bindir} \
         WORKDIR=${D}${localstatedir}/local/iptraf \
         LOGDIR=${D}${localstatedir}/log/iptraf \
-        LOCKDIR=${D}${localstatedir}/run/iptraf 
+        LOCKDIR=${D}${localstatedir}/run/iptraf
 }
 
 FILES_${PN} += "${bindir} ${localstatedir} /run"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch
new file mode 100644
index 0000000..1dfd955
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq/Support-without-oniguruma.patch
@@ -0,0 +1,68 @@
+From 18b4b18b41f5ed396d73449ce8d6ec408d95d6b2 Mon Sep 17 00:00:00 2001
+From: David Tolnay <dtolnay@gmail.com>
+Date: Sat, 21 Nov 2015 10:05:37 -0800
+Subject: [PATCH] Support --without-oniguruma
+
+Upstream-Status: Backport
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+
+---
+ configure.ac | 41 ++++++++++++++++++++---------------------
+ 1 file changed, 20 insertions(+), 21 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9e2c8cf..7f6be34 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -52,27 +52,26 @@ fi
+ AC_ARG_WITH([oniguruma],
+     [AS_HELP_STRING([--with-oniguruma=prefix],
+         [try this for a non-standard install prefix of the oniguruma library])],
+-    [ONIGURUMAPATHSET=1],
+-    [ONIGURUMAPATHSET=0])
+-
+-if test $ONIGURUMAPATHSET = 1; then
+-  CFLAGS="$CFLAGS -I${with_oniguruma}/include"
+-  LDFLAGS="$LDFLAGS -L${with_oniguruma}/lib"
+-fi
+-
+-# check for ONIGURUMA library
+-HAVE_ONIGURUMA=0
+-AC_CHECK_HEADER("oniguruma.h",
+-    AC_CHECK_LIB([onig],[onig_version],[LIBS="$LIBS -lonig"; HAVE_ONIGURUMA=1;]))
+-
+-# handle check results
+-if test $HAVE_ONIGURUMA != 1; then
+-    AC_MSG_NOTICE([Oniguruma was not found.])
+-    AC_MSG_NOTICE([ Try setting the location using '--with-oniguruma=PREFIX' ])
+-else
+-    AC_DEFINE([HAVE_ONIGURUMA],1,[Define to 1 if Oniguruma is installed])
+-fi
+-
++    [],
++    [with_oniguruma=yes])
++
++AS_IF([test "x$with_oniguruma" != xno], [
++    AS_IF([test "x$with_oniguruma" != xyes], [
++        CFLAGS="$CFLAGS -I${with_oniguruma}/include"
++        LDFLAGS="$LDFLAGS -L${with_oniguruma}/lib"
++    ])
++    # check for ONIGURUMA library
++    have_oniguruma=0
++    AC_CHECK_HEADER("oniguruma.h",
++        AC_CHECK_LIB([onig],[onig_version],[LIBS="$LIBS -lonig"; have_oniguruma=1;]))
++    # handle check results
++    AS_IF([test $have_oniguruma = 1], [
++        AC_DEFINE([HAVE_ONIGURUMA], 1, [Define to 1 if Oniguruma is installed])
++    ], [
++        AC_MSG_NOTICE([Oniguruma was not found.])
++        AC_MSG_NOTICE([Try setting the location using '--with-oniguruma=PREFIX'])
++    ])
++])
+ 
+ dnl Check for valgrind
+ AC_CHECK_PROGS(valgrind_cmd, valgrind)
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb
index 612eaf3..0f40815 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb
@@ -2,16 +2,14 @@
 DESCRIPTION = "jq is like sed for JSON data, you can use it to slice and \
                filter and map and transform structured data with the same \
                ease that sed, awk, grep and friends let you play with text."
-HOMEPAGE = "http://stedolan.github.io/jq/"
+HOMEPAGE = "https://stedolan.github.io/jq/"
 BUGTRACKER = "https://github.com/stedolan/jq/issues"
 SECTION = "utils"
-
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=29dd0c35d7e391bb8d515eacf7592e00"
 
-DEPENDS = "flex-native bison-native onig"
-
-SRC_URI = "https://github.com/stedolan/${BPN}/releases/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
+SRC_URI = "https://github.com/stedolan/${BPN}/releases/download/${BP}/${BP}.tar.gz \
+           file://Support-without-oniguruma.patch \
 "
 
 SRC_URI[md5sum] = "0933532b086bd8b6a41c1b162b1731f9"
@@ -19,5 +17,14 @@
 
 inherit autotools
 
-# Don't build documentation (generation requires ruby)
-EXTRA_OECONF = "--disable-docs --disable-maintainer-mode"
+PACKAGECONFIG ?= "oniguruma"
+
+PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,ruby-native"
+PACKAGECONFIG[maintainer-mode] = "--enable-maintainer-mode,--disable-maintainer-mode,flex-native bison-native"
+PACKAGECONFIG[oniguruma] = "--with-oniguruma,--without-oniguruma,onig"
+
+OE_EXTRACONF += " \
+    --disable-valgrind \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20150325-3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20150325-3.1.bb
deleted file mode 100644
index 4a72896..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20150325-3.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "BSD replacement for libreadline"
-DESCRIPTION = "Command line editor library providing generic line editing, \
-history, and tokenization functions"
-HOMEPAGE = "http://www.thrysoee.dk/editline/"
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533"
-
-DEPENDS = "ncurses"
-
-inherit autotools
-
-# upstream site does not allow wget's User-Agent
-FETCHCMD_wget += "-U bitbake"
-SRC_URI = "http://www.thrysoee.dk/editline/${BPN}-${PV}.tar.gz"
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-SRC_URI[md5sum] = "43cdb5df3061d78b5e9d59109871b4f6"
-SRC_URI[sha256sum] = "c88a5e4af83c5f40dda8455886ac98923a9c33125699742603a88a0253fcc8c5"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20160618-3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20160618-3.1.bb
new file mode 100644
index 0000000..bda421d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20160618-3.1.bb
@@ -0,0 +1,20 @@
+SUMMARY = "BSD replacement for libreadline"
+DESCRIPTION = "Command line editor library providing generic line editing, \
+history, and tokenization functions"
+HOMEPAGE = "http://www.thrysoee.dk/editline/"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533"
+
+DEPENDS = "ncurses"
+
+inherit autotools
+
+# upstream site does not allow wget's User-Agent
+FETCHCMD_wget += "-U bitbake"
+SRC_URI = "http://www.thrysoee.dk/editline/${BPN}-${PV}.tar.gz"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+SRC_URI[md5sum] = "b6e60f326a3fce91bea1a6fe4700af58"
+SRC_URI[sha256sum] = "b6b159c0c6ec8a7f349ea2a75d8b960efa346c462c1ac4921f1ac0de85a9f5d6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb
deleted file mode 100644
index cb4bc24..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Fribidi library for bidirectional text"
-SECTION = "libs"
-PR = "r1"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-BBCLASSEXTEND = "native"
-
-PROVIDES = "libfribidi"
-
-inherit autotools lib_package pkgconfig
-
-CFLAGS_append = "  -DPAGE_SIZE=4096 "
-
-SRC_URI = "http://fribidi.org/download/fribidi-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "626db17d2d99b43615ad9d12500f568a"
-SRC_URI[sha256sum] = "49cf91586e48b52fe25872ff66c1da0dff0daac2593f9f300e2af12f44f64177"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb
new file mode 100644
index 0000000..e79de66
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.7.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Fribidi library for bidirectional text"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
+BBCLASSEXTEND = "native"
+
+PROVIDES = "libfribidi"
+DEPENDS = "glib-2.0 libpcre"
+
+inherit autotools lib_package pkgconfig
+
+CFLAGS_append = "  -DPAGE_SIZE=4096 "
+SECURITY_CFLAGS_remove_toolchain-clang = "-D_FORTIFY_SOURCE=2"
+
+SRC_URI = "http://fribidi.org/download/fribidi-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "6c7e7cfdd39c908f7ac619351c1c5c23"
+SRC_URI[sha256sum] = "08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical-not-parentheses.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical-not-parentheses.patch
deleted file mode 100644
index 681c43d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical-not-parentheses.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 876fe5680d77800426f8c4c5680a235732d722e6 Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Mon, 24 Aug 2015 17:37:54 +0800
-Subject: [PATCH] ltrace: fix gcc 5 logical not parentheses
-
-Upstream-Status: Pending
-
-Build ltrace with gcc 5.2, it fails with:
-
-error: logical not is only applied to the left hand side of comparison
-[-Werror=logical-not-parentheses]
-   if (!need_data(data, offset, SIZE / 8) < 0)  \
-                                             ^
-
-Function need_data just return 0 on success and -1 if fail. So it is ok
-to just test if (need_data(data, offset, SIZE / 8) < 0).
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- ltrace-elf.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ltrace-elf.c b/ltrace-elf.c
-index c571d2a..7fe830f 100644
---- a/ltrace-elf.c
-+++ b/ltrace-elf.c
-@@ -218,7 +218,7 @@ need_data(Elf_Data *data, GElf_Xword offset, GElf_Xword size)
- 	int								\
- 	NAME(Elf_Data *data, GElf_Xword offset, uint##SIZE##_t *retp)	\
- 	{								\
--		if (!need_data(data, offset, SIZE / 8) < 0)		\
-+		if (need_data(data, offset, SIZE / 8) < 0)		\
- 			return -1;					\
- 									\
- 		if (data->d_buf == NULL) /* NODATA section */ {		\
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-replace-readdir_r-with-readdir.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-replace-readdir_r-with-readdir.patch
new file mode 100644
index 0000000..65c7d53
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-replace-readdir_r-with-readdir.patch
@@ -0,0 +1,36 @@
+From 64f98f84fd88797e219f9dde1ca387fee4b509f0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 24 Apr 2016 16:58:17 -0700
+Subject: [PATCH] replace readdir_r with readdir
+
+glibc 2.24 has deprecated readdir_r
+
+https://sourceware.org/ml/libc-alpha/2016-02/msg00093.html
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ sysdeps/linux-gnu/proc.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/sysdeps/linux-gnu/proc.c b/sysdeps/linux-gnu/proc.c
+index 953fd86..edb716d 100644
+--- a/sysdeps/linux-gnu/proc.c
++++ b/sysdeps/linux-gnu/proc.c
+@@ -242,9 +242,10 @@ process_tasks(pid_t pid, pid_t **ret_tasks, size_t *ret_n)
+ 	size_t alloc = 0;
+ 
+ 	while (1) {
+-		struct dirent entry;
+ 		struct dirent *result;
+-		if (readdir_r(d, &entry, &result) != 0) {
++		errno = 0;
++		result = readdir(d);
++		if (errno != 0) {
+ 		fail:
+ 			free(tasks);
+ 			closedir(d);
+-- 
+2.8.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch
deleted file mode 100644
index 8f3c0ec..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/value.c b/value.c
-index d18db17..b98298e 100644
---- a/value.c
-+++ b/value.c
-@@ -1,6 +1,6 @@
- /*
-  * This file is part of ltrace.
-- * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc.
-+ * Copyright (C) 2011,2012,2013 Petr Machata, Red Hat Inc.
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License as
-@@ -282,9 +282,9 @@ value_init_deref(struct value *ret_val, struct value *valp)
- 	if (value_extract_word(valp, &l, NULL) < 0)
- 		return -1;
- 
--	/* We need "long" to be long enough to hold platform
-+	/* We need "long" to be long enough to hold target
- 	 * pointers.  */
--	typedef char assert__long_enough_long[-(sizeof(l) < sizeof(void *))];
-+	assert(sizeof(l) >= sizeof(arch_addr_t));
- 
- 	value_common_init(ret_val, valp->inferior, valp,
- 			  valp->type->u.ptr_info.info, 0);
-diff --git a/lens_default.c b/lens_default.c
-index ed3d0e1..5d00814 100644
---- a/lens_default.c
-+++ b/lens_default.c
-@@ -1,6 +1,6 @@
- /*
-  * This file is part of ltrace.
-- * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc.
-+ * Copyright (C) 2011,2012,2013 Petr Machata, Red Hat Inc.
-  * Copyright (C) 1998,2004,2007,2008,2009 Juan Cespedes
-  * Copyright (C) 2006 Ian Wienand
-  * Copyright (C) 2006 Steve Fink
-@@ -342,9 +342,9 @@ format_array(FILE *stream, struct value *value, struct value_dict *arguments,
- 	     struct expr_node *length, size_t maxlen, int before,
- 	     const char *open, const char *close, const char *delim)
- {
--	/* We need "long" to be long enough to cover the whole address
--	 * space.  */
--	typedef char assert__long_enough_long[-(sizeof(long) < sizeof(void *))];
-+	/* We need "long" to be long enough to cover the whole target
-+	 * address space.  */
-+	assert(sizeof(long) >= sizeof(arch_addr_t));
- 	long l;
- 	if (expr_eval_word(length, value, arguments, &l) < 0)
- 		return -1;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index bc4e271..8ae0185 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -11,14 +11,13 @@
 
 PE = "1"
 PV = "7.3+git${SRCPV}"
-SRCREV = "37ecc41b58be3dbdd79592a76e331b5b371e4f81"
+SRCREV = "01b10e191e99d8cb147e5a2b7da8196e0ec6fb94"
 
 DEPENDS = "elfutils"
 RDEPENDS_${PN} = "elfutils"
-SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=ltrace-0.7 \
-           file://ltrace-0.7.2-unused-typedef.patch \
+SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \
            file://configure-allow-to-disable-selinux-support.patch \
-           file://0001-ltrace-fix-gcc-5-logical-not-parentheses.patch \
+           file://0001-replace-readdir_r-with-readdir.patch \
           "
 S = "${WORKDIR}/git"
 
@@ -29,5 +28,5 @@
 PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
 
 do_configure_prepend () {
-	( cd ${S}; ./autogen.sh )
+    ( cd ${S}; ./autogen.sh )
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.2.bb
deleted file mode 100644
index 07a1a43..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.2.bb
+++ /dev/null
@@ -1,61 +0,0 @@
-DESCRIPTION = "Lua is a powerful light-weight programming language designed \
-for extending applications."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=318;endline=352;md5=68fc2aa2b751a37ff265524ddf026d7f"
-HOMEPAGE = "http://www.lua.org/"
-
-PR = "r0"
-
-DEPENDS = "readline"
-SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
-           file://lua.pc.in \
-           "
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', \
-           'http://www.lua.org/tests/lua-${PV}-tests.tar.gz;name=tarballtest \
-            file://run-ptest \
-           ', '', d)}"
-
-SRC_URI[tarballsrc.md5sum] = "33278c2ab5ee3c1a875be8d55c1ca2a1"
-SRC_URI[tarballsrc.sha256sum] = "c740c7bb23a936944e1cc63b7c3c5351a8976d7867c5252c8854f7b2af9da68f"
-SRC_URI[tarballtest.md5sum] = "a2b7ab1b8ff82a0145376e233ef30a4a"
-SRC_URI[tarballtest.sha256sum] = "56909863a3713dee3709b3dbd0c868237e4f5c9ea1744f5bf0ba8bafa6c4ed32"
-
-inherit pkgconfig binconfig ptest
-
-UCLIBC_PATCHES += "file://uclibc-pthread.patch"
-SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}"
-
-TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
-EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'"
-
-do_configure_prepend() {
-    sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
-}
-
-do_compile () {
-    oe_runmake linux
-}
-
-do_install () {
-    oe_runmake \
-        'INSTALL_TOP=${D}${prefix}' \
-        'INSTALL_BIN=${D}${bindir}' \
-        'INSTALL_INC=${D}${includedir}/' \
-        'INSTALL_MAN=${D}${mandir}/man1' \
-        'INSTALL_SHARE=${D}${datadir}/lua' \
-        'INSTALL_LIB=${D}${libdir}' \
-        'INSTALL_CMOD=${D}${libdir}/lua/5.3' \
-        install
-    install -d ${D}${libdir}/pkgconfig
-
-    sed -e s/@VERSION@/${PV}/ ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc
-    install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/
-    rmdir ${D}${datadir}/lua/5.3
-    rmdir ${D}${datadir}/lua
-}
-
-do_install_ptest () {
-        cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV}-tests ${D}${PTEST_PATH}/test
-}
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.3.bb
new file mode 100644
index 0000000..b7995c2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.3.bb
@@ -0,0 +1,59 @@
+DESCRIPTION = "Lua is a powerful light-weight programming language designed \
+for extending applications."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=318;endline=352;md5=10ffd57d574c60d5b4d6189544e205a9"
+HOMEPAGE = "http://www.lua.org/"
+
+DEPENDS = "readline"
+SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
+           file://lua.pc.in \
+           "
+SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', \
+           'http://www.lua.org/tests/lua-${PV}-tests.tar.gz;name=tarballtest \
+            file://run-ptest \
+           ', '', d)}"
+
+SRC_URI[tarballsrc.md5sum] = "703f75caa4fdf4a911c1a72e67a27498"
+SRC_URI[tarballsrc.sha256sum] = "5113c06884f7de453ce57702abaac1d618307f33f6789fa870e87a59d772aca2"
+SRC_URI[tarballtest.md5sum] = "76f4fb07f2a4970d554645ac26df86df"
+SRC_URI[tarballtest.sha256sum] = "13154abc20976196119db531b4169ce1ce511755879d40b4192e4173291287e5"
+
+inherit pkgconfig binconfig ptest
+
+UCLIBC_PATCHES += "file://uclibc-pthread.patch"
+SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}"
+
+TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
+EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'"
+
+do_configure_prepend() {
+    sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
+}
+
+do_compile () {
+    oe_runmake linux
+}
+
+do_install () {
+    oe_runmake \
+        'INSTALL_TOP=${D}${prefix}' \
+        'INSTALL_BIN=${D}${bindir}' \
+        'INSTALL_INC=${D}${includedir}/' \
+        'INSTALL_MAN=${D}${mandir}/man1' \
+        'INSTALL_SHARE=${D}${datadir}/lua' \
+        'INSTALL_LIB=${D}${libdir}' \
+        'INSTALL_CMOD=${D}${libdir}/lua/5.3' \
+        install
+    install -d ${D}${libdir}/pkgconfig
+
+    sed -e s/@VERSION@/${PV}/ ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc
+    install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/
+    rmdir ${D}${datadir}/lua/5.3
+    rmdir ${D}${datadir}/lua
+}
+
+do_install_ptest () {
+        cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV}-tests ${D}${PTEST_PATH}/test
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
index a0252aa..964dc1d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
@@ -15,11 +15,6 @@
 
 BBCLASSEXTEND = "native"
 
-do_configure_prepend() {
-    sed -i 's:PREFIX= /usr/local:PREFIX= ${prefix}:g' ${S}/Makefile
-    sed -i 's:MULTILIB= lib:MULTILIB= ${baselib}:g' ${S}/Makefile
-}
-
 # http://luajit.org/install.html#cross
 # Host luajit needs to be compiled with the same pointer size
 # If you want to cross-compile to any 32 bit target on an x64 OS,
@@ -30,20 +25,52 @@
 BUILD_CC_ARCH_append_x86 = ' -m32'
 BUILD_CC_ARCH_append_arm = ' -m32'
 
-EXTRA_OEMAKE_append_class-target = '\
-    CROSS=${HOST_PREFIX} \
-    HOST_CC="${BUILD_CC} ${BUILD_CC_ARCH}" \
-    TARGET_CFLAGS="${TOOLCHAIN_OPTIONS} ${TARGET_CC_ARCH}" \
-    TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" \
-    TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}" \
-'
+# The lua makefiles expect the TARGET_SYS to be from uname -s
+# Values: Windows, Linux, Darwin, iOS, SunOS, PS3, GNU/kFreeBSD
+LUA_TARGET_OS = "Unknown"
+LUA_TARGET_OS_darwin = "Darwin"
+LUA_TARGET_OS_linux = "Linux"
+LUA_TARGET_OS_linux-gnueabi = "Linux"
+LUA_TARGET_OS_mingw32 = "Windows"
+
+# We don't want the lua buildsystem's compiler optimizations, or its
+# stripping, and we don't want it to pick up CFLAGS or LDFLAGS, as those apply
+# to both host and target compiles
+EXTRA_OEMAKE = "\
+    Q= E='@:' \
+    \
+    CCOPT= CCOPT_x86= CFLAGS= LDFLAGS= TARGET_STRIP='@:' \
+    \
+    'TARGET_SYS=${LUA_TARGET_OS}' \
+    \
+    'CC=${CC}' \
+    'TARGET_AR=${AR} rcus' \
+    'TARGET_CFLAGS=${CFLAGS}' \
+    'TARGET_LDFLAGS=${LDFLAGS}' \
+    'TARGET_SHLDFLAGS=${LDFLAGS}' \
+    'HOST_CC=${BUILD_CC}' \
+    'HOST_CFLAGS=${BUILD_CFLAGS}' \
+    'HOST_LDFLAGS=${BUILD_LDFLAGS}' \
+    \
+    'PREFIX=${prefix}' \
+    'MULTILIB=${baselib}' \
+"
 
 do_compile () {
     oe_runmake
 }
 
+# There's INSTALL_LIB and INSTALL_SHARE also, but the lua binary hardcodes the
+# '/share' and '/' + LUA_MULTILIB paths, so we don't want to break those
+# expectations.
+EXTRA_OEMAKEINST = "\
+    'DESTDIR=${D}' \
+    'INSTALL_BIN=${D}${bindir}' \
+    'INSTALL_INC=${D}${includedir}/luajit-$(MAJVER).$(MINVER)' \
+    'INSTALL_MAN=${D}${mandir}/man1' \
+"
 do_install () {
-    oe_runmake 'DESTDIR=${D}' install
+    oe_runmake ${EXTRA_OEMAKEINST} install
     rmdir ${D}${datadir}/lua/5.* \
           ${D}${datadir}/lua \
           ${D}${libdir}/lua/5.* \
@@ -52,6 +79,9 @@
 
 PACKAGES += 'luajit-common'
 
+# See the comment for EXTRA_OEMAKEINST. This is needed to ensure the hardcoded
+# paths are packaged regardless of what the libdir and datadir paths are.
+FILES_${PN} += "${prefix}/${baselib} ${prefix}/share"
 FILES_${PN} += "${libdir}/libluajit-5.1.so.2 \
     ${libdir}/libluajit-5.1.so.${PV} \
 "
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.4.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.4.1.bb
deleted file mode 100644
index 303a032..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.4.1.bb
+++ /dev/null
@@ -1,26 +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 = "http://mercurial.selenic.com/release/mercurial-${PV}.tar.gz"
-SRC_URI[md5sum] = "65783a60aefb46a11296b587e9403537"
-SRC_URI[sha256sum] = "7a8acf7329beda38ceea29c689212574d9a6bfffe24cf565015ea0066f7cee3f"
-
-S = "${WORKDIR}/mercurial-${PV}"
-
-inherit native
-
-EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
-    BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} 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-native_3.8.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.8.4.bb
new file mode 100644
index 0000000..0526fc2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.8.4.bb
@@ -0,0 +1,26 @@
+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"
+SRC_URI[md5sum] = "cec2c3db688cb87142809089c6ae13e9"
+SRC_URI[sha256sum] = "4b2e3ef19d34fa1d781cb7425506a05d4b6b1172bab69d6ea78874175fdf3da6"
+
+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/mpich/mpich_3.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.1.1.bb
deleted file mode 100644
index 7d00906..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.1.1.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Message Passing Interface (MPI) implementation"
-HOMEPAGE = "http://www.mpich.org/"
-SECTION = "devel"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=2106f0435056f3dd9349747a766e5816"
-
-SRC_URI = " \
-	http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "40dc408b1e03cc36d80209baaa2d32b7"
-SRC_URI[sha256sum] = "455ccfaf4ec724d2cf5d8bff1f3d26a958ad196121e7ea26504fd3018757652d"
-
-CACHED_CONFIGUREVARS += "BASH_SHELL=${base_bindir}/bash"
-
-RDEPENDS_${PN} += "bash perl libxml2"
-S = "${WORKDIR}/${BP}"
-
-EXTRA_OECONF = "--enable-debuginfo \
-                --enable-fast \
-                --enable-shared  \
-                --with-pm=gforker  \
-		--disable-rpath \
-                --disable-f77 \
-                --disable-fc \
-                --disable-fortran \
-                --disable-cxx"
-
-inherit autotools-brokensep gettext
-
-do_configure_prepend() {
-    autoreconf --verbose --install --force -I . -I confdb/ -I maint/
-    oe_runconf
-    exit
-}
-
-# http://errors.yoctoproject.org/Errors/Details/35146/
-PNBLACKLIST[mpich] ?= "BROKEN: QA Issue: libmpi.la failed sanity test (workdir), QA Issue: mpich.pc failed sanity test (tmpdir)"
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
new file mode 100644
index 0000000..4537a66
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb
@@ -0,0 +1,42 @@
+SUMMARY = "Message Passing Interface (MPI) implementation"
+HOMEPAGE = "http://www.mpich.org/"
+SECTION = "devel"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=2106f0435056f3dd9349747a766e5816"
+
+SRC_URI = " \
+    http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz \
+"
+
+SRC_URI[md5sum] = "f414cfa77099cd1fa1a5ae4e22db508a"
+SRC_URI[sha256sum] = "0778679a6b693d7b7caff37ff9d2856dc2bfc51318bf8373859bfa74253da3dc"
+
+CACHED_CONFIGUREVARS += "BASH_SHELL=${base_bindir}/bash"
+
+RDEPENDS_${PN} += "bash perl libxml2"
+S = "${WORKDIR}/${BP}"
+
+EXTRA_OECONF = "--enable-debuginfo \
+    --enable-fast \
+    --enable-shared  \
+    --with-pm=gforker  \
+    --disable-rpath \
+    --disable-f77 \
+    --disable-fc \
+    --disable-fortran \
+    --disable-cxx \
+"
+
+inherit autotools-brokensep gettext
+
+do_configure_prepend() {
+    autoreconf --verbose --install --force -I . -I confdb/ -I maint/
+    oe_runconf
+    exit
+}
+
+do_install_append() {
+    sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la
+    sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja-native_1.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja-native_1.6.0.bb
deleted file mode 100644
index c00710a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja-native_1.6.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Ninja is a small build system with a focus on speed."
-HOMEPAGE = "http://martine.github.com/ninja/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e"
-
-DEPENDS = "re2c-native"
-
-inherit native
-
-SRCREV="484c16336f19bd8970bb6e75322d61b92a229899"
-
-SRC_URI = "git://github.com/martine/ninja.git;branch=release"
-
-S="${WORKDIR}/git"
-
-do_configure[noexec] = "1"
-
-do_compile() {
-    python ${S}/configure.py --bootstrap
-}
-
-do_install() {
-    install -d ${D}${bindir}
-    install -m 0755 ${S}/ninja ${D}${bindir}/
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.1.bb
new file mode 100644
index 0000000..2a4b829
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja_1.7.1.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Ninja is a small build system with a focus on speed."
+HOMEPAGE = "http://martine.github.com/ninja/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e"
+
+DEPENDS = "re2c-native ninja-native"
+
+SRCREV = "b49b0fc01bb052b6ac856b1e72be9391e962398e"
+
+SRC_URI = "git://github.com/martine/ninja.git;branch=release"
+
+S = "${WORKDIR}/git"
+
+do_configure[noexec] = "1"
+
+do_compile_class-native() {
+    ./configure.py --bootstrap
+}
+
+do_compile() {
+    ./configure.py
+    ninja
+}
+
+do_install() {
+    install -d ${D}${bindir}
+    install -m 0755 ${S}/ninja ${D}${bindir}/
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.4.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.4.3.bb
deleted file mode 100644
index 43761ae..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.4.3.bb
+++ /dev/null
@@ -1,84 +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=96aa1ac122c41f8c08a0683d4b2126b5"
-
-DEPENDS = "openssl"
-
-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://no-registry.patch \
-"
-SRC_URI[md5sum] = "74e83c9c512bd99b38a02edd740b4334"
-SRC_URI[sha256sum] = "57499bb0b1b86080459d4066e3c138579a278b2d0b1f5b2f19e66c69b4e8433c"
-
-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)}"
-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 () {
-    export LD="${CXX}"
-    GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
-    # $TARGET_ARCH settings don't match --dest-cpu settings
-   ./configure --prefix=${prefix} --without-snapshot --shared-openssl \
-               --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH', True), 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"
-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_4.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.6.1.bb
new file mode 100644
index 0000000..03e9812
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.6.1.bb
@@ -0,0 +1,88 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8e3c01094f0fcb889b13f0354e52f914"
+
+DEPENDS = "openssl 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://no-registry.patch \
+"
+SRC_URI[md5sum] = "4f70295e3eebef1f998fa38456263eaf"
+SRC_URI[sha256sum] = "fe2a85df8758001878abb5bbaf17a6b6cdc12b3e465b1d3bace83b37fdf0345a"
+
+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 () {
+    export LD="${CXX}"
+    GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+    # $TARGET_ARCH settings don't match --dest-cpu settings
+   ./configure --prefix=${prefix} --without-snapshot --shared-openssl --shared-zlib \
+               --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH', True), 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"
+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/perl/libdbd-mysql-perl_4.036.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.036.bb
new file mode 100644
index 0000000..f5dbef2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.036.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] = "fdee1d8dc4ae54bc6cb7cd5a3f3d3342"
+SRC_URI[sha256sum] = "5c48a823f86b8110ccb6504c6176ca248b52f56829dd4548bc39c3509f4154cf"
+
+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
new file mode 100644
index 0000000..085b904
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.636.bb
@@ -0,0 +1,26 @@
+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/php/php-5.6.18/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.18/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
rename to import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.26/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
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 ee7a143..cd91940 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
@@ -15,7 +15,7 @@
            file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \
           "
 
-SRC_URI_append_class-target += " \
+SRC_URI_append_class-target = " \
             file://iconv.patch \
             file://imap-fix-autofoo.patch \
             file://pear-makefile.patch \
@@ -70,7 +70,9 @@
 "
 
 PACKAGECONFIG ??= "mysql sqlite3 imap \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+"
 PACKAGECONFIG_class-native = ""
 
 PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \
@@ -91,6 +93,7 @@
                        --with-imap-ssl=${STAGING_DIR_HOST} \
                        ,--without-imap --without-imap-ssl \
                        ,uw-imap"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
 
 
 export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
@@ -120,8 +123,8 @@
 }
 
 do_install_prepend() {
-    cat aclocal-copy/libtool.m4 aclocal-copy/lt~obsolete.m4 aclocal-copy/ltoptions.m4 \
-        aclocal-copy/ltsugar.m4 aclocal-copy/ltversion.m4 > ${S}/build/libtool.m4
+    cat ${ACLOCALDIR}/libtool.m4 ${ACLOCALDIR}/lt~obsolete.m4 ${ACLOCALDIR}/ltoptions.m4 \
+        ${ACLOCALDIR}/ltsugar.m4 ${ACLOCALDIR}/ltversion.m4 > ${S}/build/libtool.m4
 }
 
 do_install_prepend_class-target() {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.32.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.32.bb
deleted file mode 100644
index 4ee3c38..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.32.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=464ca70af214d2407f6b7d4458158afd"
-
-SRC_URI[md5sum] = "47443f39152d671d24bc839e6a49049d"
-SRC_URI[sha256sum] = "b0f2c108db8e05db9f6366aaba9a754fd0ee31f3f86ee889561b608dfd6e92ee"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.38.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.38.bb
new file mode 100644
index 0000000..26f35b1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.38.bb
@@ -0,0 +1,6 @@
+require php.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=464ca70af214d2407f6b7d4458158afd"
+
+SRC_URI[md5sum] = "312244a0eecad602a1555ed2434e223f"
+SRC_URI[sha256sum] = "473c81ebb2e48ca468caee031762266651843d7227c18a824add9b07b9393e38"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.18.bb
deleted file mode 100644
index 2ce012f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.18.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
-
-SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch"
-SRC_URI[md5sum] = "7340353bedd998286ba2c4d87d7864f8"
-SRC_URI[sha256sum] = "c3cd4a29a9562309d36e2b128407d6eaa5c7dde590d2b1a464457383e517f4ed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.26.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.26.bb
new file mode 100644
index 0000000..cbd0615
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.26.bb
@@ -0,0 +1,7 @@
+require php.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
+
+SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch"
+SRC_URI[md5sum] = "cb424b705cfb715fc04f499f8a8cf52e"
+SRC_URI[sha256sum] = "d47aab8083a4284b905777e1b45dd7735adc53be827b29f896684750ac8b6236"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
index 22ed8e2..94fc736 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
@@ -1,5 +1,5 @@
 DESCRIPTION = "This is a small collection of power management \
-               test and investigation tools"
+    test and investigation tools"
 HOMEPAGE = "http://lesswatts.org/projects/acpi"
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
@@ -17,13 +17,13 @@
 
 do_configure[noexec] = "1"
 do_compile() {
-	oe_runmake
+    oe_runmake
 }
 
 do_install() {
-	install -d ${D}${bindir} ${D}${docdir}
-	install -m 755 ${S}/acpidump/acpidump ${D}${bindir}
-	install -m 755 ${S}/acpixtract/acpixtract ${D}${bindir}
-	install -m 755 ${S}/madt/madt ${D}${bindir}
-	install -m 644 ${S}/README ${D}${docdir}
+    install -d ${D}${bindir} ${D}${docdir}
+    install -m 755 ${S}/acpidump/acpidump ${D}${bindir}
+    install -m 755 ${S}/acpixtract/acpixtract ${D}${bindir}
+    install -m 755 ${S}/madt/madt ${D}${bindir}
+    install -m 644 ${S}/README ${D}${docdir}
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.2.1.bb
new file mode 100644
index 0000000..40fb96c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.2.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
+DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \
+serialization format. It includes libprotobuf-c, a pure C library that \
+implements protobuf encoding and decoding, and protoc-c, a code generator that \
+converts Protocol Buffer .proto files to C descriptor code, based on the \
+original protoc. protobuf-c formerly included an RPC implementation; that code \
+has been split out into the protobuf-c-rpc project."
+HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
+SECTION = "console/tools"
+LICENSE = "BSD-2-Clause"
+
+DEPENDS = "protobuf-native protobuf"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+RDEPENDS_${PN}-compiler = "protobuf-compiler"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=235c3195a3968524dc1524b4ebea0c0e"
+SRC_URI = "https://github.com/protobuf-c/protobuf-c/archive/v${PV}.tar.gz"
+
+SRC_URI[md5sum] = "b884aeba4283309445a8e3b6e7322dd6"
+SRC_URI[sha256sum] = "2d708fb3c024b9e6e86df141faff802194f5db90a4b79e6d4aa6bd61dd983dd6"
+
+inherit autotools pkgconfig
+
+FILES_${PN}-compiler = "${bindir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb
index 049f9d4..2977c59 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb
@@ -6,7 +6,11 @@
 SECTION = "console/tools"
 LICENSE = "BSD-3-Clause"
 
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
 DEPENDS = "zlib"
+RDEPENDS_${PN}-compiler = "${PN}"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=af6809583bfde9a31595a58bb4a24514"
 
@@ -22,4 +26,6 @@
 
 S = "${WORKDIR}/git"
 
+FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
+
 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
new file mode 100644
index 0000000..8f6532c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Cpuset is a Python application to make using the cpusets facilities in the Linux kernel easier"
+SECTION = "devel/python"
+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}"
+
+inherit distutils
+
+RDEPENDS_${PN} = "\
+    python-core \
+    python-re \
+    python-logging \
+    python-textutils \
+    python-unixadmin \
+    "
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
new file mode 100644
index 0000000..a391f7e
--- /dev/null
+++ 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
@@ -0,0 +1,41 @@
+From 5e5350d730f85957a42c6d846d347d080e7dd996 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 23 Oct 2015 12:40:34 +0300
+Subject: [PATCH] configure.ac: add sysroot path to GI_DATADIR; don't set
+ introspection scanner and compiler paths
+
+Upstream-Status: Pending [review on oe-core maillist]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ configure.ac | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+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
+ )
+ 
+-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.20.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.20.1.bb
new file mode 100644
index 0000000..77416d4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.20.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Python GObject bindings"
+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 += "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] = "4354c6283b135f859563b72457f6a321"
+SRC_URI[sha256sum] = "3d261005d6fed6a92ac4c25f283792552f7dad865d1b7e0c03c2b84c04dbd745"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+BBCLASSEXTEND = "native"
+
+EXTRA_OECONF = "--disable-cairo --with-python=${PYTHON}"
+
+RDEPENDS_${PN} += "python-setuptools python-importlib"
+
+do_install_append() {
+    # Remove files that clash with python3-pygobject; their content is same
+    rm ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig/pygobject-3.0.pc
+}
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb
index a2a6c40..0c9112e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb
@@ -14,7 +14,7 @@
 
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
-inherit distutils
+inherit setuptools
 
 RDEPENDS_${PN} = "\
     python-core \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb
index ab15a7e..3eadbe4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb
@@ -1,12 +1,12 @@
 SUMMARY = "Templatized C++ Command Line Parser"
-HOMEPAGE = "http://tclap.sourceforge.net/" 
-LICENSE = "MIT" 
+HOMEPAGE = "http://tclap.sourceforge.net/"
+LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c8ab0ff134bcc584d0e6b5b9f8732453"
 
 SRCREV = "3627d9402e529770df9b0edf2aa8c0e0d6c6bb41"
 SRC_URI = "git://git.code.sf.net/p/tclap/code \
     file://Makefile.am-disable-docs.patch \
-" 
+"
 
 S = "${WORKDIR}/git"
 inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.4.bb
deleted file mode 100644
index d8eca50..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.4.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] = "261754d7dc2a582f00e35547777e1fea"
-SRC_URI[sha256sum] = "08f99df85e5dc9c4271762163c6aabb962c8b297dc5c4c1af8bdd05fc2dd26c1"
-
-S = "${WORKDIR}/${BPN}${PV}/unix"
-
-# Short version format: "8.6"
-VER = "${@os.path.splitext(d.getVar('PV', True))[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.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.6.bb
new file mode 100644
index 0000000..59075bc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.6.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] = "dd7dbb3a6523c42d05f6ab6e86096e99"
+SRC_URI[sha256sum] = "d62c371a71b4744ed830e3c21d27968c31dba74dd2c45f36b9b071e6d88eb19d"
+
+S = "${WORKDIR}/${BPN}${PV}/unix"
+
+# Short version format: "8.6"
+VER = "${@os.path.splitext(d.getVar('PV', True))[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/uw-imap/uw-imap_2007f.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
index 52b689e..402c42e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
@@ -20,7 +20,7 @@
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
 PACKAGECONFIG[pam] = ",,libpam"
 
-EXTRA_OEMAKE = "CC='${CC}'"
+EXTRA_OEMAKE = "CC='${CC}' ARRC='${AR} -rc' RANLIB='${RANLIB}'"
 
 HEADERS = "src/c-client/*.h src/osdep/unix/*.h c-client/auths.c c-client/linkage.c c-client/linkage.h c-client/osdep.h"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.3.bb
deleted file mode 100644
index 2355c9d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.3.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Xerces-c is a validating xml parser written in C++"
-DESCRIPTION = "Xerces-C++ makes it easy to give your application \
-               the ability to read and write XML data. \
-               A shared library is provided for parsing, generating, \
-               manipulating, and validating XML documents using \
-               the DOM, SAX, and SAX2 APIs."
-HOMEPAGE = "http://xerces.apache.org/xerces-c/"
-SECTION =  "libs"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = "http://apache.lauf-forum.at/xerces/c/3/sources/${BP}.tar.bz2"
-SRC_URI[md5sum] = "5e333b55cb43e6b025ddf0e5d0f0fb0d"
-SRC_URI[sha256sum] = "fc5e5e0247b108b8d64d75aeb124cabdee9b7fcd725a89fe2242b4637b25c1fa"
-
-inherit autotools
-
-PACKAGECONFIG ??= "curl icu"
-PACKAGECONFIG[curl] = "--with-curl=${STAGING_DIR},--with-curl=no,curl"
-PACKAGECONFIG[icu] = "--with-icu=${STAGING_DIR},--with-icu=no,icu"
-
-do_install_prepend () {
-        sed -i -e 's:-L${STAGING_DIR}/lib:-L\$\{libdir\}:g' ${B}/xerces-c.pc
-}
-
-PACKAGES = "libxerces-c \
-            libxerces-c-dbg \
-            libxerces-c-dev \
-            xerces-c-samples \
-            xerces-c-samples-dbg \
-            libxerces-c-staticdev \
-	   " 
-
-FILES_libxerces-c = "${libdir}/libxerces-c-3.1.so"
-FILES_libxerces-c-dbg = "${libdir}/.debug \ 
-                         ${prefix}/src/debug "
-FILES_libxerces-c-dev = "${libdir}/lib*.la \
-                         ${libdir}/libxerces-c.so \
-                         ${libdir}/pkgconfig/xerces-c.pc \
-                         ${includedir}/xercesc \
-			 "
-FILES_xerces-c-samples = "${bindir}/*"
-FILES_xerces-c-samples-dbg = "${bindir}/.debug/"
-FILES_libxerces-c-staticdev = "${libdir}/lib*.a"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb
new file mode 100644
index 0000000..b848b06
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Xerces-c is a validating xml parser written in C++"
+DESCRIPTION = "Xerces-C++ makes it easy to give your application \
+               the ability to read and write XML data. \
+               A shared library is provided for parsing, generating, \
+               manipulating, and validating XML documents using \
+               the DOM, SAX, and SAX2 APIs."
+HOMEPAGE = "http://xerces.apache.org/xerces-c/"
+SECTION =  "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "http://apache.lauf-forum.at/xerces/c/3/sources/${BP}.tar.bz2"
+SRC_URI[md5sum] = "d04ae9d8b2dee2157c6db95fa908abfd"
+SRC_URI[sha256sum] = "9408f12c1628ecf80730bedbe8b2caad810edd01bb4c66f77b60c873e8cc6891"
+
+inherit autotools
+
+PACKAGECONFIG ??= "curl icu"
+PACKAGECONFIG[curl] = "--with-curl=${STAGING_DIR},--with-curl=no,curl"
+PACKAGECONFIG[icu] = "--with-icu=${STAGING_DIR},--with-icu=no,icu"
+
+do_install_prepend () {
+    sed -i -e 's:-L${STAGING_DIR}/lib:-L\$\{libdir\}:g' ${B}/xerces-c.pc
+}
+
+PACKAGES = "libxerces-c \
+    libxerces-c-dbg \
+    libxerces-c-dev \
+    xerces-c-samples \
+    xerces-c-samples-dbg \
+    libxerces-c-staticdev \
+"
+
+FILES_libxerces-c = "${libdir}/libxerces-c-3.1.so"
+FILES_libxerces-c-dbg = "${libdir}/.debug \
+    ${prefix}/src/debug \
+"
+FILES_libxerces-c-dev = "${libdir}/lib*.la \
+    ${libdir}/libxerces-c.so \
+    ${libdir}/pkgconfig/xerces-c.pc \
+    ${includedir}/xercesc \
+"
+FILES_xerces-c-samples = "${bindir}/*"
+FILES_xerces-c-samples-dbg = "${bindir}/.debug/"
+FILES_libxerces-c-staticdev = "${libdir}/lib*.a"
+
+BBCLASSEXTEND = "native"
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
new file mode 100644
index 0000000..3f8debc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/remove-policy-of-usr-local-sbin.patch
@@ -0,0 +1,28 @@
+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.9.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.9.0.bb
new file mode 100644
index 0000000..9d01c51
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.9.0.bb
@@ -0,0 +1,37 @@
+#
+# 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/change-hard-coded-lib-path.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/change-hard-coded-lib-path.patch
new file mode 100644
index 0000000..2295e41
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/change-hard-coded-lib-path.patch
@@ -0,0 +1,28 @@
+Upstream-Status: Inappropriate [configuration]
+
+projlibdir use a hard coded lib path, this will cause error when build a 64bit
+target. So change it to suitable path.
+
+Signed-off-by: Song.Li <Song.Li@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 38e2b9c..bc6b996 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -188,7 +188,7 @@ AS_IF([test x"$enable_fhs" = xyes], [
+   fi
+ 
+   sbindir='${exec_prefix}/bin' # /var/cfengine/bin despite being sbin_?
+-  projlibdir='${exec_prefix}/lib'
++  projlibdir='${libdir}'
+   mandir='${exec_prefix}/share/man'
+ ])
+ 
+-- 
+1.7.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch
new file mode 100644
index 0000000..b9526f2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch
@@ -0,0 +1,23 @@
+Upstream-Status: Inappropriate [configuration]
+
+Set the path of default configure file.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/misc/init.d/cfengine3.in b/misc/init.d/cfengine3.in
+index d6ae26f..1dee283 100644
+--- a/misc/init.d/cfengine3.in
++++ b/misc/init.d/cfengine3.in
+@@ -101,11 +101,7 @@ if [ -z "$LOCKDIR" ]; then
+ fi
+ 
+ # default control file
+-if [ "$DEBIAN" = "1" ]; then
+-    DEFAULT=/etc/default/cfengine3
+-else
+-    DEFAULT=/etc/sysconfig/cfengine3
+-fi
++DEFAULT=/etc/default/cfengine3
+ 
+ if [ -f $DEFAULT ]; then
+     . $DEFAULT
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
new file mode 100644
index 0000000..68a15f8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb
@@ -0,0 +1,71 @@
+#
+# 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.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '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/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch
new file mode 100644
index 0000000..b2a149b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch
@@ -0,0 +1,27 @@
+From a701ed30ac1bc2f77d063c237d6ae040a2d53f6b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 16 May 2016 16:52:24 +0300
+Subject: [PATCH] Add 'm' suffix to the python library name.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ swig/python/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt
+index 128798b..391cef7 100644
+--- a/swig/python/CMakeLists.txt
++++ b/swig/python/CMakeLists.txt
+@@ -49,7 +49,7 @@ ADD_DEFINITIONS(-DCMPI_PLATFORM_LINUX_GENERIC_GNU -DCMPI_VERSION=200)
+ SET( NAME pyCmpiProvider )
+ ADD_LIBRARY( ${NAME} SHARED ${SWIG_OUTPUT})
+ #TARGET_LINK_LIBRARIES( ${NAME} ${PYTHON_LIBRARIES} )
+-TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION} )
++TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION}m )
+ TARGET_LINK_LIBRARIES( ${NAME} pthread )
+ TARGET_LINK_LIBRARIES( ${NAME} dl )
+ TARGET_LINK_LIBRARIES( ${NAME} util )
+-- 
+2.8.1
+
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 a2747c3..25166ab 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
@@ -4,7 +4,7 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b19ee058d2d5f69af45da98051d91064"
 SECTION = "Development/Libraries"
-DEPENDS = "swig-native python sblim-cmpi-devel"
+DEPENDS = "swig-native python3 sblim-cmpi-devel"
 
 SRC_URI = "git://github.com/kkaempf/cmpi-bindings.git;protocol=http \
            file://cmpi-bindings-0.4.17-no-ruby-perl.patch \
@@ -13,19 +13,18 @@
            file://0001-Modify-cmakelist.patch \
            file://0001-Fix-error.patch \
            file://0001-fix-the-build-error-when-python-3.0.patch \
+           file://0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch \
           "
 
 SRCREV = "62f60e065aa1b901f826e4f530c0573ae32d065e"
 S = "${WORKDIR}/git"
 
-inherit cmake pythonnative
+inherit cmake python3native
 
 EXTRA_OECMAKE = "-DLIB='${baselib}' \
                  -DPYTHON_INCLUDE_PATH=${STAGING_INCDIR}/python${PYTHON_BASEVERSION}"
 
 do_configure_prepend() {
-    export HOST_SYS=${HOST_SYS}
-    export BUILD_SYS=${BUILD_SYS}
     export STAGING_LIBDIR=${STAGING_LIBDIR}
     export STAGING_INCDIR=${STAGING_INCDIR}
     export ENV_INSTALL_PATH=${PYTHON_SITEPACKAGES_DIR}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-collectd-replace-deprecated-readdir_r-with-readdir.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-collectd-replace-deprecated-readdir_r-with-readdir.patch
new file mode 100644
index 0000000..f3d53f2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-collectd-replace-deprecated-readdir_r-with-readdir.patch
@@ -0,0 +1,66 @@
+Subject: [PATCH] collectd: replace deprecated readdir_r() with readdir()
+
+* Replace the usage of readdir_r() with readdir()
+  to address a compilation error under glibc 2.24
+  due to the deprecation of readdir_r
+
+| ../../collectd-5.5.0/src/vserver.c: In function 'vserver_read':
+| ../../collectd-5.5.0/src/vserver.c:167:3: error: 'readdir_r' is deprecated [-Werror=deprecated-declarations]
+|    status = readdir_r (proc, (struct dirent *) dirent_buffer, &dent);
+|    ^~~~~~
+| In file included from /buildarea4/myu2/build/prj_test_20160722/bitbake_build/tmp/sysroots/qemux86/usr/include/features.h:368:0,
+|                  from /buildarea4/myu2/build/prj_test_20160722/bitbake_build/tmp/sysroots/qemux86/usr/include/stdio.h:27,
+|                  from ../../collectd-5.5.0/src/daemon/collectd.h:34,
+|                  from ../../collectd-5.5.0/src/vserver.c:29:
+| /buildarea4/myu2/build/prj_test_20160722/bitbake_build/tmp/sysroots/qemux86/usr/include/dirent.h:189:12: note: declared here
+|  extern int __REDIRECT (readdir_r,
+|             ^
+
+  [1]https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=7584a3f96de88d5eefe5d6c634515278cbfbf052;hp=8d9c92017d85f23ba6a2b3614b2f2bcf1820d6f0
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ src/vserver.c | 15 ++++-----------
+ 1 file changed, 4 insertions(+), 11 deletions(-)
+
+diff --git a/src/vserver.c b/src/vserver.c
+index bd2e867..2e4e715 100644
+--- a/src/vserver.c
++++ b/src/vserver.c
+@@ -131,15 +131,8 @@ static derive_t vserver_get_sock_bytes(const char *s)
+ 
+ static int vserver_read (void)
+ {
+-#if NAME_MAX < 1024
+-# define DIRENT_BUFFER_SIZE (sizeof (struct dirent) + 1024 + 1)
+-#else
+-# define DIRENT_BUFFER_SIZE (sizeof (struct dirent) + NAME_MAX + 1)
+-#endif
+-
+ 	DIR 			*proc;
+-	struct dirent 	*dent; /* 42 */
+-	char dirent_buffer[DIRENT_BUFFER_SIZE];
++	struct dirent 	*dent = NULL; /* 42 */
+ 
+ 	errno = 0;
+ 	proc = opendir (PROCDIR);
+@@ -164,11 +157,11 @@ static int vserver_read (void)
+ 
+ 		int status;
+ 
+-		status = readdir_r (proc, (struct dirent *) dirent_buffer, &dent);
+-		if (status != 0)
++		dent = readdir (proc);
++		if (dent == NULL && errno != 0)
+ 		{
+ 			char errbuf[4096];
+-			ERROR ("vserver plugin: readdir_r failed: %s",
++			ERROR ("vserver plugin: readdir failed: %s",
+ 					sstrerror (errno, errbuf, sizeof (errbuf)));
+ 			closedir (proc);
+ 			return (-1);
+-- 
+2.8.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/CVE-2016-6254.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/CVE-2016-6254.patch
new file mode 100644
index 0000000..bc85b4c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/CVE-2016-6254.patch
@@ -0,0 +1,55 @@
+From dd8483a4beb6f61521d8b32c726523bbea21cd92 Mon Sep 17 00:00:00 2001
+From: Florian Forster <octo@collectd.org>
+Date: Tue, 19 Jul 2016 10:00:37 +0200
+Subject: [PATCH] network plugin: Fix heap overflow in parse_packet().
+
+Emilien Gaspar has identified a heap overflow in parse_packet(), the
+function used by the network plugin to parse incoming network packets.
+
+This is a vulnerability in collectd, though the scope is not clear at
+this point. At the very least specially crafted network packets can be
+used to crash the daemon. We can't rule out a potential remote code
+execution though.
+
+Fixes: CVE-2016-6254
+
+cherry picked from upstream commit b589096f
+
+Upstream Status: Backport
+
+Signed-off-by: Alexandru Moise <alexandru.moise@windriver.com>
+---
+ src/network.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/network.c b/src/network.c
+index 551bd5c..cb979b2 100644
+--- a/src/network.c
++++ b/src/network.c
+@@ -1444,6 +1444,7 @@ static int parse_packet (sockent_t *se, /* {{{ */
+ 				printed_ignore_warning = 1;
+ 			}
+ 			buffer = ((char *) buffer) + pkg_length;
++			buffer_size -= (size_t) pkg_length;
+ 			continue;
+ 		}
+ #endif /* HAVE_LIBGCRYPT */
+@@ -1471,6 +1472,7 @@ static int parse_packet (sockent_t *se, /* {{{ */
+ 				printed_ignore_warning = 1;
+ 			}
+ 			buffer = ((char *) buffer) + pkg_length;
++			buffer_size -= (size_t) pkg_length;
+ 			continue;
+ 		}
+ #endif /* HAVE_LIBGCRYPT */
+@@ -1612,6 +1614,7 @@ static int parse_packet (sockent_t *se, /* {{{ */
+ 			DEBUG ("network plugin: parse_packet: Unknown part"
+ 					" type: 0x%04hx", pkg_type);
+ 			buffer = ((char *) buffer) + pkg_length;
++			buffer_size -= (size_t) pkg_length;
+ 		}
+ 	} /* while (buffer_size > sizeof (part_header_t)) */
+ 
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.5.0.bb
index 6a3476f..34edecf 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.5.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.5.0.bb
@@ -12,6 +12,8 @@
            file://collectd.init \
            file://collectd.service \
            file://0001-conditionally-check-libvirt.patch \
+           file://0001-collectd-replace-deprecated-readdir_r-with-readdir.patch \
+           file://CVE-2016-6254.patch \
 "
 SRC_URI[md5sum] = "c39305ef5514b44238b0d31f77e29e6a"
 SRC_URI[sha256sum] = "847684cf5c10de1dc34145078af3fcf6e0d168ba98c14f1343b1062a4b569e88"
@@ -76,6 +78,8 @@
         ${D}${systemd_unitdir}/system/collectd.service
 }
 
+CONFFILES_${PN} = "${sysconfdir}/collectd.conf"
+
 INITSCRIPT_NAME = "collectd"
 INITSCRIPT_PARAMS = "defaults"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.3.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.3.5.bb
deleted file mode 100644
index 508277e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.3.5.bb
+++ /dev/null
@@ -1,56 +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
-
-SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "8894f00d499e0755467b381e6346f9ff"
-SRC_URI[sha256sum] = "1d48cdfa224b0ceb02e27fe9d56b738fb2a92262b04b15bb3a67e1c4248da8e2"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
-
-DEPENDS = "groff-native nss libqb"
-
-SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-INITSCRIPT_NAME = "corosync-daemon"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
-
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_unitdir}/system/,--with-systemddir="
-
-EXTRA_OECONF = "--with-upstartdir=%{_sysconfdir}/init"
-
-do_configure_prepend() {
-    ( cd ${S}
-    ${S}/autogen.sh )
-}
-
-do_install_append() {
-    install -d ${D}${sysconfdir}/sysconfig/
-    install -d ${D}/${sysconfdir}/init.d
-    install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
-    install -m 0644 ${S}/init/corosync-notifyd.conf.in ${D}${sysconfdir}/sysconfig/corosync-notifyd.conf
-    install -m 0644 ${S}/init/corosync.conf.in ${D}${sysconfdir}/sysconfig/corosync.conf
-    install -m 0644 ${S}/init/corosync.in ${D}${sysconfdir}/init.d/corosync
-    install -m 0644 ${S}/init/corosync-notifyd.in ${D}${sysconfdir}/init.d/corosync-notifyd
-
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        install -d ${D}${systemd_unitdir}/system
-        install -m 0644 ${S}/init/corosync.service.in ${D}${systemd_unitdir}/system/corosync.service
-        install -m 0644 ${S}/init/corosync-notifyd.service.in ${D}${systemd_unitdir}/system/corosync-notifyd.service
-        sed -i -e 's,@INITWRAPPERSDIR@,${sysconfdir}/init.d,g' ${D}${systemd_unitdir}/system/corosync.service
-        sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service
-        sed -i -e 's,@SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service
-    fi	
-}
-
-RDEPENDS_${PN} += "bash"
-
-FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.0.bb
new file mode 100644
index 0000000..a213a27
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/corosync/corosync_2.4.0.bb
@@ -0,0 +1,56 @@
+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
+
+SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz"
+SRC_URI[md5sum] = "11bdd5ee2aed5eb2443dd6d6acd6a1ab"
+SRC_URI[sha256sum] = "6fe9523852a892701c4c28c1cd32e067e44cf0e696d5ecf3790afdef1fc309cb"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
+
+DEPENDS = "groff-native nss libqb"
+
+SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_NAME = "corosync-daemon"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_unitdir}/system/,--with-systemddir="
+
+EXTRA_OECONF = "--with-upstartdir=%{_sysconfdir}/init"
+
+do_configure_prepend() {
+    ( cd ${S}
+    ${S}/autogen.sh )
+}
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/sysconfig/
+    install -d ${D}/${sysconfdir}/init.d
+    install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync
+    install -m 0644 ${S}/init/corosync-notifyd.conf.in ${D}${sysconfdir}/sysconfig/corosync-notifyd.conf
+    install -m 0644 ${S}/init/corosync.conf.in ${D}${sysconfdir}/sysconfig/corosync.conf
+    install -m 0644 ${S}/init/corosync.in ${D}${sysconfdir}/init.d/corosync
+    install -m 0644 ${S}/init/corosync-notifyd.in ${D}${sysconfdir}/init.d/corosync-notifyd
+
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+        install -d ${D}${systemd_unitdir}/system
+        install -m 0644 ${S}/init/corosync.service.in ${D}${systemd_unitdir}/system/corosync.service
+        install -m 0644 ${S}/init/corosync-notifyd.service.in ${D}${systemd_unitdir}/system/corosync-notifyd.service
+        sed -i -e 's,@INITWRAPPERSDIR@,${sysconfdir}/init.d,g' ${D}${systemd_unitdir}/system/corosync.service
+        sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service
+        sed -i -e 's,@SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service
+    fi
+}
+
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.2-20150920.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.2-20150920.bb
deleted file mode 100644
index 6fef9d6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.2-20150920.bb
+++ /dev/null
@@ -1,30 +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[md5sum] = "2b7c002b0a88ce1e0014af34b6b1ebdc"
-SRC_URI[sha256sum] = "c4e61ec5768701683dd4b5b2ebd8a31e6289fa6a1f5801e4b481085650698c05"
-
-SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz \
-          "
-
-# 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-20160424.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160424.bb
new file mode 100644
index 0000000..2d8fbae
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20160424.bb
@@ -0,0 +1,30 @@
+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[md5sum] = "582d804252205f73df2d892ebdc5212e"
+SRC_URI[sha256sum] = "47f5870876e778aa2902f2e91b4070418d4651b647e1a67a94127cb8aab5b5eb"
+
+SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz \
+          "
+
+# 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/efibootmgr/efibootmgr_0.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
index 9b611ce..0dee582 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.12.bb
@@ -10,20 +10,20 @@
 
 COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
 
-SRC_URI = "https://github.com/rhinstaller/efibootmgr/releases/download/${BP}/${BP}.tar.bz2 \
-           file://ldflags.patch \
+SRCREV = "75d25807ba81cb724964c989012611272c8f1f5d"
+SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \
           "
 
-SRC_URI[md5sum] = "6647f5cd807bc8484135ba74fcbcc39a"
-SRC_URI[sha256sum] = "a66f5850677e86255d93cb1cead04c3c48a823a2b864c579321f2a07f00256e6"
+S = "${WORKDIR}/git"
+
+
+inherit pkgconfig
 
 EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/include `pkg-config --cflags efivar` \
                  -DEFIBOOTMGR_VERSION=\"$(RELEASE_MAJOR).$(RELEASE_MINOR)\" '"
 
 do_install () {
-    install -D -p -m0755 src/efibootmgr/efibootmgr ${D}/${sbindir}/efibootmgr
+    install -D -p -m0755 src/efibootmgr ${D}/${sbindir}/efibootmgr
 }
 
-inherit pkgconfig
 
-PNBLACKLIST[efibootmgr] ?= "Depends on blacklisted efivar"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/files/ldflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/files/ldflags.patch
deleted file mode 100644
index 0d5594a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efibootmgr/files/ldflags.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Pending
-
-Import this patch from meta-linaro.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
---- efibootmgr-0.5.4.orig/Makefile
-+++ efibootmgr-0.5.4/Makefile
-@@ -11,6 +11,8 @@
-   CFLAGS = $(EXTRA_CFLAGS) -DEFIBOOTMGR_VERSION=\"$(RELEASE_MAJOR).$(RELEASE_MINOR).$(RELEASE_SUBLEVEL)$(RELEASE_EXTRALEVEL)\" \
- 	    -Wall -g -D_FILE_OFFSET_BITS=64
- 
-+  LDFLAGS += -lz
-+
-   MODULES := src
- 
-   BINDIR := /usr/sbin
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
index 4bd7d95..6f6ca64 100644
--- 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
@@ -1,31 +1,35 @@
-From 7036e8b0dca61432970789e5397b6fb02b362c2b Mon Sep 17 00:00:00 2001
+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] efivar: fix for cross compile
+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 6eac858..ef4eb1d 100644
+index 5fc7887..1829d22 100644
 --- a/src/Makefile
 +++ b/src/Makefile
-@@ -65,8 +65,8 @@ makeguids.o : makeguids.c
- makeguids : makeguids.o fakeguid.o
- 	$(CC) $(cflags) -o $@ $^ -ldl
- 
+@@ -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 guid-symbols.S $@
+-	./makeguids guids.txt guids.bin names.bin \
 +include/efivar/efivar-guids.h : guids.txt
-+	makeguids guids.txt guids.bin names.bin guid-symbols.S $@
++	makeguids guids.txt guids.bin names.bin \
+ 		guid-symbols.c include/efivar/efivar-guids.h
  
- guidlist.o : guids.S include/efivar/efivar-guids.h
- 	$(CC) $(cflags) -c -o guidlist.o guids.S
+ makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT
 -- 
-2.6.0.rc2.10.gf4d9753
+2.4.3
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch
new file mode 100644
index 0000000..951b159
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch
@@ -0,0 +1,33 @@
+From 126e0d3c1ad74cf5b0abe9e98ec444bcc3c83159 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen.kooi@linaro.org>
+Date: Fri, 4 Mar 2016 14:53:55 +0100
+Subject: [PATCH 2/2] disable static build
+
+Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
+
+Upstream-Status: Inappropriate [meta-oe specific]
+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 1829d22..c7a0ca3 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -8,9 +8,9 @@ include $(TOPDIR)/Make.defaults
+ 
+ LIBTARGETS=libefivar.so libefiboot.so
+ STATICLIBTARGETS=libefivar.a libefiboot.a
+-BINTARGETS=efivar efivar-static
++BINTARGETS=efivar
+ PCTARGETS=efivar.pc efiboot.pc
+-TARGETS=$(LIBTARGETS) $(STATICLIBTARGETS) $(BINTARGETS) $(PCTARGETS)
++TARGETS=$(LIBTARGETS) $(BINTARGETS) $(PCTARGETS)
+ 
+ LIBEFIBOOT_SOURCES = crc32.c creator.c disk.c gpt.c linux.c loadopt.c
+ LIBEFIBOOT_OBJECTS = $(patsubst %.c,%.o,$(LIBEFIBOOT_SOURCES))
+-- 
+2.4.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
new file mode 100644
index 0000000..3f43f2a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0003-efivar-fix-for-cross-compile.patch
@@ -0,0 +1,44 @@
+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/0004-fix-unknow-option-for-gold-linker.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch
new file mode 100644
index 0000000..5d50c19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch
@@ -0,0 +1,38 @@
+From b3d35e7dd27a755df5acbe050837885914dbb28b Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 10 May 2016 11:34:50 -0400
+Subject: [PATCH]  fix unknow option for gold linker
+
+- Revert the following patch, since oe-core work with gcc 5
+...
+commit 3055a3797f16693dfdd855fa68bc57fd900dc408
+Author: Peter Jones <pjones@redhat.com>
+Date:   Mon Feb 15 14:15:40 2016 -0500
+
+    Make gcc.specs work with gcc 6 / binutils 2.26
+
+    Apparently binutils 2.26 gets real picky about "ld -PIC" vs "ld -fPIC".
+
+    Signed-off-by: Peter Jones <pjones@redhat.com>
+...
+
+- Remove unknown option '--add-needed'
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ gcc.specs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc.specs b/gcc.specs
+index 24fabc2..5b0fdef 100644
+--- a/gcc.specs
++++ b/gcc.specs
+@@ -14,4 +14,4 @@
+ + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
+ 
+ *link:
+-+ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-PIE}} %{shared:-z relro -PIC} %{static:%<pie}
+++ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro -fPIC} %{static:%<pie}
+-- 
+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
new file mode 100644
index 0000000..87f5555
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch
@@ -0,0 +1,23 @@
+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/efivar-drop-options-not-supported-by-lower-version-gcc.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/efivar-drop-options-not-supported-by-lower-version-gcc.patch
deleted file mode 100644
index 7f04b19..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/efivar-drop-options-not-supported-by-lower-version-gcc.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-gcc options '-Wmaybe-uninitialized' and '-std=gnu11' are not recognized by gcc
-whose version is lower than 4.6, such as on Ubuntu 12.04. Drop them for backward
-compatible.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-diff --git a/Make.defaults b/Make.defaults
-index cc2baa9..118ae56 100644
---- a/Make.defaults
-+++ b/Make.defaults
-@@ -10,10 +10,9 @@ CFLAGS	?= -O2 -g
- 
- ARCH = $(shell uname -m)
- clang_cflags =
--gcc_cflags = -Wmaybe-uninitialized
- cflags	:= $(CFLAGS) \
- 	-Werror -Wall -Wsign-compare -Wstrict-aliasing \
--	-std=gnu11 -fshort-wchar -fPIC \
-+	-fshort-wchar -fPIC \
- 	-fvisibility=hidden \
- 	-D_GNU_SOURCE -I${TOPDIR}/src/include/efivar/ \
- 	$(if $(filter $(CC),clang),$(clang_cflags),) \
-diff --git a/src/guid.h b/src/guid.h
-index 9542ee1..0817991 100644
---- a/src/guid.h
-+++ b/src/guid.h
-@@ -31,7 +31,8 @@ static inline int
- real_isspace(char c)
- {
- 	char spaces[] = " \f\n\r\t\v";
--	for (int i = 0; spaces[i] != '\0'; i++)
-+	int i;
-+	for (i = 0; spaces[i] != '\0'; i++)
- 		if (c == spaces[i])
- 			return 1;
- 	return 0;
-@@ -59,7 +60,8 @@ check_sanity(const char *text, size_t len)
- static inline int
- check_segment_sanity(const char *text, size_t len)
- {
--	for(unsigned int i = 0; i < len; i++) {
-+	unsigned int i;
-+	for(i = 0; i < len; i++) {
- 		if (text[i] >= '0' && text[i] <= '9')
- 			continue;
- 		/* "| 0x20" is tolower() without having to worry about
-diff --git a/src/makeguids.c b/src/makeguids.c
-index e9acf15..7e16cb2 100644
---- a/src/makeguids.c
-+++ b/src/makeguids.c
-@@ -150,7 +150,8 @@ main(int argc, char *argv[])
- 
- 	fprintf(header, "#ifndef EFIVAR_GUIDS_H\n#define EFIVAR_GUIDS_H 1\n\n");
- 
--	for (unsigned int i = 0; i < line-1; i++) {
-+	unsigned int i, j;
-+	for (i = 0; i < line-1; i++) {
- 		if (!strcmp(outbuf[i].symbol, "efi_guid_zero"))
- 			fprintf(symout, "\t.globl %s\n"
- 					"\t.data\n"
-@@ -176,7 +177,7 @@ main(int argc, char *argv[])
- 			fprintf(symout, "efi_guid_empty:\n");
- 
- 		uint8_t *guid_data = (uint8_t *) &outbuf[i].guid;
--		for (unsigned int j = 0; j < sizeof (efi_guid_t); j++)
-+		for (j = 0; j < sizeof (efi_guid_t); j++)
- 			fprintf(symout,"\t.byte 0x%02x\n", guid_data[j]);
- 
- 		fprintf(symout, "%s_end:\n", outbuf[i].symbol);
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
new file mode 100644
index 0000000..1c68a29
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar/fix-compile-failure-with-host-gcc-4.6.patch
@@ -0,0 +1,45 @@
+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(-)
+
+diff --git a/gcc.specs b/gcc.specs
+index 0d4bbda..3802ca6 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 -flto -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}
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.21.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.21.bb
deleted file mode 100644
index f7a4d55..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.21.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Tools to manipulate UEFI variables"
-DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility"
-HOMEPAGE = "https://github.com/rhinstaller/efivar"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
-
-DEPENDS_class-target = "popt efivar-native"
-
-SRCREV = "aab6c2a64d90b6e5a63661fb5bd6be8d878b0784"
-SRC_URI = "git://github.com/rhinstaller/efivar.git"
-SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch"
-SRC_URI_append_class-native = " file://efivar-drop-options-not-supported-by-lower-version-gcc.patch"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-    oe_runmake install DESTDIR=${D}
-}
-
-do_compile_class-native() {
-    oe_runmake -C src makeguids
-}
-
-do_install_class-native() {
-    install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids
-}
-
-BBCLASSEXTEND = "native"
-
-# See
-# http://lists.openembedded.org/pipermail/openembedded-core/2016-February/116564.html
-# http://lists.openembedded.org/pipermail/openembedded-core/2016-February/116571.html
-# http://lists.openembedded.org/pipermail/openembedded-devel/2016-February/105802.html
-# http://lists.openembedded.org/pipermail/openembedded-devel/2016-February/105786.html
-# but it's still broken:
-# http://lists.openembedded.org/pipermail/openembedded-devel/2016-February/105825.html
-# http://lists.openembedded.org/pipermail/openembedded-devel/2016-February/105830.html
-PNBLACKLIST[efivar] ?= "BROKEN: linux.c:27:30: fatal error: linux/nvme_ioctl.h: No such file or directory"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.24.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.24.bb
new file mode 100644
index 0000000..efffde5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.24.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Tools to manipulate UEFI variables"
+DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility"
+HOMEPAGE = "https://github.com/rhinstaller/efivar"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
+
+DEPENDS = "popt"
+DEPENDS_append_class-target = " efivar-native"
+
+COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
+
+SRCREV = "963cb2e5adc145fe00717f94e382f2973f80e753"
+SRC_URI = "git://github.com/rhinstaller/efivar.git \
+           file://0002-disable-static-build.patch \
+"
+SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \
+                                file://0003-efivar-fix-for-cross-compile.patch \
+                                ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'file://0004-fix-unknow-option-for-gold-linker.patch', '', d)} \
+                              "
+SRC_URI_append_class-native = " file://fix-compile-failure-with-host-gcc-4.6.patch \
+                                file://allow-multi-definitions-for-native.patch \
+                              "
+
+S = "${WORKDIR}/git"
+
+# Setting CROSS_COMPILE breaks pkgconfig, so just set AR
+EXTRA_OEMAKE = "AR=${TARGET_PREFIX}gcc-ar"
+
+do_compile_prepend() {
+    sed -i -e s:-Werror::g ${S}/gcc.specs
+}
+
+do_install() {
+    oe_runmake install DESTDIR=${D}
+}
+
+do_install_append_class-native() {
+    install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids
+}
+
+BBCLASSEXTEND = "native"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch
new file mode 100644
index 0000000..6c2f64e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-Fix-compilation-on-aarch64.patch
@@ -0,0 +1,62 @@
+From d9e4dc750dc45e42b482d744829254a3672c11b3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Oct 2016 00:24:08 +0000
+Subject: [PATCH 1/3] Fix compilation on aarch64
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ arch.h     | 2 +-
+ hwaccess.c | 2 +-
+ hwaccess.h | 6 +++---
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+Index: flashrom-0.9.6.1/arch.h
+===================================================================
+--- flashrom-0.9.6.1.orig/arch.h
++++ flashrom-0.9.6.1/arch.h
+@@ -27,7 +27,7 @@
+ #define __FLASHROM_ARCH__ "mips"
+ #elif defined(__powerpc__) || defined(__powerpc64__) || defined(__ppc__) || defined(__ppc64__)
+ #define __FLASHROM_ARCH__ "ppc"
+-#elif defined(__arm__)
++#elif defined(__arm__) || defined(__aarch64__)
+ #define __FLASHROM_ARCH__ "arm"
+ #endif
+ __FLASHROM_ARCH__
+Index: flashrom-0.9.6.1/hwaccess.c
+===================================================================
+--- flashrom-0.9.6.1.orig/hwaccess.c
++++ flashrom-0.9.6.1/hwaccess.c
+@@ -121,7 +121,7 @@ int rget_io_perms(void)
+ 	return 0;
+ }
+ 
+-#elif defined (__arm__)
++#elif defined (__arm__) || defined (__aarch64__)
+ 
+ static inline void sync_primitive(void)
+ {
+Index: flashrom-0.9.6.1/hwaccess.h
+===================================================================
+--- flashrom-0.9.6.1.orig/hwaccess.h
++++ flashrom-0.9.6.1/hwaccess.h
+@@ -68,8 +68,8 @@
+ #error Little-endian PowerPC #defines are unknown
+ #endif
+ 
+-#elif defined (__arm__)
+-#if defined (__ARMEL__)
++#elif defined (__arm__) || defined (__aarch64__)
++#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+ #define __FLASHROM_LITTLE_ENDIAN__ 1
+ #else
+ #error Big-endian ARM #defines are unknown
+@@ -337,7 +337,7 @@ int libpayload_wrmsr(int addr, msr_t msr
+ 
+ /* PCI port I/O is not yet implemented on MIPS. */
+ 
+-#elif defined(__arm__)
++#elif defined(__arm__) || defined (__aarch64__)
+ 
+ /* Non memory mapped I/O is not supported on ARM. */
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch
new file mode 100644
index 0000000..ff16f0b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0001-ichspi.c-Fix-build-with-clang.patch
@@ -0,0 +1,29 @@
+From a2f603c54013cd0b04bb0103dc615644f315d5e8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Nov 2016 17:39:24 +0000
+Subject: [PATCH] ichspi.c: Fix build with clang
+
+ichspi.c:1130:24: error: duplicate 'const' declaration specifier [-Werror,-Wduplicate-decl-specifier]
+        static const uint32_t const dec_berase[4] = {
+                              ^
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ichspi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ichspi.c b/ichspi.c
+index 0223ae3..e47aebd 100644
+--- a/ichspi.c
++++ b/ichspi.c
+@@ -1127,7 +1127,7 @@ static void ich_hwseq_set_addr(uint32_t addr)
+ static uint32_t ich_hwseq_get_erase_block_size(unsigned int addr)
+ {
+ 	uint8_t enc_berase;
+-	static const uint32_t const dec_berase[4] = {
++	static const uint32_t dec_berase[4] = {
+ 		256,
+ 		4 * 1024,
+ 		8 * 1024,
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch
new file mode 100644
index 0000000..aec11bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0002-Disable-Wtautological-pointer-compare-when-using-cla.patch
@@ -0,0 +1,35 @@
+From 9be0d152dfe8ac0f9b665d61aeb3f99dae533e0f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Oct 2016 00:25:09 +0000
+Subject: [PATCH 2/3] Disable Wtautological-pointer-compare when using clang
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ flashrom.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/flashrom.c b/flashrom.c
+index 04e9934..bf49104 100644
+--- a/flashrom.c
++++ b/flashrom.c
+@@ -1569,6 +1569,9 @@ int selfcheck(void)
+ 	 * For 'flashchips' we check the first element to be non-null. In the
+ 	 * other cases there exist use cases where the first element can be
+ 	 * null. */
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wtautological-pointer-compare"
++
+ 	if (flashchips == NULL || flashchips[0].vendor == NULL) {
+ 		msg_gerr("Flashchips table miscompilation!\n");
+ 		ret = 1;
+@@ -1602,6 +1605,7 @@ int selfcheck(void)
+ 		msg_gerr("Known laptops table does not exist!\n");
+ 		ret = 1;
+ 	}
++#pragma clang diagnostic pop
+ #endif
+ 	return ret;
+ }
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch
new file mode 100644
index 0000000..99283d3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom/0003-remove-duplicate-const-qualifiers.patch
@@ -0,0 +1,71 @@
+From 42ec9bd51e60aa38fe6e78f644e742d6989b6683 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Oct 2016 00:25:23 +0000
+Subject: [PATCH 3/3] remove duplicate const qualifiers
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ bitbang_spi.c  | 12 ++++++------
+ dummyflasher.c |  2 +-
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/bitbang_spi.c b/bitbang_spi.c
+index 11d2de1..508cf45 100644
+--- a/bitbang_spi.c
++++ b/bitbang_spi.c
+@@ -26,33 +26,33 @@
+ #include "spi.h"
+ 
+ /* Note that CS# is active low, so val=0 means the chip is active. */
+-static void bitbang_spi_set_cs(const const struct bitbang_spi_master *master, int val)
++static void bitbang_spi_set_cs(const struct bitbang_spi_master *master, int val)
+ {
+ 	master->set_cs(val);
+ }
+ 
+-static void bitbang_spi_set_sck(const const struct bitbang_spi_master *master, int val)
++static void bitbang_spi_set_sck(const struct bitbang_spi_master *master, int val)
+ {
+ 	master->set_sck(val);
+ }
+ 
+-static void bitbang_spi_set_mosi(const const struct bitbang_spi_master *master, int val)
++static void bitbang_spi_set_mosi(const struct bitbang_spi_master *master, int val)
+ {
+ 	master->set_mosi(val);
+ }
+ 
+-static int bitbang_spi_get_miso(const const struct bitbang_spi_master *master)
++static int bitbang_spi_get_miso(const struct bitbang_spi_master *master)
+ {
+ 	return master->get_miso();
+ }
+ 
+-static void bitbang_spi_request_bus(const const struct bitbang_spi_master *master)
++static void bitbang_spi_request_bus(const struct bitbang_spi_master *master)
+ {
+ 	if (master->request_bus)
+ 		master->request_bus();
+ }
+ 
+-static void bitbang_spi_release_bus(const const struct bitbang_spi_master *master)
++static void bitbang_spi_release_bus(const struct bitbang_spi_master *master)
+ {
+ 	if (master->release_bus)
+ 		master->release_bus();
+diff --git a/dummyflasher.c b/dummyflasher.c
+index 66d0df0..d0de41c 100644
+--- a/dummyflasher.c
++++ b/dummyflasher.c
+@@ -66,7 +66,7 @@ int spi_ignorelist_size = 0;
+ static uint8_t emu_status = 0;
+ 
+ /* A legit complete SFDP table based on the MX25L6436E (rev. 1.8) datasheet. */
+-static const uint8_t const sfdp_table[] = {
++static const uint8_t sfdp_table[] = {
+ 	0x53, 0x46, 0x44, 0x50, // @0x00: SFDP signature
+ 	0x00, 0x01, 0x01, 0xFF, // @0x04: revision 1.0, 2 headers
+ 	0x00, 0x00, 0x01, 0x09, // @0x08: JEDEC SFDP header rev. 1.0, 9 DW long
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb
index a1f0b30..0edc688 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb
@@ -5,11 +5,18 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 DEPENDS = "pciutils"
 
-SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2"
+SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2 \
+           file://0001-Fix-compilation-on-aarch64.patch \
+           file://0002-Disable-Wtautological-pointer-compare-when-using-cla.patch \
+           file://0003-remove-duplicate-const-qualifiers.patch \
+           file://0001-ichspi.c-Fix-build-with-clang.patch \
+           "
 
 SRC_URI[md5sum] = "407e836c0a2b17ec76583cb6809f65e5"
 SRC_URI[sha256sum] = "6f7b588cce74c90b4fe9c9c794de105de76e0323442fb5770b1aeab81e9d560a"
 
+CFLAGS += "-Wno-error=unknown-pragmas"
+
 do_install() {
     oe_runmake PREFIX=${prefix} DESTDIR=${D} install
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.7.2.bb
new file mode 100644
index 0000000..c75f446
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_0.7.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Fast data collector for Embedded Linux"
+HOMEPAGE = "http://fluentbit.io"
+BUGTRACKER = "https://github.com/fluent/fluent-bit/issues"
+
+SRC_URI = "http://fluentbit.io/releases/0.7/fluent-bit-${PV}.tar.gz"
+SRC_URI[md5sum] = "6df9d676e1d2d782a243e655e144e8ae"
+SRC_URI[sha256sum] = "695b56ce378f56855c9554f88f5d8e4f7b11ba7691284903870f779912af4ebe"
+S = "${WORKDIR}/fluent-bit-${PV}"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
+
+DEPENDS = "zlib"
+INSANE_SKIP_${PN}-dev += "dev-elf"
+
+inherit cmake
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/fwts/fwts_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/fwts/fwts_git.bb
deleted file mode 100644
index 8b0e61b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/fwts/fwts_git.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Firmware testsuite"
-DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)."
-HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f"
-
-PV = "14.09.00"
-
-SRCREV = "cf14f3b4bab716dea95de772ad52786c1cbe862a"
-SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "libpcre json-c glib-2.0"
-
-inherit autotools-brokensep
-
-FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
-FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
-FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
-FILES_${PN}-dbg += "${libdir}/fwts/.debug"
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
index fbd1992d..bb44c41 100644
--- 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
@@ -6,27 +6,27 @@
 LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 SRC_URI = "http://www.issihosts.com/haveged/haveged-${PV}.tar.gz \
-		file://remove-systemd-unit-503.patch \
-		"
+    file://remove-systemd-unit-503.patch \
+"
 
 SRC_URI[md5sum] = "015ff58cd10607db0e0de60aeca2f5f8"
 SRC_URI[sha256sum] = "9c2363ed9542a6784ff08e247182137e71f2ddb79e8e6c1ac4ad50d21ced3715"
 
-PR = "r0"
-
 inherit autotools systemd
 
 EXTRA_OECONF = "\
-			--enable-init=service.redhat \
-			--enable-nistest=yes \
-			--enable-olt=yes \
-			--enable-threads=no \
-			"
+    --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
+    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/hplip/hplip_3.12.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
index 86628b1..9848e5a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
@@ -15,8 +15,6 @@
 
 inherit autotools-brokensep python-dir pythonnative pkgconfig
 
-export BUILD_SYS
-export HOST_SYS
 export STAGING_INCDIR
 export STAGING_LIBDIR
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.4.bb
deleted file mode 100644
index c235729..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data"
-HOMEPAGE = "http://www.digip.org/jansson/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6946b728e700de875e60ebb453cc3a20"
-
-SRC_URI = "http://www.digip.org/jansson/releases/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "c4629b89bf0432f3158c461e88fe0113"
-SRC_URI[sha256sum] = "1fcbd1ac3d8b610644acf86a5731d760bb228c9acbace20a2ad0f23baec79b41"
-
-inherit autotools pkgconfig
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.9.bb
new file mode 100644
index 0000000..455b374
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.9.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data"
+HOMEPAGE = "http://www.digip.org/jansson/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8b70213ec164c7bd876ec2120ba52f61"
+
+SRC_URI = "http://www.digip.org/jansson/releases/${BPN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "84abaefee9502b2f2ff394d758f160c7"
+SRC_URI[sha256sum] = "0ad0d074ca049a36637e7abef755d40849ad73e926b93914ce294927b97bd2a5"
+
+inherit autotools pkgconfig
+
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 768bdaa..772babf 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
@@ -20,6 +20,6 @@
 file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 EXTRA_OECONF = " --disable-static --disable-rebuilds"
-DEPENDS += "gtk+ glib-2.0 ruby-native"
+DEPENDS += "gtk+ glib-2.0 ruby-native intltool-native"
 
 inherit autotools pkgconfig gettext
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/files/0001-Fix-warnings-found-with-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/files/0001-Fix-warnings-found-with-clang.patch
new file mode 100644
index 0000000..f8114a0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/files/0001-Fix-warnings-found-with-clang.patch
@@ -0,0 +1,51 @@
+From ad1be542b87b3186f8ef7bee2c594daefe5bb4c8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Oct 2016 21:31:40 +0000
+Subject: [PATCH] Fix warnings found with clang
+
+| /mnt/oe/openembedded-core/build/workspace/sources/libplist/src/base64.c:107:12: error: non-void function 'base64decode' should return a value [-Wreturn-type]
+|         if (!buf) return;
+|                   ^
+| /mnt/oe/openembedded-core/build/workspace/sources/libplist/src/base64.c:109:16: error: non-void function 'base64decode' should return a value [-Wreturn-type]
+|         if (len <= 0) return;
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libcnary/node.c | 2 +-
+ src/base64.c    | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libcnary/node.c b/libcnary/node.c
+index 1f9f669..d6f3f63 100644
+--- a/libcnary/node.c
++++ b/libcnary/node.c
+@@ -104,7 +104,7 @@ int node_detach(node_t* parent, node_t* child) {
+ 
+ int node_insert(node_t* parent, unsigned int index, node_t* child)
+ {
+-	if (!parent || !child) return;
++	if (!parent || !child) return -1;
+ 	child->isLeaf = TRUE;
+ 	child->isRoot = FALSE;
+ 	child->parent = parent;
+diff --git a/src/base64.c b/src/base64.c
+index 65c6061..531a06a 100644
+--- a/src/base64.c
++++ b/src/base64.c
+@@ -104,9 +104,9 @@ static int base64decode_block(unsigned char *target, const char *data, size_t da
+ 
+ unsigned char *base64decode(const char *buf, size_t *size)
+ {
+-	if (!buf) return;
++	if (!buf) return 0;
+ 	size_t len = strlen(buf);
+-	if (len <= 0) return;
++	if (len <= 0) return 0;
+ 	unsigned char *outbuf = (unsigned char*)malloc((len/4)*3+3);
+ 
+ 	unsigned char *line;
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb
index 6e8d69f..f789796 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb
@@ -10,13 +10,22 @@
 
 SRC_URI = "http://www.libimobiledevice.org/downloads/libplist-${PV}.tar.bz2 \
            file://fix-parallel-make.patch \
-"
+           file://0001-Fix-warnings-found-with-clang.patch \
+           "
 
 SRC_URI[md5sum] = "2a9e0258847d50f9760dc3ece25f4dc6"
 SRC_URI[sha256sum] = "a418da3880308199b74766deef2a760a9b169b81a868a6a9032f7614e20500ec"
 
-PACKAGES =+ "${PN}-utils ${PN}++"
+do_install_append () {
+    if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then
+        chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so
+    fi
+}
+
+PACKAGES =+ "${PN}-utils ${PN}++ ${PN}-python"
 FILES_${PN} = "${libdir}/libplist${SOLIBS}"
 FILES_${PN}++ = "${libdir}/libplist++${SOLIBS}"
 FILES_${PN}-utils = "${bindir}/*"
+FILES_${PN}-python = "${libdir}/python*/site-packages/*"
+
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.2.bb
deleted file mode 100644
index 6fcfc3a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.2.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require libmodbus.inc
-
-# Use the stable branch by default
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI[md5sum] = "dd4262f87ed835c4d1e560f8321a222c"
-SRC_URI[sha256sum] = "661e14f9dc904f3f1b034464ddaa5fd4b8472f8f5d1ea10a1148af85591b7ee9"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb
new file mode 100644
index 0000000..d438a0a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb
@@ -0,0 +1,7 @@
+require libmodbus.inc
+
+# Use the stable branch by default
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI[md5sum] = "b1a8fd3a40d2db4de51fb0cbcb201806"
+SRC_URI[sha256sum] = "c8c862b0e9a7ba699a49bc98f62bdffdfafd53a5716c0e162696b4bf108d3637"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb
deleted file mode 100644
index 77307fe..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb
+++ /dev/null
@@ -1,26 +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"
-
-inherit autotools pkgconfig
-
-SRC_URI = "https://fedorahosted.org/releases/q/u/quarterback/${BP}.tar.xz \
-          "
-
-SRC_URI[md5sum] = "5770b343baa4528f6fec90120ec55048"
-SRC_URI[sha256sum] = "7a2115f83bfe20eaa5f2e4ed235e8f2994235d3b87e3e5ca41ba47b320f12e29"
-
-LICENSE = "LGPL-2.1"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
-
-do_configure_prepend() {
-    ( cd ${S}
-    ${S}/autogen.sh )
-}
-
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_0.17.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_0.17.2.bb
new file mode 100644
index 0000000..40d06f3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libqb/libqb_0.17.2.bb
@@ -0,0 +1,26 @@
+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"
+
+inherit autotools pkgconfig
+
+SRC_URI = "https://fedorahosted.org/releases/q/u/quarterback/${BP}.tar.xz \
+          "
+
+SRC_URI[md5sum] = "de1e5d38fa449b4d127940c10d117260"
+SRC_URI[sha256sum] = "9a419c649ed51f275dc780da8a15babb8a5d33633567bd9e0cb6193b6e21f4fe"
+
+LICENSE = "LGPL-2.1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
+
+do_configure_prepend() {
+    ( cd ${S}
+    ${S}/autogen.sh )
+}
+
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/makefile-add-ldflags.patch
new file mode 100644
index 0000000..821ab37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1.1/makefile-add-ldflags.patch
@@ -0,0 +1,17 @@
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/Makefile b/Makefile
+index 951b617..6d9b73d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -22,7 +22,7 @@ static: $(OBJECTS)
+ 	$(AR) cru libx86.a $(OBJECTS)
+ 
+ shared: $(OBJECTS)
+-	$(CC) $(CFLAGS) -o libx86.so.1 -shared -Wl,-soname,libx86.so.1 $(OBJECTS)
++	$(CC) $(CFLAGS) $(LDFLAGS) -o libx86.so.1 -shared -Wl,-soname,libx86.so.1 $(OBJECTS)
+ 
+ objclean:
+ 	$(MAKE) -C x86emu clean
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb
index 20c152c..d303147 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb
@@ -10,6 +10,7 @@
 SRC_URI = "http://www.codon.org.uk/~mjg59/libx86/downloads/${BPN}-${PV}.tar.gz \
            file://libx86-mmap-offset.patch \
            file://0001-assume-zero-is-valid-address.patch \
+           file://makefile-add-ldflags.patch \
 "
 
 SRC_URI[md5sum] = "41bee1f8e22b82d82b5f7d7ba51abc2a"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb
deleted file mode 100644
index b121522..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "A log file analysis program"
-DESCRIPTION = "\
-Logwatch is a customizable, pluggable log-monitoring system. It will go \
-through your logs for a given period of time and make a report in the areas \
-that you wish with the detail that you wish. Easy to use - works right out of \
-the package on many systems.\
-"
-SECTION = "devel"
-HOMEPAGE = "http://www.logwatch.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f2566bb12b16d2d80d90ebc533261aa7"
-RDEPENDS_${PN} = "perl"
-
-SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
-SRC_URI[md5sum] = "a0c3d8721f877bdcd4a9089eb1b4691b"
-SRC_URI[sha256sum] = "35ec31f9fe981aaa727b144ab3ff2eb655997d8ccabaf66586458f5dfc3a56eb"
-
-do_install() {
-    install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
-    install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles
-    install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services
-    install -m 0755 -d ${D}${localstatedir}/cache/logwatch
-    mv conf/ ${D}${datadir}/logwatch/default.conf
-    mv scripts/ ${D}${datadir}/logwatch/scripts
-    mv lib ${D}${datadir}/logwatch/lib
-    chown -R root:root ${D}${datadir}/logwatch
-
-    install -m 0755 -d ${D}${mandir}/man1
-    install -m 0755 -d ${D}${mandir}/man5
-    install -m 0755 -d ${D}${mandir}/man8
-    install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1
-    install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1
-    install -m 0644 ignore.conf.5 ${D}${mandir}/man5
-    install -m 0644 override.conf.5 ${D}${mandir}/man5
-    install -m 0644 logwatch.conf.5 ${D}${mandir}/man5
-    install -m 0644 logwatch.8 ${D}${mandir}/man8
-
-    install -m 0755 -d ${D}${sysconfdir}/cron.daily
-    install -m 0755 -d ${D}${sbindir}
-    ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch
-    cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF
-    DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\`
-    if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ]
-    then
-            logwatch
-    fi
-EOF
-    chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch
-
-    install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles
-    install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services
-    touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf
-    touch ${D}${sysconfdir}/logwatch/conf/ignore.conf
-    touch ${D}${sysconfdir}/logwatch/conf/override.conf
-    echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf
-    echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf
-    echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb
new file mode 100644
index 0000000..aea539e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb
@@ -0,0 +1,58 @@
+SUMMARY = "A log file analysis program"
+DESCRIPTION = "\
+Logwatch is a customizable, pluggable log-monitoring system. It will go \
+through your logs for a given period of time and make a report in the areas \
+that you wish with the detail that you wish. Easy to use - works right out of \
+the package on many systems.\
+"
+SECTION = "devel"
+HOMEPAGE = "http://www.logwatch.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f2566bb12b16d2d80d90ebc533261aa7"
+RDEPENDS_${PN} = "perl"
+
+SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
+SRC_URI[md5sum] = "22bd22841caa45f12c605abc3e0c2b09"
+SRC_URI[sha256sum] = "1dbdc48d65e150f2dbb43f1e4f4700d94166e053b1c7bbbdedf4ad670283720e"
+
+do_install() {
+    install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
+    install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles
+    install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services
+    install -m 0755 -d ${D}${localstatedir}/cache/logwatch
+    mv conf/ ${D}${datadir}/logwatch/default.conf
+    mv scripts/ ${D}${datadir}/logwatch/scripts
+    mv lib ${D}${datadir}/logwatch/lib
+    chown -R root:root ${D}${datadir}/logwatch
+
+    install -m 0755 -d ${D}${mandir}/man1
+    install -m 0755 -d ${D}${mandir}/man5
+    install -m 0755 -d ${D}${mandir}/man8
+    install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1
+    install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1
+    install -m 0644 ignore.conf.5 ${D}${mandir}/man5
+    install -m 0644 override.conf.5 ${D}${mandir}/man5
+    install -m 0644 logwatch.conf.5 ${D}${mandir}/man5
+    install -m 0644 logwatch.8 ${D}${mandir}/man8
+
+    install -m 0755 -d ${D}${sysconfdir}/cron.daily
+    install -m 0755 -d ${D}${sbindir}
+    ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch
+    cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF
+    DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\`
+    if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ]
+    then
+            logwatch
+    fi
+EOF
+    chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch
+
+    install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles
+    install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services
+    touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf
+    touch ${D}${sysconfdir}/logwatch/conf/ignore.conf
+    touch ${D}${sysconfdir}/logwatch/conf/override.conf
+    echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf
+    echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf
+    echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/md5deep/files/0001-Fix-errors-found-by-clang.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/md5deep/files/0001-Fix-errors-found-by-clang.patch
new file mode 100644
index 0000000..cc7cdc3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/md5deep/files/0001-Fix-errors-found-by-clang.patch
@@ -0,0 +1,32 @@
+From 6ef69a26126ee4e69a25392fd456b8a66c51dffd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Nov 2016 02:46:55 +0000
+Subject: [PATCH] Fix errors found by clang
+
+Fixes errors like
+
+../../git/src/hash.cpp:282:19: error: ordered comparison between pointer and zero ('const unsigned char *' and 'int')
+            if(fdht->base>0){
+               ~~~~~~~~~~^~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/hash.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/hash.cpp b/src/hash.cpp
+index 4216157..52f419b 100644
+--- a/src/hash.cpp
++++ b/src/hash.cpp
+@@ -279,7 +279,7 @@ void file_data_hasher_t::hash()
+ 		MAP_FILE|
+ #endif
+ 		MAP_SHARED,fd,0);
+-	    if(fdht->base>0){		
++	    if(fdht->base != (void *) -1){
+ 		/* mmap is successful, so set the bounds.
+ 		 * if it is not successful, we default to reading the fd
+ 		 */
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb
index 960e00f..bb30abe 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb
@@ -9,6 +9,7 @@
 
 SRC_URI = "git://github.com/jessek/hashdeep.git \
         file://wrong-variable-expansion.patch \
+        file://0001-Fix-errors-found-by-clang.patch \
         "
 
 S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch
new file mode 100644
index 0000000..b879d6a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch
@@ -0,0 +1,63 @@
+From 9c226fbc6a42540cb492fcfcb81ff16fffb086d6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Tue, 30 Aug 2016 23:24:53 +0200
+Subject: [PATCH] configure.ac: header detection of hash_map is broken - pin to
+ correct implementation
+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.ac | 31 ++++---------------------------
+ 1 file changed, 4 insertions(+), 27 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4f2118e..16c09d5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -252,35 +252,12 @@ AC_SUBST(GTKMATHVIEW_SIZEOF_WCHAR_T, "$ac_cv_sizeof_wchar_t")
+ 
+ AC_LANG_PUSH(C++)
+ 
+-AC_CHECK_HEADERS(unordered_map,
+-	[
+-		AC_DEFINE(GMV_HAVE_UNORDERED_MAP,1,[Define if <unordered_map> is provided])
+-		GMV_HAVE_UNORDERED_MAP_CFLAGS=-DGMV_HAVE_UNORDERED_MAP=1
+-	],
+-	[
+-		GMV_HAVE_UNORDERED_MAP_CFLAGS=
+-	]
+-)
++GMV_HAVE_UNORDERED_MAP_CFLAGS=
+ AC_SUBST(GMV_HAVE_UNORDERED_MAP_CFLAGS)
+-AC_CHECK_HEADERS(hash_map,
+-	[
+-		AC_DEFINE(GMV_HAVE_HASH_MAP,1,[Define if <hash_map> is provided])
+-		GMV_HAVE_HASH_MAP_CFLAGS=-DGMV_HAVE_HASH_MAP=1
+-	],
+-	[
+-		GMV_HAVE_HASH_MAP_CFLAGS=
+-	]
+-)
++GMV_HAVE_HASH_MAP_CFLAGS=
+ AC_SUBST(GMV_HAVE_HASH_MAP_CFLAGS)
+-AC_CHECK_HEADERS(ext/hash_map,
+-	[
+-		AC_DEFINE(GMV_HAVE_EXT_HASH_MAP,1,[Define if <ext/hash_map> is provided])
+-		GMV_HAVE_EXT_HASH_MAP_CFLAGS=-DGMV_HAVE_EXT_HASH_MAP=1
+-	],
+-	[
+-		GMV_HAVE_EXT_HASH_MAP_CFLAGS=
+-	]
+-)
++AC_DEFINE(GMV_HAVE_EXT_HASH_MAP,1,[Define if <ext/hash_map> is provided])
++GMV_HAVE_EXT_HASH_MAP_CFLAGS=-DGMV_HAVE_EXT_HASH_MAP=1
+ AC_SUBST(GMV_HAVE_EXT_HASH_MAP_CFLAGS)
+ 
+ AC_MSG_CHECKING([whether the C++ compiler supports the standard character traits])
+-- 
+2.5.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch
new file mode 100644
index 0000000..356274d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch
@@ -0,0 +1,93 @@
+From: Gert Wollny <gw.fossdev@gmail.com>
+Date: Sun, 26 Jun 2016 13:25:00 +0200
+Description: gcc 6.0 build fixes
+Bug: https://bugs.debian.org/811682
+
+Slightly adapted to our environment
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+--- a/src/engine/common/View.cc
++++ b/src/engine/common/View.cc
+@@ -291,7 +291,7 @@
+ 	  }
+     }
+ 
+-  return false;
++  return SmartPtr<Element>();
+ }
+ 
+ bool
+--- a/src/backend/common/tfm/TFM.hh
++++ b/src/backend/common/tfm/TFM.hh
+@@ -37,7 +37,7 @@
+     unsigned char face;
+     const char* codingScheme;
+     int designSize;
+-    int checksum;
++    unsigned int checksum;
+     unsigned int nDimensions;
+     unsigned int nCharacters;
+   };
+@@ -52,7 +52,7 @@
+   struct Kerning
+   {
+     UChar8 index;
+-    int value;
++    unsigned int value;
+   };
+ 
+   struct Ligature
+@@ -67,7 +67,7 @@
+     UChar8 index;
+     int width;
+     int height;
+-    int depth;
++    unsigned int depth;
+     int italicCorrection;
+     unsigned char nKernings;
+     const Kerning* kerning;
+--- a/src/backend/common/StandardSymbolsShaper.hh
++++ b/src/backend/common/StandardSymbolsShaper.hh
+@@ -32,20 +32,20 @@
+   struct HStretchyChar
+   {
+     Char16 ch;
+-    Char8 normal;
+-    Char8 left;
+-    Char8 glue;
+-    Char8 right;
++    UChar8 normal;
++    UChar8 left;
++    UChar8 glue;
++    UChar8 right;
+   };
+   
+   struct VStretchyChar
+   {
+     Char16 ch;
+-    Char8 normal;
+-    Char8 top;
+-    Char8 glue;
+-    Char8 middle;
+-    Char8 bottom;
++    UChar8 normal;
++    UChar8 top;
++    UChar8 glue;
++    UChar8 middle;
++    UChar8 bottom;
+   };
+ 
+ protected:
+--- a/src/backend/common/StandardSymbolsShaper.cc
++++ b/src/backend/common/StandardSymbolsShaper.cc
+@@ -29,7 +29,7 @@
+ #include "ShapingContext.hh"
+ 
+ struct GlyphMap {
+-  Char8 index;
++  UChar8 index;
+   Char16 ch;
+ };
+ 
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 3edbeed..c693639 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
@@ -9,9 +9,11 @@
 PV = "0.8.0+git${SRCPV}"
 
 SRC_URI = "git://github.com/GNOME/gtkmathview.git \
-           file://use_hostcxx.patch \
-	   file://0001-include-cstdio-to-get-printf-definitions.patch \
-          "
+    file://use_hostcxx.patch \
+    file://0001-include-cstdio-to-get-printf-definitions.patch \
+    file://0002-configure.ac-header-detection-of-hash_map-is-broken-.patch \
+    file://0003-gcc-6.0-build-fixes.patch \
+"
 
 S = "${WORKDIR}/git"
 
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
new file mode 100644
index 0000000..15ad03f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/Manually_mmap_heap_memory_esr17.patch
@@ -0,0 +1,115 @@
+From a0c0f32299419359b44ac0f880c1ea9073ae51e1 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
+ are clear. r=ehoogeveen
+
+There might be 48-bit VA on arm64 depending on kernel configuration.
+Manually mmap heap memory to align with the assumption made by JS engine.
+
+Change-Id: Ic5d2b2fe4b758b3c87cc0688348af7e71a991146
+
+Upstream-status: Backport
+
+---
+ js/src/gc/Memory.cpp | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 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
+--- a/js/src/gc/Memory.cpp
++++ b/js/src/gc/Memory.cpp
+@@ -306,6 +306,75 @@ InitMemorySubsystem()
+         MOZ_CRASH();
+ }
+ 
++static inline void *
++MapMemory(size_t length, int prot, int flags, int fd, off_t offset)
++{
++#if defined(__ia64__)
++    /*
++     * The JS engine assumes that all allocated pointers have their high 17 bits clear,
++     * which ia64's mmap doesn't support directly. However, we can emulate it by passing
++     * mmap an "addr" parameter with those bits clear. The mmap will return that address,
++     * or the nearest available memory above that address, providing a near-guarantee
++     * that those bits are clear. If they are not, we return NULL below to indicate
++     * out-of-memory.
++     *
++     * The addr is chosen as 0x0000070000000000, which still allows about 120TB of virtual
++     * address space.
++     *
++     * See Bug 589735 for more information.
++     */
++    void *region = mmap((void*)0x0000070000000000, length, prot, flags, fd, offset);
++    if (region == MAP_FAILED)
++        return MAP_FAILED;
++    /*
++     * If the allocated memory doesn't have its upper 17 bits clear, consider it
++     * as out of memory.
++     */
++    if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
++        JS_ALWAYS_TRUE(0 == munmap(region, length));
++        return MAP_FAILED;
++    }
++    return region;
++#elif defined(__aarch64__)
++   /*
++    * There might be similar virtual address issue on arm64 which depends on
++    * hardware and kernel configurations. But the work around is slightly
++    * different due to the different mmap behavior.
++    *
++    * TODO: Merge with the above code block if this implementation works for
++    * ia64 and sparc64.
++    */
++    const uintptr_t start = UINT64_C(0x0000070000000000);
++    const uintptr_t end   = UINT64_C(0x0000800000000000);
++    const uintptr_t step  = ChunkSize;
++   /*
++    * Optimization options if there are too many retries in practice:
++    * 1. Examine /proc/self/maps to find an available address. This file is
++    *    not always available, however. In addition, even if we examine
++    *    /proc/self/maps, we may still need to retry several times due to
++    *    racing with other threads.
++    * 2. Use a global/static variable with lock to track the addresses we have
++    *    allocated or tried.
++    */
++    uintptr_t hint;
++    void* region = MAP_FAILED;
++    for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) {
++        region = mmap((void*)hint, length, prot, flags, fd, offset);
++        if (region != MAP_FAILED) {
++            if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
++                if (munmap(region, length)) {
++                    MOZ_ASSERT(errno == ENOMEM);
++                }
++                region = MAP_FAILED;
++            }
++        }
++    }
++    return region == MAP_FAILED ? NULL : region;
++#else
++    return mmap(NULL, length, prot, flags, fd, offset);
++#endif
++}
++
+ void *
+ MapAlignedPages(size_t size, size_t alignment)
+ {
+@@ -319,12 +388,12 @@ MapAlignedPages(size_t size, size_t alignment)
+ 
+     /* Special case: If we want page alignment, no further work is needed. */
+     if (alignment == PageSize) {
+-        return mmap(NULL, size, prot, flags, -1, 0);
++        return MapMemory(size, prot, flags, -1, 0);
+     }
+ 
+     /* Overallocate and unmap the region's edges. */
+     size_t reqSize = Min(size + 2 * alignment, 2 * size);
+-    void *region = mmap(NULL, reqSize, prot, flags, -1, 0);
++    void *region = MapMemory(reqSize, prot, flags, -1, 0);
+     if (region == MAP_FAILED)
+         return NULL;
+ 
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
index 02d5694..24631e4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
@@ -10,11 +10,12 @@
     file://0003-Add-AArch64-support.patch;patchdir=../../ \
     file://0004-mozbug746112-no-decommit-on-large-pages.patch;patchdir=../../ \
     file://0005-aarch64-64k-page.patch;patchdir=../../ \
-    file://0001-regenerate-configure.patch;patchdir=../../ \ 
+    file://0001-regenerate-configure.patch;patchdir=../../ \
     file://fix-the-compile-error-of-powerpc64.patch;patchdir=../../ \
     file://fix_milestone_compile_issue.patch \
     file://0010-fix-cross-compilation-on-i586-targets.patch;patchdir=../../ \
     file://0001-add-support-for-big-endian-32bit-ARM.patch;patchdir=../../ \
+    file://Manually_mmap_heap_memory_esr17.patch;patchdir=../../ \
   "
 
 SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202"
@@ -37,7 +38,7 @@
     --enable-threadsafe \
     --disable-static \
 "
-EXTRA_OECONF_append_armv4 += " \
+EXTRA_OECONF_append_armv4 = " \
     --disable-methodjit \
 "
 
@@ -46,7 +47,7 @@
 
 # mozjs requires autoreconf 2.13
 do_configure() {
-    ( cd ${S} 
+    ( cd ${S}
       gnu-configize --force
       mv config.guess config.sub build/autoconf )
     ${S}/configure ${EXTRA_OECONF}
@@ -59,8 +60,8 @@
 }
 
 
-PACKAGES =+ "lib${PN}"
-FILES_lib${PN} += "${libdir}/lib*.so"
+PACKAGES =+ "lib${BPN}"
+FILES_lib${BPN} += "${libdir}/lib*.so"
 FILES_${PN}-dev += "${bindir}/js17-config"
 
 # Fails to build with thumb-1 (qemuarm)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb
index 5442910..7cfcbe2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-networking_0.3.1.bb
@@ -6,7 +6,7 @@
 LICENSE = "LGPL-2.1+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
 SECTION = "System/Management"
-DEPENDS = "openlmi-providers konkretcmpi sblim-cmpi-devel cim-schema-exper networkmanager dbus libcheck glib-2.0"
+DEPENDS = "openlmi-providers konkretcmpi konkretcmpi-native sblim-cmpi-devel cim-schema-exper networkmanager dbus libcheck glib-2.0"
 
 SRC_URI = "http://fedorahosted.org/released/${BPN}/${BP}.tar.gz \
            file://0001-fix-lib64-can-not-be-shiped-in-64bit-target.patch \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.2.bb
index 52b271c..2925f4b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.2.bb
@@ -12,10 +12,10 @@
 
 DEPENDS = "curl libxml2 openssl libpam"
 
-SRCREV = "ed7a119e036c53078d70fd85936d94dc9b9b98be"
-PV = "2.6.2"
+SRCREV = "feb7ec9b004fcaea0dbe65ce8a1a79cc29dd994c"
+PV = "2.6.3"
 
-SRC_URI = "git://github.com/Openwsman/openwsman.git;protocol=http \
+SRC_URI = "git://github.com/Openwsman/openwsman.git \
            file://libssl-is-required-if-eventint-supported.patch \
            file://openwsmand.service"
 
@@ -39,8 +39,6 @@
                 "
 
 do_configure_prepend() {
-    export HOST_SYS=${HOST_SYS}
-    export BUILD_SYS=${BUILD_SYS}
     export STAGING_INCDIR=${STAGING_INCDIR}
     export STAGING_LIBDIR=${STAGING_LIBDIR}
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch
index a3b02c5..b0a560f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch
@@ -7,25 +7,24 @@
 Signed-off-by: Raphael Freudiger <raphael.freudiger@siemens.com>
 Reviewed-By: Pascal Bach <pascal.bach@siemens.com>
 
-Index: p7zip_9.20.1/makefile.machine
-=====================================================================
---- p7zip_9.20.1/makefile.machine	2011-03-13 12:54:57.000000000 +0100
-+++ p7zip_9.20.1/makefile.machine	2015-02-03 08:39:44.427696944 +0100
-@@ -4,14 +4,14 @@
+diff -Nurp p7zip_15.14.1_orig/makefile.machine p7zip_15.14.1/makefile.machine
+--- p7zip_15.14.1_orig/makefile.machine	2016-03-23 20:37:47.000000000 +0100
++++ p7zip_15.14.1/makefile.machine	2016-06-17 15:33:39.720454477 +0200
+@@ -2,7 +2,7 @@
+ # makefile for Linux (x86, PPC, alpha ...)
+ #
  
- OPTFLAGS=-O
+-OPTFLAGS=-O -s
++OPTFLAGS=-O
  
--ALLFLAGS=${OPTFLAGS} -pipe -s \
-+ALLFLAGS=${OPTFLAGS} -pipe \
+ ALLFLAGS=${OPTFLAGS} -pipe \
      	-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
- 	-DNDEBUG -D_REENTRANT -DENV_UNIX \
+@@ -10,8 +10,6 @@ ALLFLAGS=${OPTFLAGS} -pipe \
  	-D_7ZIP_LARGE_PAGES \
  	$(LOCAL_FLAGS)
  
--CXX=g++ $(ALLFLAGS)
--CC=gcc $(ALLFLAGS)
-+CXX+=$(ALLFLAGS)
-+CC+=$(ALLFLAGS)
+-CXX=g++
+-CC=gcc
  CC_SHARED=-fPIC
  LINK_SHARED=-fPIC -shared
  
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
new file mode 100644
index 0000000..fdd51db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
@@ -0,0 +1,39 @@
+SUMMARY = "7-zip is a commandline utility handling 7z archives."
+HOMEPAGE = "http://www.7-zip.org/"
+LICENSE = "LGPL-2.1+ & unRAR"
+LIC_FILES_CHKSUM = "file://DOC/copying.txt;md5=4fbd65380cdd255951079008b364516c \
+                    file://DOC/unRarLicense.txt;md5=9c87ddde469ef94aed153b0951d088de \
+                    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"
+
+SRC_URI[md5sum] = "a0128d661cfe7cc8c121e73519c54fbf"
+SRC_URI[sha256sum] = "5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f"
+
+S = "${WORKDIR}/${BPN}_${PV}"
+
+do_install() {
+    install -d ${D}${bindir}
+    install -m 0755 ${S}/bin/* ${D}${bindir}
+}
+
+# all3: to build bin/7za, bin/7z (with its plugins), bin/7zr and bin/7zCon.sfx
+EXTRA_OEMAKE_class-native = "all3"
+
+do_install_class-native() {
+    install -d ${D}${bindir}
+    install -d ${D}${bindir}/Codecs
+    install -m 0755 ${S}/bin/7* ${D}${bindir}
+    install -m 0755 ${S}/bin/Codecs/* ${D}${bindir}/Codecs
+
+    # Create a shell script wrapper to execute next to 7z.so
+    mv ${D}${bindir}/7z ${D}${bindir}/7z.bin
+    cat > ${D}${bindir}/7z << 'EOF'
+#!/bin/sh
+exec "$(dirname "$0")"/7z.bin "$@"
+EOF
+    chmod 0755 ${D}${bindir}/7z
+}
+
+BBCLASSEXTEND += "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_9.20.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_9.20.1.bb
deleted file mode 100644
index b89fc42..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_9.20.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "7-zip is a commandline utility handling 7z archives."
-HOMEPAGE = "http://www.7-zip.org/"
-LICENSE = "LGPL-2.1+ & unRAR"
-LIC_FILES_CHKSUM = "file://DOCS/copying.txt;md5=ecfc54c9e37b63ac58900061ce2eab5a \
-                    file://DOCS/unRarLicense.txt;md5=9c87ddde469ef94aed153b0951d088de"
-
-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"
-SRC_URI[md5sum] = "bd6caaea567dc0d995c990c5cc883c89"
-SRC_URI[sha256sum] = "49557e7ffca08100f9fc687f4dfc5aea703ca207640c76d9dee7b66f03cb4782"
-
-S = "${WORKDIR}/${BPN}_${PV}"
-
-do_install() {
-    install -d ${D}${bindir}
-    install -m 0755 ${S}/bin/* ${D}${bindir}
-}
-
-# all3: to build bin/7za, bin/7z (with its plugins), bin/7zr and bin/7zCon.sfx
-EXTRA_OEMAKE_class-native = "all3"
-
-do_install_class-native() {
-    install -d ${D}${bindir}
-    install -d ${D}${bindir}/Codecs
-    install -m 0755 ${S}/bin/7* ${D}${bindir}
-    install -m 0755 ${S}/bin/Codecs/* ${D}${bindir}/Codecs
-
-    # Create a shell script wrapper to execute next to 7z.so
-    mv ${D}${bindir}/7z ${D}${bindir}/7z.bin
-    echo "#! /bin/sh" > ${D}${bindir}/7z
-    echo "exec ${D}${bindir}/7z.bin \"\$@\"" >> ${D}${bindir}/7z
-    chmod 0755 ${D}${bindir}/7z
-}
-
-BBCLASSEXTEND += "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.113.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.113.bb
index fdd198a..daafaf5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.113.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.113.bb
@@ -19,8 +19,8 @@
 
 PAM_SRC_URI = "file://polkit-1_pam.patch"
 SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
-           file://0001-make-netgroup-support-configurable.patch \
-           ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+    file://0001-make-netgroup-support-configurable.patch \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
 "
 SRC_URI[md5sum] = "4b77776c9e4f897dcfe03b2c34198edf"
 SRC_URI[sha256sum] = "e1c095093c654951f78f8618d427faf91cf62abdefed98de40ff65eca6413c81"
@@ -28,7 +28,7 @@
 EXTRA_OECONF = "--with-os-type=moblin --disable-man-pages"
 
 do_compile_prepend () {
-	export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs"
+    export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs"
 }
 
 PACKAGES =+ "${PN}-examples"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/hiredis-update-Makefile-to-add-symbols-to-staticlib.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/hiredis-update-Makefile-to-add-symbols-to-staticlib.patch
new file mode 100644
index 0000000..2b3b587
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis/hiredis-update-Makefile-to-add-symbols-to-staticlib.patch
@@ -0,0 +1,19 @@
+--- redis-3.0.2/deps/hiredis/Makefile.orig	2016-05-06 19:36:26.179003036 -0700
++++ redis-3.0.2/deps/hiredis/Makefile	2016-05-06 19:40:15.341340736 -0700
+@@ -25,7 +25,7 @@
+ 
+ # Fallback to gcc when $CC is not in $PATH.
+ CC?=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
+-OPTIMIZATION?=-O3
++OPTIMIZATION?=-O2
+ WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings
+ DEBUG?= -g -ggdb
+ REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG) $(ARCH)
+@@ -68,6 +68,7 @@
+ 
+ $(STLIBNAME): $(OBJ)
+ 	$(STLIB_MAKE_CMD) $(OBJ)
++	$(RANLIB) $@
+ 
+ dynamic: $(DYLIBNAME)
+ static: $(STLIBNAME)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb
index 55f2c96..2e4b760 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/redis/redis_3.0.2.bb
@@ -12,7 +12,9 @@
            file://oe-use-libc-malloc.patch \
            file://redis.conf \
            file://init-redis-server \
+           file://hiredis-update-Makefile-to-add-symbols-to-staticlib.patch \
 "
+
 SRC_URI[md5sum] = "87be8867447f62524b584813e5a7bd14"
 SRC_URI[sha256sum] = "93e422c0d584623601f89b956045be158889ebe594478a2c24e1bf218495633f"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.5.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.5.4.bb
deleted file mode 100644
index 216aafc..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.5.4.bb
+++ /dev/null
@@ -1,120 +0,0 @@
-SUMMARY = "High performance data logging and graphing system for time series data"
-HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3349111ed0533471494beec99715bc9d"
-
-DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native"
-
-SRCREV = "04f70058cc894c0a3ee5d555ea1bb5a8d4bb8a0e"
-PV = "1.5.4"
-
-SRC_URI = "\
-    git://github.com/oetiker/rrdtool-1.x.git;branch=1.5 \
-"
-
-S = "${WORKDIR}/git"
-
-inherit cpan autotools-brokensep gettext pythonnative python-dir systemd
-
-BBCLASSEXTEND = "native"
-
-SYSTEMD_SERVICE_${PN} = "rrdcached.socket rrdcached.service"
-
-EXTRA_AUTORECONF = "-I m4"
-
-PACKAGECONFIG ??= "python perl ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
-
-PACKAGECONFIG[python] = "--enable-python=yes \
-am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \
-am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\
---disable-python,python,"
-
-PACKAGECONFIG[perl] = \
-"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor"' \
-ac_cv_path_PERL_CC='${CC}',  \
---disable-perl,perl,"
-
-PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi"
-
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
-
-EXTRA_OECONF = " \
-    --enable-shared \
-    --disable-libwrap \
-    --program-prefix='' \
-    rd_cv_ieee_works=yes \
-    --disable-ruby \
-    --disable-lua \
-    --disable-tcl \
-    --disable-rpath \
-"
-
-export BUILD_SYS
-export HOST_SYS
-export STAGING_LIBDIR
-export STAGING_INCDIR
-
-# emulate cpan_do_configure
-EXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" '
-# Avoid do_configure error on some hosts
-export PERLHOSTLIB = ""
-
-do_configure() {
-    #fix the pkglib problem with newer automake
-    #perl
-    sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \
-        ${S}/bindings/perl-shared/Makefile.PL
-
-    #python
-    sed -i -e '/PYTHON_INCLUDES="-I${/c \
-    PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \
-        ${S}/m4/acinclude.m4
-    #remove the useless RPATH from the rrdtool.so
-    sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am
-
-    autotools_do_configure
-
-    #modify python sitepkg
-    #remove the dependency of perl-shared:Makefile
-    #or perl-shared/Makefile will be regenerated
-    #if any code touch bindings/Makefile after below perl bindings code
-    sed -i -e "s:python/setup.py install:python/setup.py install \
-        --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \
-        -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \
-        ${B}/bindings/Makefile
-
-    #redo the perl bindings
-    (
-    cd ${S}/bindings/perl-shared;
-    perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc";
-
-    cd ../../bindings/perl-piped;
-    perl Makefile.PL INSTALLDIRS="vendor";
-    )
-
-    #change the interpreter in file
-    sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \
-        ${B}/examples/Makefile
-    sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \
-        ${B}/examples/*.pl
-}
-
-PACKAGES =+ "${PN}-perl ${PN}-python"
-
-FILES_${PN}-doc += "${datadir}/rrdtool/examples"
-
-DESCRIPTION_${PN}-perl = \
-"The ${PN}-perl package includes RRDtool bindings for perl."
-FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \
-    ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*"
-RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \
-    perl-module-io-file perl-module-ipc-open2 perl-module-io-socket"
-
-DESCRIPTION_${PN}-python = \
-"The ${PN}-python package includes RRDtool bindings for python."
-FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-RDEPENDS_${PN}-python = "python"
-
-FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \
-    ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.6.0.bb
new file mode 100644
index 0000000..09aac4d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.6.0.bb
@@ -0,0 +1,118 @@
+SUMMARY = "High performance data logging and graphing system for time series data"
+HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3349111ed0533471494beec99715bc9d"
+
+DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native"
+
+SRCREV = "61f116744262c4c18922dcf806e496715f199669"
+PV = "1.6.0"
+
+SRC_URI = "\
+    git://github.com/oetiker/rrdtool-1.x.git;branch=1.6;protocol=http; \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cpan autotools-brokensep gettext pythonnative python-dir systemd
+
+BBCLASSEXTEND = "native"
+
+SYSTEMD_SERVICE_${PN} = "rrdcached.socket rrdcached.service"
+
+EXTRA_AUTORECONF = "-I m4"
+
+PACKAGECONFIG ??= "python perl ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+PACKAGECONFIG[python] = "--enable-python=yes \
+am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \
+am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\
+--disable-python,python,"
+
+PACKAGECONFIG[perl] = \
+"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor"' \
+ac_cv_path_PERL_CC='${CC}',  \
+--disable-perl,perl,"
+
+PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi"
+
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
+
+EXTRA_OECONF = " \
+    --enable-shared \
+    --disable-libwrap \
+    --program-prefix='' \
+    rd_cv_ieee_works=yes \
+    --disable-ruby \
+    --disable-lua \
+    --disable-tcl \
+    --disable-rpath \
+"
+
+export STAGING_LIBDIR
+export STAGING_INCDIR
+
+# emulate cpan_do_configure
+EXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" '
+# Avoid do_configure error on some hosts
+
+do_configure() {
+    unset PERLHOSTLIB
+    #fix the pkglib problem with newer automake
+    #perl
+    sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \
+        ${S}/bindings/perl-shared/Makefile.PL
+
+    #python
+    sed -i -e '/PYTHON_INCLUDES="-I${/c \
+    PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \
+        ${S}/m4/acinclude.m4
+    #remove the useless RPATH from the rrdtool.so
+    sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am
+
+    autotools_do_configure
+
+    #modify python sitepkg
+    #remove the dependency of perl-shared:Makefile
+    #or perl-shared/Makefile will be regenerated
+    #if any code touch bindings/Makefile after below perl bindings code
+    sed -i -e "s:python/setup.py install:python/setup.py install \
+        --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \
+        -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \
+        ${B}/bindings/Makefile
+
+    #redo the perl bindings
+    (
+    cd ${S}/bindings/perl-shared;
+    perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc";
+
+    cd ../../bindings/perl-piped;
+    perl Makefile.PL INSTALLDIRS="vendor";
+    )
+
+    #change the interpreter in file
+    sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \
+        ${B}/examples/Makefile
+    sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \
+        ${B}/examples/*.pl
+}
+
+PACKAGES =+ "${PN}-perl ${PN}-python"
+
+FILES_${PN}-doc += "${datadir}/rrdtool/examples"
+
+DESCRIPTION_${PN}-perl = \
+"The ${PN}-perl package includes RRDtool bindings for perl."
+FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \
+    ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*"
+RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \
+    perl-module-io-file perl-module-ipc-open2 perl-module-io-socket"
+
+DESCRIPTION_${PN}-python = \
+"The ${PN}-python package includes RRDtool bindings for python."
+FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+RDEPENDS_${PN}-python = "python"
+
+FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \
+    ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.4.bb
new file mode 100644
index 0000000..2e23d7e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A fork of json-c library"
+HOMEPAGE = "https://github.com/rsyslog/libfastjson"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a958bb07122368f3e1d9b2efe07d231f"
+
+DEPENDS = ""
+
+SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https"
+
+SRCREV = "6e057a094cb225c9d80d8d6e6b1f36ca88a942dd"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.12.bb
new file mode 100644
index 0000000..84c2583
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.2.12.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A reliable logging library"
+HOMEPAGE = "https://github.com/rsyslog/libfastjson"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9"
+
+DEPENDS = "gmp nettle libidn zlib gnutls"
+
+SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https"
+
+SRCREV = "02c3be4f5c39fec59d05cd8b75b08dbba04098ad"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/enable_tls_ptests.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/enable_tls_ptests.patch
deleted file mode 100644
index c858f32..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/enable_tls_ptests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Enable tls ptest
-
-Signed-off-by: Tudor Florea <tudor.florea@enea.com>
-Upstream-Status: Pending
-
---- rsyslog-7.4.4/tests/Makefile.am.orig	2013-08-30 18:30:41.000000000 +0200
-+++ rsyslog-7.4.4/tests/Makefile.am	2015-10-01 09:38:45.176289031 +0200
-@@ -118,15 +118,13 @@
- endif
- 
- if ENABLE_GNUTLS
--# TODO: re-enable in newer version
--#TESTS +=  \
--	#sndrcv_tls_anon.sh \
--	#sndrcv_tls_anon_rebind.sh \
--	#imtcp-tls-basic.sh
-+TESTS +=  \
-+	 imtcp-tls-basic.sh \
-+	 imtcp_conndrop_tls.sh
- if HAVE_VALGRIND
- TESTS += imtcp-tls-basic-vg.sh \
--	 imtcp_conndrop_tls-vg.sh 
--	 manytcp-too-few-tls-vg.sh 
-+	 imtcp_conndrop_tls-vg.sh \
-+	 manytcp-too-few-tls.sh
- endif
- endif
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch
deleted file mode 100644
index 3dd85a7..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-json-c-0.12 unlike 0.11 doesn't install json -> json-c symlink in include
-
-* Resolved in Version 7.6.4 [v7.6-stable] 2014-09-12
-  https://github.com/rsyslog/rsyslog/blob/v7-stable/ChangeLog
-* permits to build against json-c 0.12
-  Unfortunately, json-c had an ABI breakage, so this is necessary. Note
-  that versions prior to 0.12 had security issues (CVE-2013-6370,
-  CVE-2013-6371) and so it is desirable to link against the new version.
-  Thanks to Thomas D. for the patch. Note that at least some distros
-  have fixed the security issue in older versions of json-c, so this
-  seems to apply mostly when building from sources.
-
-Upstream-Status: Backport
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-diff --git a/plugins/ommongodb/ommongodb.c b/plugins/ommongodb/ommongodb.c
-index 41c0d76..682c40e 100644
---- a/plugins/ommongodb/ommongodb.c
-+++ b/plugins/ommongodb/ommongodb.c
-@@ -33,9 +33,9 @@
- #include <stdint.h>
- #include <time.h>
- #include <mongo.h>
--#include <json.h>
-+#include <json-c/json.h>
- /* For struct json_object_iter, should not be necessary in future versions */
--#include <json_object_private.h>
-+#include <json-c/json_object_private.h>
- 
- #include "rsyslog.h"
- #include "conf.h"
-diff --git a/runtime/msg.c b/runtime/msg.c
-index d04ce7b..b367e1f 100644
---- a/runtime/msg.c
-+++ b/runtime/msg.c
-@@ -41,9 +41,9 @@
- #endif
- #include <netdb.h>
- #include <libestr.h>
--#include <json.h>
-+#include <json-c/json.h>
- /* For struct json_object_iter, should not be necessary in future versions */
--#include <json_object_private.h>
-+#include <json-c/json_object_private.h>
- #if HAVE_MALLOC_H
- #  include <malloc.h>
- #endif
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/replace_deprecated_GnuTLS_functions.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/replace_deprecated_GnuTLS_functions.patch
deleted file mode 100644
index be05eee..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/replace_deprecated_GnuTLS_functions.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-replace deprecated GnuTLS functions with newer ones if available
-
-closes https://github.com/rsyslog/rsyslog/issues/302
-
-Upstream fix https://github.com/rsyslog/rsyslog/commit/b34c35e38f258935c0e92ca754da097d7f3f0f58
-
-Upstream-Status: Backport
-Signed-off-by: Tudor Florea  <tudor.florea@enea.com>
-
----
- configure.ac       |  2 ++
- runtime/nsd_gtls.c | 21 ++++++++++++++++++---
- 2 files changed, 20 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 643fc94..56835fb 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -763,6 +763,8 @@ AC_ARG_ENABLE(gnutls,
- if test "x$enable_gnutls" = "xyes"; then
- 	PKG_CHECK_MODULES(GNUTLS, gnutls >= 1.4.0)
- 	AC_DEFINE([ENABLE_GNUTLS], [1], [Indicator that GnuTLS is present])
-+        AC_CHECK_LIB(gnutls, gnutls_global_init)
-+	AC_CHECK_FUNCS(gnutls_certificate_set_retrieve_function,,)
- fi
- AM_CONDITIONAL(ENABLE_GNUTLS, test x$enable_gnutls = xyes)
- 
-diff --git a/runtime/nsd_gtls.c b/runtime/nsd_gtls.c
-index a763e4b..e127834 100644
---- a/runtime/nsd_gtls.c
-+++ b/runtime/nsd_gtls.c
-@@ -232,15 +232,26 @@ gtlsLoadOurCertKey(nsd_gtls_t *pThis)
-  */
- static int
- gtlsClientCertCallback(gnutls_session session,
--              __attribute__((unused)) const gnutls_datum* req_ca_rdn, int __attribute__((unused)) nreqs,
--              __attribute__((unused)) const gnutls_pk_algorithm* sign_algos, int __attribute__((unused)) sign_algos_length,
--              gnutls_retr_st *st)
-+        __attribute__((unused)) const gnutls_datum* req_ca_rdn,
-+	int __attribute__((unused)) nreqs,
-+        __attribute__((unused)) const gnutls_pk_algorithm* sign_algos,
-+	int __attribute__((unused)) sign_algos_length,
-+#if HAVE_GNUTLS_CERTIFICATE_SET_RETRIEVE_FUNCTION
-+	gnutls_retr2_st* st
-+#else
-+        gnutls_retr_st *st
-+#endif
-+	)
- {
- 	nsd_gtls_t *pThis;
- 
- 	pThis = (nsd_gtls_t*) gnutls_session_get_ptr(session);
- 
-+#if HAVE_GNUTLS_CERTIFICATE_SET_RETRIEVE_FUNCTION
-+	st->cert_type = GNUTLS_CRT_X509;
-+#else
- 	st->type = GNUTLS_CRT_X509;
-+#endif
- 	st->ncerts = 1;
- 	st->cert.x509 = &pThis->ourCert;
- 	st->key.x509 = pThis->ourKey;
-@@ -1625,7 +1625,11 @@ Connect(nsd_t *pNsd, int family, uchar *port, uchar *host)
- 	gnutls_session_set_ptr(pThis->sess, (void*)pThis);
- 	iRet = gtlsLoadOurCertKey(pThis); /* first load .pem files */
- 	if(iRet == RS_RET_OK) {
-+#		if HAVE_GNUTLS_CERTIFICATE_SET_RETRIEVE_FUNCTION 
-+		gnutls_certificate_set_retrieve_function(xcred, gtlsClientCertCallback);
-+#		else
- 		gnutls_certificate_client_set_retrieve_function(xcred, gtlsClientCertCallback);
-+#	endif
- 	} else if(iRet != RS_RET_CERTLESS) {
- 		FINALIZE; /* we have an error case! */
- 	}
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 ebc1070..46eddd6 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
@@ -9,34 +9,31 @@
 *.pc, so we should use pkgconfig to check
 
 Signed-off-by: Roy Li <rongqing.li@windriver.com>
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
 ---
- configure.ac |   19 +------------------
- 1 file changed, 1 insertion(+), 18 deletions(-)
+ configure.ac | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 017116e..1b880f8 100644
+index 0f31869..d35db42 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -784,24 +784,7 @@ AC_ARG_ENABLE(libgcrypt,
+@@ -777,20 +777,7 @@ AC_ARG_ENABLE(libgcrypt,
          [enable_libgcrypt=yes]
  )
  if test "x$enable_libgcrypt" = "xyes"; then
--        AC_CHECK_PROG(
--      	    [HAVE_LIBGCRYPT_CONFIG],
--            [libgcrypt-config],
--            [yes],,,
--            )
--        if test "x${HAVE_LIBGCRYPT_CONFIG}" != "xyes"; then
+-	AC_PATH_PROG([LIBGCRYPT_CONFIG],[libgcrypt-config],[no])
+-        if test "x${LIBGCRYPT_CONFIG}" = "xno"; then
 -           AC_MSG_FAILURE([libgcrypt-config not found in PATH])
 -        fi
 -        AC_CHECK_LIB(
 -		[gcrypt],
 -        	[gcry_cipher_open],
--        	[LIBGCRYPT_CFLAGS="`libgcrypt-config --cflags`"
--        	LIBGCRYPT_LIBS="`libgcrypt-config --libs`"
+-        	[LIBGCRYPT_CFLAGS="`${LIBGCRYPT_CONFIG} --cflags`"
+-        	LIBGCRYPT_LIBS="`${LIBGCRYPT_CONFIG} --libs`"
 -        	],
 -        	[AC_MSG_FAILURE([libgcrypt is missing])],
--        	[`libgcrypt-config --libs --cflags`]
+-        	[`${LIBGCRYPT_CONFIG} --libs --cflags`]
 -        	)
 -	AC_DEFINE([ENABLE_LIBGCRYPT], [1], [Indicator that LIBGCRYPT is present])
 +	PKG_CHECK_MODULES(LIBGCRYPT, libgcrypt)
@@ -44,5 +41,5 @@
  AM_CONDITIONAL(ENABLE_LIBGCRYPT, test x$enable_libgcrypt = xyes)
  AC_SUBST(LIBGCRYPT_CFLAGS)
 -- 
-1.7.9.5
+2.8.1
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/use_gnutls_certificate_type_set_priority_only_if_available.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/use_gnutls_certificate_type_set_priority_only_if_available.patch
deleted file mode 100644
index e1dab75..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/use_gnutls_certificate_type_set_priority_only_if_available.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 21674039db99d1067e9df4df04d965297d62c6af Mon Sep 17 00:00:00 2001
-From: Rainer Gerhards <rgerhards@adiscon.com>
-Date: Mon, 18 May 2015 09:36:02 +0200
-Subject: [PATCH] use gnutls_certificate_type_set_priority() only if available
-
-The gnutls_certificate_type_set_priority function is deprecated
-and not available in recent GnuTLS versions. However, there is no
-doc how to properly replace it with gnutls_priority_set_direct.
-A lot of folks have simply removed it, when they also called
-gnutls_set_default_priority. This is what we now also do. If
-this causes problems or someone has an idea of how to replace
-the deprecated function in a better way, please let us know!
-In any case, we use it as long as it is available and let
-not insult us by the deprecation warnings.
-
-Upstream-Status: Backport
-Signed-off-by: Tudor Florea  <tudor.florea@enea.com>
-
----
- configure.ac       |  1 +
- runtime/nsd_gtls.c | 18 ++++++++++++++++--
- 2 files changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 56835fb..1c2be01 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -765,6 +765,7 @@ if test "x$enable_gnutls" = "xyes"; then
- 	AC_DEFINE([ENABLE_GNUTLS], [1], [Indicator that GnuTLS is present])
-         AC_CHECK_LIB(gnutls, gnutls_global_init)
- 	AC_CHECK_FUNCS(gnutls_certificate_set_retrieve_function,,)
-+	AC_CHECK_FUNCS(gnutls_certificate_type_set_priority,,)
- fi
- AM_CONDITIONAL(ENABLE_GNUTLS, test x$enable_gnutls = xyes)
- 
-diff --git a/runtime/nsd_gtls.c b/runtime/nsd_gtls.c
-index e127834..4b6aab1 100644
---- a/runtime/nsd_gtls.c
-+++ b/runtime/nsd_gtls.c
-@@ -1658,8 +1658,9 @@ Connect(nsd_t *pNsd, int family, uchar *port, uchar *host)
- 	nsd_gtls_t *pThis = (nsd_gtls_t*) pNsd;
- 	int sock;
- 	int gnuRet;
--	/* TODO: later? static const int cert_type_priority[3] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 };*/
-+#	if HAVE_GNUTLS_CERTIFICATE_TYPE_SET_PRIORITY
- 	static const int cert_type_priority[2] = { GNUTLS_CRT_X509, 0 };
-+#	endif
- 	DEFiRet;
- 
- 	ISOBJ_TYPE_assert(pThis, nsd_gtls);
-@@ -1688,14 +1689,27 @@ Connect(nsd_t *pNsd, int family, uchar *port, uchar *host)
- 		gnutls_certificate_set_retrieve_function(xcred, gtlsClientCertCallback);
- #		else
- 		gnutls_certificate_client_set_retrieve_function(xcred, gtlsClientCertCallback);
--#	endif
-+#		endif
- 	} else if(iRet != RS_RET_CERTLESS) {
- 		FINALIZE; /* we have an error case! */
- 	}
- 
- 	/* Use default priorities */
- 	CHKgnutls(gnutls_set_default_priority(pThis->sess));
-+#	if HAVE_GNUTLS_CERTIFICATE_TYPE_SET_PRIORITY
-+	/* The gnutls_certificate_type_set_priority function is deprecated
-+	 * and not available in recent GnuTLS versions. However, there is no
-+	 * doc how to properly replace it with gnutls_priority_set_direct.
-+	 * A lot of folks have simply removed it, when they also called
-+	 * gnutls_set_default_priority. This is what we now also do. If
-+	 * this causes problems or someone has an idea of how to replace
-+	 * the deprecated function in a better way, please let us know!
-+	 * In any case, we use it as long as it is available and let
-+	 * not insult us by the deprecation warnings.
-+	 * 2015-05-18 rgerhards
-+	 */
- 	CHKgnutls(gnutls_certificate_type_set_priority(pThis->sess, cert_type_priority));
-+#	endif
- 
- 	/* put the x509 credentials to the current session */
- 	CHKgnutls(gnutls_credentials_set(pThis->sess, GNUTLS_CRD_CERTIFICATE, xcred));
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_7.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_7.6.1.bb
deleted file mode 100644
index c1d923c..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_7.6.1.bb
+++ /dev/null
@@ -1,178 +0,0 @@
-SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
-DESCRIPTION = "\
-Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
- PostgreSQL, failover log destinations, syslog/tcp, fine grain\
- output format control, high precision timestamps, queued operations\
- and the ability to filter on any message part. It is quite\
- compatible to stock sysklogd and can be used as a drop-in replacement.\
- Its advanced features make it suitable for enterprise-class,\
- encryption protected syslog relay chains while at the same time being\
- very easy to setup for the novice user."
-
-DEPENDS = "zlib libestr json-c bison-native flex-native liblogging"
-HOMEPAGE = "http://www.rsyslog.com/"
-LICENSE = "GPLv3 & LGPLv3 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
-                    file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \
-                    file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
-"
-
-SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \
-           file://initscript \
-           file://rsyslog.conf \
-           file://rsyslog.logrotate \
-           file://use-pkgconfig-to-check-libgcrypt.patch \
-           file://run-ptest \
-           file://rsyslog-fix-ptest-not-finish.patch \
-           file://json-0.12-fix.patch \
-           file://replace_deprecated_GnuTLS_functions.patch \
-           file://use_gnutls_certificate_type_set_priority_only_if_available.patch \
-           file://enable_tls_ptests.patch \
-"
-
-SRC_URI[md5sum] = "093c462a5245012bd9e7b82dd8aedffb"
-SRC_URI[sha256sum] = "357f089d866c351d5fe5b7139fa85b010223d77b3c21f29b2a1baa8688926111"
-
-inherit autotools pkgconfig systemd update-rc.d update-alternatives ptest
-
-EXTRA_OECONF += "--enable-cached-man-pages"
-
-# first line is default yes in configure
-PACKAGECONFIG ??= " \
-    zlib rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
-    imdiag gnutls imfile \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench ${VALGRIND}', '', d)} \
-"
-
-# default yes in configure
-PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
-PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
-PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
-PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
-PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
-PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
-PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
-PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
-PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,,"
-
-# default no in configure
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
-PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,,"
-PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,,"
-PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
-PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
-PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql,"
-PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
-PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
-PACKAGECONFIG[gui] = "--enable-gui,--disable-gui,,"
-PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
-
-TESTDIR = "tests"
-do_compile_ptest() {
-    echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
-    oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
-    # install the tests
-    cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
-    cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
-
-    # do NOT need to rebuild Makefile itself
-    sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
-    # fix the srcdir, top_srcdir
-    sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-    sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
-    # valgrind is not compatible with arm and mips,
-    # so remove related test cases if there is no valgrind.
-    if [ x${VALGRIND} = x ]; then
-        sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-    fi
-
-    # install test-driver
-    install -m 644 ${S}/test-driver ${D}${PTEST_PATH}/${TESTDIR}
-
-    # install necessary links
-    install -d ${D}${PTEST_PATH}/tools
-    ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
-
-    install -d ${D}${PTEST_PATH}/runtime
-    install -d ${D}${PTEST_PATH}/runtime/.libs
-    (
-        cd ${D}/${libdir}/rsyslog
-        allso="*.so"
-        for i in $allso; do
-            ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
-        done
-    )
-
-    # fix the module load path with runtime/.libs
-    find ${D}${PTEST_PATH}/${TESTDIR} -name \*.conf -exec \
-        sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:' \
-        '{}' \;
-}
-
-do_install_append() {
-    install -d "${D}${sysconfdir}/init.d"
-    install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog.${BPN}
-    install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
-    install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.rsyslog
-}
-
-FILES_${PN} += "${bindir}"
-
-INITSCRIPT_NAME = "syslog"
-INITSCRIPT_PARAMS = "defaults"
-
-# higher than sysklogd's 100
-ALTERNATIVE_PRIORITY = "110"
-
-ALTERNATIVE_${PN} = "syslogd syslog-conf syslog-logrotate"
-
-ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
-ALTERNATIVE_TARGET[syslogd] = "${sbindir}/rsyslogd"
-ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
-ALTERNATIVE_TARGET[syslog-conf] = "${sysconfdir}/rsyslog.conf"
-ALTERNATIVE_LINK_NAME[syslog-logrotate] = "${sysconfdir}/logrotate.d/syslog"
-ALTERNATIVE_TARGET[syslog-logrotate] = "${sysconfdir}/logrotate.rsyslog"
-
-CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-
-RDEPENDS_${PN} += "logrotate"
-
-# for rsyslog-ptest
-VALGRIND = "valgrind"
-VALGRIND_mips = ""
-VALGRIND_mips64 = ""
-VALGRIND_mips64n32 = ""
-VALGRIND_arm = ""
-VALGRIND_aarch64 = ""
-RDEPENDS_${PN}-ptest += "make diffutils gzip"
-RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
-
-# no syslog-init for systemd
-python () {
-    if bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
-        pn = d.getVar('PN', True)
-        sysconfdir = d.getVar('sysconfdir', True)
-        d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init')
-        d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir))
-        d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/syslog.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True)))
-
-    if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
-        pn = d.getVar('PN', True)
-        d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-service')
-        d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-service', '%s/systemd/system/syslog.service' % (d.getVar('sysconfdir', True)))
-        d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-service', '%s/system/rsyslog.service' % (d.getVar('systemd_unitdir', True)))
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
new file mode 100644
index 0000000..7242323
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.22.0.bb
@@ -0,0 +1,172 @@
+SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
+DESCRIPTION = "\
+Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
+ PostgreSQL, failover log destinations, syslog/tcp, fine grain\
+ output format control, high precision timestamps, queued operations\
+ and the ability to filter on any message part. It is quite\
+ compatible to stock sysklogd and can be used as a drop-in replacement.\
+ Its advanced features make it suitable for enterprise-class,\
+ encryption protected syslog relay chains while at the same time being\
+ very easy to setup for the novice user."
+
+DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging"
+HOMEPAGE = "http://www.rsyslog.com/"
+LICENSE = "GPLv3 & LGPLv3 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
+                    file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \
+                    file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
+"
+
+SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \
+           file://initscript \
+           file://rsyslog.conf \
+           file://rsyslog.logrotate \
+           file://use-pkgconfig-to-check-libgcrypt.patch \
+           file://run-ptest \
+           file://rsyslog-fix-ptest-not-finish.patch \
+"
+
+SRC_URI[md5sum] = "ad0f25f429aa2daa326732950a5eeb6c"
+SRC_URI[sha256sum] = "06e2884181333dccecceaca82827ae24ca7a258b4fbf7b1e07a80d4caae640ca"
+
+inherit autotools pkgconfig systemd update-rc.d update-alternatives ptest
+
+EXTRA_OECONF += "--disable-generate-man-pages"
+
+# first line is default yes in configure
+PACKAGECONFIG ??= " \
+    rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
+    imdiag gnutls imfile \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \
+"
+
+# default yes in configure
+PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp,"
+PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
+PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
+PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
+PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
+PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
+PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
+PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
+PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,,"
+
+# default no in configure
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
+PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,,"
+PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,,"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
+PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
+PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql,"
+PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
+PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
+
+TESTDIR = "tests"
+do_compile_ptest() {
+    echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
+    oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+    # install the tests
+    cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
+    cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
+
+    # do NOT need to rebuild Makefile itself
+    sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+    # fix the srcdir, top_srcdir
+    sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+    sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+    # valgrind is not compatible with arm and mips,
+    # so remove related test cases if there is no valgrind.
+    if [ x${VALGRIND} = x ]; then
+        sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+    fi
+
+    # install test-driver
+    install -m 644 ${S}/test-driver ${D}${PTEST_PATH}
+
+    # install necessary links
+    install -d ${D}${PTEST_PATH}/tools
+    ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
+
+    install -d ${D}${PTEST_PATH}/runtime
+    install -d ${D}${PTEST_PATH}/runtime/.libs
+    (
+        cd ${D}/${libdir}/rsyslog
+        allso="*.so"
+        for i in $allso; do
+            ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
+        done
+    )
+
+    # fix the module load path with runtime/.libs
+    find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \
+        sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g'
+}
+
+do_install_append() {
+    install -d "${D}${sysconfdir}/init.d"
+    install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog.${BPN}
+    install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
+    install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.rsyslog
+}
+
+FILES_${PN} += "${bindir}"
+
+INITSCRIPT_NAME = "syslog"
+INITSCRIPT_PARAMS = "defaults"
+
+# higher than sysklogd's 100
+ALTERNATIVE_PRIORITY = "110"
+
+ALTERNATIVE_${PN} = "syslogd syslog-conf syslog-logrotate"
+
+ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
+ALTERNATIVE_TARGET[syslogd] = "${sbindir}/rsyslogd"
+ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
+ALTERNATIVE_TARGET[syslog-conf] = "${sysconfdir}/rsyslog.conf"
+ALTERNATIVE_LINK_NAME[syslog-logrotate] = "${sysconfdir}/logrotate.d/syslog"
+ALTERNATIVE_TARGET[syslog-logrotate] = "${sysconfdir}/logrotate.rsyslog"
+
+CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+RDEPENDS_${PN} += "logrotate"
+
+# for rsyslog-ptest
+VALGRIND = "valgrind"
+VALGRIND_mips = ""
+VALGRIND_mips64 = ""
+VALGRIND_mips64n32 = ""
+VALGRIND_arm = ""
+VALGRIND_aarch64 = ""
+RDEPENDS_${PN}-ptest += "make diffutils gzip bash gawk coreutils procps"
+RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
+
+# no syslog-init for systemd
+python () {
+    if bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+        pn = d.getVar('PN', True)
+        sysconfdir = d.getVar('sysconfdir', True)
+        d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init')
+        d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir))
+        d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/syslog.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True)))
+
+    if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
+        pn = d.getVar('PN', True)
+        d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-service')
+        d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-service', '%s/systemd/system/syslog.service' % (d.getVar('sysconfdir', True)))
+        d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-service', '%s/system/rsyslog.service' % (d.getVar('systemd_unitdir', True)))
+}
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 41626d1..84e465d 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
@@ -20,7 +20,7 @@
            file://sblim-sfcb-1.4.8-default-ecdh-curve-name.patch \
            file://sblim-sfcb-1.4.9-fix-ftbfs.patch \
            file://sfcb.service"
-           
+
 SRC_URI[md5sum] = "28021cdabc73690a94f4f9d57254ce30"
 SRC_URI[sha256sum] = "634a67b2f7ac3b386a79160eb44413d618e33e4e7fc74ae68b0240484af149dd"
 
@@ -58,7 +58,7 @@
     install -d ${D}${sysconfdir}/init.d
     mv ${D}${sysconfdir}/init.d/sfcb ${D}${sysconfdir}/init.d/sblim-sfcb
     sed -i -e 's/\/var\/lock\/subsys\/sfcb/\/var\/lock\/subsys\/sblim-sfcb/g' ${D}${sysconfdir}/init.d/sblim-sfcb
-    
+
     rm -rf ${D}${libdir}/sfcb/*.la
 }
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb
index 13f93cc..c64bd92 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.4.bb
@@ -7,10 +7,8 @@
 HOMEPAGE = "http://scsirastools.sourceforge.net/"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=687ea108478d26152ae46eb29d9d1545"
-PR = "r0"
 
-SRC_URI = "http://prdownloads.sourceforge.net/scsirastools/scsirastools-${PV}.tar.gz \
-	  "
+SRC_URI = "http://prdownloads.sourceforge.net/scsirastools/scsirastools-${PV}.tar.gz"
 SRC_URI[md5sum] = "2d775111b62e2dfc1960a722f5fda211"
 SRC_URI[sha256sum] = "38d2c6c9b04a2c594e528927b950754f94c0522718d17c78e6589ba778339bf8"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.4.bb
deleted file mode 100644
index 86e6d9e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.4.bb
+++ /dev/null
@@ -1,54 +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.contains('DISTRO_FEATURES', 'libcap-ng', 'libcap-ng', '', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', '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] = "56812c8312fd123ed40ef65afde1049e"
-SRC_URI[sha256sum] = "eab75600c1eda9c34b13097db71138ab376f3dad8a6a4667fb4d1d081feb7a85"
-
-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.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.5.bb
new file mode 100644
index 0000000..55d366e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_6.5.bb
@@ -0,0 +1,54 @@
+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.contains('DISTRO_FEATURES', 'libcap-ng', 'libcap-ng', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', '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/socketcan/libsocketcan/0001-Use-strcmp-instead-of-sizeof-on-char-string.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan/0001-Use-strcmp-instead-of-sizeof-on-char-string.patch
deleted file mode 100644
index aa6196e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan/0001-Use-strcmp-instead-of-sizeof-on-char-string.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 94094cc4ee7ae585da3e5e7e83e7d82b5d6de656 Mon Sep 17 00:00:00 2001
-From: Alexander Stein <alexander.stein@systec-electronic.com>
-Date: Wed, 14 Nov 2012 12:13:06 +0100
-Subject: [PATCH] Use strcmp instead of sizeof on char* string
-
-This bug was detected by the clang warning:
-libsocketcan.c:384:16: warning: argument to 'sizeof' in 'strncmp' call
-is the same expression as the source; did you mean to provide an
-explicit length? [-Wsizeof-pointer-memaccess]
-sizeof(name)) != 0)
-~~~~~~~^~~~~~
-
-Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
----
-Upstream-Status: Backport
-
- src/libsocketcan.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/src/libsocketcan.c b/src/libsocketcan.c
-index fedcbdc..841c2ed 100644
---- a/src/libsocketcan.c
-+++ b/src/libsocketcan.c
-@@ -379,9 +379,8 @@ static int do_get_nl_link(int fd, __u8 acquire, const char *name, void *res)
- 				nl_msg->nlmsg_len - NLMSG_LENGTH(sizeof(struct ifaddrmsg));
- 			parse_rtattr(tb, IFLA_MAX, IFLA_RTA(ifi), len);
- 
--			if (strncmp
--			    ((char *)RTA_DATA(tb[IFLA_IFNAME]), name,
--			     sizeof(name)) != 0)
-+			if (strcmp
-+			    ((char *)RTA_DATA(tb[IFLA_IFNAME]), name) != 0)
- 				continue;
- 
- 			if (tb[IFLA_LINKINFO])
--- 
-1.8.3.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb
new file mode 100644
index 0000000..60ca580
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Control basic functions in socketcan from userspace"
+HOMEPAGE = "http://www.pengutronix.de"
+SECTION = "libs/network"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://src/libsocketcan.c;beginline=3;endline=17;md5=97e38adced4385d8fba1ae2437cedee1"
+
+SRCREV = "51f1610160a1707f026f8c2d714a6f7aa3ca232b"
+
+SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb
deleted file mode 100644
index 98ef73f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Control basic functions in socketcan from userspace"
-HOMEPAGE = "http://www.pengutronix.de"
-SECTION = "libs/network"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://src/libsocketcan.c;beginline=3;endline=17;md5=97e38adced4385d8fba1ae2437cedee1"
-
-SRCREV = "e1a224bf1c409adf0c02b07a90deada634e54b88"
-
-SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git \
-    file://0001-Use-strcmp-instead-of-sizeof-on-char-string.patch \
-"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-do_configure_prepend() {
-    sed -i -e s:tests/GNUmakefile::g -e s:trunk:0.0.9: ${S}/configure.ac
-}
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 717fab9..bc6fec0 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
@@ -30,6 +30,6 @@
 
 FILES_${PN} += " \
     ${DIR_ETC}/* \
-    ${datadir}/zsh/* \ 
+    ${datadir}/zsh/* \
     ${prefix}/src/*  \
 "
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/fix-gcc6-wait-union.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/fix-gcc6-wait-union.patch
new file mode 100644
index 0000000..acc2ce9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/files/fix-gcc6-wait-union.patch
@@ -0,0 +1,11 @@
+--- tcsh-6.18.01/sh.proc.c.orig	2016-06-08 16:11:02.902326725 +0000
++++ tcsh-6.18.01/sh.proc.c	2016-06-08 16:38:22.150304901 +0000
+@@ -48,7 +48,7 @@
+ #endif /* aiws */
+ 
+ #if defined(_BSD) || (defined(IRIS4D) && __STDC__) || defined(__lucid) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
+-# if !defined(__ANDROID__)
++# if !defined(__ANDROID__) && !defined(__GLIBC__)
+ #  define BSDWAIT
+ # endif
+ #endif /* _BSD || (IRIS4D && __STDC__) || __lucid || glibc */
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb
index 1dd4cb5..d7a7fd4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb
@@ -10,7 +10,8 @@
 DEPENDS = "ncurses gettext-native"
 SRC_URI = " \
     ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}.orig.tar.gz;name=tarball \
-    ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}-2.diff.gz;name=diffs \
+    ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}-2.diff.gz;name=diffs2 \
+    ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}-5.diff.gz;name=diffs5 \
     file://01_build.1.patch \
     file://01_build.2.patch \
     file://01_build.3.patch \
@@ -21,11 +22,14 @@
     file://12_unknown_lscolors.patch \
     file://tcsh-6.17.02-multibyte.patch \
     file://disable-broken-test.patch \
+    file://fix-gcc6-wait-union.patch \
 "
 SRC_URI[tarball.md5sum] = "6eed09dbd4223ab5b6955378450d228a"
 SRC_URI[tarball.sha256sum] = "d81ca27851f3e8545666399b4bcf25433e602a195113b3f7c73886fef84c9fa8"
-SRC_URI[diffs.md5sum] = "ea39b818b624aca49ebf2cd2708d6ff9"
-SRC_URI[diffs.sha256sum] = "95b0c1a339b745c47c5d2f9d02c22a71597462e2e882b51614a9d1f75bd3d16c"
+SRC_URI[diffs2.md5sum] = "ea39b818b624aca49ebf2cd2708d6ff9"
+SRC_URI[diffs2.sha256sum] = "95b0c1a339b745c47c5d2f9d02c22a71597462e2e882b51614a9d1f75bd3d16c"
+SRC_URI[diffs5.md5sum] = "d536c12a02dc48c332cc472b86927319"
+SRC_URI[diffs5.sha256sum] = "7548d64bf996548bfbc13f3e0959fd2e8455f8375381a31da67d79554aabc7af"
 
 inherit autotools
 
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-extended/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
index cc124b3..71ca343 100644
--- 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-extended/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
@@ -79,7 +79,7 @@
 +  ${CC} -c -Werror-implicit-function-declaration $(TESTFLOAT_OPTS) \
 +    $(C_INCLUDES) -O3 -o $@
 +MAKELIB = ${AR} crs $@
-+LINK = ${CC} -o $@
++LINK = ${CC} -o $@ ${LDFLAGS}
 +OTHER_LIBS = -lm
 +
 +OBJ = .o
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb
deleted file mode 100644
index 0ac8fad..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Transparent Inter-Process Communication protocol"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://tipc-config/tipc-config.c;endline=32;md5=527a3d5745e1581b15a4fddfb5dfda68"
-
-SRC_URI = "git://tipc.git.sourceforge.net/gitroot/tipc/tipcutils"
-SRCREV = "292a03e17f889013fca2c7bd0aaeebd600c88f40"
-
-DEPENDS="virtual/kernel"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-inherit autotools
-
-S = "${WORKDIR}/git"
-
-do_configure_prepend() {
-    ( cd ${S}; ${S}/bootstrap )
-}
-
-do_install_append() {
-    demos="benchmark hello_world topology_subscr_demo connection_demo \
-           multicast_demo stream_demo"
-    for i in $demos;do
-        install -d ${D}/opt/tipcutils/demos/$i
-        install ${B}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/
-        install ${B}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/
-    done
-    install -d ${D}/opt/tipcutils/demos/inventory_sim
-    install ${B}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/
-
-    install -d ${D}/opt/tipcutils/ptts
-    install ${B}/ptts/tipcTS ${D}/opt/tipcutils/ptts/
-    install ${B}/ptts/tipcTC ${D}/opt/tipcutils/ptts/
-
-    install -d ${D}${sysconfdir}
-    cp -R --no-dereference --preserve=mode,links -v ${S}/scripts/etc/* ${D}${sysconfdir}/
-    chown -R root:root ${D}${sysconfdir}
-}
-
-PACKAGES += "${PN}-demos"
-FILES_${PN}-dbg += "/opt/tipcutils/demos/*/.debug /opt/tipcutils/ptts/.debug"
-FILES_${PN}-demos = "/opt/tipcutils/*"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_2.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_2.2.0.bb
new file mode 100644
index 0000000..5c5b289
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_2.2.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Transparent Inter-Process Communication protocol"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://tipclog/tipc.h;endline=35;md5=985b6ea8735818511d276c1b466cce98"
+
+SRC_URI = "git://tipc.git.sourceforge.net/gitroot/tipc/tipcutils"
+SRCREV = "dc8c2d324cda2e80a6e07ee1998fca0839d4a721"
+
+DEPENDS="virtual/kernel"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit autotools pkgconfig
+
+DEPENDS += "libdaemon"
+
+S = "${WORKDIR}/git"
+
+do_configure_prepend() {
+    ( cd ${S}; ${S}/bootstrap )
+}
+
+do_install_append() {
+    demos="benchmark hello_world topology_subscr_demo connection_demo \
+           multicast_demo stream_demo"
+    for i in $demos;do
+        install -d ${D}/opt/tipcutils/demos/$i
+        install ${B}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/
+        install ${B}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/
+    done
+    install -d ${D}/opt/tipcutils/demos/inventory_sim
+    install ${B}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/
+
+    install -d ${D}/opt/tipcutils/ptts
+    install ${B}/ptts/tipcTS ${D}/opt/tipcutils/ptts/
+    install ${B}/ptts/tipcTC ${D}/opt/tipcutils/ptts/
+
+    install -d ${D}${sysconfdir}
+    cp -R --no-dereference --preserve=mode,links -v ${S}/scripts/etc/* ${D}${sysconfdir}/
+    chown -R root:root ${D}${sysconfdir}
+}
+
+PACKAGES += "${PN}-demos"
+FILES_${PN}-dbg += "/opt/tipcutils/demos/*/.debug /opt/tipcutils/ptts/.debug"
+FILES_${PN}-demos = "/opt/tipcutils/*"
+
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
index 5a98116..d729de9 100644
--- 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
@@ -15,7 +15,7 @@
 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 
+    # 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
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/wipe/files/makefile-add-ldflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-extended/wipe/files/makefile-add-ldflags.patch
new file mode 100644
index 0000000..fac1b31
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/wipe/files/makefile-add-ldflags.patch
@@ -0,0 +1,17 @@
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+diff --git a/Makefile b/Makefile
+index 9e74cdf..cad8109 100644
+--- a/Makefile
++++ b/Makefile
+@@ -151,7 +151,7 @@ generic	:
+ 		$(MAKE) $(TARGETS) "CC=$(CC_GENERIC)" "CCO=$(CCO_GENERIC)" "CCOC=$(CCOC_GENERIC)"
+ 
+ wipe	:	$(OBJECTS)
+-		$(CC) $(CCO) $(OBJECTS) -o wipe
++		$(CC) $(CCO) $(LDFLAGS) $(OBJECTS) -o wipe
+ 
+ wipe.o	:	wipe.c random.h misc.h version.h
+ 		$(CC) $(CCO) $(CCOC) wipe.c -o wipe.o
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb
index 70229f0..9a81016 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb
@@ -10,8 +10,9 @@
 LIC_FILES_CHKSUM = "file://GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
 
 SRC_URI = "git://github.com/berke/wipe.git;branch=master \
-           file://support-cross-compile-for-linux.patch \
-          "
+    file://support-cross-compile-for-linux.patch \
+    file://makefile-add-ldflags.patch \
+"
 SRCREV = "d9c100c9cd0b1cbbe4359e4d6c9a035d11e7597c"
 PV = "0.23+git${SRCPV}"
 
@@ -20,7 +21,7 @@
 EXTRA_OEMAKE = "linux"
 
 do_install() {
-	make install DESTDIR=${D}
+    make install DESTDIR=${D}
 }
 
 do_configure[noexec] = "1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-doc-utils-stub/files/gnome-doc-utils.m4 b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-doc-utils-stub/files/gnome-doc-utils.m4
new file mode 100644
index 0000000..f8d160a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-doc-utils-stub/files/gnome-doc-utils.m4
@@ -0,0 +1,61 @@
+dnl Do not call GNOME_DOC_DEFINES directly.  It is split out from
+dnl GNOME_DOC_INIT to allow gnome-doc-utils to bootstrap off itself.
+AC_DEFUN([GNOME_DOC_DEFINES],
+[
+AC_ARG_WITH([help-dir],
+  AC_HELP_STRING([--with-help-dir=DIR], [path to help docs]),,
+  [with_help_dir='${datadir}/gnome/help'])
+HELP_DIR="$with_help_dir"
+AC_SUBST(HELP_DIR)
+
+AC_ARG_WITH([omf-dir],
+  AC_HELP_STRING([--with-omf-dir=DIR], [path to OMF files]),,
+  [with_omf_dir='${datadir}/omf'])
+OMF_DIR="$with_omf_dir"
+AC_SUBST(OMF_DIR)
+
+AC_ARG_WITH([help-formats],
+  AC_HELP_STRING([--with-help-formats=FORMATS], [list of formats]),,
+  [with_help_formats=''])
+DOC_USER_FORMATS="$with_help_formats"
+AC_SUBST(DOC_USER_FORMATS)
+
+AC_ARG_ENABLE([scrollkeeper],
+	[AC_HELP_STRING([--disable-scrollkeeper],
+			[do not make updates to the scrollkeeper database])],,
+	enable_scrollkeeper=yes)
+AM_CONDITIONAL([ENABLE_SK],[test "$gdu_cv_have_gdu" = "yes" -a "$enable_scrollkeeper" = "yes"])
+
+dnl disable scrollkeeper automatically for distcheck
+DISTCHECK_CONFIGURE_FLAGS="--disable-scrollkeeper $DISTCHECK_CONFIGURE_FLAGS"
+AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
+
+AM_CONDITIONAL([HAVE_GNOME_DOC_UTILS],[test "$gdu_cv_have_gdu" = "yes"])
+])
+
+# GNOME_DOC_INIT ([MINIMUM-VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
+#
+AC_DEFUN([GNOME_DOC_INIT],
+[AC_REQUIRE([AC_PROG_LN_S])dnl
+
+if test -z "$AM_DEFAULT_VERBOSITY"; then
+  AM_DEFAULT_VERBOSITY=1
+fi
+AC_SUBST([AM_DEFAULT_VERBOSITY])
+
+ifelse([$1],,[gdu_cv_version_required=0.3.2],[gdu_cv_version_required=$1])
+
+AC_MSG_CHECKING([gnome-doc-utils >= $gdu_cv_version_required])
+PKG_CHECK_EXISTS([gnome-doc-utils >= $gdu_cv_version_required],
+	[gdu_cv_have_gdu=yes],[gdu_cv_have_gdu=no])
+
+if test "$gdu_cv_have_gdu" = "yes"; then
+	AC_MSG_RESULT([yes])
+	ifelse([$2],,[:],[$2])
+else
+	AC_MSG_RESULT([no])
+	ifelse([$3],,[:],[$3])
+fi
+
+GNOME_DOC_DEFINES
+])
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb
new file mode 100644
index 0000000..d6da51b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Stub implementation of gnome-doc-utils"
+DESCRIPTION = "This recipe provides m4 macros from gnome-doc-utils project, so \
+that dependent recipes can build. Gnome-doc-utils itself is no longer packaged because \
+it requires libxml2 and python 2 at the same time, which can no longer be satisfied. "
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
+                    file://${COREBASE}/meta/files/common-licenses/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780"
+SRC_URI = "file://gnome-doc-utils.m4"
+
+PROVIDES = "gnome-doc-utils"
+
+do_install_append() {
+        install -d ${D}${datadir}/aclocal/
+        install ${WORKDIR}/gnome-doc-utils.m4 ${D}${datadir}/aclocal/
+}
+
+FILES_${PN} += "${datadir}"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.3.bb
index 80595fe..f4e0865 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.3.bb
@@ -8,7 +8,9 @@
 
 DEPENDS = "atkmm pangomm glibmm gtk+ cairomm"
 
-inherit gnome autotools pkgconfig
+inherit gnome autotools pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 GNOME_COMPRESS_TYPE = "xz"
 
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
new file mode 100644
index 0000000..c5d5864
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch
@@ -0,0 +1,102 @@
+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
new file mode 100644
index 0000000..dc4c092
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch
@@ -0,0 +1,501 @@
+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
new file mode 100644
index 0000000..b5b2ec4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch
@@ -0,0 +1,14 @@
+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
new file mode 100644
index 0000000..8cd023a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/libglade/libglade_2.6.4.bb
@@ -0,0 +1,31 @@
+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"
+
+SRC_URI[archive.md5sum] = "d1776b40f4e166b5e9c107f1c8fe4139"
+SRC_URI[archive.sha256sum] = "64361e7647839d36ed8336d992fd210d3e8139882269bed47dc4674980165dec"
+
+EXTRA_OECONF += "--without-libxml2 --disable-gtk-doc"
+
+CFLAGS += "-lz"
+
+PACKAGES += " ${PN}-data"
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-data = "${datadir}/xml/libglade/glade-2.0.dtd"
+FILES_${PN}-dev += "${bindir}/libglade-convert"
+#RDEPENDS_${PN} = "${PN}-data"
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
index 3d13e5a..3018398 100644
--- 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
@@ -4,11 +4,11 @@
 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://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 \
+"
 
 SRC_URI[md5sum] = "7955769ef31f1bc4f83446dbb3625e6d"
 SRC_URI[sha256sum] = "e5c8041cef8e33c55732f06a292381cb345db946cf792a4ae18aa5c66cdd4fbb"
@@ -24,4 +24,6 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 
-inherit autotools pkgconfig gobject-introspection
+inherit autotools pkgconfig gobject-introspection distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc b/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
new file mode 100644
index 0000000..6a5c63c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
@@ -0,0 +1,19 @@
+SUMMARY = "Virtual terminal emulator GTK+ widget library"
+BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
+LICENSE = "LGPLv2.0"
+DEPENDS = " glib-2.0 gtk+ intltool-native ncurses"
+RDEPENDS_libvte = "vte-termcap"
+
+# help gnomebase get the SRC_URI correct
+GNOMEBN = "vte"
+S = "${WORKDIR}/vte-${PV}"
+
+inherit gnome gtk-doc distro_features_check upstream-version-is-even gobject-introspection
+ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+
+EXTRA_OECONF = "--disable-python"
+
+PACKAGES =+ "libvte9 vte9-termcap"
+FILES_libvte9 = "${libdir}/*.so.* ${libexecdir}/gnome-pty-helper"
+FILES_vte9-termcap = "${datadir}/vte/termcap-0.0"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch
new file mode 100644
index 0000000..9b99803
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch
@@ -0,0 +1,136 @@
+Upstream-Status: Backport
+CVE: CVE-2012-2738
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From e524b0b3bd8fad844ffa73927c199545b892cdbd Mon Sep 17 00:00:00 2001
+From: Christian Persch <chpe@gnome.org>
+Date: Sat, 19 May 2012 19:36:09 +0200
+Subject: [PATCH 1/2] emulation: Limit integer arguments to 65535
+
+To guard against malicious sequences containing excessively big numbers,
+limit all parsed numbers to 16 bit range. Doing this here in the parsing
+routine is a catch-all guard; this doesn't preclude enforcing
+more stringent limits in the handlers themselves.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=676090
+---
+ src/table.c  | 2 +-
+ src/vteseq.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/table.c b/src/table.c
+index 140e8c8..85cf631 100644
+--- a/src/table.c
++++ b/src/table.c
+@@ -550,7 +550,7 @@ _vte_table_extract_numbers(GValueArray **array,
+ 		if (G_UNLIKELY (*array == NULL)) {
+ 			*array = g_value_array_new(1);
+ 		}
+-		g_value_set_long(&value, total);
++		g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT));
+ 		g_value_array_append(*array, &value);
+ 	} while (i++ < arginfo->length);
+ 	g_value_unset(&value);
+diff --git a/src/vteseq.c b/src/vteseq.c
+index 7ef4c8c..10991db 100644
+--- a/src/vteseq.c
++++ b/src/vteseq.c
+@@ -557,7 +557,7 @@ vte_sequence_handler_multiple(VteTerminal *terminal,
+                               GValueArray *params,
+                               VteTerminalSequenceHandler handler)
+ {
+-        vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG);
++        vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT);
+ }
+ 
+ static void
+-- 
+2.4.9 (Apple Git-60)
+
+
+From cf1ad453a8def873c49cf6d88162593402f32bb2 Mon Sep 17 00:00:00 2001
+From: Christian Persch <chpe@gnome.org>
+Date: Sat, 19 May 2012 20:04:12 +0200
+Subject: [PATCH 2/2] emulation: Limit repetitions
+
+Don't allow malicious sequences to cause excessive repetitions.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=676090
+---
+ src/vteseq.c | 25 ++++++++++++++++++-------
+ 1 file changed, 18 insertions(+), 7 deletions(-)
+
+diff --git a/src/vteseq.c b/src/vteseq.c
+index 10991db..209522f 100644
+--- a/src/vteseq.c
++++ b/src/vteseq.c
+@@ -1392,7 +1392,7 @@ vte_sequence_handler_dc (VteTerminal *terminal, GValueArray *params)
+ static void
+ vte_sequence_handler_DC (VteTerminal *terminal, GValueArray *params)
+ {
+-	vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_dc);
++	vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_dc);
+ }
+ 
+ /* Delete a line at the current cursor position. */
+@@ -1785,7 +1785,7 @@ vte_sequence_handler_reverse_index (VteTerminal *terminal, GValueArray *params)
+ static void
+ vte_sequence_handler_RI (VteTerminal *terminal, GValueArray *params)
+ {
+-	vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_nd);
++	vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_nd);
+ }
+ 
+ /* Save cursor (position). */
+@@ -2777,8 +2777,7 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params)
+ {
+ 	GValue *value;
+ 	VteScreen *screen;
+-	long param, end, row;
+-	int i;
++	long param, end, row, i, limit;
+ 	screen = terminal->pvt->screen;
+ 	/* The default is one. */
+ 	param = 1;
+@@ -2796,7 +2795,13 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params)
+ 	} else {
+ 		end = screen->insert_delta + terminal->row_count - 1;
+ 	}
+-	/* Insert the new lines at the cursor. */
++
++	/* Only allow to insert as many lines as there are between this row
++         * and the end of the scrolling region. See bug #676090.
++         */
++        limit = end - row + 1;
++        param = MIN (param, limit);
++
+ 	for (i = 0; i < param; i++) {
+ 		/* Clear a line off the end of the region and add one to the
+ 		 * top of the region. */
+@@ -2817,8 +2822,7 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params)
+ {
+ 	GValue *value;
+ 	VteScreen *screen;
+-	long param, end, row;
+-	int i;
++	long param, end, row, i, limit;
+ 
+ 	screen = terminal->pvt->screen;
+ 	/* The default is one. */
+@@ -2837,6 +2841,13 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params)
+ 	} else {
+ 		end = screen->insert_delta + terminal->row_count - 1;
+ 	}
++
++        /* Only allow to delete as many lines as there are between this row
++         * and the end of the scrolling region. See bug #676090.
++         */
++        limit = end - row + 1;
++        param = MIN (param, limit);
++
+ 	/* Clear them from below the current cursor. */
+ 	for (i = 0; i < param; i++) {
+ 		/* Insert a line at the end of the region and remove one from
+-- 
+2.4.9 (Apple Git-60)
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch b/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch
new file mode 100644
index 0000000..6763d37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch
@@ -0,0 +1,14 @@
+Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=691545]
+
+Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
+diff -Nurd vte-0.28.2/gnome-pty-helper/configure.in vte-0.28.2/gnome-pty-helper/configure.in
+--- vte-0.28.2/gnome-pty-helper/configure.in	2010-07-15 20:08:44.000000000 +0300
++++ vte-0.28.2/gnome-pty-helper/configure.in	2013-01-11 14:50:34.971027440 +0200
+@@ -8,7 +8,6 @@
+ AC_ISC_POSIX
+ AC_PROG_CC
+ AC_STDC_HEADERS
+-AM_PROG_CC_STDC
+
+ if test -z "$enable_maintainer_mode"; then
+   enable_maintainer_mode=yes
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb
new file mode 100644
index 0000000..72bc9ec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb
@@ -0,0 +1,12 @@
+require vte9.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+
+SRC_URI += "file://obsolete_automake_macros.patch \
+            file://cve-2012-2738.patch \
+           "
+
+CFLAGS += "-D_GNU_SOURCE"
+
+SRC_URI[archive.md5sum] = "497f26e457308649e6ece32b3bb142ff"
+SRC_URI[archive.sha256sum] = "86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb
new file mode 100644
index 0000000..5ffa5c2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/assimp/assimp_3.1.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Open Asset Import Library is a portable Open Source library to import \
+               various well-known 3D model formats in a uniform manner."
+HOMEPAGE = "http://www.assimp.org/"
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bc4231a2268da8fc55525ad119638a87"
+
+DEPENDS = "boost"
+
+SRC_URI = "http://sourceforge.net/projects/${BPN}/files/${BPN}-3.1/${BPN}-${PV}_no_test_models.zip"
+SRC_URI[md5sum] = "ccd4788204509da58a3a53c7aeda7a8b"
+SRC_URI[sha256sum] = "da9827876f10a8b447270368753392cfd502e70a2e9d1361554e5dfcb1fede9e"
+
+inherit cmake
+
+FILES_${PN}-dev += "${libdir}/cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch
new file mode 100644
index 0000000..0717ea6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch
@@ -0,0 +1,28 @@
+From 88077ed156a714f32bb408f422278d61611ffd41 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat, 26 Jul 2014 16:57:46 -0300
+Subject: [PATCH] configure.in: Fix string argument syntax
+
+Upstream-Status: Submitted
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ configure.in |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index bfe1b82..e939bbd 100644
+--- a/configure.in
++++ b/configure.in
+@@ -65,7 +65,7 @@ fi)
+ 
+ DIRECTFB_REQUIRED_VERSION=1.4.14
+ 
+-PKG_CHECK_MODULES(DIRECTFB, directfb >= $DIRECTFB_REQUIRED_VERSION,[ WATER=`$PKG_CONFIG --variable=water directfb` ],
++PKG_CHECK_MODULES([DIRECTFB], directfb >= $DIRECTFB_REQUIRED_VERSION,[ WATER=`$PKG_CONFIG --variable=water directfb` ],
+ 	AC_MSG_ERROR([$DIRECTFB_PKG_ERRORS
+ *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest version
+ *** of DirectFB is available from http://www.directfb.org/.]))
+-- 
+1.7.10.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb
new file mode 100644
index 0000000..7907c5c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Example DirectFB applications"
+DESCRIPTION = "The DirectFB-examples package contains a set of simple DirectFB \
+      applications that can be used to test and demonstrate various DirectFB \
+      features"
+DEPENDS = "directfb"
+SECTION = "libs"
+LICENSE = "MIT"
+
+SRC_URI = " \
+           http://downloads.yoctoproject.org/mirror/sources/DirectFB-examples-${PV}.tar.gz \
+           file://configure.in-Fix-string-argument-syntax.patch \
+          "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f"
+
+S = "${WORKDIR}/DirectFB-examples-${PV}"
+
+inherit autotools pkgconfig
+
+SRC_URI[md5sum] = "8b60c867af295481c32a8c7fc5802307"
+SRC_URI[sha256sum] = "9a2104cc4da8123c8371813551b66b943198979f745cbebc034bb5e10844122a"
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
new file mode 100644
index 0000000..fc272bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
@@ -0,0 +1,83 @@
+SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device"
+DESCRIPTION = "DirectFB is a thin library that provides developers \
+with hardware graphics acceleration, input device handling and \
+abstraction, an integrated windowing system with support for \
+translucent windows and multiple display layers on top of the \
+Linux framebuffer device."
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
+
+HOMEPAGE = "http://directfb.org"
+DEPENDS = "jpeg libpng freetype zlib sysfsutils"
+
+SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.gz \
+           file://configurefix.patch \
+           file://fusion.patch \
+           file://bashism.patch \
+           file://0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch \
+           file://compar_fn_t.patch \
+           file://union-sigval.patch \
+           file://use-PTHREAD_MUTEX_RECURSIVE.patch \
+           file://fix-client-gfx_state-initialisation.patch \
+          "
+
+S = "${WORKDIR}/DirectFB-${PV}"
+
+LDFLAGS_append = " -lm"
+
+# Workaround for linking issues seen with armv7a + gold
+LDFLAGS_append_arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+BINCONFIG = "${bindir}/directfb-config"
+
+inherit autotools binconfig-disabled pkgconfig
+
+PACKAGECONFIG ??= "linuxinput"
+PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper"
+PACKAGECONFIG[drmkms] = "--enable-drmkms,--disable-drmkms,libdrm"
+PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
+PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
+PACKAGECONFIG[tslib] = "--with-inputdrivers=tslib,,tslib"
+PACKAGECONFIG[linuxinput] = "--with-inputdrivers=linuxinput,,"
+PACKAGECONFIG[noinput] = "--with-inputdrivers=none,,"
+
+EXTRA_OECONF = "\
+  --with-gfxdrivers=none \
+  --enable-freetype=yes \
+  --enable-zlib \
+  --disable-imlib2 \
+  --disable-mesa \
+  --disable-sdl \
+  --disable-vnc \
+  --disable-x11 \
+"
+
+#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default
+#this will cause directfb build failure on x86 arch, so filter out it.
+TARGET_CFLAGS_remove_x86 = "-fno-omit-frame-pointer"
+
+#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*"
+#
+#python populate_packages_prepend () {
+#    inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers')
+#    do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
+#}
+
+# NOTE: monolithic packaging for now, should improve that eventually
+
+FILES_${PN}-dev += "\
+  ${bindir}/directfb-config \
+  ${libdir}/directfb-${RV}/systems/*.la \
+  ${libdir}/directfb-${RV}/inputdrivers/*.la \
+  ${libdir}/directfb-${RV}/interfaces/*/*.la \
+  ${libdir}/directfb-${RV}/wm/*.la \
+"
+
+FILES_${PN} += "\
+  ${libdir}/directfb-${RV}/systems/*.so \
+  ${libdir}/directfb-${RV}/inputdrivers/*.so \
+  ${libdir}/directfb-${RV}/interfaces/*/*.so \
+  ${libdir}/directfb-${RV}/wm/*.so \
+  ${datadir}/directfb-${PV} \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch
new file mode 100644
index 0000000..76e0f75
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch
@@ -0,0 +1,61 @@
+From f43ef44806ffb8e3b35d99070dde9b6cc1714d3d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Sep 2015 21:32:20 +0000
+Subject: [PATCH] gfx,direct: Aboid usng VLAs and printf formats
+
+VLAs are flagged by clang when using non-POD types, therefore replace
+the usage with alloca which is exact same allocation on stack
+
+ __attribute__((__format__ (__printf__))) is not portable as used here
+ therefore disable the check for clang here, we lose no functionality
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ lib/direct/util.h | 2 +-
+ src/gfx/util.cpp  | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/lib/direct/util.h b/lib/direct/util.h
+index 72941e9..8e7fa4a 100644
+--- a/lib/direct/util.h
++++ b/lib/direct/util.h
+@@ -98,7 +98,7 @@
+ #define D_CONST_FUNC
+ #endif
+ 
+-#if __GNUC__ >= 3
++#if __GNUC__ >= 3 && !defined __clang__
+ #define D_FORMAT_PRINTF(n)         __attribute__((__format__ (__printf__, n, n+1)))
+ #define D_FORMAT_VPRINTF(n)        __attribute__((__format__ (__printf__, n, 0)))
+ #else
+diff --git a/src/gfx/util.cpp b/src/gfx/util.cpp
+index 40032bc..d1015d4 100644
+--- a/src/gfx/util.cpp
++++ b/src/gfx/util.cpp
+@@ -294,8 +294,8 @@ dfb_gfx_copy_regions_stereo( CoreSurface           *source,
+ {
+      unsigned int i, n = 0;
+      DFBRectangle rect = { 0, 0, source->config.size.w, source->config.size.h };
+-     DFBRectangle rects[num];
+-     DFBPoint     points[num];
++     DFBRectangle *rects =  (DFBRectangle*)alloca( sizeof(struct DFBRectangle) * num);
++     DFBPoint *points =  (DFBPoint*)alloca( sizeof(struct DFBPoint) * num);
+ 
+      for (i=0; i<num; i++) {
+           DFB_REGION_ASSERT( &regions[i] );
+@@ -351,8 +351,8 @@ dfb_gfx_copy_regions_client( CoreSurface             *source,
+ {
+      unsigned int             i, n = 0;
+      DFBRectangle             rect = { 0, 0, source->config.size.w, source->config.size.h };
+-     DFBRectangle             rects[num];
+-     DFBPoint                 points[num];
++     DFBRectangle            *rects =  (DFBRectangle*)alloca( sizeof(struct DFBRectangle) * num);
++     DFBPoint                *points =  (DFBPoint*)alloca( sizeof(struct DFBPoint) * num);
+      CoreGraphicsStateClient *client = _client ? _client : &StateClient::Get()->client;
+      CardState               *state  = client->state;
+      CardState                backup;
+-- 
+2.5.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/bashism.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/bashism.patch
new file mode 100644
index 0000000..2ef4e93
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/bashism.patch
@@ -0,0 +1,18 @@
+${x//y/} is a bash syntax. Replace with something dash compatible
+
+RP 2015/5/3
+Upstream-Status: Pending
+
+Index: DirectFB-1.7.7/configure.in
+===================================================================
+--- DirectFB-1.7.7.orig/configure.in
++++ DirectFB-1.7.7/configure.in
+@@ -2696,7 +2696,7 @@ AM_CONDITIONAL(BUILD_TOOLS, test "$with_
+ AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = "yes")
+ 
+ CFLAGS="$CFLAGS $DFB_INTERNAL_CFLAGS"
+-CXXFLAGS="$CXXFLAGS ${CFLAGS//-Werror-implicit-function-declaration/}"
++CXXFLAGS="$CXXFLAGS $(printf '%s\n' "$CFLAGS" | sed 's/-Werror-implicit-function-declaration//g')"
+ DFB_LDFLAGS="$LDFLAGS $ZLIB_LIBS"
+ 
+ CFLAGS="$CFLAGS $CFLAGS_STD"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch
new file mode 100644
index 0000000..ee4d900
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch
@@ -0,0 +1,62 @@
+test for __compar_fn_t and if not defined by libc then define it
+help make directfb compile with musl
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: DirectFB-1.7.7/configure.in
+===================================================================
+--- DirectFB-1.7.7.orig/configure.in
++++ DirectFB-1.7.7/configure.in
+@@ -112,6 +112,17 @@ AC_CHECK_SIZEOF(long)
+ AC_CHECK_SIZEOF(long long)
+ AC_CHECK_FUNCS(fork)
+ 
++AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [
++    AC_TRY_COMPILE(
++        [#include <stdlib.h>],
++        [void test_fn(void) { qsort(NULL, 0, 0, (__compar_fn_t)NULL); }],
++        ccache_cv_COMPAR_FN_T=yes,
++        ccache_cv_COMPAR_FN_T=no)])
++if test x"$ccache_cv_COMPAR_FN_T" = x"yes"; then
++   AC_DEFINE(HAVE_COMPAR_FN_T, 1,
++             Define to 1 if you have the `__compar_fn_t' typedef.)
++fi
++
+ AC_PATH_PROGS(PERL, perl5 perl)
+ 
+ AC_PATH_PROG(MAN2HTML, man2html, no)
+Index: DirectFB-1.7.7/inputdrivers/lirc/lirc.c
+===================================================================
+--- DirectFB-1.7.7.orig/inputdrivers/lirc/lirc.c
++++ DirectFB-1.7.7/inputdrivers/lirc/lirc.c
+@@ -59,6 +59,11 @@
+ 
+ #include <core/input_driver.h>
+ 
++#if HAVE_COMPAR_FN_T
++#define COMPAR_FN_T __compar_fn_t
++#else
++typedef int (*COMPAR_FN_T)(const void *, const void *);
++#endif
+ 
+ DFB_INPUT_DRIVER( lirc )
+ 
+@@ -97,7 +102,7 @@ static DFBInputDeviceKeySymbol lirc_pars
+           qsort ( keynames,
+                   D_ARRAY_SIZE( keynames ),
+                   sizeof(keynames[0]),
+-                  (__compar_fn_t) keynames_sort_compare );
++                  (COMPAR_FN_T) keynames_sort_compare );
+           keynames_sorted = true;
+      }
+ 
+@@ -124,7 +129,7 @@ static DFBInputDeviceKeySymbol lirc_pars
+                symbol_name = bsearch( name, keynames,
+                                       D_ARRAY_SIZE( keynames ),
+                                       sizeof(keynames[0]),
+-                                      (__compar_fn_t) keynames_compare );
++                                      (COMPAR_FN_T) keynames_compare );
+                if (symbol_name)
+                     return symbol_name->symbol;
+                break;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch
new file mode 100644
index 0000000..6811547
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch
@@ -0,0 +1,60 @@
+Libtool needs these set correctly else we end up with pointless rpaths
+such as the QA warnings:
+
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfblayer contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbmaster contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgifft contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbdump contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinput contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbfx contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/pack ages-split/directfb/usr/bin/dfbscreen contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgiff contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinspector contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdfiff contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinfo contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbpenmount contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbg contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_fbdev.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_devmem.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_dummy.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/ICoreResourceManager/libicoreresourcemanager_test.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_ft2.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/wm/libdirectfbwm_default.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_zytronic.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_penmount.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_linux_input.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_serialmouse.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_mutouch.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_tslib.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_joystick.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_sonypi.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_lirc.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_wm97xx_ts.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_ps2mouse.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_keyboard.so contains probably-redundant RPATH /usr/lib
+
+Upstream-Status: Pending
+
+RP 2012/03/16
+
+Index: DirectFB-1.4.15/configure.in
+===================================================================
+--- DirectFB-1.4.15.orig/configure.in	2012-03-16 13:32:23.692402879 +0000
++++ DirectFB-1.4.15/configure.in	2012-03-16 13:33:22.312400960 +0000
+@@ -97,13 +97,6 @@
+ AC_CHECK_SIZEOF(long long)
+ AC_CHECK_FUNCS(fork)
+ 
+-
+-## Work around libstuhl during cross build...
+-if test "$host" != "$build"; then
+-  sys_lib_dlsearch_path_spec=""
+-  sys_lib_search_path_spec=""
+-fi
+-
+ AC_PATH_PROGS(PERL, perl5 perl)
+ 
+ AC_PATH_PROG(MAN2HTML, man2html, no)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch
new file mode 100644
index 0000000..57a9b0d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch
@@ -0,0 +1,38 @@
+From 8e53c0b9cedb62b82e2b7680d793d433b647ae20 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Mon, 13 Jun 2016 13:32:44 -0700
+Subject: [PATCH] fix client->gfx_state initialisation
+
+Shortly before the DirectFB 1.7.7 release, an optimisation was added
+to CoreGraphicsStateClient_Init() to avoid creating an extended
+Graphics State object if it will not later be required:
+
+  4d422fb Client: Create extended Graphics State object when needed for later usage
+
+Unfortunately the client->gfx_state variable used to track the
+extended Graphics State object is not initialised, which can lead to
+crashes etc due to creation of the Graphics State object erroneously
+being skipped.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ src/core/CoreGraphicsStateClient.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/core/CoreGraphicsStateClient.cpp b/src/core/CoreGraphicsStateClient.cpp
+index 5d46f0e..5007755 100644
+--- a/src/core/CoreGraphicsStateClient.cpp
++++ b/src/core/CoreGraphicsStateClient.cpp
+@@ -364,6 +364,7 @@ CoreGraphicsStateClient_Init( CoreGraphicsStateClient *client,
+      client->renderer  = NULL;
+      client->requestor = NULL;
+      client->throttle  = NULL;
++     client->gfx_state = NULL;
+ 
+      if (dfb_config->task_manager) {
+           if (dfb_config->call_nodirect) {
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fusion.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fusion.patch
new file mode 100644
index 0000000..1f81a67
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fusion.patch
@@ -0,0 +1,36 @@
+directfb: Fix for hangs in direct_test, fusion_skirmish on exit
+
+Upstream-Status: Pending
+Signed-off-by: Lauren Post <lauren.post@freescale.com>
+
+--- a/lib/fusion/fusion.c	2013-01-18 22:57:11.000000000 +0800
++++ b/lib/fusion/fusion.c	2013-07-04 10:42:56.502699119 +0800
+@@ -2853,9 +2853,14 @@
+           direct_mutex_lock( &world->event_dispatcher_mutex );
+ 
+           while (1) {
+-               if (!world->event_dispatcher_buffers)
++               if (!world->event_dispatcher_buffers){
+                     direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex );
+-
++                    if (world->dispatch_stop) {
++                         D_DEBUG_AT( Fusion_Main_Dispatch, "  -> IGNORING (dispatch_stop!)\n" );
++                         direct_mutex_unlock( &world->event_dispatcher_mutex );
++                         return NULL;
++                    }
++               }
+                buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers;
+                D_MAGIC_ASSERT( buf, FusionEventDispatcherBuffer );
+ 
+@@ -2872,6 +2877,11 @@
+ //D_INFO("waiting...\n");
+                     D_ASSERT( buf->read_pos == buf->write_pos );
+                     direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex );
++		      if (world->dispatch_stop) {
++                         D_DEBUG_AT( Fusion_Main_Dispatch, "  -> IGNORING (dispatch_stop!)\n" );
++                         direct_mutex_unlock( &world->event_dispatcher_mutex );
++                         return NULL;
++                    }
+                }
+ 
+                buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch
new file mode 100644
index 0000000..29f45c7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch
@@ -0,0 +1,19 @@
+This patch is taken from gentoo musl overlay
+sigval_t is glibc only construct, we use a union of sigval
+which pretty much is same effect as sigval_t
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+diff -Naur DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/system.c DirectFB-1.7.6/lib/direct/os/linux/glibc/system.c
+--- DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/system.c	2014-07-15 02:54:58.000000000 -0400
++++ DirectFB-1.7.6/lib/direct/os/linux/glibc/system.c	2015-07-18 16:55:35.077989166 -0400
+@@ -111,7 +111,7 @@
+ void
+ direct_trap( const char *domain, int sig )
+ {
+-     sigval_t val;
++     union sigval val;
+ 
+      if (direct_config->delay_trap_ms) {
+           D_LOG( Direct_Trap, VERBOSE, "NOT RAISING signal %d from %s, waiting for %dms... attach gdb --pid=%d\n", sig, domain, direct_config->delay_trap_ms, getpid() );
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch
new file mode 100644
index 0000000..ac48f68
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch
@@ -0,0 +1,116 @@
+Remove use of DIRECT_RECURSIVE_MUTEX_INITIALIZER its not portable
+use portable way to initialize recursive mutex using pthread_once() and direct_recursive_mutex_init()
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: DirectFB-1.7.7/lib/direct/os/linux/glibc/mutex.h
+===================================================================
+--- DirectFB-1.7.7.orig/lib/direct/os/linux/glibc/mutex.h
++++ DirectFB-1.7.7/lib/direct/os/linux/glibc/mutex.h
+@@ -46,7 +46,6 @@ struct __D_DirectMutex {
+ /**********************************************************************************************************************/
+ 
+ #define DIRECT_MUTEX_INITIALIZER(name)            { PTHREAD_MUTEX_INITIALIZER }
+-#define DIRECT_RECURSIVE_MUTEX_INITIALIZER(name)  { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP }
+ 
+ #endif
+ 
+Index: DirectFB-1.7.7/lib/direct/trace.c
+===================================================================
+--- DirectFB-1.7.7.orig/lib/direct/trace.c
++++ DirectFB-1.7.7/lib/direct/trace.c
+@@ -89,8 +89,15 @@ struct __D_DirectTraceBuffer {
+ /**************************************************************************************************/
+ 
+ static DirectLink  *buffers;
+-static DirectMutex  buffers_lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(buffers_lock);
+ 
++static pthread_once_t buffers_lock_init_once = PTHREAD_ONCE_INIT;
++static DirectMutex buffers_lock;
++
++static void
++buffers_lock_init( void )
++{
++     direct_recursive_mutex_init(&buffers_lock);
++}
+ /**************************************************************************************************/
+ 
+ __dfb_no_instrument_function__
+@@ -113,6 +120,7 @@ get_trace_buffer( void )
+ 
+           D_MAGIC_SET( buffer, DirectTraceBuffer );
+ 
++          pthread_once(&buffers_lock_init_once, buffers_lock_init);
+           direct_mutex_lock( &buffers_lock );
+           direct_list_append( &buffers, &buffer->link );
+           direct_mutex_unlock( &buffers_lock );
+@@ -138,8 +146,14 @@ typedef struct {
+ } SymbolTable;
+ 
+ static DirectLink  *tables      = NULL;
+-static DirectMutex  tables_lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(tables_lock);
++static pthread_once_t tables_lock_init_once = PTHREAD_ONCE_INIT;
++static DirectMutex tables_lock;
+ 
++static void
++tables_lock_init( void )
++{
++     direct_recursive_mutex_init(&tabless_lock);
++}
+ 
+ __dfb_no_instrument_function__
+ static void
+@@ -370,6 +384,7 @@ direct_trace_lookup_symbol( const char *
+      Symbol      *symbol;
+      SymbolTable *table;
+ 
++     pthread_once(&tables_lock_init_once, tables_lock_init);
+      direct_mutex_lock( &tables_lock );
+ 
+      table = find_table( filename );
+@@ -514,6 +529,7 @@ direct_trace_print_stacks()
+      DirectTraceBuffer *b;
+      DirectTraceBuffer *buffer = get_trace_buffer();
+ 
++     pthread_once(&buffers_lock_init_once, buffers_lock_init);
+      direct_mutex_lock( &buffers_lock );
+ 
+      if (buffer && buffer->level)
+@@ -611,6 +627,7 @@ direct_trace_free_buffer( DirectTraceBuf
+      D_MAGIC_ASSERT( buffer, DirectTraceBuffer );
+ 
+      if (buffer->thread) {
++          pthread_once(&buffers_lock_init_once, buffers_lock_init);
+           direct_mutex_lock( &buffers_lock );
+           direct_list_remove( &buffers, &buffer->link );
+           direct_mutex_unlock( &buffers_lock );
+Index: DirectFB-1.7.7/src/directfb.c
+===================================================================
+--- DirectFB-1.7.7.orig/src/directfb.c
++++ DirectFB-1.7.7/src/directfb.c
+@@ -99,6 +99,15 @@ const unsigned int directfb_micro_versio
+ const unsigned int directfb_binary_age    = DIRECTFB_BINARY_AGE;
+ const unsigned int directfb_interface_age = DIRECTFB_INTERFACE_AGE;
+ 
++static pthread_once_t lock_init_once = PTHREAD_ONCE_INIT;
++static DirectMutex lock;
++
++static void
++lock_init( void )
++{
++     direct_recursive_mutex_init(&lock);
++}
++
+ const char *
+ DirectFBCheckVersion( unsigned int required_major,
+                       unsigned int required_minor,
+@@ -215,8 +224,7 @@ DirectFBCreate( IDirectFB **interface_pt
+      if (dfb_config->remote.host)
+           return CreateRemote( dfb_config->remote.host, dfb_config->remote.port, interface_ptr );
+ 
+-     static DirectMutex lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(lock);
+-
++     pthread_once(&lock_init_once, lock_init);
+      direct_mutex_lock( &lock );
+ 
+      if (!dfb_config->no_singleton && idirectfb_singleton) {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb
new file mode 100644
index 0000000..c6c070e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb
@@ -0,0 +1,8 @@
+require directfb.inc
+
+RV = "1.7-7"
+
+LEAD_SONAME = "libdirectfb-1.7.so.0"
+
+SRC_URI[md5sum] = "152cf1863b1a3a28aa1370e9053440bf"
+SRC_URI[sha256sum] = "b785c638dc31b8fe3a7c81be1475c89b2255ab3d67b777c747d3fbc52f8027a3"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb
index 53899f1..544149d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20150824.bb
@@ -6,7 +6,7 @@
     file://LICENSE;md5=3f922b42ed0033fa0fd4cd3268f6429c \
 "
 
-DEPENDS = "glib-2.0 pango giflib tiff libxml2 jpeg python libtool uthash"
+DEPENDS = "glib-2.0 pango giflib tiff libxml2 jpeg python libtool uthash gnulib"
 DEPENDS_append_class-target = " libxi"
 
 inherit autotools pkgconfig pythonnative distro_features_check
@@ -18,7 +18,7 @@
 SRCREV = "07d5ccff2704f8a56f1b3cc6695a4e31f85f88e6"
 S = "${WORKDIR}/git"
 
-EXTRA_OECONF_append_class-native = " with_x=no --disable-python-extension --disable-python-scripting"
+EXTRA_OECONF_append_class-native = " with_x=no"
 
 do_configure_prepend() {
     # uthash sources are expected in uthash/src
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb
new file mode 100644
index 0000000..d54fafc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \
+               Utility Toolkit (GLUT) library"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb"
+
+SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "90c3ca4dd9d51cf32276bc5344ec9754"
+SRC_URI[sha256sum] = "2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2"
+
+inherit cmake distro_features_check
+
+# depends on virtual/libx11, virtual/libgl
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+PROVIDES += "mesa-glut"
+
+DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu libxrandr"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb
index 15c1b64..9de8489 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.4.bb
@@ -1,7 +1,7 @@
 SUMMARY = "GEGL (Generic Graphics Library) is a graph based image processing framework"
 LICENSE = "LGPL-3.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "babl librsvg glib-2.0 gtk+ pango cairo expat zlib libpng jpeg virtual/libsdl json-glib"
+DEPENDS = "babl librsvg glib-2.0 gtk+ pango cairo expat zlib libpng jpeg virtual/libsdl json-glib intltool-native"
 
 EXTRA_OECONF = "--disable-docs"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.14.bb
deleted file mode 100644
index 29ed4d9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.14.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "The GIMP is the GNU Image Manipulation Program"
-HOMEPAGE = "http://www.gimp.org"
-SECTION = "x11/graphics"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "babl gdk-pixbuf-native libart-lgpl gtk+ jpeg libpng libexif tiff lcms gegl poppler jasper bzip2 libgudev"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}"
-
-inherit gnome gtk-doc
-
-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 \
-    file://bump_Babl-GEGL_versions.patch \
-"
-SRC_URI[md5sum] = "233c948203383fa078434cc3f8f925cb"
-SRC_URI[sha256sum] = "d82a958641c9c752d68e35f65840925c08e314cea90222ad845892a40e05b22d"
-
-EXTRA_OECONF = "--disable-python \
-                --without-webkit \
-                --without-wmf"
-
-do_configure_append() {
-    find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
-    find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
-}
-
-CFLAGS += "-fPIC"
-
-FILES_${PN}-dbg += "${libdir}/gimp/2.0/*/.debug"
-FILES_${PN}  += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.18.bb
new file mode 100644
index 0000000..1f83523
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.18.bb
@@ -0,0 +1,48 @@
+SUMMARY = "The GIMP is the GNU Image Manipulation Program"
+HOMEPAGE = "http://www.gimp.org"
+SECTION = "x11/graphics"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = " \
+    gdk-pixbuf-native \
+    intltool-native \
+    gtk+ \
+    babl \
+    gegl \
+    libart-lgpl \
+    jpeg \
+    libpng \
+    libexif \
+    tiff \
+    lcms \
+    poppler \
+    jasper \
+    bzip2 \
+    libgudev \
+"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}"
+
+inherit gnome gtk-doc
+
+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 \
+    file://bump_Babl-GEGL_versions.patch \
+"
+SRC_URI[md5sum] = "5adaa11a68bc8a42bb2c778fee4d389c"
+SRC_URI[sha256sum] = "39dd2247c678deaf5cc664397d3c6bd4fb910d3472290fd54b52b441b5815441"
+
+EXTRA_OECONF = "--disable-python \
+                --without-webkit \
+                --without-wmf"
+
+do_configure_append() {
+    find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
+    find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
+}
+
+CFLAGS += "-fPIC"
+
+FILES_${PN}-dbg += "${libdir}/gimp/2.0/*/.debug"
+FILES_${PN}  += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/0001-build-Specify-std-c-11-on-cmdline.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/0001-build-Specify-std-c-11-on-cmdline.patch
new file mode 100644
index 0000000..ffbc297
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/0001-build-Specify-std-c-11-on-cmdline.patch
@@ -0,0 +1,45 @@
+From 47bfef0dd83ed2e10ec4c615908ec926c4d5fe2e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Oct 2016 00:56:54 +0000
+Subject: [PATCH] build: Specify -std=c++11 on cmdline
+
+We use c++11 features so demand it explicitly from compiler
+
+Fixes
+| ../src/libmatrix/shader-source.cc:37:10: error: no member named 'unique_ptr' in namespace 'std'
+|     std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
+|     ~~~~~^
+| ../src/libmatrix/shader-source.cc:37:33: error: expected '(' for function-style cast or type construction
+|     std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
+|                     ~~~~~~~~~~~~^
+| ../src/libmatrix/shader-source.cc:37:35: error: use of undeclared identifier 'is_ptr'
+|     std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
+|                                   ^
+| ../src/libmatrix/shader-source.cc:38:30: error: use of undeclared identifier 'is_ptr'
+|     std::istream& inputFile(*is_ptr);
+|                              ^
+| 4 errors generated.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ wscript | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/wscript b/wscript
+index dcaf298..485a9fb 100644
+--- a/wscript
++++ b/wscript
+@@ -79,7 +79,7 @@ def configure(ctx):
+             ctx.check_cfg(package = pkg, uselib_store = uselib, args = '--cflags --libs',
+                           mandatory = True)
+ 
+-    ctx.env.append_unique('CXXFLAGS', '-Wall -Werror -Wextra'.split(' '))
++    ctx.env.append_unique('CXXFLAGS', '-Wall -Werror -std=c++11 -Wextra'.split(' '))
+ 
+     # Prepend -O# and -g flags so that they can be overriden by the CFLAGS environment variable
+     if Options.options.opt:
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix-configure-for-sqrt-check.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix-configure-for-sqrt-check.patch
new file mode 100755
index 0000000..4831c40
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix-configure-for-sqrt-check.patch
@@ -0,0 +1,14 @@
+Index: git/wscript
+===================================================================
+--- git.orig/wscript	2016-07-29 13:15:44.954249796 -0500
++++ git/wscript	2016-07-29 15:52:06.196768865 -0500
+@@ -56,7 +56,7 @@
+         ctx.check_cxx(lib = lib, uselib_store = uselib)
+ 
+     # Check required functions
+-    req_funcs = [('gettimeofday', 'sys/time.h', []) ,('sqrt', 'math.h', ['m']),
++    req_funcs = [('gettimeofday', 'sys/time.h', []),
+                  ('strtol', 'stdlib.h', []), ('strtoul', 'stdlib.h', [])]
+     for func, header, uselib in req_funcs:
+         ctx.check_cxx(function_name = func, header_name = header, uselib = uselib, mandatory = True)
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix_auto_ptr_deprecated.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix_auto_ptr_deprecated.patch
new file mode 100755
index 0000000..930c7cb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix_auto_ptr_deprecated.patch
@@ -0,0 +1,24 @@
+diff -aur glcompbench-2012.08/src/libmatrix/shader-source.cc Fixed/src/libmatrix/shader-source.cc
+--- glcompbench-2012.08/src/libmatrix/shader-source.cc	2012-08-22 13:41:36.000000000 -0500
++++ Fixed/src/libmatrix/shader-source.cc	2016-08-24 14:23:49.576023317 -0500
+@@ -34,7 +34,7 @@
+ bool
+ ShaderSource::load_file(const std::string& filename, std::string& str)
+ {
+-    std::auto_ptr<std::istream> is_ptr(Util::get_resource(filename));
++    std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
+     std::istream& inputFile(*is_ptr);
+ 
+     if (!inputFile)
+diff -aur glcompbench-2012.08/src/texture.cc Fixed/src/texture.cc
+--- glcompbench-2012.08/src/texture.cc	2012-08-22 13:41:36.000000000 -0500
++++ Fixed/src/texture.cc	2016-08-24 14:23:28.223917438 -0500
+@@ -52,7 +52,7 @@
+ 
+         Log::debug("Reading PNG file %s\n", filename.c_str());
+ 
+-        const std::auto_ptr<std::istream> is_ptr(Util::get_resource(filename));
++        const std::unique_ptr<std::istream> is_ptr(Util::get_resource(filename));
+         if (!(*is_ptr)) {
+             Log::error("Cannot open file %s!\n", filename.c_str());
+             return false;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix_space_issues.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix_space_issues.patch
new file mode 100755
index 0000000..516baad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench/Fix_space_issues.patch
@@ -0,0 +1,22 @@
+diff -aur glcompbench-2012.08/src/composite-canvas.cc Fixed/src/composite-canvas.cc
+--- glcompbench-2012.08/src/composite-canvas.cc	2012-08-22 13:41:36.000000000 -0500
++++ Fixed/src/composite-canvas.cc	2016-08-24 14:05:28.970565709 -0500
+@@ -41,7 +41,7 @@
+ #include "log.h"
+ #include "profiler.h"
+ 
+-const std::string glcompbench_version_string("glcompbench "GLCOMPBENCH_VERSION);
++const std::string glcompbench_version_string("glcompbench " GLCOMPBENCH_VERSION);
+ 
+ /*******************
+  * Private methods *
+@@ -495,7 +495,7 @@
+     // When we complete an iteration, reset the count and tell the caller.
+ 
+     if (stats.total >= current_test_duration_) {
+-        Log::info("FPS: %"PRIu64"\n", (uint64_t)(1000 * stats.nsamples / stats.total));
++        Log::info("FPS: %" PRIu64 "\n", (uint64_t)(1000 * stats.nsamples / stats.total));
+ 
+         for (Profiler::Point p = 0; p < profiler.get_num_points(); p += 2) {
+             profiler.get_stats(p, p + 1, stats);
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb
old mode 100644
new mode 100755
index d0f4494..7cf9692
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb
@@ -6,7 +6,12 @@
            virtual/libx11 libxcomposite pixman libxrender libpng12"
 
 SRC_URI = "https://launchpad.net/glcompbench/trunk/${PV}/+download/${BPN}-${PV}.tar.gz \
-           file://glbench-compile-fix.patch"
+           file://glbench-compile-fix.patch \
+           file://Fix-configure-for-sqrt-check.patch \
+           file://Fix_space_issues.patch \
+           file://Fix_auto_ptr_deprecated.patch \
+           file://0001-build-Specify-std-c-11-on-cmdline.patch \
+"
 
 SRC_URI[md5sum] = "c939d9156fe940960098f38707fea827"
 SRC_URI[sha256sum] = "b04b738cec06c6786ceafa86e4735fd8b971c078265754854ef356b0379542ee"
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
new file mode 100644
index 0000000..cf2d86d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/0002-correct-jpeg-memsrcdest-support.patch
@@ -0,0 +1,54 @@
+--- 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
new file mode 100644
index 0000000..fba4c69
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2-2.5.8/avoid_using_sprintf.patch
@@ -0,0 +1,133 @@
+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.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.8.bb
index 3de6942..098da79 100644
--- 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
@@ -14,6 +14,8 @@
            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 \
 "
 
 SRC_URI[libgphoto2.md5sum] = "873ab01aced49c6b92a98e515db5dcef"
@@ -52,4 +54,3 @@
 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/jasper/jasper_1.900.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
index 2c51319..cc6a694 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
@@ -10,6 +10,7 @@
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg"
+PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,freeglut"
 
 EXTRA_OECONF = "--enable-shared"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb
deleted file mode 100644
index e826e05..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications"
-DEPENDS = "jpeg tiff libpng zlib giflib"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=20cdd3af097ca431b82004c691f406a6"
-
-SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz"
-SRC_URI[md5sum] = "5ac2a31cf5b4f0e8f5a853a5266c42ef"
-SRC_URI[sha256sum] = "d3d209a1f6d1f7a80119486b5011bc8c6627e582c927ab44ba33c37edb2cfba2"
-
-EXTRA_OECONF += " \
-    --without-libwebp \
-"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.73.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.73.bb
new file mode 100644
index 0000000..c32d24a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.73.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications"
+DEPENDS = "jpeg tiff libpng zlib"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=20cdd3af097ca431b82004c691f406a6"
+
+SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz"
+SRC_URI[md5sum] = "092cea2e568cada79fff178820397922"
+SRC_URI[sha256sum] = "19e4335c674e7b78af9338d5382cc5266f34a62d4ce533d860af48eaa859afc1"
+
+EXTRA_OECONF += " \
+    --without-libwebp \
+"
+
+PACKAGECONFIG ??= "giflib"
+PACKAGECONFIG[openjpeg] = "--with-libopenjpeg,--without-libopenjpeg,openjpeg"
+PACKAGECONFIG[giflib] = "--with-giflib,--without-giflib,giflib"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.10.bb
index 235b17e..387202b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.10.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.10.bb
@@ -11,9 +11,9 @@
 inherit autotools binconfig pkgconfig
 
 SRC_URI  = "\
-	 ${DEBIAN_MIRROR}/main/libv/libvncserver/libvncserver_0.9.10+dfsg.orig.tar.xz \
-	 file://0001-remove-webclients-build.patch \
-	 file://0002-common-add-sha1.patch \
+    ${DEBIAN_MIRROR}/main/libv/libvncserver/libvncserver_0.9.10+dfsg.orig.tar.xz \
+    file://0001-remove-webclients-build.patch \
+    file://0002-common-add-sha1.patch \
 "
 
 SRC_URI[md5sum] = "e883b6c7bd339a5e1c48645051abe5c4"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb
deleted file mode 100644
index 404ee53..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "OpenGL Utility Toolkit"
-LICENSE = "Kilgard"
-LIC_FILES_CHKSUM = "file://include/GL/glut.h;md5=4aab626c830aed79d7b2e5a76dfa2dd6;startline=4;endline=8"
-
-SRC_URI = "git://anongit.freedesktop.org/mesa/glut"
-
-SRCREV = "ee89e9aeb49604b036e06f1df6478d32006b30cd"
-PV = "8.0.0+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep pkgconfig distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.1.0.bb
deleted file mode 100644
index d28a865..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.1.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
-HOMEPAGE = "http://www.openjpeg.org/index.php?menu=main"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}.mirror/${PV}/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "f6419fcc233df84f9a81eb36633c6db6"
-SRC_URI[sha256sum] = "1232bb814fd88d8ed314c94f0bfebb03de8559583a33abbe8c64ef3fc0a8ff03"
-
-inherit cmake
-
-DEPENDS = "libpng tiff lcms"
-
-# standard path for *.cmake
-EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_PACKAGE_DIR=${baselib}/cmake \
-                  -DOPENJPEG_INSTALL_LIB_DIR:PATH=${libdir}"
-
-FILES_${PN}-dev += "${libdir}/cmake/*.cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.1.1.bb
new file mode 100644
index 0000000..fa4f796
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.1.1.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
+HOMEPAGE = "http://www.openjpeg.org"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
+
+SRC_URI = "https://github.com/uclouvain/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
+SRC_URI[md5sum] = "0cc4b2aee0a9b6e9e21b7abcd201a3ec"
+SRC_URI[sha256sum] = "82c27f47fc7219e2ed5537ac69545bf15ed8c6ba8e6e1e529f89f7356506dbaa"
+
+inherit cmake
+
+DEPENDS = "libpng tiff lcms zlib"
+
+# standard path for *.cmake
+EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_PACKAGE_DIR=${baselib}/cmake \
+                  -DOPENJPEG_INSTALL_LIB_DIR:PATH=${libdir}"
+
+FILES_${PN}-dev += "${libdir}/cmake/*.cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb
deleted file mode 100644
index 0c73a53..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "afr"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "16a756bf353896e34386f4509582e487"
-SRC_URI[sha256sum] = "371399ce6700f28d04ccfc12e421f315e356e3aa26575b27d06083c06987784d"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb
deleted file mode 100644
index fb68bdc..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "ara"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "d7b3708f1f1f2898c258209923063f57"
-SRC_URI[sha256sum] = "2c7be319c30e93950c121897969c1bc1eb1d6bdceb75f1184ee34a6f01d66b6a"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb
deleted file mode 100644
index 21ed3d3..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "aze"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "143044ff7b643b844c2f0b2a170ceda2"
-SRC_URI[sha256sum] = "0f17a06a163d97ec23db3ab14b91b84a67aeba1e441ca5e53a8632b2110a0e79"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb
deleted file mode 100644
index 5f88301..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "bel"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "3bb6dab515166d641ac62e973c868ac5"
-SRC_URI[sha256sum] = "e59e008c542f786f6f7bd14c6608b2c128c9297d6bede647ae357f7421f7a3e7"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb
deleted file mode 100644
index 673fd42..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "ben"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "0b662630eb4b2e0ebf40c38184068fba"
-SRC_URI[sha256sum] = "14a87e0762dcee0cd95acfd3b370b81fd14a003d39328ed97db0b28c55d31e50"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb
deleted file mode 100644
index 4988fc2..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "bul"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "91fc34ef041aafe32549a7a6232afad0"
-SRC_URI[sha256sum] = "1b8b4d7b12d896cf9f7e60e8e3274d3891886544253d41681dd9b32d6567e3f3"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb
deleted file mode 100644
index ec3fa74..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "cat"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "27b77ecc66f8c8d904cd6b87886aca22"
-SRC_URI[sha256sum] = "894af4c718e821cdc4ae3ec65838b174ac8a003e5417a08557698e1576ac3a34"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb
deleted file mode 100644
index d58d0e8..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "ces"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "ae144b9d230267b5ae62804ad7a09dac"
-SRC_URI[sha256sum] = "843522eddcd0e2059a1c7069183b68c2459d527157bc47833a79b6ff56bb09de"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb
deleted file mode 100644
index 8469801..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "chi_sim"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "718779539d3202ae95ae5ff52a3ad5e8"
-SRC_URI[sha256sum] = "f5b196b5bea6917bcbbf15131b4c2afe94d34c2d9e21d08c0ca42dfbe5aa1095"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb
deleted file mode 100644
index 1c4d98d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "chi_tra"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "391ed3fcf014bae777b33dc7a771a00d"
-SRC_URI[sha256sum] = "78742e273a9ca74a6ab5543414e04bcac90d03a317dd35edc634956beafa3d20"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb
deleted file mode 100644
index 7aa6cc5..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "chr"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "dd5b4fa247500d7713ab5556af62d9fa"
-SRC_URI[sha256sum] = "27c917ba39898d63752b2a4ecb0cd8f688772bcbbae2bf430a93d894d328a4c1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb
deleted file mode 100644
index 5af3f79..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "dan"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "2f6a93920b3ce55de24ca762a66a5de1"
-SRC_URI[sha256sum] = "deb93f6326aa8a4d353159201681947a808577662084d4060daea7d644e63eb9"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb
deleted file mode 100644
index 4d68fd9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "deu"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "57bdb26ec7c767e126ff97776d8bfb10"
-SRC_URI[sha256sum] = "d03cdd0b00d368ff49ebaf77b8758bcf2ff1b0d39331368987e622ac261443ca"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb
deleted file mode 100644
index be4b90e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "ell"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "3760cc3dee6489dcc865b31e7a36bd47"
-SRC_URI[sha256sum] = "29745ced8fbfb4ec9abebeb99e4b385821cb5eb0ed81fb1870b93543553b8fba"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb
deleted file mode 100644
index ce15a2d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "eng"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "3562250fe6f4e76229a329166b8ae853"
-SRC_URI[sha256sum] = "c110029560e7f6d41cb852ca23b66899daa4456d9afeeae9d062204bd271bdf8"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb
deleted file mode 100644
index 5f1531f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "enm"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "d9dc4ad9cbcde78e5be59eb226865661"
-SRC_URI[sha256sum] = "19c9bd89c823451655e3f265b7fcd06727cd36ddec01b8fad9900159b688a1e3"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb
deleted file mode 100644
index 0469ea6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "epo_alt"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "67815529386679223092ddf301bf57d4"
-SRC_URI[sha256sum] = "e516b8362fa060be720d2768a8abbee9cc965b9162249c5914ef1d8159e03dc2"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb
deleted file mode 100644
index 7f42502..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "epo"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "5dc0cf01d21ee43ed834ee947e1e810a"
-SRC_URI[sha256sum] = "22ae681c34ee7aa825994115f927c2e1f8ec1a98c97c01218b98d2549af22252"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb
deleted file mode 100644
index f4d81bb..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "equ"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "94667836c651fc4fd43645efdc34e19a"
-SRC_URI[sha256sum] = "2010e724686171ef2eb3388df00d8d89ba7e50cb2298b0368b847fffb95d804e"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb
deleted file mode 100644
index adfe25c..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "est"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "a067f5975cbe83fea205897187fa256b"
-SRC_URI[sha256sum] = "d5d6b9d4b567a10e2f63cafd2f60bf5b0c994e415470becafd729b20349e2e80"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb
deleted file mode 100644
index a22bcac..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "eus"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "4c2cee5bf3558f6384e5907aa02ae80c"
-SRC_URI[sha256sum] = "78359d57896623cf8211e17604a9dfa574e2253c9157035f439c5fbe06cd5019"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb
deleted file mode 100644
index e8a55e2..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "fin"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "71f8b343ed2010f775ff474faec5874f"
-SRC_URI[sha256sum] = "e02ff1798960d3af15c0dafafac0de954442cfb13f4eff45c3263c2ff6e59026"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb
deleted file mode 100644
index 22c9261..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "fra"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "2bca200b783fdba2f546063c68740c50"
-SRC_URI[sha256sum] = "74592f5f2ab73a6668934922753be0505fc4333ee790543949f8b70f03eab101"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb
deleted file mode 100644
index f75b96a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "frk"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "dd734ac212a98a02945760891b657e70"
-SRC_URI[sha256sum] = "a9f4219d6b2ef4ed8b76c86be99ae3c9190509df72ba6f0217a77f7205ec52f8"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb
deleted file mode 100644
index d0d1398..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "frm"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "e0ca24ca45de83e67057f0e208233ffc"
-SRC_URI[sha256sum] = "f32f774d88e7936f16ff41b832cecfbd71f82c9bf7584330d750da941c07ca79"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb
deleted file mode 100644
index b94fd03..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "glg"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "ef7b8e13891e08f29b02011a5dd6b630"
-SRC_URI[sha256sum] = "82ffa27c4de17545fa9d46e0fcd5690b1b59bcce9e93f71c0a41d19afbe869ee"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb
deleted file mode 100644
index 16c9605..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "grc"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "ac493e5a49e456f2dd354f5b6449573e"
-SRC_URI[sha256sum] = "586b955eb9fba5a304cfa37bfdd7c89f2db33335d5ae83f2962aed8903266805"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb
deleted file mode 100644
index 9d7a4fa..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "heb"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "7ae7f3384083c66f06d63b6c0f0a66c3"
-SRC_URI[sha256sum] = "da47b0cfe241775c9b36339efda6339d59e146fa6143c65a2253eb9f67164811"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb
deleted file mode 100644
index d3ed173..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "hin"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "186f17b326a58313344c2ea987ea7785"
-SRC_URI[sha256sum] = "91f91da5adc73ee71150865d6598df8a50424350480df2753ca9035320b3c78d"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb
deleted file mode 100644
index 7423687..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "hrv"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "0396a267d894f485b6b534476f3322dc"
-SRC_URI[sha256sum] = "e20575f5b0ec73ff7f3197c112a8dcc24303b64016910399d9127bda42e7d866"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb
deleted file mode 100644
index 61a9ce6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "hun"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "eb1b3537cd664fec48bebac75fac5992"
-SRC_URI[sha256sum] = "edf5cc42b516b2a18681955167d1964dfc7ff8cda642408ebda91b3c4656f9f1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb
deleted file mode 100644
index 6776952..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "ind"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "9f672ea7c90eecbbe35ec353ff45c764"
-SRC_URI[sha256sum] = "337ba4400a798c60dee16070071337c96fc67bcb4e2cc1b4676dcbc340fbbcd7"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb
deleted file mode 100644
index 7fa188f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "isl"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "3f05946a9e57a8ffabb3fccc8a80cfaa"
-SRC_URI[sha256sum] = "6b226366d8d2d87f859d4099e8b715e3ec3890f9317198e7b8c80fba001055f8"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb
deleted file mode 100644
index be4ad3e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "ita_old"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "989ca558eb05fcf6873dfdd8c692291d"
-SRC_URI[sha256sum] = "caf591be6d4eda9e7627397c3c520d58115c660002ecace680749504348ba104"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb
deleted file mode 100644
index 581977a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "ita"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "fbdba86f34b907f5a709051c01b53f71"
-SRC_URI[sha256sum] = "26453b302c108e08f594c7a19597382314529f648e141805417f9af1e4c99ac2"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb
deleted file mode 100644
index 269bdef..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "jpn"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "e1be2b08e667c3bb0ab0f18c9456bf2f"
-SRC_URI[sha256sum] = "09bf447a29e990c065024b3b720fd70f08d596a7be534312fc9e47d0aabf681f"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb
deleted file mode 100644
index 2d21085..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "kan"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "510016e85d7ea8e1f4ebf98741138909"
-SRC_URI[sha256sum] = "15851cc22058c08cad9ec6058113f76966409061f21f5cde8c9cc1d214298c22"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb
deleted file mode 100644
index 617d199..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "kor"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "fc9125f6652fb661575d6e15c94f88f6"
-SRC_URI[sha256sum] = "7c85c4107a781d90d6d4adb001f2189b113f9db6942618b4bc47f4cc80cd126a"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb
deleted file mode 100644
index c207504..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "lav"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "2095b56c9c6b0dba9b837fd226ed6d29"
-SRC_URI[sha256sum] = "e6a190ee1edf0a58948a9d7b01569fd8a4c05bc678da3a40ad884c0849958c36"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb
deleted file mode 100644
index 83ad480..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "lit"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "801021a1ad6e4aa3ef697f065ff6c798"
-SRC_URI[sha256sum] = "350891a182076df2e8067da04b3b2127a77e48782d9905e8339db4f1d6c7a729"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb
deleted file mode 100644
index 571385e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "mal"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "1f5e8f022d3c2697075bdfc03935f128"
-SRC_URI[sha256sum] = "72b3b23979ae4a6b63518964bf239beae8bb6c02f35a2695f47262178b3fef34"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb
deleted file mode 100644
index ad1eaff..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "mkd"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "b8930c64befcaadbb47951cad4a2f075"
-SRC_URI[sha256sum] = "ea489277e7a588a1b7566a21cbbd647786f16659cae087a4705d4fdabd823ee6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb
deleted file mode 100644
index 4a6d42d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "mlt"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "90a41ac86375b230980b643b35b88011"
-SRC_URI[sha256sum] = "ba99e8bfc753a274bbea38ef44f5abf81e5f12d09f9d12d267436961270ef2de"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb
deleted file mode 100644
index 8418ab6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "msa"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "cb42ec9504eecdc4f974dbca4387ac34"
-SRC_URI[sha256sum] = "f34e4950ad9079f92965a234253cc16f92deb66f1ce4e9c9a885ad2695c2d136"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb
deleted file mode 100644
index 412d4a7..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "nld"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "6db5753b3b03296544bbb2c0f59a7178"
-SRC_URI[sha256sum] = "5e2e53499a05282968e5a9699aad66ae52a5abf06ae828e2f4cf2c1f6e674a98"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb
deleted file mode 100644
index 75d2940..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "nor"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "6d979585abb07c13dda003820129461c"
-SRC_URI[sha256sum] = "6b5c42444595a81b5f6fea859d97999895917bcc2f85a505488ea5c2f4efa01a"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb
deleted file mode 100644
index 5858013..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "pol"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "90b3f1f4113a9dccd0287e6b5b7512d6"
-SRC_URI[sha256sum] = "62999058bfb609d95d53bd519c6de99620d025b3bfbc54d8679a87b10474ccbb"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb
deleted file mode 100644
index 75f0139..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "por"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "ad490a8091ee329190266f3fd057c511"
-SRC_URI[sha256sum] = "f9b126323757c62da23aab163e2ce5257d137e86be7c37dea13bb0585e1ace3f"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb
deleted file mode 100644
index 3c8940a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "ron"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "9f498e01855a57473af8f083c125455a"
-SRC_URI[sha256sum] = "d7e6454c9cc80c84a654f94283fc06b2df33c5c7fd2d3bff269c3cbdeb0b39e7"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb
deleted file mode 100644
index e1dd3f1..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "rus"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "e8c785df8aaa49e61f3a95aa24066122"
-SRC_URI[sha256sum] = "091cda49489d15f33916263fc78fbf8dcd4e6547012dc7e1a8496a38ab192315"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb
deleted file mode 100644
index 241b038..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "slk"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "991e4771e16abd6a66caeaeeb2a4d4d2"
-SRC_URI[sha256sum] = "cbd5a88e2188ef39ef438c9859dbd7a9b9e2a99c23a823ec310f7f84a012cc82"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb
deleted file mode 100644
index 0b08210..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "slv"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "c7bea975ba663d13e03c29d6cf33b5a8"
-SRC_URI[sha256sum] = "b901507d2901c882f98f6ef5db07dbf74636fba6a1f616c5f094954106791667"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb
deleted file mode 100644
index 79be8a3..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "spa_old"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "7838da948e404bb760bef83a5c3d64dd"
-SRC_URI[sha256sum] = "2b980c0eda1572423dd56260b32d748288028fdd45266311c4ab448fcbce5814"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb
deleted file mode 100644
index 8790ee5..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "spa"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "fe1385ed203ecd9e0999a44b135069ec"
-SRC_URI[sha256sum] = "f40cc264d037b0c71ecb4a8bb6def8b3ec04b647d8da7fd44d0daa558bfa31b1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb
deleted file mode 100644
index 8e923a9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "sqi"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "372e38617fcc7e25c77996c5499ae063"
-SRC_URI[sha256sum] = "99bfcda3e0c471f63b36cd0db7dea596e59a2219c9275c3ba51e59973555c101"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb
deleted file mode 100644
index 18676c4..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "srp"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "d8350668fa790b5d4007348a55840bdf"
-SRC_URI[sha256sum] = "b1eeeb2958d0a4e2ba16fb55a98ca4ca8e69fee8b0be8162ff599ba19d0b2404"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb
deleted file mode 100644
index 2b9960f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "swa"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "6c68107a71f82fa42c858e4d6dc70aca"
-SRC_URI[sha256sum] = "2681e59f2a9333259a2de42f3deed46aa7dd84b638e6927f40db0409adff143b"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb
deleted file mode 100644
index 7fd1c1d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "swe"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "46d3a5d7159236edb33272dd8b1090f6"
-SRC_URI[sha256sum] = "ada287d7b64183df906215fe4ca86c3b6fe30dc5121e9a83113c3265ca7fc5ae"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb
deleted file mode 100644
index fcfc1fb..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "tam"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "c68b0fdcdf34dd431c25f323673ef1d6"
-SRC_URI[sha256sum] = "75f73362421a23eb955212f7aa19c9a3efdc80a4c6761445869148bfd2a6dc62"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb
deleted file mode 100644
index fb827ed..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "tel"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "349d203ef88864eab8d1201672ca84be"
-SRC_URI[sha256sum] = "f36af3d5ca9f8ff6e606485fe5db835f96b42e7d2380ac5d61af6b41827834fd"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb
deleted file mode 100644
index 8c84ed9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "tgl"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "d458f0719b99e4dcfd4fa2a06e5150a3"
-SRC_URI[sha256sum] = "5c515310df83c9b40e557027e49de6df70e33a9bbabeaf1301ca9e8c13558948"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb
deleted file mode 100644
index 06055d1..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "tha"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "3dc5a5028e75da12eaba62669a80acc4"
-SRC_URI[sha256sum] = "7a98e25e0c61dda48cbdb241f0f53c3dfaa7ef574b81799ab2ddac50da6db4fb"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb
deleted file mode 100644
index f5ec76f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "tur"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "a8934e0e6496997112cbef2961adef5e"
-SRC_URI[sha256sum] = "fe4657ca3455585a06eb3d02b4a0472fda8ca06efe587be75e175662dc6329d7"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb
deleted file mode 100644
index 25de06a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "ukr"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "0aa61f18463bb89234a6d06fcbf0c644"
-SRC_URI[sha256sum] = "7862b10c1ff7e02b41c7a50eec7fccd2c30b8162d965fa1ae00510c6d1210762"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb
deleted file mode 100644
index 6bd813e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license (see meta-openembedded layer's COPYING.MIT)
-
-TESSERACT_LANG = "vie"
-
-require tesseract-lang.inc
-
-SRC_URI[md5sum] = "78a74432848b4c53cc2ccf2eb339c0b6"
-SRC_URI[sha256sum] = "a113254882eac70168aec00544805e7c9cec20527217b98349ed48f6e2d2611e"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc
deleted file mode 100644
index c40c71d..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI = "https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.${TESSERACT_LANG}.tar.gz"
-
-S = "${WORKDIR}/tesseract-ocr"
-
-inherit allarch
-
-do_install() {
-    install -d ${D}${datadir}/tessdata
-    cp ${S}/tessdata/${TESSERACT_LANG}.traineddata ${D}${datadir}/tessdata
-}
-
-FILES_${PN} += "${datadir}/tessdata"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
new file mode 100644
index 0000000..28ea33e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "tesseract-ocr language files"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9648bd7af63bd3cc4f5ac046d12c49e4"
+
+PV = "3.04.00+git${SRCPV}"
+SRCREV = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"
+SRC_URI = "git://github.com/tesseract-ocr/tessdata.git"
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+do_install() {
+    install -d ${D}${datadir}/tessdata
+    cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${S}/*.cube.* ${S}/*.tesseract_cube.* ${D}${datadir}/tessdata
+}
+
+python populate_packages_prepend () {
+    tessdata_dir= d.expand('${datadir}/tessdata')
+    pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
+    pn = d.getVar('PN', True)
+    d.appendVar('RDEPENDS_' + pn, ' '+' '.join(pkgs))
+}
+
+PACKAGES_DYNAMIC += "^${BPN}-.*"
+ALLOW_EMPTY_${PN} = "1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb
deleted file mode 100644
index 652bcf2..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "A commercial quality OCR engine "
-
-DEPENDS = "leptonica"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0c94b3c86ad0c386bb6dec70ca8a36a"
-
-SRC_URI = "https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.tar.gz"
-SRC_URI[md5sum] = "26adc8154f0e815053816825dde246e6"
-SRC_URI[sha256sum] = "26cd39cb3f2a6f6f1bf4050d1cc0aae35edee49eb49a92df3cb7f9487caa013d"
-
-EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica"
-
-S = "${WORKDIR}/tesseract-ocr"
-
-inherit autotools pkgconfig
-
-FILES_${PN} += "${datadir}/tessdata"
-
-RRECOMMENDS_${PN} += "tesseract-lang-eng"
-
-# http://errors.yoctoproject.org/Errors/Details/35134/
-PNBLACKLIST[tesseract] ?= "BROKEN: QA Issue: tesseract.pc failed sanity test (tmpdir)"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb
new file mode 100644
index 0000000..c2675cd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A commercial quality OCR engine "
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c0c94b3c86ad0c386bb6dec70ca8a36a"
+
+PV = "3.04.00+git${SRCPV}"
+SRCREV = "228317caa1ced217e6d264aafc901f361ecd7e90"
+SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git"
+S = "${WORKDIR}/git"
+
+DEPENDS = "leptonica"
+
+EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica"
+
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${datadir}/tessdata"
+
+RRECOMMENDS_${PN} += "tesseract-lang-eng"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/ts.conf b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/ts.conf
new file mode 100644
index 0000000..1b0da93
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/ts.conf
@@ -0,0 +1,25 @@
+# Uncomment if you wish to use the linux input layer event interface
+module_raw input
+
+# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
+# module_raw collie
+
+# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860
+# module_raw corgi
+
+# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface
+# module_raw ucb1x00
+
+# Uncomment if you're using an HP iPaq h3600 or similar
+# module_raw h3600
+
+# Uncomment if you're using a Hitachi Webpad
+# module_raw mk712
+
+# Uncomment if you're using an IBM Arctic II
+# module_raw arctic2
+
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/tslib.sh b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/tslib.sh
new file mode 100644
index 0000000..7068e8d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/tslib.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if [ -e /dev/input/touchscreen0 ]; then
+    TSLIB_TSDEVICE=/dev/input/touchscreen0
+
+    export TSLIB_TSDEVICE
+fi
+
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
new file mode 100644
index 0000000..502034a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.1.bb
@@ -0,0 +1,53 @@
+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.berlios.de/"
+
+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/ttf-fonts/ttf-abyssinica_1.500.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb
new file mode 100644
index 0000000..cd96fbb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb
@@ -0,0 +1,17 @@
+require ttf.inc
+
+SUMMARY = "Ethiopia and Eritrea (Amharic) font - TTF Edition"
+HOMEPAGE = "http://software.sil.org/abyssinica/"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://OFL.txt;md5=1694c7fc245cdc85c9971db707928159"
+
+SRCNAME = "AbyssinicaSIL"
+SRC_URI = "http://software.sil.org/downloads/d/abyssinica/${SRCNAME}-${PV}.zip"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+SRC_URI[md5sum] = "a3d943d18e303197c8d3d92d2de54d1e"
+SRC_URI[sha256sum] = "e48a77d5ab8ee0b06464a5b29be70f292aa25dc1e73eb39ec933bd7fa47bbd86"
+
+FONT_PACKAGES = "${PN}"
+FILES_${PN} = "${datadir}"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.35.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.35.bb
deleted file mode 100644
index 3ce791b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.35.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-require ttf.inc
-
-SUMMARY = "DejaVu font - TTF Edition"
-HOMEPAGE = "http://dejavu.sourceforge.net/wiki/"
-LICENSE = "BitstreamVera"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/dejavu-fonts-ttf-${PV}/LICENSE;md5=9f867da7a73fad2715291348e80d0763"
-
-# all subpackages except ${PN}-common itself rdepends on ${PN}-common
-RDEPENDS_${PN}-sans = "${PN}-common"
-RDEPENDS_${PN}-sans-mono = "${PN}-common"
-RDEPENDS_${PN}-sans-condensed = "${PN}-common"
-RDEPENDS_${PN}-serif = "${PN}-common"
-RDEPENDS_${PN}-serif-condensed = "${PN}-common"
-RDEPENDS_${PN}-common = ""
-PR = "r7"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/dejavu/dejavu-fonts-ttf-${PV}.tar.bz2 \
-           file://30-dejavu-aliases.conf"
-
-S = "${WORKDIR}/dejavu-fonts-ttf-${PV}/ttf"
-
-do_install_append () {
-    install -d ${D}${sysconfdir}/fonts/conf.d/
-    install -m 0644 ${WORKDIR}/30-dejavu-aliases.conf ${D}${sysconfdir}/fonts/conf.d/
-}
-
-PACKAGES = "\
-            ${PN}-sans \
-            ${PN}-sans-mono \
-            ${PN}-sans-condensed \
-            ${PN}-serif \
-            ${PN}-serif-condensed \
-            ${PN}-common"
-FONT_PACKAGES = "${PN}-sans ${PN}-sans-mono ${PN}-sans-condensed ${PN}-serif ${PN}-serif-condensed"
-
-FILES_${PN}-sans            = "${datadir}/fonts/truetype/DejaVuSans.ttf ${datadir}/fonts/truetype/DejaVuSans-*.ttf"
-FILES_${PN}-sans-mono       = "${datadir}/fonts/truetype/DejaVuSansMono*.ttf"
-FILES_${PN}-sans-condensed  = "${datadir}/fonts/truetype/DejaVuSansCondensed*.ttf"
-FILES_${PN}-serif           = "${datadir}/fonts/truetype/DejaVuSerif.ttf ${datadir}/fonts/truetype/DejaVuSerif-*.ttf"
-FILES_${PN}-serif-condensed = "${datadir}/fonts/truetype/DejaVuSerifCondensed*.ttf"
-FILES_${PN}-common          = "${sysconfdir}"
-
-SRC_URI[md5sum] = "59eaca5acf5c7c8212e92778e3e01f32"
-SRC_URI[sha256sum] = "f6d7965586101ff3a8a5c3ec503e082bb6a9604ff53413e10702e5917c194d88"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
new file mode 100644
index 0000000..f74e5ce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
@@ -0,0 +1,47 @@
+require ttf.inc
+
+SUMMARY = "DejaVu font - TTF Edition"
+HOMEPAGE = "http://dejavu.sourceforge.net/wiki/"
+LICENSE = "BitstreamVera"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=449b2c30bfe5fa897fe87b8b70b16cfa"
+
+# all subpackages except ${PN}-common itself rdepends on ${PN}-common
+RDEPENDS_${PN}-sans = "${PN}-common"
+RDEPENDS_${PN}-sans-mono = "${PN}-common"
+RDEPENDS_${PN}-sans-condensed = "${PN}-common"
+RDEPENDS_${PN}-serif = "${PN}-common"
+RDEPENDS_${PN}-serif-condensed = "${PN}-common"
+RDEPENDS_${PN}-mathtexgyre = "${PN}-common"
+RDEPENDS_${PN}-common = ""
+PR = "r7"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/dejavu/dejavu-fonts-ttf-${PV}.tar.bz2 \
+           file://30-dejavu-aliases.conf"
+
+S = "${WORKDIR}/dejavu-fonts-ttf-${PV}/ttf"
+
+do_install_append () {
+    install -d ${D}${sysconfdir}/fonts/conf.d/
+    install -m 0644 ${WORKDIR}/30-dejavu-aliases.conf ${D}${sysconfdir}/fonts/conf.d/
+}
+
+PACKAGES = "\
+            ${PN}-sans \
+            ${PN}-sans-mono \
+            ${PN}-sans-condensed \
+            ${PN}-serif \
+            ${PN}-serif-condensed \
+            ${PN}-mathtexgyre \
+            ${PN}-common"
+FONT_PACKAGES = "${PN}-sans ${PN}-sans-mono ${PN}-sans-condensed ${PN}-serif ${PN}-serif-condensed ${PN}-mathtexgyre"
+
+FILES_${PN}-sans            = "${datadir}/fonts/truetype/DejaVuSans.ttf ${datadir}/fonts/truetype/DejaVuSans-*.ttf"
+FILES_${PN}-sans-mono       = "${datadir}/fonts/truetype/DejaVuSansMono*.ttf"
+FILES_${PN}-sans-condensed  = "${datadir}/fonts/truetype/DejaVuSansCondensed*.ttf"
+FILES_${PN}-serif           = "${datadir}/fonts/truetype/DejaVuSerif.ttf ${datadir}/fonts/truetype/DejaVuSerif-*.ttf"
+FILES_${PN}-serif-condensed = "${datadir}/fonts/truetype/DejaVuSerifCondensed*.ttf"
+FILES_${PN}-mathtexgyre     = "${datadir}/fonts/truetype/DejaVuMathTeXGyre.ttf"
+FILES_${PN}-common          = "${sysconfdir}"
+
+SRC_URI[md5sum] = "d0efec10b9f110a32e9b8f796e21782c"
+SRC_URI[sha256sum] = "fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow/30-0-liberation-sans-narrow.conf b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow/30-0-liberation-sans-narrow.conf
new file mode 100644
index 0000000..a4f4da7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow/30-0-liberation-sans-narrow.conf
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<fontconfig>
+         <!-- Microsoft -->
+        <alias binding="same">
+          <family>Arial Narrow</family>
+            <accept>
+              <family>Liberation Sans Narrow</family>
+            </accept>
+        </alias>
+        <alias binding="same">
+          <family>Liberation Sans Narrow</family>
+            <default>
+              <family>Arial Narrow</family>
+            </default>
+        </alias>
+</fontconfig>
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb
new file mode 100644
index 0000000..f36cf4b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb
@@ -0,0 +1,32 @@
+require ttf.inc
+
+SUMMARY = "Liberation(tm) Fonts"
+DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \
+created by Ascender(c) which aims at metric compatibility with \
+Arial, Times New Roman, Courier New."
+
+HOMEPAGE = "https://fedorahosted.org/liberation-fonts/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${PV}.tar.gz \
+           file://30-0-liberation-sans-narrow.conf \
+"
+
+SRC_URI[md5sum] = "134d8262145fc793c6af494dcace3e71"
+SRC_URI[sha256sum] = "61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c"
+
+S = "${WORKDIR}/liberation-fonts-ttf-${PV}"
+
+do_install_append () {
+    install -d ${D}${datadir}/fonts/TTF/
+    install -d ${D}${sysconfdir}/fonts/conf.d/
+    install -m 0644 LiberationSansNarrow*.ttf ${D}${datadir}/fonts/TTF/
+    install -D -m 0644 ${WORKDIR}/30-0-liberation-sans-narrow.conf ${D}${sysconfdir}/conf.avail/30-${PN}-sans.conf
+    install -D -m 0644 ${S}/License.txt ${D}${datadir}/licenses/${PN}/LICENSE
+}
+
+PACKAGES = "${PN}"
+FONT_PACKAGES = "${PN}"
+
+FILES_${PN} = "${datadir}/fonts ${sysconfdir} ${datadir}/licenses"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb
new file mode 100644
index 0000000..2ef6c57
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb
@@ -0,0 +1,24 @@
+require ttf.inc
+
+SUMMARY = "Fonts for Sinhala language - TTF Edition"
+HOMEPAGE = "http://rpms.famillecollet.com/rpmphp/zoom.php?rpm=lklug-fonts"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "http://dl.fedoraproject.org/pub/fedora/linux/releases/24/Everything/source/tree/Packages/l/lklug-fonts-0.6-14.20090803cvs.fc24.src.rpm;extract=lklug-20090803.tar.gz"
+SRC_URI[md5sum] = "3341dfb997043d234ab3f6e5a965e759"
+SRC_URI[sha256sum] = "f54c1f3b4df08995982657fed290b562556191fee2a0386afd9e8bf228f72b1a"
+
+DEPENDS = "fontforge-native"
+
+S = "${WORKDIR}"
+FONT_PACKAGES = "${PN}"
+FILES_${PN} = "${datadir}"
+
+do_compile() {
+    fontforge ${S}/convert.ff lklug
+}
+
+do_install() {
+    make install DESTDIR=${D}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb
new file mode 100644
index 0000000..f9679d6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb
@@ -0,0 +1,23 @@
+require ttf.inc
+
+SUMMARY = "The project goal is to improve existing offerings of the fonts \
+- making sure the Lohit fonts deliver the best available quality and functions \
+to the community."
+HOMEPAGE = "https://fedorahosted.org/lohit"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://OFL.txt;md5=7dfa0a236dc535ad2d2548e6170c4402"
+
+SRCREV = "d678f1b1807ea5602586279e90b5db6d62ed475e"
+SRC_URI = "git://github.com/pravins/lohit.git;branch=master"
+
+DEPENDS = "fontforge-native"
+S = "${WORKDIR}/git"
+FONT_PACKAGES = "${PN}"
+FILES_${PN} = "${datadir}"
+
+inherit pythonnative
+
+do_compile() {
+    cd ${S}; make ttf;
+}
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
new file mode 100644
index 0000000..62f2bb2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
@@ -0,0 +1,28 @@
+require ttf.inc
+
+SUMMARY = "Japanese TrueType fonts from Vine Linux"
+AUTHOR = "Contributor: noonov <noonov@gmail.com>"
+HOMEPAGE = "http://vlgothic.dicey.org/"
+
+LICENSE = "mplus & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.en;md5=66ecd0fd7e4da6246fa30317c7b66755 \
+                    file://LICENSE_E.mplus;md5=1c4767416f20215f1e61b970f2117db9 \
+"
+
+SRC_URI = "https://osdn.jp/dl/vlgothic/VLGothic-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "bb7fadb2dff09a4fb6a11dc9dfdc0c36"
+SRC_URI[sha256sum] = "982040db2f9cb73d7c6ab7d9d163f2ed46d1180f330c9ba2fae303649bf8102d"
+
+S = "${WORKDIR}/VLGothic"
+
+do_install_append () {
+    install -D -m644 ${S}/LICENSE_E.mplus ${D}${datadir}/licenses/${PN}/COPYING_MPLUS.txt
+    install -D -m644 ${S}/README.sazanami ${D}${datadir}/licenses/${PN}/COPYING_SAZANAMI.txt
+    install -D -m644 ${S}/LICENSE.en ${D}${datadir}/licenses/${PN}/COPYING_VLGOTHIC.txt
+}
+
+PACKAGES = "${PN}"
+FONT_PACKAGES = "${PN}"
+
+FILES_${PN} = "${datadir}/fonts/truetype ${datadir}/licenses"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb
index 6852fd3..d060c47 100755
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/wayland/wayland-fits_git.bb
@@ -26,7 +26,7 @@
 PACKAGECONFIG[gtk+3] = "--enable-gtk-tests,--disable-gtk-tests,gtk+3"
 
 do_install_append() {
-	rm -f ${D}/${libdir}/weston/*.la
+    rm -f ${D}/${libdir}/weston/*.la
 }
 
 FILES_${PN} += "${bindir}/wfits ${libdir}/weston/*.so"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch
new file mode 100644
index 0000000..8e894bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch
@@ -0,0 +1,86 @@
+From 7be055c13c7d0d640941830a3291af3b404928c1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 27 Jun 2016 04:44:14 -0400
+Subject: [PATCH] configure.ac: remove redundant RPATH
+
+It caused oe QA issue:
+...
+|ERROR: QA Issue: x11vnc: work/i586-poky-linux/x11vnc/0.9.13-r0/packages-split/
+x11vnc/usr/bin/x11vnc contains probably-redundant RPATH /usr/lib [useless-rpaths]
+...
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 21 +++++----------------
+ 1 file changed, 5 insertions(+), 16 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6f664d0..f986686 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -330,10 +330,8 @@ if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then
+ 		saved_LDFLAGS="$LDFLAGS"
+ 		CPPFLAGS="$CPPFLAGS -I$with_ssl/include"
+ 		LDFLAGS="$LDFLAGS -L$with_ssl/lib"
+-		if test "x$ld_minus_R" = "xno"; then
++		if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
+ 			:
+-		elif test "x$GCC" = "xyes"; then
+-			LDFLAGS="$LDFLAGS -Xlinker -R$with_ssl/lib"
+ 		else
+ 			LDFLAGS="$LDFLAGS -R$with_ssl/lib"
+ 		fi
+@@ -447,10 +445,8 @@ if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno
+ 	fi
+ 	if test "x$with_system_libvncserver" != "xyes"; then
+ 		rflag=""
+-		if test "x$ld_minus_R" = "xno"; then
++		if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
+ 			:
+-		elif test "x$GCC" = "xyes"; then
+-			rflag="-Xlinker -R$with_system_libvncserver/lib"
+ 		else
+ 			rflag="-R$with_system_libvncserver/lib"
+ 		fi
+@@ -484,10 +480,8 @@ new enough.
+ 	elif libvncserver-config --version 1>/dev/null 2>&1; then
+ 		rflag=""
+ 		rprefix=`libvncserver-config --prefix`
+-		if test "x$ld_minus_R" = "xno"; then
++		if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
+ 			:
+-		elif test "x$GCC" = "xyes"; then
+-			rflag=" -Xlinker -R$rprefix/lib "
+ 		else
+ 			rflag=" -R$rprefix/lib "
+ 		fi
+@@ -541,11 +535,8 @@ if test "x$with_jpeg" != "xno"; then
+ 		saved_LDFLAGS="$LDFLAGS"
+ 		CPPFLAGS="$CPPFLAGS -I$with_jpeg/include"
+ 		LDFLAGS="$LDFLAGS -L$with_jpeg/lib"
+-		if test "x$ld_minus_R" = "xno"; then
++		if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
+ 			:
+-		elif test "x$GCC" = "xyes"; then
+-			# this is not complete... in general a rat's nest.
+-			LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib"
+ 		else
+ 			LDFLAGS="$LDFLAGS -R$with_jpeg/lib"
+ 		fi
+@@ -590,10 +581,8 @@ if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
+ 		saved_LDFLAGS="$LDFLAGS"
+ 		CPPFLAGS="$CPPFLAGS -I$with_zlib/include"
+ 		LDFLAGS="$LDFLAGS -L$with_zlib/lib"
+-		if test "x$ld_minus_R" = "xno"; then
++		if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
+ 			:
+-		elif test "x$GCC" = "xyes"; then
+-			LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
+ 		else
+ 			LDFLAGS="$LDFLAGS -R$with_zlib/lib"
+ 		fi
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb
index 7e92965..b047bc4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb
@@ -9,7 +9,9 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/libvncserver/x11vnc/${PV}/x11vnc-${PV}.tar.gz\
            file://starting-fix.patch \
-           file://endian-fix.patch "
+           file://endian-fix.patch \
+           file://remove-redundant-RPATH.patch \
+"
 
 SRC_URI[md5sum] = "a372ec4fe8211221547b1c108cf56e4c"
 SRC_URI[sha256sum] = "f6829f2e629667a5284de62b080b13126a0736499fe47cdb447aedb07a59f13b"
@@ -24,3 +26,9 @@
 PACKAGECONFIG[avahi] = "--with-avahi,--without-avahi,avahi"
 PACKAGECONFIG[xinerama] = "--with-xinerama,--without-xinerama,libxinerama"
 PACKAGECONFIG[libvncserver] = "--with-system-libvncserver,--without-system-libvncserver,libvncserver"
+
+do_prepare_sources () {
+    # Remove old libtool macros from acinclude.m4
+    sed -i -e '/^# libtool.m4/q' ${S}/acinclude.m4
+}
+do_patch[postfuncs] += "do_prepare_sources"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_320.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_320.bb
deleted file mode 100644
index f2abc3c..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_320.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "xterm is the standard terminal emulator for the X Window System"
-DEPENDS = "libxaw xproto xextproto libxext libxau libxinerama libxpm ncurses"
-
-LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=ee6435019d00b884cde8d7ba2b318ff0"
-
-SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
-
-SRC_URI[md5sum] = "0d7f0e6390d132ae59876b3870e5783d"
-SRC_URI[sha256sum] = "a60dbb574334c081425fa30f011cd9f571e3be7a91e2a84e252461798bce24a7"
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
-
-EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
-                 --x-libraries=${STAGING_LIBDIR} \
-                 FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
-                 --disable-imake \
-                 --disable-rpath-hack \
-                 --disable-setuid"
-
-B = "${S}"
-
-do_configure() {
-    gnu-configize --force
-    sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
-    oe_runconf
-}
-
-FILES_${PN} += "${libdir}/X11"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_325.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_325.bb
new file mode 100644
index 0000000..a627af0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_325.bb
@@ -0,0 +1,30 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "xterm is the standard terminal emulator for the X Window System"
+DEPENDS = "libxaw xproto xextproto libxext libxau libxinerama libxpm ncurses"
+
+LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=842e945c46c43e05c44d95003aa878e1"
+
+SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
+
+SRC_URI[md5sum] = "e78a0bbc4d5fa3780917e447ae8ebc6b"
+SRC_URI[sha256sum] = "3b31b07a0c40427e9330ec3be9d1a748c72808f945953cea9e526e48be315f1b"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
+
+EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
+                 --x-libraries=${STAGING_LIBDIR} \
+                 FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
+                 --disable-imake \
+                 --disable-rpath-hack \
+                 --disable-setuid"
+
+B = "${S}"
+
+do_configure() {
+    gnu-configize --force
+    sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
+    oe_runconf
+}
+
+FILES_${PN} += "/usr/lib/X11"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.6.1.bb
index f1d06f2..bffa7b0 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.6.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.6.1.bb
@@ -17,4 +17,4 @@
 EXTRA_OECONF += "--disable-glamor"
 
 RDEPENDS_${PN} += "xserver-xorg-module-exa"
-RRECOMMENDS_${PN} += "linux-firmware"
+RRECOMMENDS_${PN} += "linux-firmware-radeon"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
index 78c6564..74c066f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
@@ -13,7 +13,7 @@
            file://0001-glamo-kms-driver-drop-unused-xf86_config.patch \
            file://0001-fix-build-with-KMS-disabled.patch \
            file://0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch \
-           file://0001-glamo-driver-remove-references-to-mibstore.patch \   
+           file://0001-glamo-driver-remove-references-to-mibstore.patch \
            file://0004-glamo.h-use-const-for-jbt6k74_state_path.patch \
 "
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
index 158416b..45e3f7b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
@@ -6,9 +6,9 @@
 REQUIRED_DISTRO_FEATURES = "x11"
 
 RDEPENDS_${PN} = "\
-	font-adobe-100dpi \
-	font-adobe-utopia-100dpi \
-	font-bh-100dpi \
-	font-bh-lucidatypewriter-100dpi \
-	font-bitstream-100dpi \
+    font-adobe-100dpi \
+    font-adobe-utopia-100dpi \
+    font-bh-100dpi \
+    font-bh-lucidatypewriter-100dpi \
+    font-bitstream-100dpi \
 "
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
index 66a717e..103da1f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
@@ -1,6 +1,6 @@
 require recipes-graphics/xorg-lib/xorg-lib-common.inc
 SUMMARY = "X11 keyboard UI presentation library"
-LICENSE = "GPL"
+LICENSE = "SGI-1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
 DEPENDS += "virtual/libx11 libxt libxkbfile"
 PE = "1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh
new file mode 100644
index 0000000..fa43617
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+. /etc/formfactor/config
+
+if [ "$HAVE_TOUCHSCREEN" = "1" ]; then
+	n=1
+	while [ ! -z $TSLIB_TSDEVICE ] && [ ! -f /etc/pointercal ] && [ $n -le 5 ]
+	do
+	   /usr/bin/xtscal
+	   sleep 1
+	   n=$(($n+1))
+	done
+fi
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch
new file mode 100644
index 0000000..1da7717
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch
@@ -0,0 +1,18 @@
+Upstream-Status: Pending
+
+--- tmp/main.c.orig	2007-01-02 15:39:54.000000000 +0000
++++ tmp/main.c	2007-01-02 15:39:54.000000000 +0000
+@@ -131,9 +131,10 @@
+ {
+   XRenderFillRectangles (dpy, PictOpSrc, pict, &rect_color, rectangles, 2);
+ 
+-  XFillArc (dpy, crosshair_w, crosshair_gc, (CROSSHAIR_SIZE / 2) - (WIDTH / 2) - 1, 
+-	    (CROSSHAIR_SIZE / 2) - (WIDTH / 2) - 1,
+-	    WIDTH + 1, WIDTH + 1, 0, 360 * 64);
++  XFillRectangle (dpy, crosshair_w, crosshair_gc,
++		  (CROSSHAIR_SIZE / 2) - (WIDTH / 2),
++		  (CROSSHAIR_SIZE / 2) - (WIDTH / 2),
++		  WIDTH, WIDTH);
+ }
+ 
+ void
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch
new file mode 100644
index 0000000..f7b0854
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch
@@ -0,0 +1,621 @@
+---
+ Makefile.am  |    9 --
+ configure.ac |    3 
+ gpe-dist.am  |   12 ---
+ h3600_ts.h   |  216 -----------------------------------------------------------
+ main.c       |  210 ++-------------------------------------------------------
+ xtscal.in    |   19 -----
+ 6 files changed, 14 insertions(+), 455 deletions(-)
+
+Upstream-Status: Pending
+
+Index: xtscal-0.6.3/xtscal.in
+===================================================================
+--- xtscal-0.6.3.orig/xtscal.in	2004-09-10 20:10:36.000000000 +0100
++++ /dev/null	1970-01-01 00:00:00.000000000 +0000
+@@ -1,19 +0,0 @@
+-#!/bin/sh
+-
+-module_id() {
+-    # Get model name
+-    echo `grep "^Hardware" /proc/cpuinfo | sed -e "s/.*: *//" | tr a-z A-Z`
+-}
+-
+-case `module_id` in
+-	"HP IPAQ H3100" | "HP IPAQ H3800" )
+-		ARGS="-rotate 90" ;;
+-	"HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE | *POODLE)
+-		ARGS="-rotate 270" ;;
+-	# H2200: works without rotation
+-esac
+-
+-# the things we do for autoconf
+-prefix=@prefix@
+-exec_prefix=@exec_prefix@
+-exec @libexecdir@/xtscal.bin $ARGS $*
+Index: xtscal-0.6.3/main.c
+===================================================================
+--- xtscal-0.6.3.orig/main.c	2007-07-01 01:12:52.000000000 +0100
++++ xtscal-0.6.3/main.c	2007-07-01 01:12:55.000000000 +0100
+@@ -22,12 +22,10 @@
+ #include <X11/Xlib.h>
+ 
+ #include <X11/extensions/Xrender.h>
+-#include <X11/extensions/Xrandr.h>
+ #include <X11/Xft/Xft.h>
+ #include <X11/extensions/xcalibrate.h>
+ #include <X11/keysym.h>
+ 
+-#include "h3600_ts.h"
+ #include "calibrate.h"
+ 
+ Display *dpy;
+@@ -45,15 +43,11 @@ XftColor xftcol;
+ XftDraw *xftdraw;
+ XftFont *xftfont;
+ int screen_x, screen_y;
+-int ts_fd;
+ int samples;
+ Pixmap bg_pixmap;
+ int flag_debug;
+-int rotation = 0;
+ int error_base, event_base;
+ 
+-int using_xcalibrate;
+-
+ int moving;
+ 
+ #define CROSSHAIR_SIZE	25
+@@ -63,7 +57,6 @@ int moving;
+ #define ENOUGH 5
+ #define MAX_SAMPLES 40
+ 
+-#define RAW_DEVICE "/dev/h3600_tsraw"
+ #define FONTNAME "sans-10"
+ 
+ struct point 
+@@ -287,12 +280,8 @@ sort_by_y (const void* a, const void *b)
+ void
+ set_calibration (calibration *cal)
+ {
+-  TS_CAL tc;
+-  int xtrans, ytrans, xscale, yscale, xyscale, yxscale;
+   calibration ocal = *cal;
+ 
+-  if (using_xcalibrate)
+-    {
+       FILE *fp;
+       if (flag_debug)
+ 	printf ("constants are: %d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]);
+@@ -304,29 +293,6 @@ set_calibration (calibration *cal)
+ 	}
+       fprintf (fp, "%d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]);
+       fclose (fp); 
+-      return;
+-    }
+-
+-  xtrans = cal->a[0] / cal->a[6];
+-  ytrans = cal->a[3] / cal->a[6];
+-  xscale = cal->a[1] * 256 / cal->a[6];
+-  yscale = cal->a[5] * 256 / cal->a[6];
+-  xyscale = cal->a[2] * 256 / cal->a[6];
+-  yxscale = cal->a[4] * 256 / cal->a[6];
+-  
+-  tc.xtrans = xtrans;
+-  tc.ytrans = ytrans;
+-  tc.xscale = xscale;
+-  tc.yscale = yscale;
+-  tc.xyswap = 0;
+-
+-  printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap);
+-
+-  if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0)
+-    {
+-      perror ("TS_SET_CAL");
+-      exit (1);
+-    }
+ }
+ 
+ void
+@@ -398,80 +364,13 @@ handle_ts_event (int x, int y, int press
+ }
+ 
+ void
+-read_ts (void)
+-{
+-  TS_EVENT ts_ev;
+-  int r;
+-
+-  r = read (ts_fd, &ts_ev, sizeof (ts_ev));
+-  if (r == sizeof (ts_ev))
+-    handle_ts_event (ts_ev.x, ts_ev.y, ts_ev.pressure);
+-}
+-
+-void
+-do_cal (char **args)
+-{
+-  TS_CAL tc;
+-
+-  tc.xscale = atoi (args[0]);
+-  tc.xtrans = atoi (args[1]);
+-  tc.yscale = atoi (args[2]);
+-  tc.ytrans = atoi (args[3]);
+-  tc.xyswap = atoi (args[4]);
+-
+-  if (flag_debug)
+-    fprintf (stderr, "setting: %d %d %d %d %d\n", 
+-	     tc.xtrans, tc.ytrans, tc.xscale, tc.yscale, tc.xyswap);
+-    
+-  if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0)
+-    {
+-      perror ("TS_SET_CAL");
+-      exit (1);
+-    }
+-  
+-  exit (0);
+-}
+-
+-void
+-show_cal (void)
+-{
+-  TS_CAL tc;
+-
+-  if (ioctl (ts_fd, TS_GET_CAL, (void *)&tc) != 0)
+-    {
+-      perror ("TS_GET_CAL");
+-      exit (1);
+-    }
+-
+-  printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap);
+-}
+-
+-void
+ usage (const char *name)
+ {
+-  fprintf (stderr, "usage: %s -view\n", name);
+-  fprintf (stderr, "       %s [-rotate <0 | 90 | 180 | 270>]\n", name);
+-  fprintf (stderr, "       %s -cal <xs> <xt> <ys> <yt> <xyswap>\n", name);
+-
++  fprintf (stderr, "usage: %s [-debug]\n", name);
+   exit (1);
+ }
+ 
+ int
+-xrr_supported (void)
+-{
+-  int xrr_event_base, xrr_error_base;
+-  int xrr_major, xrr_minor;
+-
+-  if (XRRQueryExtension (dpy, &xrr_event_base, &xrr_error_base) == False
+-      || XRRQueryVersion (dpy, &xrr_major, &xrr_minor) == 0
+-      || xrr_major != 1
+-      || xrr_minor < 1)
+-    return 0;
+-
+-  return 1;
+-}
+-
+-int
+ main (int argc, char *argv[])
+ {
+   XSetWindowAttributes attributes;
+@@ -480,31 +379,11 @@ main (int argc, char *argv[])
+   int max_fd;
+   GC bg_gc;
+   int i;
+-  int have_xrandr;
+ 
+   for (i = 1; i < argc; i++)
+     {
+-      if (!strcmp (argv[i], "-view"))
+-	{
+-	  show_cal ();
+-	  exit (0);
+-	}
+-      else if (!strcmp (argv[i], "-debug"))
++      if (!strcmp (argv[i], "-debug"))
+ 	flag_debug = 1;
+-      else if (!strcmp (argv[i], "-cal"))
+-	{
+-	  if (argc > (i + 5))
+-	    do_cal (argv + i + 1);
+-	  else
+-	    usage (argv[0]);
+-	}
+-      else if (!strcmp (argv[i], "-rotate"))
+-	{
+-	  if (argc > (i + 1))
+-	    rotation = atoi (argv[++i]);
+-	  else
+-	    usage (argv[0]);
+-	}
+       else
+ 	usage (argv[0]);
+     }
+@@ -531,48 +410,11 @@ main (int argc, char *argv[])
+ 	  fprintf (stderr, "failed to set raw mode: error %d\n", r);
+ 	  exit (1);
+ 	}
+-
+-      using_xcalibrate = 1;
+-    }
+-
+-  have_xrandr = xrr_supported ();
+-  if (have_xrandr)
+-    {
+-      XRRScreenConfiguration *rr_screen;
+-      Rotation current_rotation;
+-
+-      if (flag_debug)
+-	fprintf (stderr, "XRANDR is supported\n");
+-
+-      rr_screen = XRRGetScreenInfo (dpy, RootWindow (dpy, screen));
+-
+-      XRRRotations (dpy, screen, &current_rotation);
+-
+-      XRRFreeScreenConfigInfo (rr_screen);
+-
+-      if (flag_debug)
+-	fprintf (stderr, "Current RANDR rotation is %d\n", current_rotation);
+-
+-      switch (current_rotation)
+-	{
+-	case RR_Rotate_270:
+-	  rotation += 90;
+-	case RR_Rotate_180:
+-	  rotation += 90;
+-	case RR_Rotate_90:
+-	  rotation += 90;
+-	  rotation %= 360;
+-	case RR_Rotate_0:
+-	  break;
+-	default:
+-	  fprintf (stderr, "Unknown RANDR rotation: %d\n", current_rotation);
+-	  break;
+-	}
+     }
+   else
+     {
+-      if (flag_debug)
+-	fprintf (stderr, "XRANDR not supported\n");
++      perror ("XCALIBRATE extension missing");
++      exit (1);
+     }
+ 
+   attributes.override_redirect = flag_debug ? False : True;
+@@ -666,45 +508,17 @@ main (int argc, char *argv[])
+ 
+   for (i = 0; i < NR_POINTS; i++)
+     {
+-      switch (rotation)
+-	{
+-	case 0:
+-	  cal.xfb[i] = cal.xscr[i];
+-	  cal.yfb[i] = cal.yscr[i];
+-	  break;
+-	case 90:
+-	  cal.xfb[i] = cal.yscr[i];
+-	  cal.yfb[i] = screen_x - cal.xscr[i];
+-	  break;
+-	case 180:
+-	  cal.xfb[i] = screen_x - cal.xscr[i];
+-	  cal.yfb[i] = screen_y - cal.yscr[i];
+-	  break;
+-	case 270:
+-	  cal.xfb[i] = screen_y - cal.yscr[i];
+-	  cal.yfb[i] = cal.xscr[i];
+-	  break;
+-	}
++      cal.xfb[i] = cal.xscr[i];
++      cal.yfb[i] = cal.yscr[i];
++      XCalibrateScreenToCoord (dpy, &cal.xfb[i], &cal.yfb[i]);
+ 
+       if (flag_debug)
+-	printf ("rotation %d: (%d,%d) -> (%d,%d)\n", rotation, 
++	printf ("rotation conversion: (%d,%d) -> (%d,%d)\n",
+ 		cal.xscr[i], cal.yscr[i], cal.xfb[i], cal.yfb[i]);
+     }
+ 
+   next_event ();
+ 
+-  if (!using_xcalibrate)
+-    {
+-      ts_fd = open (RAW_DEVICE, O_RDONLY);
+-      if (ts_fd < 0)
+-	{
+-	  perror (RAW_DEVICE);
+-	  exit (1);
+-	}
+-    }
+-
+-  max_fd = (xfd > ts_fd) ? xfd : ts_fd;
+-
+   for (;;)
+     {
+       fd_set fds;
+@@ -713,12 +527,8 @@ main (int argc, char *argv[])
+ 
+       FD_ZERO (&fds);
+       FD_SET (xfd, &fds);
+-      if (ts_fd != -1)
+-	FD_SET (ts_fd, &fds);
+ 
+-      select (max_fd + 1, &fds, NULL, NULL, NULL);
+-      
+-      if (ts_fd != -1 && FD_ISSET (ts_fd, &fds))
+-	read_ts ();
++      select (xfd + 1, &fds, NULL, NULL, NULL);
+     }
+ }
++
+Index: xtscal-0.6.3/configure.ac
+===================================================================
+--- xtscal-0.6.3.orig/configure.ac	2004-09-10 20:11:12.000000000 +0100
++++ xtscal-0.6.3/configure.ac	2007-07-01 01:12:55.000000000 +0100
+@@ -9,8 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+ # Checks for programs.
+ AC_PROG_CC
+ 
+-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xrandr xcalibrate)
++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate)
+ 
+ AC_CONFIG_FILES([Makefile])
+-AC_CONFIG_FILES([xtscal])
+ AC_OUTPUT
+Index: xtscal-0.6.3/gpe-dist.am
+===================================================================
+--- xtscal-0.6.3.orig/gpe-dist.am	2004-06-02 23:07:13.000000000 +0100
++++ /dev/null	1970-01-01 00:00:00.000000000 +0000
+@@ -1,12 +0,0 @@
+-CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_])
+-
+-dist-upload: dist
+-	scp $(PACKAGE)-$(VERSION).tar.bz2 $(USER)@handhelds.org:/home/ftp/pub/projects/gpe/source/
+-
+-tag:
+-	cvs tag $(CVSTAG)
+-
+-retag:
+-	cvs tag -F $(CVSTAG)
+-
+-source: tag dist-upload
+Index: xtscal-0.6.3/h3600_ts.h
+===================================================================
+--- xtscal-0.6.3.orig/h3600_ts.h	2003-07-05 17:27:10.000000000 +0100
++++ /dev/null	1970-01-01 00:00:00.000000000 +0000
+@@ -1,216 +0,0 @@
+-/*
+-*
+-* Driver for the H3600 Touch Screen and other Atmel controlled devices.
+-*
+-* Copyright 2000 Compaq Computer Corporation.
+-*
+-* Use consistent with the GNU GPL is permitted,
+-* provided that this copyright notice is
+-* preserved in its entirety in all copies and derived works.
+-*
+-* COMPAQ COMPUTER CORPORATION MAKES NO WARRANTIES, EXPRESSED OR IMPLIED,
+-* AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS
+-* FITNESS FOR ANY PARTICULAR PURPOSE.
+-*
+-* Author: Charles Flynn.
+-*
+-*/
+-
+-
+-#ifndef __H3600_TS_H__
+-#define __H3600_TS_H__
+-
+-#include <linux/ioctl.h>
+-
+-enum h3600_ts_minor_devices {
+-	TS_MINOR    = 0,
+-	TSRAW_MINOR = 1,
+-	KEY_MINOR   = 2
+-};
+-
+-typedef struct h3600_ts_calibration {
+-        int xscale;
+-        int xtrans;
+-        int yscale;
+-        int ytrans;
+-        int xyswap;
+-} TS_CAL;
+-
+-typedef struct h3600_ts_event {
+-        unsigned short pressure;
+-        unsigned short x;
+-        unsigned short y;
+-        unsigned short pad;
+-} TS_EVENT;
+-
+-/* Deprecated - do not use */
+-typedef struct h3600_ts_return {
+-        unsigned short pressure;
+-        unsigned short x;
+-        unsigned short y;
+-        unsigned short pad;
+-} TS_RET;
+-
+-enum power_button_mode {
+-   PBM_SUSPEND           = 0,
+-   PBM_GENERATE_KEYPRESS = 1
+-};
+-
+-
+-/* ++++++++++++++ +++++++++++++++++++++++++++++++++++++ */
+-
+-typedef struct therm_dev {
+-	short data;
+-} THERM_DEV;
+-
+-#define H3600_BATT_CHEM_ALKALINE        0x01
+-#define H3600_BATT_CHEM_NICD            0x02
+-#define H3600_BATT_CHEM_NIMH            0x03
+-#define H3600_BATT_CHEM_LION            0x04
+-#define H3600_BATT_CHEM_LIPOLY          0x05
+-#define H3600_BATT_CHEM_NOT_INSTALLED   0x06
+-#define H3600_BATT_CHEM_UNKNOWN         0xff
+-
+-/* These should match the apm_bios.h definitions */
+-#define H3600_AC_STATUS_AC_OFFLINE	0x00
+-#define H3600_AC_STATUS_AC_ONLINE	0x01
+-#define H3600_AC_STATUS_AC_BACKUP	0x02   /* What does this mean? */
+-#define H3600_AC_STATUS_AC_UNKNOWN	0xff
+-
+-/* These bitfields are rarely "or'd" together */
+-#define H3600_BATT_STATUS_HIGH		0x01
+-#define H3600_BATT_STATUS_LOW		0x02
+-#define H3600_BATT_STATUS_CRITICAL	0x04
+-#define H3600_BATT_STATUS_CHARGING	0x08
+-#define H3600_BATT_STATUS_CHARGE_MAIN   0x10
+-#define H3600_BATT_STATUS_DEAD          0x20   /* Battery will not charge */
+-#define H3600_BATT_NOT_INSTALLED        0x20   /* For expansion pack batteries */
+-#define H3600_BATT_STATUS_FULL          0x40   /* Battery fully charged (and connected to AC) */
+-#define H3600_BATT_STATUS_NOBATT	0x80
+-#define H3600_BATT_STATUS_UNKNOWN	0xff
+-
+-struct battery_data {
+-	unsigned char  chemistry;
+-	unsigned char  status;
+-	unsigned short voltage;    /* Voltage for battery #0; unknown for battery #1 */
+-	unsigned short percentage; /* Percentage of full charge */
+-	unsigned short life;       /* Life remaining in minutes */
+-};
+-
+-struct h3600_battery {
+-        unsigned char       ac_status;
+-	unsigned char       battery_count;  /* How many batteries we have */
+-	struct battery_data battery[2];
+-};
+-
+-/* -------- EEPROM and SPI Interfaces ---------------*/
+-
+-#define EEPROM_RD_BUFSIZ 6	/* EEPROM reads are 16 bits */
+-#define EEPROM_WR_BUFSIZ 5	/* Allow room for 8bit 'addr' field in buffer*/ 
+-#define SPI_RD_BUFSIZ	 16	/* SPI reads are 8 bits */
+-#define SPI_WR_BUFSIZ	 7
+-
+-/* The EEPROM is where internal programs are stored on the Amtel.
+-   You probably don't want to read or write these values */
+-
+-typedef struct h3600_eeprom_read_request {
+-	unsigned char addr;    /* 8bit Address Offset 0-255 */
+-	unsigned char len;     /* Number of 16bit words to read 0-128  */
+-	unsigned short buff[EEPROM_RD_BUFSIZ];
+-} EEPROM_READ;
+-
+-typedef struct h3600_eeprom_write_request {
+-	unsigned char len;	/* used only to compute the number of bytes to send */
+-	unsigned char addr;    /* 0-128  */
+-	unsigned short buff[EEPROM_WR_BUFSIZ];
+-} EEPROM_WRITE;
+-
+-/* The SPI bus connects to EEPROMs located on sleeves plugged into
+-   the iPAQ.  You may want to read these values  */
+-
+-typedef struct h3600_spi_read_request {
+-	unsigned short addr;    /* 16bit Address Offset 0-128 */
+-	unsigned char len;      /* Number of bytes to read */
+-	unsigned char buff[SPI_RD_BUFSIZ];
+-} SPI_READ;
+-
+-#define SPI_READ_STATUS_BYTE  0xffff   /* Use this address to read the status byte */
+-
+-typedef struct h3600_spi_write_request {
+-	unsigned short len;	/* used only to compute the number of bytes to send */
+-	unsigned short addr;	/* this 16bit address accesses a single byte */
+-	unsigned char  buff[SPI_WR_BUFSIZ];
+-} SPI_WRITE;
+-
+-
+-/* -------- end of EEPROM and SPI Interfaces ---------------*/
+-
+-/* User space structures for IOCTL calls */
+-
+-typedef struct h3600_ts_version {
+-	unsigned char host_version[8];	/* ascii "x.yy" */
+-	unsigned char pack_version[8];	/* ascii "x.yy" */
+-	unsigned char boot_type;		/* TODO ?? */
+-} VER_RET;
+-
+-typedef struct h3600_ts_led {
+-        unsigned char OffOnBlink;       /* 0=off 1=on 2=Blink */
+-        unsigned char TotalTime;        /* Units of 5 seconds */
+-        unsigned char OnTime;           /* units of 100m/s */
+-        unsigned char OffTime;          /* units of 100m/s */
+-} LED_IN;
+-
+-enum flite_mode {
+-        FLITE_MODE1 = 1,
+-	FLITE_AUTO_MODE   = 1,     /* for reference only */
+-	FLITE_MANUAL_MODE = 2,     /* Use this normally? */
+-	FLITE_GET_LIGHT_SENSOR = 3 /* Returns light reading in "brightness" field */
+-};
+-enum flite_pwr {
+-        FLITE_PWR_OFF = 0,
+-        FLITE_PWR_ON  = 1
+-};
+-
+-typedef struct h3600_ts_flite {
+-        unsigned char mode;
+-        unsigned char pwr;
+-        unsigned char brightness;
+-} FLITE_IN;
+-
+-/*************************** Updated "universal" structures *******************/
+-
+-/* Sets backlight for both H3100 and H3600 models - technically "frontlight" for H3600 */
+-struct h3600_ts_backlight {
+-	enum flite_pwr power;          /* 0 = off, 1 = on */
+-	unsigned char  brightness;     /* 0 - 255         */
+-};
+-
+-struct h3600_ts_contrast {            /* Only useful on H3100 model */
+-	unsigned char contrast;       /* 0 - 255 */
+-};
+-
+-/* IOCTL cmds  user or kernel space */
+-
+-/* Use 'f' as magic number */
+-#define IOC_H3600_TS_MAGIC  'f'
+-
+-/* TODO: Some of these IOWR values are just plain wrong */
+-#define GET_VERSION		_IOR(IOC_H3600_TS_MAGIC,  1, struct h3600_ts_version )
+-#define READ_EEPROM		_IOWR(IOC_H3600_TS_MAGIC, 2, struct h3600_eeprom_read_request)
+-#define WRITE_EEPROM		_IOWR(IOC_H3600_TS_MAGIC, 3, struct h3600_eeprom_write_request)
+-#define GET_THERMAL		_IOR(IOC_H3600_TS_MAGIC,  4, struct therm_dev)
+-#define LED_ON			_IOW(IOC_H3600_TS_MAGIC,  5, struct h3600_ts_led)
+-#define GET_BATTERY_STATUS	_IOR(IOC_H3600_TS_MAGIC,  6, struct h3600_battery)
+-#define FLITE_ON		_IOW(IOC_H3600_TS_MAGIC,  7, struct h3600_ts_flite)
+-#define READ_SPI		_IOWR(IOC_H3600_TS_MAGIC, 8, struct h3600_spi_read_request)
+-#define WRITE_SPI		_IOWR(IOC_H3600_TS_MAGIC, 9, struct h3600_spi_write_request)
+-#define TS_GET_CAL		_IOR(IOC_H3600_TS_MAGIC, 10, struct h3600_ts_calibration)
+-#define TS_SET_CAL		_IOW(IOC_H3600_TS_MAGIC, 11, struct h3600_ts_calibration)
+-
+-/* New IOCTL interfaces - defined to be more user friendly */
+-#define TS_GET_BACKLIGHT        _IOR(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight)
+-#define TS_SET_BACKLIGHT        _IOW(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight)
+-#define TS_GET_CONTRAST         _IOR(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast)
+-#define TS_SET_CONTRAST         _IOW(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast)
+-
+-#endif
+Index: xtscal-0.6.3/Makefile.am
+===================================================================
+--- xtscal-0.6.3.orig/Makefile.am	2004-06-02 23:07:13.000000000 +0100
++++ xtscal-0.6.3/Makefile.am	2007-07-02 12:51:02.000000000 +0100
+@@ -1,11 +1,8 @@
+-libexec_PROGRAMS = xtscal.bin
+-bin_SCRIPTS = xtscal
++bin_PROGRAMS = xtscal
+ 
+-xtscal_bin_SOURCES = main.c calibrate.c calibrate.h h3600_ts.h
++xtscal_SOURCES = main.c calibrate.c calibrate.h
+ 
+-xtscal_bin_LDADD = @XTSCAL_LIBS@
++xtscal_LDADD = @XTSCAL_LIBS@
+ 
+ INCLUDES = @XTSCAL_CFLAGS@ -DNR_POINTS=5
+ 
+-include gpe-dist.am
+-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch
new file mode 100644
index 0000000..3e4533f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch
@@ -0,0 +1,27 @@
+after gcc linking has changed, all the libraries must be explicitely specified 
+This patch avoids this linking error:
+
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux  -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o xtscal main.o calibrate.o -lX11 -lXft -lXext -lXcalibrate^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: ^?: invalid DSO for symbol `XRenderChangePicture' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so.1: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make: *** [xtscal] Error 1
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Upstream-Status: Pending
+
+Index: xtscal-0.6.3/configure.ac
+===================================================================
+--- xtscal-0.6.3.orig/configure.ac
++++ xtscal-0.6.3/configure.ac
+@@ -9,7 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+ # Checks for programs.
+ AC_PROG_CC
+ 
+-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate)
++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate xrender)
+ 
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb
new file mode 100644
index 0000000..4bfddf0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Touchscreen calibration utility"
+
+DESCRIPTION = "Basic touchscreen calibration utility"
+
+HOMEPAGE = "http://gpe.linuxtogo.org"
+BUGTRACKER = "http://bugs.linuxtogo.org"
+LICENSE = "GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+                    file://main.c;endline=10;md5=8721bcb08ae9f24e5fe4c82941873c87"
+
+SECTION = "x11/base"
+
+DEPENDS = "virtual/libx11 libxft libxcalibrate"
+
+PR = "r13"
+
+SRC_URI = "${GPE_MIRROR}/xtscal-${PV}.tar.bz2 \
+           file://change-cross.patch \
+           file://cleanup.patch \
+           file://dso_linking_change_build_fix.patch \
+           file://30xTs_Calibrate.sh"
+
+SRC_URI[md5sum] = "9bcab80b474d5454477d1ca166a68c34"
+SRC_URI[sha256sum] = "27b9dc2203de9b1706ca39fa6ca80ecab8807909ec901c4a345b8e41178800a1"
+
+inherit autotools pkgconfig distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/X11/Xsession.d/
+    install -m 0755 ${WORKDIR}/30xTs_Calibrate.sh ${D}${sysconfdir}/X11/Xsession.d/
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
index 229647f..39732a9 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
@@ -11,13 +11,13 @@
 index 9c44633..39bebd0 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -229,7 +229,7 @@ gdb_merge: force
+@@ -232,7 +232,7 @@ gdb_merge: force
  	@echo "../../${PROGRAM} ../../${PROGRAM}lib.a" > ${GDB}/gdb/mergeobj
  	@rm -f ${PROGRAM}
  	@if [ ! -f ${GDB}/config.status ]; then \
 -	  (cd ${GDB}; ./configure ${GDB_CONF_FLAGS} --with-separate-debug-dir=/usr/lib/debug \
 +	  (cd ${GDB}; ./configure --host=${GDB_TARGET} --build=${GDB_HOST} --with-separate-debug-dir=/usr/lib/debug \
- 	    --with-bugurl="" --with-expat=no --with-python=no; \
+ 	    --with-bugurl="" --with-expat=no --with-python=no --disable-sim; \
  	  make --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
  	else make --no-print-directory rebuild; fi
 @@ -277,7 +277,7 @@ force:
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch
index 3f4d1bc..aa5f44d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch
@@ -16,7 +16,7 @@
 @@ -232,8 +232,8 @@ gdb_merge: force
  	@if [ ! -f ${GDB}/config.status ]; then \
  	  (cd ${GDB}; ./configure --host=${GDB_TARGET} --build=${GDB_HOST} --with-separate-debug-dir=/usr/lib/debug \
- 	    --with-bugurl="" --with-expat=no --with-python=no; \
+ 	    --with-bugurl="" --with-expat=no --with-python=no --disable-sim; \
 -	  make --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
 -	else make --no-print-directory rebuild; fi
 +	  make --no-print-directory CRASH_TARGET=${TARGET} ${GDB_MAKE_JOBS}; ) \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch
index c24db10..905b4c2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch
@@ -13,16 +13,16 @@
 index cf1973b..71e97b3 100644
 --- a/configure.c
 +++ b/configure.c
-@@ -148,7 +148,7 @@ void add_extra_lib(char *);
+@@ -151,7 +151,7 @@ void add_extra_lib(char *);
  #define TARGET_CFLAGS_PPC64_ON_X86_64  "TARGET_CFLAGS="
  #define TARGET_CFLAGS_MIPS            "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64"
  #define TARGET_CFLAGS_MIPS_ON_X86     "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64"
 -#define TARGET_CFLAGS_MIPS_ON_X86_64  "TARGET_CFLAGS=-m32 -D_FILE_OFFSET_BITS=64"
 +#define TARGET_CFLAGS_MIPS_ON_X86_64  "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64"
+ #define TARGET_CFLAGS_SPARC64         "TARGET_CFLAGS="
  
  #define GDB_TARGET_DEFAULT        "GDB_CONF_FLAGS="
- #define GDB_TARGET_ARM_ON_X86     "GDB_CONF_FLAGS=--target=arm-elf-linux"
-@@ -158,7 +158,7 @@ void add_extra_lib(char *);
+@@ -162,7 +162,7 @@ void add_extra_lib(char *);
  #define GDB_TARGET_ARM64_ON_X86_64  "GDB_CONF_FLAGS=--target=aarch64-elf-linux"   /* TBD */
  #define GDB_TARGET_PPC64_ON_X86_64  "GDB_CONF_FLAGS=--target=powerpc64le-unknown-linux-gnu"
  #define GDB_TARGET_MIPS_ON_X86     "GDB_CONF_FLAGS=--target=mipsel-elf-linux"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.3.bb
deleted file mode 100644
index b787f02..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.3.bb
+++ /dev/null
@@ -1,112 +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"
-
-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 \
-           "
-
-SRC_URI[md5sum] = "155889a233c5230ef1d387858091d294"
-SRC_URI[sha256sum] = "ae98529d42b843f07d795b86b8f8529f64cc607ee3c58affc5a8aa8a506e183d"
-
-SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
-SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
-
-inherit gettext
-
-BBCLASSEXTEND = "native cross"
-
-# 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}" \
-                '
-
-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}
-}
-
-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.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.5.bb
new file mode 100644
index 0000000..936438b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.1.5.bb
@@ -0,0 +1,113 @@
+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"
+
+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 \
+           "
+
+SRC_URI[md5sum] = "7bd06eaec6827d4fac636b2b592d3056"
+SRC_URI[sha256sum] = "c3954412c8557614a0d50092c007aa96b4e3e6e97453dfbb60241ab680caf7b2"
+
+SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
+SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
+
+inherit gettext
+
+BBCLASSEXTEND = "native cross"
+
+# 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}
+}
+
+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/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
new file mode 100644
index 0000000..d599a91
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
@@ -0,0 +1,134 @@
+From 3c2f4ff583a156a7ed2fa0cc002a413c391d063d Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 21 Jul 2016 18:06:21 +0800
+Subject: [PATCH] makedumpfile: replace hardcode CFLAGS
+
+* Create alias for target such as powerpc as powerpc32
+* Remove hardcode CFLAGS
+* Add CFLAGS_COMMON to instead of CFLAGS so can flexibly
+  customize CFLAGS and not hardcode the CFLAGS as previously
+* Forcibly to link dynamic library as the poky build
+  system doesn't build static library by default
+
+Upstream-Status: Inappropriate[oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ Makefile | 46 +++++++++++++++++++++++-----------------------
+ 1 file changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 7dde3e4..c5286ac 100644
+--- a/Makefile
++++ b/Makefile
+@@ -8,13 +8,6 @@ ifeq ($(strip $CC),)
+ CC	= gcc
+ endif
+ 
+-CFLAGS = -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
+-	  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \
+-	  -DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(DATE)"'
+-CFLAGS_ARCH	= -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
+-		    -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+-# LDFLAGS = -L/usr/local/lib -I/usr/local/include
+-
+ HOST_ARCH := $(shell uname -m)
+ # Use TARGET as the target architecture if specified.
+ # Defaults to uname -m
+@@ -22,29 +15,36 @@ ifeq ($(strip($TARGET)),)
+ TARGET := $(HOST_ARCH)
+ endif
+ 
+-ARCH := $(shell echo ${TARGET}  | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
+-			       -e s/arm.*/arm/ -e s/sa110/arm/ \
+-			       -e s/s390x/s390/ -e s/parisc64/parisc/ \
+-			       -e s/ppc64/powerpc64/ -e s/ppc/powerpc32/)
++ARCH := $(shell echo __${TARGET}__  | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
++		       -e s/arm.*/arm/ -e s/sa110/arm/ \
++		       -e s/s390x/s390/ -e s/parisc64/parisc/ \
++		       -e s/ppc64/powerpc64/ -e s/ppc/powerpc32/ \
++		       -e s/_powerpc_/_powerpc32_/)
+ 
+ CROSS :=
+ ifneq ($(TARGET), $(HOST_ARCH))
+ CROSS := -U__$(HOST_ARCH)__
+ endif
+ 
+-CFLAGS += -D__$(ARCH)__ $(CROSS)
+-CFLAGS_ARCH += -D__$(ARCH)__ $(CROSS)
++CFLAGS_ARCH += -D$(ARCH) $(CROSS)
+ 
+-ifeq ($(ARCH), powerpc64)
+-CFLAGS += -m64
++ifeq ($(ARCH), __powerpc64__)
+ CFLAGS_ARCH += -m64
+ endif
+ 
+-ifeq ($(ARCH), powerpc32)
+-CFLAGS += -m32
++ifeq ($(ARCH), __powerpc32__)
+ CFLAGS_ARCH += -m32
+ endif
+ 
++CFLAGS_ARCH += $(CFLAGS) \
++		-D_FILE_OFFSET_BITS=64 \
++		-D_LARGEFILE_SOURCE \
++		-D_LARGEFILE64_SOURCE
++
++CFLAGS_COMMON = $(CFLAGS_ARCH) \
++		-DVERSION='"$(VERSION)"' \
++		-DRELEASE_DATE='"$(DATE)"'
++
+ SRC_BASE = makedumpfile.c makedumpfile.h diskdump_mod.h sadump_mod.h sadump_info.h
+ SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c sadump_info.c cache.c
+ OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART))
+@@ -54,17 +54,17 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
+ 
+ LIBS = -ldw -lbz2 -lebl -ldl -lelf -lz
+ ifneq ($(LINKTYPE), dynamic)
+-LIBS := -static $(LIBS)
++LIBS := $(LIBS)
+ endif
+ 
+ ifeq ($(USELZO), on)
+ LIBS := -llzo2 $(LIBS)
+-CFLAGS += -DUSELZO
++CFLAGS_COMMON += -DUSELZO
+ endif
+ 
+ ifeq ($(USESNAPPY), on)
+ LIBS := -lsnappy $(LIBS)
+-CFLAGS += -DUSESNAPPY
++CFLAGS_COMMON += -DUSESNAPPY
+ endif
+ 
+ LIBS := -lpthread $(LIBS)
+@@ -72,14 +72,14 @@ LIBS := -lpthread $(LIBS)
+ all: makedumpfile
+ 
+ $(OBJ_PART): $(SRC_PART)
+-	$(CC) $(CFLAGS) -c -o ./$@ $(VPATH)$(@:.o=.c)
++	$(CC) $(CFLAGS_COMMON) -c -o ./$@ $(VPATH)$(@:.o=.c)
+ 
+ $(OBJ_ARCH): $(SRC_ARCH)
+ 	@mkdir -p $(@D)
+ 	$(CC) $(CFLAGS_ARCH) -c -o ./$@ $(VPATH)$(@:.o=.c)
+ 
+ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
+-	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -o $@ $< $(LIBS)
++	$(CC) $(CFLAGS_COMMON) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -o $@ $< $(LIBS)
+ 	echo .TH MAKEDUMPFILE 8 \"$(DATE)\" \"makedumpfile v$(VERSION)\" \"Linux System Administrator\'s Manual\" > temp.8
+ 	grep -v "^.TH MAKEDUMPFILE 8" $(VPATH)makedumpfile.8 >> temp.8
+ 	mv temp.8 makedumpfile.8
+@@ -90,7 +90,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
+ 	gzip -c ./makedumpfile.conf.5 > ./makedumpfile.conf.5.gz
+ 
+ eppic_makedumpfile.so: extension_eppic.c
+-	$(CC) $(CFLAGS) $(LDFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic -ltinfo
++	$(CC) $(CFLAGS_COMMON) $(LDFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic -ltinfo
+ 
+ clean:
+ 	rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8.gz makedumpfile.conf.5.gz
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb
new file mode 100644
index 0000000..c9a2270
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.0.bb
@@ -0,0 +1,53 @@
+SUMMARY = "VMcore extraction tool"
+DESCRIPTION = "\
+    This program is used to extract a subset of the memory available either \
+    via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory \
+    images without extra uneeded information (zero pages, userspace programs, \
+    etc). \
+"
+HOMEPAGE = "http://makedumpfile.sourceforge.net"
+
+DEPENDS = "bzip2 zlib elfutils"
+RDEPENDS_${PN}-tools = "perl ${PN}"
+
+# arm would compile but has never been tested upstream.  mips would not compile.
+#
+COMPATIBLE_HOST = "(x86_64|i.86|powerpc).*-linux"
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*.pl"
+
+SRC_URI = "\
+    ${SOURCEFORGE_MIRROR}/makedumpfile/${BPN}-${PV}.tar.gz \
+    file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+LICENSE = "GPLv2.0"
+
+SRC_URI[md5sum] = "041c5c6de2c3066600e4ca646c2397d6"
+SRC_URI[sha256sum] = "e3147abc52df2ceac1e9affef45bf37e2f2e1d9979bc94a761ee11e4044072ac"
+
+SECTION = "base"
+
+# If we do not specify TARGET, makedumpfile will build for the host but use the
+# target gcc.
+#
+EXTRA_OEMAKE = "\
+    LINKTYPE=static \
+    TARGET=${TARGET_ARCH} \
+"
+
+do_install () {
+    mkdir -p ${D}/usr/bin
+    install -m 755 ${S}/makedumpfile ${D}/usr/bin
+    install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin
+
+    mkdir -p ${D}/usr/share/man/man8
+    install -m 644 ${S}/makedumpfile.8.gz ${D}/usr/share/man/man8
+
+    mkdir -p ${D}/usr/share/man/man5
+    install -m 644 ${S}/makedumpfile.conf.5.gz ${D}/usr/share/man/man5
+
+    mkdir -p ${D}/etc/
+    install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample
+}
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
new file mode 100644
index 0000000..90ef7fa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# minicoredumper This shell script takes care of starting and stopping minicoredumper.
+#
+# chkconfig:   2345 24 89
+# description: minicoredumper.
+#
+# processname:
+# config:      /etc/minicoredumper/
+
+### BEGIN INIT INFO
+# Provides: minicoredumper
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Should-Start: $syslog $network
+# Should-Stop: $syslog $network
+# Short-Description:
+# Description:
+### END INIT INFO
+
+. /etc/init.d/functions
+
+case "$1" in
+    start)
+        echo "|/usr/bin/minicoredumper %p %u %g %s %t %h %e" > /proc/sys/kernel/core_pattern
+        ;;
+    stop)
+        echo "core" > /proc/sys/kernel/core_pattern
+	;;
+    status)
+        if  grep -q minicoredumper /proc/sys/kernel/core_pattern ; then
+            echo "minicoredumper is running"
+        else
+            echo "minicoredumper is stopped"
+        fi
+        ;;
+    *)
+        echo $"Usage: $0 {start|stop|status}"
+        exit 2
+esac
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
new file mode 100644
index 0000000..851b54c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Enable minicoredumper.
+
+[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'
+ExecStop=/bin/sh -c '/bin/echo "core" > /proc/sys/kernel/core_pattern'
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_1.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_1.0.2.bb
new file mode 100644
index 0000000..babe544
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_1.0.2.bb
@@ -0,0 +1,31 @@
+SUMMARY = "minicoredumper provides an alternate core dump facility for Linux \
+to allow minimal and customized crash dumps"
+LICENSE = " LGPLv2.1 & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=45445387350de96a0e70410470ee5cab"
+DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-linux"
+
+inherit autotools pkgconfig systemd update-rc.d
+
+SRC_URI = "https://linutronix.de/${BPN}/files/${BPN}-${PV}.tar.gz \
+           file://minicoredumper.service \
+           file://minicoredumper.init \
+"
+SRC_URI[md5sum] = "5ba9d116b52a8e2fb93456260644e753"
+SRC_URI[sha256sum] = "1b0eeb3d70dbd2ad6f2f673e4e3446e5dd784e132730e21d8f9dc0977e47dd9a"
+
+SYSTEMD_SERVICE_${PN} = "minicoredumper.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "minicoredumper"
+INITSCRIPT_PARAMS_${PN} = "defaults 89"
+
+do_install_append() {
+    install -d ${D}/${sysconfdir}/minicoredumper
+    cp -rf ${S}/etc/* ${D}/${sysconfdir}/
+
+    install -d ${D}${systemd_system_unitdir}
+    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
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0001-wscript-add-pthread-library-dependency-to-fix-linkin.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0001-wscript-add-pthread-library-dependency-to-fix-linkin.patch
new file mode 100644
index 0000000..d17d311
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid/0001-wscript-add-pthread-library-dependency-to-fix-linkin.patch
@@ -0,0 +1,43 @@
+From 488dc9b00239976caac6bd9ed76b38d9d1659dd9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Tue, 4 Oct 2016 23:44:49 +0200
+Subject: [PATCH] wscript: add pthread library dependency to fix linking
+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/a2jmidid.git/tree/a2jmidid-linking.patch
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ wscript | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/wscript b/wscript
+index 664625b..66a532a 100644
+--- a/wscript
++++ b/wscript
+@@ -67,6 +67,7 @@ def configure(conf):
+         conf.env['DBUS_ENABLED'] = False
+ 
+     conf.env['LIB_DL'] = ['dl']
++    conf.env['LIB_PTHREAD'] = ['pthread']
+ 
+     #conf.check_header('expat.h', mandatory=True)
+     #conf.env['LIB_EXPAT'] = ['expat']
+@@ -152,7 +153,7 @@ def build(bld):
+ 
+     prog.includes = '.' # make waf dependency tracking work
+     prog.target = 'a2jmidid'
+-    prog.uselib = 'ALSA JACK DL'
++    prog.uselib = 'ALSA JACK DL PTHREAD'
+     if bld.env()['DBUS_ENABLED']:
+         prog.uselib += " DBUS-1"
+     prog = bld.create_obj('cc', 'program')
+-- 
+2.5.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
new file mode 100644
index 0000000..d7e93b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
@@ -0,0 +1,22 @@
+SUMMARY = "a2jmidid is daemon for exposing ALSA sequencer applications as JACK MIDI"
+SECTION = "libs/multimedia"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = " \
+    file://gpl2.txt;md5=751419260aa954499f7abaabaa882bbe \
+"
+
+DEPENDS = "alsa-lib jack dbus"
+
+SRC_URI = " \
+    http://download.gna.org/${BPN}/${BPN}-${PV}.tar.bz2 \
+    file://0001-wscript-add-pthread-library-dependency-to-fix-linkin.patch \
+"
+SRC_URI[md5sum] = "9cf4edbc3ad2ddeeaf6c8c1791ff3ddd"
+SRC_URI[sha256sum] = "2a9635f62aabc59edb54ada07048dd47e896b90caff94bcee710d3582606f55f"
+
+inherit waf
+
+export LINKFLAGS="${LDFLAGS}"
+
+FILES_${PN} += "${datadir}/dbus-1/services"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/jack_fix_TWL4030_alsa_capture.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/jack_fix_TWL4030_alsa_capture.patch
deleted file mode 100644
index 77337ff..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/jack_fix_TWL4030_alsa_capture.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/drivers/alsa/alsa_driver.c	2009-05-06 06:36:08.000000000 +1000
-+++ b/drivers/alsa/alsa_driver.c	2010-07-28 21:02:57.238101024 +1000
-@@ -2388,7 +2388,7 @@
- 	strcpy (params[i].name, "period");
- 	params[i].character  = 'p';
- 	params[i].type       = JackDriverParamUInt;
--	params[i].value.ui   = 1024U;
-+	params[i].value.ui   = 256U;            /* TWL4030 capture. */
- 	strcpy (params[i].short_desc, "Frames per period");
- 	strcpy (params[i].long_desc, params[i].short_desc);
- 
-@@ -2396,7 +2396,7 @@
- 	strcpy (params[i].name, "nperiods");
- 	params[i].character  = 'n';
- 	params[i].type       = JackDriverParamUInt;
--	params[i].value.ui   = 2U;
-+	params[i].value.ui   = 4U;              /* TWL4030 capture. */
- 	strcpy (params[i].short_desc, "Number of periods of playback latency");
- 	strcpy (params[i].long_desc, params[i].short_desc);
- 
-@@ -2518,8 +2518,8 @@
- driver_initialize (jack_client_t *client, const JSList * params)
- {
-         jack_nframes_t srate = 48000;
--	jack_nframes_t frames_per_interrupt = 1024;
--	unsigned long user_nperiods = 2;
-+	jack_nframes_t frames_per_interrupt = 256;      /* TWL4030 needs small number of frames here. */
-+	unsigned long user_nperiods = 4;                /* TWL4030 needs 4 periods to avoid XRuns. */
- 	char *playback_pcm_name = "hw:0";
- 	char *capture_pcm_name = "hw:0";
- 	int hw_monitoring = FALSE;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/remove-wrong-host-test.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/remove-wrong-host-test.patch
deleted file mode 100644
index b41c98f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack/remove-wrong-host-test.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From be5f1439a1f36c0bc714411d20186045bd3e9539 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Tue, 12 Jul 2011 12:48:14 +0200
-Subject: [PATCH] remove bogus check for host-side jack installs, we are crosscompiling and don't care about these misguided checks
-
----
- configure.ac |   45 ---------------------------------------------
- 1 files changed, 0 insertions(+), 45 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0a7e6bc..4033c21 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3,51 +3,6 @@ dnl $Id: configure.ac 4467 2011-06-23 15:10:03Z paul $
- 
- AC_INIT(jackd/jackd.c)
- 
--
--dnl
--dnl Check for existing JACK installs
--dnl 
--
--AC_MSG_CHECKING([existing, conflicting JACK installs])
--not_overwriting=0
--installs=
--for dir in /usr/lib /usr/local/lib /opt/lib ; do
--    if test -d $dir ; then
--	if test $(find $dir/ -name 'libjack.so.*' 2>/dev/null | wc -l) -gt 0 ; then
--	    if echo $prefix/lib | grep -vs $dir >/dev/null 2>&1 ; then
--		not_overwriting=$(expr $not_overwriting + 1)
--	    fi
--	    installs="$installs $dir"
--	fi	    
--    fi
--done
--
--if test $not_overwriting -gt 0 ; then
--    echo 
--    echo
--    echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
--    echo "You appear to have at least one existing installation of JACK."
--    echo
--    echo "Complete or partial JACK installs exist in:$installs"
--    echo 
--    echo "Installing this version will leave at least one of these"
--    echo "existing installations installed and this will probably break"
--    echo "JACK on your machine. "
--    echo
--    echo "Before building, you should first remove the existing JACK"
--    echo "installation(s). "
--    echo
--    echo "Alternatively use ./configure --prefix=... to force overwriting"
--    echo "the existing install."
--    echo
--    echo "WARNING: ON ANY DEBIAN-DERIVED DISTRIBUTION (Debian, Ubuntu etc)"
--    echo "CHANGING THE INSTALLATION PREFIX WILL NOT PRODUCE A WORKING JACK"
--    echo "INSTALL. Please contact the distribution packager for JACK and"
--    echo "ask them to fix their packaging."
--    echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
--    exit 1
--fi
--
- AC_CONFIG_AUX_DIR(config)
- AC_CANONICAL_TARGET
- 
--- 
-1.6.6.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb
deleted file mode 100644
index 7b33927..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-DESCRIPTION = "JACK is a low-latency audio server. It can \
-connect a number of different applications to an audio \
-device, as well as allowing them to share audio between \
-themselves."
-SECTION = "libs/multimedia"
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c030468238b2cf89925a57f2780396a7 \
-                    file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://COPYING.LGPL;md5=e77fe93202736b47c07035910f47974a \
-"
-
-DEPENDS = "alsa-lib libsamplerate0 readline"
-
-SRCREV = "91a688c602b7ce1711d8ad10fb07ebcf2e530a64"
-SRC_URI = "git://github.com/jackaudio/jack1.git \
-           file://remove-wrong-host-test.patch \
-           file://jack_fix_TWL4030_alsa_capture.patch \
-"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-timestamps \
-                --disable-capabilities \
-                --disable-oldtrans \
-                --disable-portaudio \
-                --disable-coreaudio \
-                --disable-oss \
-                --enable-alsa"
-
-EXTRA_OEMAKE = 'transform="s,^,,"'
-
-PACKAGES =+ "libjack jack-server jack-utils"
-
-FILES_libjack = "${libdir}/*.so.* ${libdir}/jack/*.so"
-FILES_jack-server = "${bindir}/jackd"
-FILES_jack-utils = "${bindir}/*"
-FILES_${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/* "
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
new file mode 100644
index 0000000..66cec0a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_git.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \
+server for multi-processor machines. It is a new implementation of the \
+JACK server core features that aims in removing some limitations of \
+the JACK1 design. The activation system has been changed for a data \
+flow model and lock-free programming techniques for graph access have \
+been used to have a more dynamic and robust system."
+SECTION = "libs/multimedia"
+
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+    file://common/jack/control.h;beginline=2;endline=21;md5=e6df0bf30cde8b3b825451459488195d \
+    file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \
+"
+
+DEPENDS = "libsamplerate0 libsndfile1 libopus readline"
+
+SRC_URI = "git://github.com/jackaudio/jack2.git"
+SRCREV = "364159f8212393442670b9c3b68b75aa39d98975"
+PV = "1.9.10+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+inherit waf pkgconfig
+
+PACKAGECONFIG ??= "alsa"
+PACKAGECONFIG[alsa] = "--alsa=yes,alsa=no,alsa-lib"
+
+# portaudio is for windows builds only
+EXTRA_OECONF = "--portaudio=no"
+
+PACKAGES =+ "libjack jack-server jack-utils"
+
+FILES_libjack = "${libdir}/*.so.* ${libdir}/jack/*.so"
+FILES_jack-server = "${bindir}/jackd"
+FILES_jack-utils = "${bindir}/*"
+FILES_${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/* "
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
index 328cd14..85ac873 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass.inc
@@ -1,5 +1,5 @@
 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 = "http://code.google.com/p/libass/"
+HOMEPAGE = "https://github.com/libass/libass"
 SECTION = "libs/multimedia"
 
 LICENSE = "ISC"
@@ -7,9 +7,7 @@
 
 DEPENDS = "enca fontconfig freetype libpng fribidi"
 
-INC_PR = "r1"
-
-SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz"
+SRC_URI = "https://github.com/libass/libass/releases/download/${PV}/libass-${PV}.tar.xz"
 
 inherit autotools pkgconfig
 
@@ -17,10 +15,12 @@
 PACKAGECONFIG[harfbuzz] = "--enable-harfbuzz,--disable-harfbuzz,harfbuzz"
 
 EXTRA_OECONF = " \
-    --enable-enca \
     --enable-fontconfig \
 "
 
+# Disable compiling with ASM for x86 to avoid textrel
+EXTRA_OECONF_append_x86 = " --disable-asm"
+
 PACKAGES =+ "${PN}-tests"
 
 FILES_${PN}-tests = " \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.10.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.10.1.bb
deleted file mode 100644
index 0b32276..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.10.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require ${PN}.inc
-PR = "${INC_PR}.0"
-
-SRC_URI[md5sum] = "6cace482a013a3c4bf3b31a68ac66026"
-SRC_URI[sha256sum] = "629a7e81fff92dea8d0399b818a41fd1b61e381c67a5961b1eaec2efadb14c6c"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb
new file mode 100644
index 0000000..8cf2bd8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libass/libass_0.13.2.bb
@@ -0,0 +1,4 @@
+require recipes-multimedia/${BPN}/${BPN}.inc
+
+SRC_URI[md5sum] = "1c8cbd5751aeb192bda04a65d0464fd9"
+SRC_URI[sha256sum] = "d698d0a6adca7c36c5a86b540d67b05bfd36cebc3c351ab7646497c43fe1face"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
new file mode 100644
index 0000000..5bfce4d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
@@ -0,0 +1,43 @@
+From 3d3fce9b8b927a817b89dd78a60b5cf7d978f64c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
+Date: Tue, 16 Sep 2014 12:28:47 +0300
+Subject: [PATCH 4/4] Remove clang unsupported compiler flags
+
+---
+ configure.ac | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4fcd48b..40302db 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -140,20 +140,20 @@ then
+     case "$optimize" in
+ 	-O|"-O "*)
+ 	    optimize="-O"
+-	    optimize="$optimize -fforce-addr"
++	    : #optimize="$optimize -fforce-addr"
+ 	    : #x optimize="$optimize -finline-functions"
+ 	    : #- optimize="$optimize -fstrength-reduce"
+-	    optimize="$optimize -fthread-jumps"
+-	    optimize="$optimize -fcse-follow-jumps"
+-	    optimize="$optimize -fcse-skip-blocks"
++	    : #optimize="$optimize -fthread-jumps"
++	    : #optimize="$optimize -fcse-follow-jumps"
++	    : #optimize="$optimize -fcse-skip-blocks"
+ 	    : #x optimize="$optimize -frerun-cse-after-loop"
+ 	    : #x optimize="$optimize -frerun-loop-opt"
+ 	    : #x optimize="$optimize -fgcse"
+ 	    optimize="$optimize -fexpensive-optimizations"
+-	    optimize="$optimize -fregmove"
++	    : #optimize="$optimize -fregmove"
+ 	    : #* optimize="$optimize -fdelayed-branch"
+ 	    : #x optimize="$optimize -fschedule-insns"
+-	    optimize="$optimize -fschedule-insns2"
++	    : #optimize="$optimize -fschedule-insns2"
+ 	    : #? optimize="$optimize -ffunction-sections"
+ 	    : #? optimize="$optimize -fcaller-saves"
+ 	    : #> optimize="$optimize -funroll-loops"
+-- 
+2.1.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/add-pkgconfig.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/add-pkgconfig.patch
new file mode 100644
index 0000000..b49dc8c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/add-pkgconfig.patch
@@ -0,0 +1,70 @@
+Here is a patch for adding pkg-config support to libmad.
+It would make life a bit easier for distro maintainers if this was applied.
+In case you didn't know, pkg-config is a tool for providing LDFLAGS and
+CFLAGS for packages using shared libraries. It's on freedesktop.org.
+Debian has already been distributing the pkg-config file mad.pc with
+libmad for some time, and people developing on debian (notably xmms2 
+developers) have started relying on this support being present, causing
+some confusion for people installing from source and on some BSDs which
+do not provide mad.pc (google: pkgconfig libmad).
+
+EMH
+
+Upstream-Status: Inappropriate [configuration]
+
+--h31gzZEtNLTqOjlF
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: attachment; filename=&quot;libmad-0.15.1b-pkgconfig.patch&quot;
+
+diff -Naur libmad-0.15.1b.old/configure.ac libmad-0.15.1b/configure.ac
+--- libmad-0.15.1b.old/configure.ac	2004-01-23 10:41:32.000000000 +0100
++++ libmad-0.15.1b/configure.ac	2004-08-07 02:25:24.633462168 +0200
+@@ -429,5 +429,5 @@
+ dnl AC_SUBST(LTLIBOBJS)
+ 
+ AC_CONFIG_FILES([Makefile msvc++/Makefile  \
+-	libmad.list])
++	libmad.list mad.pc])
+ AC_OUTPUT
+diff -Naur libmad-0.15.1b.old/mad.pc.in libmad-0.15.1b/mad.pc.in
+--- libmad-0.15.1b.old/mad.pc.in	1970-01-01 01:00:00.000000000 +0100
++++ libmad-0.15.1b/mad.pc.in	2004-08-07 02:04:59.617692872 +0200
+@@ -0,0 +1,14 @@
++# libmad pkg-config source file
++
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: mad
++Description: MPEG Audio Decoder
++Version: @VERSION@
++Requires:
++Conflicts:
++Libs: -L${libdir} -lmad -lm
++Cflags: -I${includedir}
+diff -Naur libmad-0.15.1b.old/Makefile.am libmad-0.15.1b/Makefile.am
+--- libmad-0.15.1b.old/Makefile.am	2004-02-17 03:02:03.000000000 +0100
++++ libmad-0.15.1b/Makefile.am	2004-08-07 02:03:19.859858368 +0200
+@@ -24,6 +24,9 @@
+ SUBDIRS =		
+ DIST_SUBDIRS =		msvc++
+ 
++pkgconfigdir =		$(libdir)/pkgconfig
++pkgconfig_DATA =	mad.pc
++
+ lib_LTLIBRARIES =	libmad.la
+ include_HEADERS =	mad.h
+ 
+@@ -34,7 +37,8 @@
+ minimad_LDADD =		libmad.la
+ 
+ EXTRA_DIST =		mad.h.sed  \
+-			CHANGES COPYRIGHT CREDITS README TODO VERSION
++			CHANGES COPYRIGHT CREDITS README TODO VERSION \
++			mad.pc.in
+ 
+ exported_headers =	version.h fixed.h bit.h timer.h stream.h frame.h  \
+ 			synth.h decoder.h
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/automake-foreign.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/automake-foreign.patch
new file mode 100644
index 0000000..3e54424
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/automake-foreign.patch
@@ -0,0 +1,12 @@
+Pass foreign to AM_INIT_AUTOMAKE so it doesn't enforce GNU strictness.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/configure.ac b/configure.ac
+index e602fd3..e075b86 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -29 +29 @@ AC_CONFIG_SRCDIR([decoder.h])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
new file mode 100644
index 0000000..01c7aa3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
@@ -0,0 +1,33 @@
+gcc 4.4 did this: The MIPS port no longer recognizes the h  asm constraint. It was necessary to remove this constraint in order to avoid generating unpredictable code sequences. 
+
+so the libmad build with gcc-4.5.0 was failing.
+
+Found a solution here:
+
+http://us.generation-nt.com/answer/bug-568418-libmad0-dev-mpg321-compilation-errors-mips-mipsel-architectures-help-169033451.html
+
+Upstream-Status: Pending
+
+2010/07/29
+Nitin A Kamble <nitin.a.kamble@intel.com>
+
+Index: libmad-0.15.1b/fixed.h
+===================================================================
+--- libmad-0.15.1b.orig/fixed.h
++++ libmad-0.15.1b/fixed.h
+@@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
+ 
+ /* --- MIPS ---------------------------------------------------------------- */
+ 
++# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
++    typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
++#   define MAD_F_MLX(hi, lo, x, y) \
++    do { \
++        u64_di_t __ll = (u64_di_t) (x) * (y); \
++        hi = __ll >> 32; \
++        lo = __ll; \
++     } while (0)
++
+ # elif defined(FPM_MIPS)
+ 
+ /*
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/no-force-mem.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/no-force-mem.patch
new file mode 100644
index 0000000..d5e6d20
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/no-force-mem.patch
@@ -0,0 +1,18 @@
+This option no longer exists in gcc 3.4.1
+
+RP - 18/07/2008
+
+Upstream-Status: Inappropriate [configuration]
+
+Index: libmad-0.15.1b/configure.ac
+===================================================================
+--- libmad-0.15.1b.orig/configure.ac	2008-07-18 15:45:30.000000000 +0100
++++ libmad-0.15.1b/configure.ac	2008-07-18 15:45:37.000000000 +0100
+@@ -140,7 +140,6 @@
+     case "$optimize" in
+ 	-O|"-O "*)
+ 	    optimize="-O"
+-	    optimize="$optimize -fforce-mem"
+ 	    optimize="$optimize -fforce-addr"
+ 	    : #x optimize="$optimize -finline-functions"
+ 	    : #- optimize="$optimize -fstrength-reduce"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/obsolete_automake_macros.patch b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/obsolete_automake_macros.patch
new file mode 100644
index 0000000..cc87d29
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/obsolete_automake_macros.patch
@@ -0,0 +1,14 @@
+Upstream-Status: Submitted [https://sourceforge.net/tracker/?group_id=12349&atid=112349]
+
+Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
+diff -Nurd libmad-0.15.1b/configure.ac libmad-0.15.1b/configure.ac
+--- libmad-0.15.1b/configure.ac	2004-01-23 11:41:32.000000000 +0200
++++ libmad-0.15.1b/configure.ac	2013-01-03 08:28:23.718693697 +0200
+@@ -28,7 +28,7 @@
+
+ AM_INIT_AUTOMAKE
+
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+
+ dnl System type.
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
new file mode 100644
index 0000000..8d9246a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
@@ -0,0 +1,37 @@
+SUMMARY = "MPEG Audio Decoder library"
+HOMEPAGE = "http://sourceforge.net/projects/mad/"
+BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
+LICENSE = "GPLv2+"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+    file://COPYRIGHT;md5=8e55eb14894e782b84488d5a239bc23d \
+    file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454"
+SECTION = "libs"
+DEPENDS = "libid3tag"
+PR = "r3"
+
+SRC_URI = "ftp://ftp.mars.org/pub/mpeg/libmad-${PV}.tar.gz \
+    file://no-force-mem.patch \
+    file://add-pkgconfig.patch \
+    file://fix_for_mips_with_gcc-4.5.0.patch \
+    file://obsolete_automake_macros.patch \
+    file://automake-foreign.patch \
+"
+SRC_URI_append_toolchain-clang = " file://0004-Remove-clang-unsupported-compiler-flags.patch "
+
+SRC_URI[md5sum] = "1be543bc30c56fb6bea1d7bf6a64e66c"
+SRC_URI[sha256sum] = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690"
+
+S = "${WORKDIR}/libmad-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "-enable-speed --enable-shared"
+EXTRA_OECONF_append_arm = " --enable-fpm=arm"
+
+do_configure_prepend () {
+#   damn picky automake...
+    touch NEWS AUTHORS ChangeLog
+}
+
+ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna.inc b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna.inc
index ebca755..b333fce 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/minidlna/minidlna.inc
@@ -19,16 +19,16 @@
 EXTRA_AUTORECONF = ""
 
 do_install_append(){
-	install -d ${D}${sysconfdir}
-	install -m 0755 minidlna.conf ${D}${sysconfdir}
+    install -d ${D}${sysconfdir}
+    install -m 0755 minidlna.conf ${D}${sysconfdir}
 
 # Systemd script
-	install -d ${D}${nonarch_base_libdir}/systemd/system
-	install -m 0755 ${WORKDIR}/minidlna.service ${D}${nonarch_base_libdir}/systemd/system
+    install -d ${D}${nonarch_base_libdir}/systemd/system
+    install -m 0755 ${WORKDIR}/minidlna.service ${D}${nonarch_base_libdir}/systemd/system
 
 # Sysvinit script
-	install -d ${D}${sysconfdir}/init.d
-	install -m 0755 ${WORKDIR}/minidlna-daemon.init.d ${D}${sysconfdir}/init.d/minidlna
+    install -d ${D}${sysconfdir}/init.d
+    install -m 0755 ${WORKDIR}/minidlna-daemon.init.d ${D}${sysconfdir}/init.d/minidlna
 
 }
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
index 145497a..330dfd3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb
@@ -139,7 +139,7 @@
     sed -i 's|extra_cflags="-I. $extra_cflags"|extra_cflags="-I. -I${STAGING_INCDIR}/directfb $extra_cflags"|g' ${S}/configure
     export SIMPLE_TARGET_SYS="$(echo ${TARGET_SYS} | sed s:${TARGET_VENDOR}::g)"
     ./configure ${EXTRA_OECONF}
-    
+
 }
 
 do_compile () {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb
new file mode 100644
index 0000000..292c701
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.15.0.bb
@@ -0,0 +1,60 @@
+SUMMARY = "Open Source multimedia player"
+DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more."
+SECTION = "multimedia"
+HOMEPAGE = "http://www.mpv.io/"
+DEPENDS = "zlib ffmpeg jpeg virtual/libx11 xsp libxv \
+           libxscrnsaver libv4l libxinerama \
+"
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=91f1cb870c1cc2d31351a4d2595441cb"
+
+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} \
+"
+SRC_URI[mpv.md5sum] = "9042bd3fbff2bc8ba0b7fadaa4a22101"
+SRC_URI[mpv.sha256sum] = "7d31217ba8572f364fcea2955733f821374ae6d8c6d8f22f8bc63c44c0400bdc"
+SRC_URI[waf.md5sum] = "cef4ee82206b1843db082d0b0506bf71"
+SRC_URI[waf.sha256sum] = "01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f22fca60c98b"
+
+inherit waf pkgconfig pythonnative distro_features_check
+
+# Note: both lua and libass are required to get on-screen-display (controls)
+PACKAGECONFIG ??= "lua libass"
+PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit"
+PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
+PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive"
+PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack"
+
+SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
+EXTRA_OECONF = " \
+    --prefix=${prefix} \
+    --target=${SIMPLE_TARGET_SYS} \
+    --confdir=${sysconfdir} \
+    --datadir=${datadir} \
+    --disable-manpage-build \
+    --disable-gl \
+    --disable-libsmbclient \
+    --disable-encoding \
+    --disable-libbluray \
+    --disable-dvdread \
+    --disable-dvdnav \
+    --disable-cdda \
+    --disable-enca \
+    --disable-libguess \
+    --disable-uchardet \
+    --disable-rubberband \
+    --disable-lcms2 \
+    --disable-vapoursynth \
+    --disable-vapoursynth-lazy \
+    ${PACKAGECONFIG_CONFARGS} \
+"
+
+do_configure_prepend () {
+    ln -sf waf-1.8.12 ${S}/waf
+    chmod +x ${S}/waf
+}
+
+FILES_${PN} += "${datadir}/icons"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
index 84227b4..51e24c4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
@@ -2,9 +2,11 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
 
-DEPENDS = "intltool gtkmm libcanberra pulseaudio"
+DEPENDS = "intltool-native gtkmm libcanberra pulseaudio"
 
-inherit gnome
+inherit gnome distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz"
 SRC_URI[md5sum] = "176308d2c03f8f3a7b2bd4f4d284fe71"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.10.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.10.1.bb
new file mode 100644
index 0000000..b9732fe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.10.1.bb
@@ -0,0 +1,48 @@
+SUMMARY = "v4l2 and IR applications"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \
+                    file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0"
+PROVIDES = "libv4l media-ctl"
+
+DEPENDS = "jpeg \
+           ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
+
+inherit autotools gettext pkgconfig
+
+PACKAGECONFIG ??= "media-ctl"
+PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
+
+SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \
+           file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
+           file://mediactl-pkgconfig.patch \
+           file://export-mediactl-headers.patch \
+          "
+SRC_URI[md5sum] = "936c9c58343840e91294e4dcec7dc05f"
+SRC_URI[sha256sum] = "6147ccc29fe7dd3c5c3994d613c4f2a099bac8b44694a96e5cf4d7caca8336c0"
+
+EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev"
+
+VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
+
+PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dbg libv4l-dev"
+
+FILES_media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
+
+FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
+RDEPENDS_ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
+
+FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
+
+FILES_${PN} = "${bindir} ${sbindir}"
+
+FILES_libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \
+                 ${libdir}/libdvbv5*${SOLIBS} \
+                 ${libdir}/libv4l/*-decomp"
+
+FILES_libv4l-dbg += "${libdir}/libv4l/.debug ${libdir}/libv4l/plugins/.debug"
+FILES_libv4l-dev += "${includedir} ${libdir}/pkgconfig \
+                     ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \
+                     ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la"
+
+PARALLEL_MAKE_class-native = ""
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.6.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.6.2.bb
deleted file mode 100644
index 75a42a2..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.6.2.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "v4l2 and IR applications"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \
-                    file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0"
-PROVIDES = "libv4l media-ctl"
-
-DEPENDS = "jpeg \
-           ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
-
-inherit autotools gettext pkgconfig
-
-PACKAGECONFIG ??= "media-ctl"
-PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
-
-SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \
-           file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
-           file://mediactl-pkgconfig.patch \
-           file://export-mediactl-headers.patch \
-          "
-SRC_URI[md5sum] = "9cb3c178f937954e65bf30920af433ef"
-SRC_URI[sha256sum] = "d3d6eb1f0204fb11f3d318bfca35d5f73cc077f88fac7665a47856a16496be7d"
-
-EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev"
-
-VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
-
-PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dbg libv4l-dev"
-
-FILES_media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
-
-FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
-RDEPENDS_ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
-
-FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
-
-FILES_${PN} = "${bindir} ${sbindir}"
-
-FILES_libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \
-                 ${libdir}/libdvbv5*${SOLIBS} \
-                 ${libdir}/libv4l/*-decomp"
-
-FILES_libv4l-dbg += "${libdir}/libv4l/.debug ${libdir}/libv4l/plugins/.debug"
-FILES_libv4l-dev += "${includedir} ${libdir}/pkgconfig \
-                     ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \
-                     ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
index d65546d..526659e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
@@ -13,5 +13,8 @@
 # depends on virtual/libx11
 REQUIRED_DISTRO_FEATURES = "x11"
 
+# Remove runtime dependency on empty package ${PN}
+RDEPENDS_${PN}-dev = ""
+
 SRC_URI[md5sum] = "1b0cb67b6f2bd7c4abef17648b062896"
 SRC_URI[sha256sum] = "a3b06f5188fd9effd0799ae31352b3cd65cb913b964e2c1a923ffa9d3c08abbe"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/files/soup-session-fix.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/files/soup-session-fix.patch
deleted file mode 100644
index 70fe3f5..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/files/soup-session-fix.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Upstream-Status: Upstream-Status: Inappropriate [poky 9.0 has older libsoup]
-
-Signed-off-by: Felipe F. Tonello <eu@felipetonello.com>
-
-diff --git a/src/gclue-ipclient.c b/src/gclue-ipclient.c
-index 09add30..1771d5c 100644
---- a/src/gclue-ipclient.c
-+++ b/src/gclue-ipclient.c
-@@ -83,7 +83,7 @@ gclue_ipclient_init (GClueIpclient *ipclient)
- {
-         ipclient->priv = G_TYPE_INSTANCE_GET_PRIVATE ((ipclient), GCLUE_TYPE_IPCLIENT, GClueIpclientPrivate);
- 
--        ipclient->priv->soup_session = soup_session_new ();
-+        ipclient->priv->soup_session = soup_session_sync_new ();
- }
- 
- /**
-diff --git a/src/geoip-server/geoip-update.c b/src/geoip-server/geoip-update.c
-index 6cce7b2..ef672ba 100644
---- a/src/geoip-server/geoip-update.c
-+++ b/src/geoip-server/geoip-update.c
-@@ -214,7 +214,7 @@ main (int argc, char **argv)
-                         path = GEOIP_DATABASE_PATH;
-         }
- 
--        session = soup_session_new ();
-+        session = soup_session_sync_new ();
- 
-         for (i = 0; i < G_N_ELEMENTS (db_info_map); i++) {
-                 SoupMessage *msg = NULL;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.0.0.bb
deleted file mode 100644
index 5e3d04e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.0.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "The Geolocation Service"
-DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \
-The primary goal of the Geoclue project is to make creating location-aware applications \
-as simple as possible, while the secondary goal is to ensure that no application \
-can access location information without explicit permission from user."
-LICENSE = "GPLv2.0+"
-SECTION = "console/network"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8114b83a0435d8136b47bd70111ce5cd"
-
-DEPENDS = "glib-2.0 dbus dbus-glib json-glib libsoup-2.4"
-
-inherit autotools pkgconfig gtk-doc
-
-SRC_URI = " \
-  http://www.freedesktop.org/software/geoclue/releases/2.0/geoclue-${PV}.tar.xz \
-  file://soup-session-fix.patch \
-"
-
-SRC_URI[md5sum] = "401ff99d530b177c62afacef0a33efd9"
-SRC_URI[sha256sum] = "4a82f184e55a163d86e0ad69bbe1bba9960bb5094220fe1f01350bceda8c67a1"
-
-PACKAGECONFIG[geoip] = "--enable-geoip-server,--disable-geoip-server,geoip"
-
-EXTRA_OECONF += " \
-  --with-dbus-service-user=root \
-  --with-dbus-sys-dir=${sysconfdir}/dbus-1/system.d \
-"
-
-FILES_${PN} += " \
-  ${datadir}/dbus-1/system-services/org.freedesktop.GeoClue2.service \
-  ${datadir}/geoclue-2.0/geoclue-interface.xml \
-"
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
new file mode 100644
index 0000000..3170d44
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
@@ -0,0 +1,53 @@
+SUMMARY = "The Geolocation Service"
+DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \
+The primary goal of the Geoclue project is to make creating location-aware applications \
+as simple as possible, while the secondary goal is to ensure that no application \
+can access location information without explicit permission from user."
+LICENSE = "GPLv2.0+"
+SECTION = "console/network"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8114b83a0435d8136b47bd70111ce5cd"
+
+DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native"
+
+inherit autotools pkgconfig gtk-doc
+
+SRC_URI = " \
+    http://www.freedesktop.org/software/geoclue/releases/2.4/geoclue-${PV}.tar.xz \
+"
+
+SRC_URI[md5sum] = "d2a5b05f4bad032673fe23afbce27926"
+SRC_URI[sha256sum] = "9c43fb9d0c12067ea64400500abb0640194947d4c2c55e38545afe5d9c5c315c"
+
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+# Without this line, package is delcared a library and named libgeoclue*
+AUTO_LIBNAME_PKGS = ""
+
+PACKAGECONFIG ??= "3g modem-gps cdma nmea lib"
+PACKAGECONFIG[3g] = "--enable-3g-source,--disable-3g-source,modemmanager"
+PACKAGECONFIG[modem-gps] = "--enable-modem-gps-source,--disable-modem-gps-source,modemmanager"
+PACKAGECONFIG[cdma] = "--enable-cdma-source,--disable-cdma-source,modemmanager"
+PACKAGECONFIG[nmea] = "--enable-nmea-source,--disable-nmea-source,avahi"
+PACKAGECONFIG[lib] = "--enable-libgeoclue,--disable-libgeoclue,gobject-introspection"
+
+EXTRA_OECONF += " \
+    --with-dbus-service-user=root \
+    --with-dbus-sys-dir=${sysconfdir}/dbus-1/system.d \
+    --enable-demo-agent=no \
+"
+
+FILES_${PN} += " \
+    ${datadir}/dbus-1/system-services \
+    ${libdir} \
+    ${systemd_unitdir} \
+    ${prefix}/libexec \
+"
+
+FILES_${PN}-dev += " \
+    ${datadir}/dbus-1/interfaces \
+    ${datadir}/gir-1.0 \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/geos/files/fix-gcc6-isnan.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geos/files/fix-gcc6-isnan.patch
new file mode 100644
index 0000000..5c5fbd1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geos/files/fix-gcc6-isnan.patch
@@ -0,0 +1,22 @@
+--- geos-3.4.2/configure.in.orig	2016-06-08 17:46:43.002250304 +0000
++++ geos-3.4.2/configure.in	2016-06-08 17:57:36.342241606 +0000
+@@ -197,7 +197,7 @@
+ AC_LANG_PUSH([C++])
+ AC_CACHE_CHECK([for isnan], ac_cv_isnan,
+  [AC_TRY_LINK([#include <cmath>],
+- [double x; int y; y = isnan(x);],
++ [double x; int y; y = std::isnan(x);],
+  ac_cv_isnan=yes,
+  ac_cv_isnan=no
+ )])
+--- geos-3.4.2/include/geos/platform.h.in.orig	2016-06-08 14:06:53.910234182 -0400
++++ geos-3.4.2/include/geos/platform.h.in	2016-06-08 14:07:19.298233844 -0400
+@@ -84,7 +84,7 @@
+ #endif
+ 
+ #if defined(HAVE_ISNAN)
+-# define ISNAN(x) (isnan(x))
++# define ISNAN(x) (std::isnan(x))
+ #else
+ # if defined(_MSC_VER)
+ #  define ISNAN(x) _isnan(x)
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.2.bb
index 3a9a028e..7193f8f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.2.bb
@@ -1,6 +1,7 @@
 require geos.inc
 
-SRC_URI += "file://geos-config-Add-includedir-variable.patch"
+SRC_URI += "file://geos-config-Add-includedir-variable.patch \
+            file://fix-gcc6-isnan.patch"
 
 SRC_URI[md5sum] = "fc5df2d926eb7e67f988a43a92683bae"
 SRC_URI[sha256sum] = "15e8bfdf7e29087a957b56ac543ea9a80321481cef4d4f63a7b268953ad26c53"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-include-sys-ttydefaults.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-include-sys-ttydefaults.h.patch
new file mode 100644
index 0000000..b27c671
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.14/0001-include-sys-ttydefaults.h.patch
@@ -0,0 +1,34 @@
+From 543f79222520cc6ab65d20f9fa356dac5c848e3b 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>
+---
+Upstream-Status: Pending
+
+ gpsmon.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gpsmon.c b/gpsmon.c
+index bee05b8..daed818 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>
+ #ifndef S_SPLINT_S
+ #include <unistd.h>
+-- 
+1.8.3.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
index d023c5d..d2058ba 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
@@ -4,4 +4,4 @@
 
 # empty by default
 # BSP layers can add stuff like meta-openmoko example:
-# 
+#
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb
index aef9b13..4d00fea 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.14.bb
@@ -17,6 +17,7 @@
     file://0003-Whoops-check-for-C11-not-for-not-C11-in-stdatomic.h-.patch \
     file://0001-Include-stdatomic.h-only-in-C-mode.patch \
     file://0001-libgpsd-core-Fix-issue-with-ACTIVATE-hook-not-being-.patch \
+    file://0001-include-sys-ttydefaults.h.patch \
     file://gpsd-default \
     file://gpsd \
     file://60-gpsd.rules \
@@ -45,9 +46,9 @@
     strip='false' \
     chrpath='yes' \
     systemd='${SYSTEMD_OESCONS}' \
-    ${EXTRA_OECONF} \
+    libdir='${libdir}' \
+    ${PACKAGECONFIG_CONFARGS} \
 "
-DISABLE_STATIC = ""
 # this cannot be used, because then chrpath is not found and only static lib is built
 # target=${HOST_SYS}
 
@@ -55,18 +56,14 @@
     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 BUILD_SYS="${BUILD_SYS}"
-    export HOST_SYS="${HOST_SYS}"
+    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 BUILD_SYS="${BUILD_SYS}"
-    export HOST_SYS="${HOST_SYS}"
+    export LINKFLAGS="${LDFLAGS}"
 
     export DESTDIR="${D}"
     # prefix is used for RPATH and DESTDIR/prefix for instalation
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy_9100h.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy_9100h.bb
index e121b44..a65d324 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy_9100h.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/anthy/anthy_9100h.bb
@@ -6,9 +6,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=11f384074d8e93e263b5664ef08a411a"
 
 SRC_URI = "http://osdn.dl.sourceforge.jp/anthy/37536/anthy-9100h.tar.gz \
-           file://not_build_elc.patch \
-           file://2ch_t.patch \
-          "
+    file://not_build_elc.patch \
+    file://2ch_t.patch \
+"
 
 SRC_URI_append_class-target = "file://target-helpers.patch"
 SRC_URI_append_class-native = "file://native-helpers.patch"
@@ -25,18 +25,21 @@
 
 FILES_${PN}-dbg += "${libdir}/.debug"
 FILES_libanthy0 = "${libdir}/libanthy.so.*  \
-		   ${libdir}/libanthydic.so.*   \
-		   ${libdir}/libanthyinput.so.*"
+    ${libdir}/libanthydic.so.* \
+    ${libdir}/libanthyinput.so.* \
+"
 
 FILES_libanthy-dev = "${libdir}/libanthy*.la \
-		      ${libdir}/libanthy*.a \
-		      ${libdir}/libanthy*.so \
-		      ${includedir}/anthy   \
-		      ${libdir}/pkgconfig/anthy.pc"
+    ${libdir}/libanthy*.a \
+    ${libdir}/libanthy*.so \
+    ${includedir}/anthy \
+    ${libdir}/pkgconfig/anthy.pc \
+"
 
 FILES_${PN}-el = "${datadir}/emacs/*"
 FILES_${PN} = "${datadir}/* \
-	       ${bindir}/* \
-	       ${sysconfdir}/anthy-conf"
+    ${bindir}/* \
+    ${sysconfdir}/anthy-conf \
+"
 
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb
index 35c891e..3ef1792 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb
@@ -22,7 +22,7 @@
     cp -R --no-dereference --preserve=mode,links -v ${S}/autoconf/configure.in ${S}
 
     if ! [ -d ${S}/platforms/${DISTRO} ] ; then
-        cp -R --no-dereference --preserve=mode,links -v ${S}/platforms/unknown ${S}/platforms/${DISTRO} 
+        cp -R --no-dereference --preserve=mode,links -v ${S}/platforms/unknown ${S}/platforms/${DISTRO}
     fi
 
     gnu-configize --force
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio.inc
index 9cea824..54f78e4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio.inc
@@ -6,7 +6,7 @@
 SECTION = "libs"
 LICENSE = "BSL-1.0"
 
-DEPENDS = "boost"
+DEPENDS = "boost openssl"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio/0001-Automatically-handle-glibc-variant-of-strerror_r-wit.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio/0001-Automatically-handle-glibc-variant-of-strerror_r-wit.patch
new file mode 100644
index 0000000..4244b97
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio/0001-Automatically-handle-glibc-variant-of-strerror_r-wit.patch
@@ -0,0 +1,46 @@
+From 45c855400842fd40f200ae9b7abf9debf4ab5436 Mon Sep 17 00:00:00 2001
+From: Christopher Kohlhoff <chris@kohlhoff.com>
+Date: Sun, 28 Aug 2016 09:21:53 +1000
+Subject: [PATCH] Automatically handle glibc variant of strerror_r without
+ #ifdefs.
+
+---
+Upstream-Status: Backport https://github.com/chriskohlhoff/asio/commit/443bc17d13eb5e37de780ea6e23157493cf7b3b9
+ include/asio/impl/error_code.ipp | 16 +++++++---------
+ 1 file changed, 7 insertions(+), 9 deletions(-)
+
+diff --git a/include/asio/impl/error_code.ipp b/include/asio/impl/error_code.ipp
+index ccb70dd..a117658 100644
+--- a/include/asio/impl/error_code.ipp
++++ b/include/asio/impl/error_code.ipp
+@@ -97,20 +97,18 @@ public:
+ #if defined(__sun) || defined(__QNX__) || defined(__SYMBIAN32__)
+     using namespace std;
+     return strerror(value);
+-#elif defined(__MACH__) && defined(__APPLE__) \
+-  || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) \
+-  || defined(_AIX) || defined(__hpux) || defined(__osf__) \
+-  || defined(__ANDROID__)
+-    char buf[256] = "";
+-    using namespace std;
+-    strerror_r(value, buf, sizeof(buf));
+-    return buf;
+ #else
+     char buf[256] = "";
+-    return strerror_r(value, buf, sizeof(buf));
++    using namespace std;
++    return strerror_result(strerror_r(value, buf, sizeof(buf)), buf);
+ #endif
+ #endif // defined(ASIO_WINDOWS)
+   }
++
++private:
++  // Helper function to adapt the result from glibc's variant of strerror_r.
++  static const char* strerror_result(int, const char* s) { return s; }
++  static const char* strerror_result(const char* s, const char*) { return s; }
+ };
+ 
+ } // namespace detail
+-- 
+2.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio/0001-use-POSIX-poll.h-instead-of-sys-poll.h.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio/0001-use-POSIX-poll.h-instead-of-sys-poll.h.patch
new file mode 100644
index 0000000..7f95f5a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio/0001-use-POSIX-poll.h-instead-of-sys-poll.h.patch
@@ -0,0 +1,64 @@
+From dac36a170188917e2f61b0394ba8a2f6509ddf3a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
+Date: Tue, 8 Nov 2016 20:39:55 +0000
+Subject: [PATCH] use POSIX poll.h instead of sys/poll.h
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+POSIX specifies that <poll.h> is the correct header to
+include for poll()
+  http://pubs.opengroup.org/onlinepubs/009695399/functions/poll.html
+whereas <sys/poll.h> is only needed for ancient glibc (<2.3),
+so let's follow POSIX instead.
+
+As a side-effect, this silences numerous compilation warnings
+when compiling against the musl C-library:
+
+In file included from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/detail/socket_types.hpp:57:0,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/impl/error_code.ipp:29,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/error_code.hpp:185,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/detail/throw_error.hpp:19,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/detail/impl/posix_tss_ptr.ipp:23,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/detail/posix_tss_ptr.hpp:74,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/detail/tss_ptr.hpp:27,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/detail/call_stack.hpp:20,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/impl/handler_alloc_hook.ipp:19,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/handler_alloc_hook.hpp:78,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/detail/handler_alloc_helpers.hpp:21,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/detail/bind_handler.hpp:19,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/detail/wrapped_handler.hpp:18,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/io_service.hpp:24,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/basic_io_object.hpp:19,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/basic_socket.hpp:20,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio/basic_datagram_socket.hpp:20,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/../../../include/asio.hpp:19,
+                 from ../../../../asio-1.10.6/src/examples/cpp03/buffers/reference_counted.cpp:11:
+<sysroot>/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
+ #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
+  ^~~~~~~
+
+etc.
+
+Signed-off-by: André Draszik <adraszik@tycoint.com>
+---
+Upstream-Status: Submitted https://svn.boost.org/trac/boost/ticket/12419
+ include/asio/detail/socket_types.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/asio/detail/socket_types.hpp b/include/asio/detail/socket_types.hpp
+index f2600c2..cb61b8e 100644
+--- a/include/asio/detail/socket_types.hpp
++++ b/include/asio/detail/socket_types.hpp
+@@ -54,7 +54,7 @@
+ #else
+ # include <sys/ioctl.h>
+ # if !defined(__SYMBIAN32__)
+-#  include <sys/poll.h>
++#  include <poll.h>
+ # endif
+ # include <sys/types.h>
+ # include <sys/stat.h>
+-- 
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio_1.10.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio_1.10.1.bb
deleted file mode 100644
index fdfaaf6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio_1.10.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require asio.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=113f800aa522d9e38c3309c98ec53ade"
-
-SRC_URI[md5sum] = "4d508c9947404fee40945375b8a5fd32"
-SRC_URI[sha256sum] = "820a5dad3c56a4f3e937f2b9ae059ab2696c6058345d71b7a8b072a0f2fcbd99"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio_1.10.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio_1.10.6.bb
new file mode 100644
index 0000000..5656039
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/asio/asio_1.10.6.bb
@@ -0,0 +1,11 @@
+require asio.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=fede5286a78559dd646e355ab0cc8f04"
+
+SRC_URI[md5sum] = "85d014a356a6e004cd30ccd4c9b6a5c2"
+SRC_URI[sha256sum] = "e0d71c40a7b1f6c1334008fb279e7361b32a063e020efd21e40d9d8ff037195e"
+
+SRC_URI += "\
+    file://0001-Automatically-handle-glibc-variant-of-strerror_r-wit.patch \
+    file://0001-use-POSIX-poll.h-instead-of-sys-poll.h.patch \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc
new file mode 100644
index 0000000..185abae
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas.inc
@@ -0,0 +1,33 @@
+SUMMARY = "Augeas configuration API"
+HOMEPAGE = "http://augeas.net/"
+BUGTRACKER = "https://fedorahosted.org/augeas/report/1"
+
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbb461211a33b134d42ed5ee802b37ff"
+
+SRC_URI = "http://download.augeas.net/${BP}.tar.gz \
+           file://add-missing-argz-conditional.patch \
+           file://sepbuildfix.patch \
+           file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
+          "
+
+DEPENDS = "readline libxml2"
+
+inherit autotools pkgconfig
+
+PACKAGES =+ "${PN}-lenses lib${BPN}"
+
+FILES_${PN}-lenses = "${datadir}/augeas/lenses"
+FILES_lib${BPN} = "${libdir}/lib*${SOLIBS}"
+
+RDEPENDS_lib${BPN} += "${PN}-lenses"
+RRECOMMENDS_lib${BPN} += "${PN}"
+
+LEAD_SONAME = "libaugeas.so"
+
+do_install_append() {
+    rm -fr ${D}${datadir}/vim
+}
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libselinux] = "--with-selinux,--without-selinux,libselinux"
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
new file mode 100644
index 0000000..9a19876
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/0001-Unset-need_charset_alias-when-building-for-musl.patch
@@ -0,0 +1,30 @@
+From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a 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
+
+localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
+which actually shoudl be fixed in gnulib and then all downstream
+projects will get it eventually. For now we apply the fix to
+coreutils
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/gnulib.mk | 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
+@@ -463,7 +463,7 @@ install-exec-localcharset: all-local
+ 	  case '$(host_os)' in \
+ 	    darwin[56]*) \
+ 	      need_charset_alias=true ;; \
+-	    darwin* | cygwin* | mingw* | pw32* | cegcc*) \
++	    darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
+ 	      need_charset_alias=false ;; \
+ 	    *) \
+ 	      need_charset_alias=true ;; \
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
new file mode 100644
index 0000000..abbdbaa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/add-missing-argz-conditional.patch
@@ -0,0 +1,20 @@
+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
+@@ -55,6 +55,8 @@ AC_ARG_WITH([failmalloc],
+ 
+ AM_CONDITIONAL([WITH_FAILMALLOC], [test x$with_failmalloc != xno])
+ 
++AM_CONDITIONAL([GL_GENERATE_ARGZ_H], [test -n "$ARGZ_H"])
++
+ dnl --enable-debug=(yes|no)
+ AC_ARG_ENABLE([debug],
+               [AC_HELP_STRING([--enable-debug=no/yes],
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
new file mode 100644
index 0000000..b82a3ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas/sepbuildfix.patch
@@ -0,0 +1,22 @@
+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 @@
+ lensdir=$(datadir)/augeas/lenses/dist
+ lenstestdir=$(datadir)/augeas/lenses/dist/tests
+ 
+-dist_lens_DATA=$(wildcard lenses/*.aug)
+-dist_lenstest_DATA=$(wildcard lenses/tests/*.aug)
++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
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.5.0.bb
new file mode 100644
index 0000000..c4f62e7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/augeas/augeas_1.5.0.bb
@@ -0,0 +1,4 @@
+require augeas.inc
+
+SRC_URI[md5sum] = "01190e455c513124a2dae29a1182c113"
+SRC_URI[sha256sum] = "223bb6e6fe3e9e92277dafd5d34e623733eb969a72a382998d204feab253f73f"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame/pessimizing-move.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame/pessimizing-move.patch
new file mode 100644
index 0000000..aa5a56a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame/pessimizing-move.patch
@@ -0,0 +1,27 @@
+let compiler decide on copy elision
+Fixes compiler errors with clang
+| ../../frame-2.5.0/src/x11/device_x11.cpp:126:13: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
+|             std::move(UniqueUFAxis(static_cast<oif::frame::UFAxis*>(axis)));
+|             ^
+| ../../frame-2.5.0/src/x11/device_x11.cpp:126:13: note: remove std::move call here
+|             std::move(UniqueUFAxis(static_cast<oif::frame::UFAxis*>(axis)));
+|             ^~~~~~~~~~                                                    ~
+| 1 error generated.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: frame-2.5.0/src/x11/device_x11.cpp
+===================================================================
+--- frame-2.5.0.orig/src/x11/device_x11.cpp
++++ frame-2.5.0/src/x11/device_x11.cpp
+@@ -122,8 +122,7 @@ UFDeviceX11::UFDeviceX11(Display* displa
+         UFAxis_* axis = new UFAxis(type, valuator_info->min, valuator_info->max,
+                                    valuator_info->resolution);
+ 
+-        axes_[type] =
+-            std::move(UniqueUFAxis(static_cast<oif::frame::UFAxis*>(axis)));
++        axes_[type] = UniqueUFAxis(static_cast<oif::frame::UFAxis*>(axis));
+ 
+         axis_map_[valuator_info->number] = type;
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
index ecc9524..0ad10a4 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
@@ -10,7 +10,8 @@
 
 inherit autotools pkgconfig
 
-SRC_URI = "https://launchpad.net/${BPN}/trunk/v${PV}/+download/${BPN}-${PV}.tar.gz"
+SRC_URI = "https://launchpad.net/${BPN}/trunk/v${PV}/+download/${BPN}-${PV}.tar.gz \
+           file://pessimizing-move.patch"
 SRC_URI[md5sum] = "02baa941091c5d198cd1623b3ad36e68"
 SRC_URI[sha256sum] = "cfb9ab52cdccd926f1822a457264d0014c7eb9f4600a72626063dd073b26256f"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis/fix-indentation-for-gcc6.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis/fix-indentation-for-gcc6.patch
new file mode 100644
index 0000000..389e1b3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/geis/fix-indentation-for-gcc6.patch
@@ -0,0 +1,14 @@
+--- geis-2.2.17/libgeis/geis_subscription.c.orig	2016-06-17 12:04:21.062938443 -0400
++++ geis-2.2.17/libgeis/geis_subscription.c	2016-06-17 12:05:02.934939172 -0400
+@@ -237,9 +237,10 @@
+   GeisSize i;
+   for (i = 0; i < bag->sub_store_size; ++i)
+   {
+-    if (bag->sub_store[i])
++    if (bag->sub_store[i]) {
+       _subscription_unref(bag->sub_store[i]);
+       bag->sub_store[i] = NULL;
++    }
+   }
+ }
+ 
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 bc88143..281dc3d 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
@@ -19,7 +19,9 @@
 
 DEPENDS += "grail dbus-glib python3 virtual/libx11 libxext libxi libxcb dbus frame"
 
-SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BPN}-${PV}.tar.xz"
+SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BPN}-${PV}.tar.xz\
+           file://fix-indentation-for-gcc6.patch \
+"
 SRC_URI[md5sum] = "2ff9d76a3ea5794516bb02c9d1924faf"
 SRC_URI[sha256sum] = "8a60f5683852094038904e690d23cc5a90a980fc52da67f0f28890baa25c70eb"
 
@@ -27,6 +29,7 @@
 
 FILES_${PN}-bin = "${bindir}"
 RDEPENDS_${PN}-bin = " \
+    python3-argparse \
     python3-compression \
     python3-core \
     python3-crypt \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.0.bb
deleted file mode 100644
index 6ea10d6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Gesture Recognition And Instantiation Library"
-
-HOMEPAGE = "https://launchpad.net/grail"
-
-LICENSE = "GPLv3 & LGPLv3"
-LIC_FILES_CHKSUM = " \
-    file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02 \
-    file://COPYING.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
-"
-
-inherit autotools pkgconfig
-
-DEPENDS = "frame"
-
-SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "2ac56af5f6f466b433c99ca12f34c34f"
-SRC_URI[sha256sum] = "c26dced1b3f4317ecf6af36db0e90294d87e43966d56aecc4e97b65368ab78b9"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-PACKAGECONFIG[x11] = "--with-x11, --without-x11, libxi"
-
-PACKAGE_BEFORE_PN += "${PN}-test"
-FILES_${PN}-test = "${bindir}/grail-test*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
new file mode 100644
index 0000000..3026744
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Gesture Recognition And Instantiation Library"
+
+HOMEPAGE = "https://launchpad.net/grail"
+
+LICENSE = "GPLv3 & LGPLv3"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+    file://COPYING.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+inherit autotools pkgconfig
+
+DEPENDS = "frame"
+
+SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "0df1b3ec6167920f310e2effe6e2ad44"
+SRC_URI[sha256sum] = "5eed1f650f042481daa3a2de5e7d43261fe343b2a1b1e240f3b7fc26572c9df3"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG[x11] = "--with-x11, --without-x11, libxi"
+
+PACKAGE_BEFORE_PN += "${PN}-test"
+FILES_${PN}-test = "${bindir}/grail-test*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.19.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.19.bb
deleted file mode 100644
index f77e069..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.19.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Generic USB CCID smart card reader driver"
-HOMEPAGE = "http://pcsclite.alioth.debian.org/ccid.html"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-DEPENDS = "virtual/libusb0 pcsc-lite"
-RDEPENDS_${PN} = "pcsc-lite"
-
-SRC_URI = "https://alioth.debian.org/frs/download.php/file/4132/ccid-${PV}.tar.bz2 \
-	   file://no-dep-on-libfl.patch "
-
-SRC_URI[md5sum] = "d1eed995ba9a2eb395a65a8a78090f52"
-SRC_URI[sha256sum] = "cccb2c2bb4e56689efe34559f713102d92f94735542e58d3e4334e1459e934e1"
-
-inherit autotools pkgconfig
-
-FILES_${PN} += "${libdir}/pcsc/"
-FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.24.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.24.bb
new file mode 100644
index 0000000..31145d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.4.24.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Generic USB CCID smart card reader driver"
+HOMEPAGE = "http://pcsclite.alioth.debian.org/ccid.html"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+DEPENDS = "virtual/libusb0 pcsc-lite"
+RDEPENDS_${PN} = "pcsc-lite"
+
+SRC_URI = "https://alioth.debian.org/frs/download.php/file/4171/ccid-${PV}.tar.bz2 \
+    file://no-dep-on-libfl.patch \
+"
+
+SRC_URI[md5sum] = "915a03cda85b60fefbe3654cbdc68ca9"
+SRC_URI[sha256sum] = "62cb73c6c009c9799c526f05a05e25f00f0ad86d50f82a714dedcfbf4a7e4176"
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${libdir}/pcsc/"
+FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.0.bb
deleted file mode 100644
index 16c21d3..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
-DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
-device-mapper mappings. These include plain dm-crypt volumes and \
-LUKS volumes. The difference is that LUKS uses a metadata header \
-and can hence offer more features than plain dm-crypt. On the other \
-hand, the header is visible and vulnerable to damage."
-HOMEPAGE = "http://code.google.com/p/cryptsetup/"
-SECTION = "console"
-LICENSE = "GPL-2.0-with-OpenSSL-exception"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
-
-DEPENDS = "util-linux lvm2 popt libgcrypt"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v1.7/${BP}.tar.xz"
-SRC_URI[md5sum] = "56c385fe87fc2b6873df4b7f89202d0f"
-SRC_URI[sha256sum] = "075524a7cc0db36d12119fa79116750accb1c6c8825d5faa2534b74b8ce3d148"
-
-inherit autotools gettext pkgconfig
-
-# Use openssl because libgcrypt drops root privileges
-# if libgcrypt is linked with libcap support
-PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
-PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
-
-RRECOMMENDS_${PN} = "kernel-module-aes-generic \
-                     kernel-module-dm-crypt \
-                     kernel-module-md5 \
-                     kernel-module-cbc \
-                     kernel-module-sha256-generic \
-"
-
-EXTRA_OECONF = "--enable-static"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.2.bb
new file mode 100644
index 0000000..d160a09
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/cryptsetup/cryptsetup_1.7.2.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
+DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
+device-mapper mappings. These include plain dm-crypt volumes and \
+LUKS volumes. The difference is that LUKS uses a metadata header \
+and can hence offer more features than plain dm-crypt. On the other \
+hand, the header is visible and vulnerable to damage."
+HOMEPAGE = "http://code.google.com/p/cryptsetup/"
+SECTION = "console"
+LICENSE = "GPL-2.0-with-OpenSSL-exception"
+LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
+
+DEPENDS = "util-linux lvm2 popt libgcrypt"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v1.7/${BP}.tar.xz"
+SRC_URI[md5sum] = "a11a140cea496961222170944db01fc1"
+SRC_URI[sha256sum] = "dbb35dbf5f0c1749168c86c913fe98e872247bfc8425314b494c2423e7e43342"
+
+inherit autotools gettext pkgconfig
+
+# Use openssl because libgcrypt drops root privileges
+# if libgcrypt is linked with libcap support
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
+PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
+
+RRECOMMENDS_${PN} = "kernel-module-aes-generic \
+                     kernel-module-dm-crypt \
+                     kernel-module-md5 \
+                     kernel-module-cbc \
+                     kernel-module-sha256-generic \
+"
+
+EXTRA_OECONF = "--enable-static"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb
deleted file mode 100644
index a3b67f7..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Common files and packaging infrastructure for CT-API modules"
-HOMEPAGE = "http://fedoraproject.org/"
-SECTION = "System Environment/Libraries"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://../ctapi-common.LICENSE;md5=8744cd52545ecb45befebd0da6f70f0a"
-
-SRC_URI = "http://ftp.riken.jp/Linux/fedora/releases/20/Fedora/source/SRPMS/c/${BPN}-${PV}.fc20.src.rpm;extract=ctapi-common.LICENSE \
-           http://ftp.riken.jp/Linux/fedora/releases/20/Fedora/source/SRPMS/c/${BPN}-${PV}.fc20.src.rpm;extract=ctapi-common.README"
-SRC_URI[md5sum] = "f02e67487c48319376800563a2659502"
-SRC_URI[sha256sum] = "32399819b0a1cac1abb2b8f0f180c572c93809faad36c46825dd536e4844c7cf"
-
-do_compile() {
-    install -pm 644 ${WORKDIR}/ctapi-common.LICENSE LICENSE
-    install -pm 644 ${WORKDIR}/ctapi-common.README README
-    echo ${libdir}/ctapi > ctapi.conf
-}
-
-do_install() {
-    install -Dpm 644 ctapi.conf ${D}${sysconfdir}/ld.so.conf.d/ctapi-${TARGET_ARCH}.conf
-    install -dm 755 ${D}${libdir}/ctapi
-}
-
-FILES_${PN} += "${libdir}/ctapi"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-14.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-14.bb
new file mode 100644
index 0000000..3a049e7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-14.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Common files and packaging infrastructure for CT-API modules"
+HOMEPAGE = "http://fedoraproject.org/"
+SECTION = "System Environment/Libraries"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://../ctapi-common.LICENSE;md5=8744cd52545ecb45befebd0da6f70f0a"
+
+SRC_URI = "http://ftp.riken.jp/Linux/fedora/releases/23/Everything/source/SRPMS/c/${BPN}-${PV}.fc23.src.rpm;extract=ctapi-common.LICENSE \
+           http://ftp.riken.jp/Linux/fedora/releases/23/Everything/source/SRPMS/c/${BPN}-${PV}.fc23.src.rpm;extract=ctapi-common.README"
+SRC_URI[md5sum] = "5b7259ef1c8cd9ae801fca7a5cb548c1"
+SRC_URI[sha256sum] = "87a74eb0a66055c34ba2c5c919e74f3211c5950ae1c2cbab967fdf4137f5de91"
+
+do_compile() {
+    install -pm 644 ${WORKDIR}/ctapi-common.LICENSE LICENSE
+    install -pm 644 ${WORKDIR}/ctapi-common.README README
+    echo ${libdir}/ctapi > ctapi.conf
+}
+
+do_install() {
+    install -Dpm 644 ctapi.conf ${D}${sysconfdir}/ld.so.conf.d/ctapi-${TARGET_ARCH}.conf
+    install -dm 755 ${D}${libdir}/ctapi
+}
+
+FILES_${PN} += "${libdir}/ctapi"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/daemonize/daemonize_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/daemonize/daemonize_git.bb
index 8b1591c..4790883 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/daemonize/daemonize_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/daemonize/daemonize_git.bb
@@ -2,12 +2,13 @@
 HOMEPAGE = "http://software.clapper.org/daemonize/"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3cf9084faa88bc8554a9139d8d7dd35f"
-PV = "1.7.3+git${SRCPV}"
+PV = "1.7.7+git${SRCPV}"
 
 inherit autotools
 
-SRCREV = "a4ac64a243af91dc434b7a3915f43482d528a2b1"
-SRC_URI = "git://github.com/bmc/daemonize.git"
+SRCREV = "6b10308b13c13e7b911e75e27bf7e65c30d58799"
+SRC_URI = "git://github.com/bmc/daemonize.git \
+           file://fix-ldflags-for-gnuhash.patch"
 
 S = "${WORKDIR}/git"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/daemonize/files/fix-ldflags-for-gnuhash.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/daemonize/files/fix-ldflags-for-gnuhash.patch
new file mode 100644
index 0000000..4fa2ee1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/daemonize/files/fix-ldflags-for-gnuhash.patch
@@ -0,0 +1,23 @@
+Add the LDFLAGS to the final link to avoid errors with missing GNU_HASH
+
+Upstream-Status: Submitted [https://github.com/bmc/daemonize/pull/22]
+
+Signed-off-by: Derek Straka <derek@asterius.io>
+
+diff --git a/Makefile.in b/Makefile.in
+index 8a4d078..40d3dee 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -24,10 +24,10 @@ LDFLAGS		= @LDFLAGS@
+ all: daemonize 
+ 
+ daemonize: daemonize.o getopt.o $(MISSING_OBJECTS)
+-	$(CC) $(CFLAGS) -o $@ $^
++	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+ 
+ testdaemon: testdaemon.o
+-	$(CC) $(CFLAGS) -o $@ $^
++	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+  
+ psman: daemonize.ps
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-Fix-QA-Issue.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-Fix-QA-Issue.patch
new file mode 100644
index 0000000..30e37cb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-Fix-QA-Issue.patch
@@ -0,0 +1,26 @@
+From a86c4209da695909424db0c9108592194a3094b7 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Sat, 6 Aug 2016 00:47:37 +0900
+Subject: [PATCH] daemontools: Fix QA Issue
+
+To fix the QA Issues as following:
+
+ERROR: daemontools-0.76-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: '/build-poky/tmp/work/i586-poky-linux/daemontools/0.76-r0/packages-split/daemontools/usr/bin/tai64nlocal'
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ src/conf-ld | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/conf-ld b/src/conf-ld
+index 2a44210..c7e7755 100644
+--- a/src/conf-ld
++++ b/src/conf-ld
+@@ -1,3 +1,3 @@
+-${CC}
++${CC} ${LDFLAGS}
+ 
+ This will be used to link .o files into an executable.
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-native-Fix-a-warning.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-native-Fix-a-warning.patch
new file mode 100644
index 0000000..8d9577d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-native-Fix-a-warning.patch
@@ -0,0 +1,26 @@
+From a43a3327ccd4b06a3bcf0c87d518a97c6b39ac02 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Sat, 6 Aug 2016 02:09:53 +0900
+Subject: [PATCH] daemontools: Fix a warning
+
+To fix the warning as following:
+
+WARNING: daemontools-native-0.76-r0 do_populate_sysroot: File '/build-poky/tmp/sysroots/x86_64-linux/usr/bin/chkshsgr' from daemontools-native was already stripped, this will prevent future debugging!
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ src/conf-ld | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/conf-ld b/src/conf-ld
+index 59a0de7..1d0518a 100644
+--- a/src/conf-ld
++++ b/src/conf-ld
+@@ -1,3 +1,3 @@
+-gcc -s
++gcc
+ 
+ This will be used to link .o files into an executable.
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
index 161f92f..def58db 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
@@ -18,7 +18,10 @@
            file://0001-error.h-include-errno.h-instead-of-extern-int.diff \
            file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff "
 
-SRC_URI_append_class-target = "file://cross-compile.patch"
+SRC_URI_append_class-target = "file://cross-compile.patch \
+                               file://0001-daemontools-Fix-QA-Issue.patch "
+
+SRC_URI_append_class-native = "file://0001-daemontools-native-Fix-a-warning.patch "
 
 SRC_URI[md5sum] = "1871af2453d6e464034968a0fbcb2bfc"
 SRC_URI[sha256sum] = "a55535012b2be7a52dcd9eccabb9a198b13be50d0384143bd3b32b8710df4c1f"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/devicekit/devicekit-power_014.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/devicekit/devicekit-power_014.bb
deleted file mode 100644
index c2b7e66..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/devicekit/devicekit-power_014.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Devicekit power"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=756cf97871f77233638937da21b025d3"
-
-DEPENDS = "libusb-compat libusb1 udev glib-2.0 dbus-glib polkit intltool-native libgudev"
-
-SRC_URI = "http://upower.freedesktop.org/releases/DeviceKit-power-${PV}.tar.gz;name=archive"
-SRC_URI[archive.md5sum] = "935d37f1e14b3c8a1d6dabcd9a38d3ca"
-SRC_URI[archive.sha256sum] = "ad3e9a8bd9525d66fadc7fa53ef99e0632aa8cca8fd5bc27483956261153b373"
-
-S = "${WORKDIR}/DeviceKit-power-${PV}"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = " --with-backend=linux"
-
-do_configure_prepend() {
-    sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
-    sed -i -e 's: doc : :g' ${S}/Makefile.am
-}    
-
-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/dstat/dstat_0.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.2.bb
deleted file mode 100644
index 63f1812..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "versatile resource statics tool"
-DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \
-Dstat overcomes some of their limitations and adds some extra features, more counters \
-and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \
-benchmarks or troubleshooting."
-HOMEPAGE = "http://dag.wiee.rs/home-made/dstat"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-SRC_URI = "git://github.com/dagwieers/dstat.git"
-SRC_URI[md5sum] = "798e050e2e024f08a272dd4b0e1eba41"
-SRC_URI[sha256sum] = "96d1e6ea2434e477fa97322d92778f68458d7e57bc55bc4f72e29467a52cffd1"
-
-SRCREV = "5251397eb8d3b284a90bfdfaec0c8e1210146e3f"
-
-S = "${WORKDIR}/git"
-
-do_compile_prepend() {
-    #undo the step "make docs"
-    sed -i -e 's/$(MAKE) -C docs docs/# $(MAKE) -C docs docs/;' ${S}/Makefile
-}
-do_install() {
-    oe_runmake 'DESTDIR=${D}' install
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb
new file mode 100644
index 0000000..1673b91
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb
@@ -0,0 +1,22 @@
+SUMMARY = "versatile resource statics tool"
+DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \
+Dstat overcomes some of their limitations and adds some extra features, more counters \
+and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \
+benchmarks or troubleshooting."
+HOMEPAGE = "http://dag.wiee.rs/home-made/dstat"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS += "asciidoc-native"
+
+SRC_URI = "git://github.com/dagwieers/dstat.git"
+
+SRCREV = "ebace6d4177f8748f35cec87f7a49946046b0a20"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+    oe_runmake 'DESTDIR=${D}' install
+}
+
+RDEPENDS_${PN} += "python-core python-misc python-resource python-shell python-unixadmin"
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-support/edac-utils/edac-utils_git.bb
index c0ad665..2c0914d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/edac-utils_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/edac-utils_git.bb
@@ -14,9 +14,10 @@
 SRC_URI = "git://github.com/grondo/edac-utils \
     file://make-init-script-be-able-to-automatically-load-EDAC-.patch \
     file://add-restart-to-initscript.patch \
+    file://edac.service \
 "
 
-inherit autotools-brokensep
+inherit autotools-brokensep systemd
 
 do_configure_prepend () {
     touch ${S}/ChangeLog
@@ -31,4 +32,16 @@
 RDEPENDS_${PN}_powerpc64 = "dmidecode"
 RDEPENDS_${PN}_append = " \
     perl-module-file-basename perl-module-file-find perl-module-getopt-long perl-module-posix \
+    perl-module-overload \
+    perl-module-overloading \
+    perl-module-file-glob \
 "
+
+do_install_append() {
+	install -d ${D}${systemd_unitdir}/system
+	install -m 644 ${WORKDIR}/edac.service ${D}/${systemd_unitdir}/system
+	sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}/${systemd_unitdir}/system/edac.service
+}
+
+SYSTEMD_SERVICE_${PN} = "edac.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/files/edac.service b/import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/files/edac.service
new file mode 100644
index 0000000..f6b211e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/edac-utils/files/edac.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Initialize EDAC Drivers For Machine Hardware
+
+[Service]
+Type=oneshot
+ExecStart=@SBINDIR@/edac-ctl --register-labels
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc
index ffb5c50..012895e 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/emacs/emacs.inc
@@ -14,7 +14,7 @@
     libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \
     libxft libxpm libxrandr libxrender \
     gdk-pixbuf glib-2.0 gtk+ pango libxcb harfbuzz icu \
-" 
+"
 
 EXTRA_OECONF =  "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
 
@@ -55,7 +55,7 @@
     if [ -e $treedir ];then
         rm -rf $treedir
     fi
-    
+
     mkdir -p $treedir/${base_libdir}
 
     if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.2.0.bb
deleted file mode 100644
index f2a2258..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.2.0.bb
+++ /dev/null
@@ -1,29 +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;protocol=http"
-SRCREV = "6909d6761c8820e1750fa0bf4fa8532c82f34e35"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "\
-    --disable-static \
-    --libdir ${libdir}/openssl \
-"
-
-do_install_append () {
-    rm -f ${D}${libdir}/openssl/engines/libpkcs11.la
-}
-
-FILES_${PN} += "${libdir}/openssl/engines/libpkcs11.so*"
-FILES_${PN}-dbg += "${libdir}/openssl/engines/.debug/*"
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
new file mode 100644
index 0000000..047f701
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/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;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/epeg/epeg_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/epeg/epeg_git.bb
index 8fe19b5..6b23bbf 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/epeg/epeg_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/epeg/epeg_git.bb
@@ -6,7 +6,7 @@
 DEPENDS = "jpeg libexif"
 
 SRC_URI = "git://github.com/mattes/epeg.git"
-SRCREV = "d78becc558a682f1be0a78b1af90d1b4a08e5b4e"
+SRCREV = "337f55346425fbf2d283e794b702318ef2a74bcb"
 S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc
index 98a1765..5d0b403 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/espeak.inc
@@ -3,7 +3,8 @@
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://License.txt;md5=cb7a20edb4c9f5f478de6523dcd7362c"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/espeak/espeak-${PV}-source.zip"
+SRC_URI = "${SOURCEFORGE_MIRROR}/espeak/espeak-${PV}-source.zip \
+           file://fix-gcc6-errors.patch"
 
 S = "${WORKDIR}/espeak-${PV}-source"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/files/fix-gcc6-errors.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/files/fix-gcc6-errors.patch
new file mode 100644
index 0000000..9cf23cf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/espeak/files/fix-gcc6-errors.patch
@@ -0,0 +1,19 @@
+Fix gcc6 errors with narrowing
+
+| tr_languages.cpp:462:73: error: narrowing conversion of '171' from 'int' to 'char' inside { } [-Wnarrowing]
+|     static const char ko_voiced[] = {0x02,0x05,0x06,0xab,0xaf,0xb7,0xbc,0};  // voiced consonants, l,m,n,N
+
+Upstream-Status: Backport
+
+Signed-off-by: Derek Straka <derek@asterius.io>
+--- a/src/tr_languages.cpp
++++ b/src/tr_languages.cpp
+@@ -459,7 +459,7 @@
+ 	case L('k','o'):   // Korean, TEST
+ 		{
+ 			static const char ko_ivowels[] = {0x63,0x64,0x67,0x68,0x6d,0x72,0x74,0x75,0};  // y and i vowels
+-			static const char ko_voiced[] = {0x02,0x05,0x06,0xab,0xaf,0xb7,0xbc,0};  // voiced consonants, l,m,n,N
++			static const char ko_voiced[] = {0x02,0x05,0x06,(char)0xab,(char)0xaf,(char)0xb7,(char)0xbc,0};  // voiced consonants, l,m,n,N
+ 			tr = new Translator();
+ 
+ 			tr->letter_bits_offset = OFFSET_KOREAN;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/evtest/evtest_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/evtest/evtest_git.bb
index 96feab7..fa0d6e2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/evtest/evtest_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/evtest/evtest_git.bb
@@ -7,10 +7,10 @@
 
 DEPENDS = "libxml2"
 
-SRCREV = "b8343ec1124da18bdabcc04809a8731b9e39295d"
+SRCREV = "ab140a2dab1547f7deb5233be6d94a388cf08b26"
 SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git"
 
-PV = "1.32+${SRCPV}"
+PV = "1.33+${SRCPV}"
 
 S = "${WORKDIR}/git"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.0.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.0.13.bb
index 620ee1f..3c2a054 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.0.13.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.0.13.bb
@@ -18,6 +18,8 @@
 
 inherit autotools pkgconfig gtk-doc
 
+EXTRA_OECONF = "--disable-gtk-doc"
+
 FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
 FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la"
 FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fbtest/fb-test_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fbtest/fb-test_git.bb
index 13f9e37..6a9d4b2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fbtest/fb-test_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fbtest/fb-test_git.bb
@@ -11,10 +11,10 @@
 S = "${WORKDIR}/git"
 
 do_install() {
-	install -d ${D}${bindir}
-	install -m 0755 fb-test ${D}${bindir}
-	# avoid collisions with perf (perf) and mesa-demos (offset)
-	for prog in perf rect offset ; do
-		install -m 0755 $prog ${D}${bindir}/fb-$prog
-	done
+    install -d ${D}${bindir}
+    install -m 0755 fb-test ${D}${bindir}
+    # avoid collisions with perf (perf) and mesa-demos (offset)
+    for prog in perf rect offset ; do
+        install -m 0755 $prog ${D}${bindir}/fb-$prog
+    done
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb
index d859386..3e06a5a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/benchfft_3.1.bb
@@ -2,7 +2,7 @@
 SECTION = "libs"
 LICENSE = "GPLv2"
 
-# single precision fftw is called fftwf 
+# single precision fftw is called fftwf
 DEPENDS = "virtual/fftw"
 
 SRC_URI = "http://www.fftw.org/benchfft/benchfft-${PV}.tar.gz"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw.inc
deleted file mode 100644
index 1522ea0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "FFTW"
-SECTION = "libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-PROVIDES = "virtual/fftw"
-
-RPROVIDES_${PN} += "libfftw3"
-
-SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz"
-
-S = "${WORKDIR}/fftw-${PV}"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
-
-do_configure_prepend() {
-    echo 'AM_PROG_AS' >> ${S}/configure.ac 
-}
-
-PACKAGES =+ "lib${BPN}"
-FILES_lib${BPN} = "${libdir}/lib*.so.*"
-
-# rename binary in /bin and use u-a tpo choose between different precision implementations?
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb
index 990f01e..e753743 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.4.bb
@@ -1,6 +1,74 @@
-require fftw.inc
+DESCRIPTION = "FFTW"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 
+SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz"
 SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
 SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"
 
+inherit autotools pkgconfig
+
+# we had multiple recipes in the past
+PROVIDES = "fftwl fftwf"
+
+EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
+
+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/fftwf_3.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb
deleted file mode 100644
index 4a65986..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require fftw.inc
-
-# conflicts with fftw and fftwl
-EXCLUDE_FROM_WORLD = "1"
-
-EXTRA_OECONF += "--enable-single \
-    ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)} \
-"
-
-SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
-SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb
deleted file mode 100644
index 432ff12..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require fftw.inc
-
-# conflicts with fftw and fftwf
-EXCLUDE_FROM_WORLD = "1"
-
-EXTRA_OECONF += "--enable-long-double"
-
-SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
-SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/files/fix-gcc-unused-functions.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/files/fix-gcc-unused-functions.patch
new file mode 100644
index 0000000..02cb5ad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/files/fix-gcc-unused-functions.patch
@@ -0,0 +1,43 @@
+gdft.c: remove functions that cause warnings about being unused
+
+Upstream-Status: Backport (Fixed in master branch)
+
+Signed-off-by: Derek Straka <derek@asterius.io>
+--- git/src/gdft.c.orig	2016-08-12 10:20:41.418440091 -0400
++++ git/src/gdft.c	2016-08-12 10:22:34.226442987 -0400
+@@ -139,16 +139,6 @@
+ }
+ #else
+ 
+-#ifndef HAVE_LIBFONTCONFIG
+-static char * font_pattern(char **fontpath, char *fontpattern)
+-{
+-	(void)fontpath;
+-	(void)fontpattern;
+-
+-	return "libgd was not built with FontConfig support\n";
+-}
+-#endif /* HAVE_LIBFONTCONFIG */
+-
+ #include "gdcache.h"
+ /* 2.0.16 Christophe Thomas: starting with FreeType 2.1.6, this is
+   mandatory, and it has been supported for a long while. */
+@@ -446,16 +436,15 @@
+ 	return (strcmp (a->fontlist, b->fontlist) == 0 && a->flags == b->flags);
+ }
+ 
++#ifdef HAVE_LIBFONTCONFIG
+ static int useFontConfig(int flag)
+ {
+-#ifdef HAVE_LIBFONTCONFIG
+ 	if (fontConfigFlag) {
+ 		return (!(flag & gdFTEX_FONTPATHNAME));
+ 	}
+-#endif
+ 	return flag & gdFTEX_FONTCONFIG;
+ }
+-
++#endif
+ static void *
+ fontFetch (char **error, void *key)
+ {
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.1.1.bb
deleted file mode 100644
index 85c7e6a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.1.1.bb
+++ /dev/null
@@ -1,47 +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=c97638cafd3581eb87abd37332137669"
-DEPENDS = "freetype libpng jpeg zlib tiff"
-
-SRC_URI = "https://bitbucket.org/libgd/gd-libgd/downloads/libgd-${PV}.tar.bz2 \
-"
-SRC_URI[md5sum] = "d3f1a992ac9c550ebc6da89c147f89af"
-SRC_URI[sha256sum] = "895ea9c6fcab187b0a908ae3e9e6b06423756f8a643d362349b0caab4014bd0d"
-
-S = "${WORKDIR}/libgd-${PV}"
-
-inherit autotools binconfig gettext pkgconfig
-
-EXTRA_OECONF += " --disable-rpath \
-                  --with-jpeg=${STAGING_LIBDIR}/.. \
-                  --with-freetype=yes \
-                  --without-fontconfig \
-                  --without-xpm \
-                  --without-x \
-                  --without-vpx \
-                "
-
-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.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.3.bb
new file mode 100644
index 0000000..c5aff66
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.3.bb
@@ -0,0 +1,47 @@
+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=c97638cafd3581eb87abd37332137669"
+DEPENDS = "freetype libpng jpeg zlib tiff"
+
+SRC_URI = "git://github.com/libgd/libgd.git;branch=GD-2.2 \
+           file://fix-gcc-unused-functions.patch"
+
+SRCREV = "46ceef5970bf3a847ff61d1bdde7501d66c11d0c"
+
+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.1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.1.2.bb
new file mode 100644
index 0000000..b5e0597
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.1.2.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used"
+
+HOMEPAGE = "https://github.com/gflags/gflags"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df"
+
+SRC_URI = "git://github.com/gflags/gflags.git;branch=release"
+SRCREV = "1a02f2851ee3d48d32d2c8f4d8f390a0bc25565c"
+S = "${WORKDIR}/git/"
+
+FILES_${PN}-dev += "${libdir}/cmake"
+
+inherit cmake
+
+EXTRA_OECMAKE="-DBUILD_SHARED_LIBS=ON"
+
+PACKAGES =+ "${PN}-bash-completion"
+FILES_${PN}-bash-completion += "${bindir}/gflags_completions.sh"
+RDEPENDS_${PN}-bash-completion = "bash-completion"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog.inc
deleted file mode 100644
index 8a1fb42..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "The glog library implements application-level logging. This \
-library provides logging APIs based on C++-style streams and various helper \
-macros."
-HOMEPAGE = "https://code.google.com/p/google-glog/"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b"
-
-DEPENDS = "libunwind"
-
-inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-configure.ac-Allow-user-to-disable-gflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-configure.ac-Allow-user-to-disable-gflags.patch
new file mode 100644
index 0000000..596281f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-configure.ac-Allow-user-to-disable-gflags.patch
@@ -0,0 +1,35 @@
+From 0fabde0515e180c53961c27346dd7a79cffa4c1f Mon Sep 17 00:00:00 2001
+From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
+Date: Thu, 11 Aug 2016 11:49:36 +0200
+Subject: [PATCH] configure.ac: Allow user to disable gflags
+
+Under some circumstances like cross-compilation, the user might not want
+to enable support for gflags.
+
+This patch allows support for --without-gflags
+
+Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
+---
+ configure.ac | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7b4d21e7ae8a..eba5e5cda1ea 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -136,7 +136,11 @@ AC_ARG_WITH(gflags, AS_HELP_STRING[--with-gflags=GFLAGS_DIR],
+   CFLAGS="$CFLAGS $GFLAGS_CFLAGS"
+   LIBS="$LIBS $GFLAGS_LIBS"
+ )
+-AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=1, ac_cv_have_libgflags=0)
++if test x"$with_gflags" = x"no"; then
++  ac_cv_have_libgflags=0
++else
++  AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=1, ac_cv_have_libgflags=0)
++fi
+ if test x"$ac_cv_have_libgflags" = x"1"; then
+   AC_DEFINE(HAVE_LIB_GFLAGS, 1, [define if you have google gflags library])
+   if test x"$GFLAGS_LIBS" = x""; then
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.3.bb
deleted file mode 100644
index de3f076..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require glog.inc
-
-SRC_URI = "http://google-glog.googlecode.com/files/glog-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "a6fd2c22f8996846e34c763422717c18"
-SRC_URI[sha256sum] = "fbf90c2285ba0561db7a40f8a4eefb9aa963e7d399bd450363e959929fe849d0"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.4.bb
new file mode 100644
index 0000000..d7c1974
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.4.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "The glog library implements application-level logging. This \
+library provides logging APIs based on C++-style streams and various helper \
+macros."
+HOMEPAGE = "https://github.com/google/glog"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b"
+
+DEPENDS = "libunwind"
+
+SRC_URI = " \
+    git://github.com/google/glog.git \
+    file://0001-configure.ac-Allow-user-to-disable-gflags.patch \
+"
+
+SRCREV = "d8cb47f77d1c31779f3ff890e1a5748483778d6a"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gflags] = ",--without-gflags,gflags,"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb
index 766e41a..5b2ed49 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_git.bb
@@ -11,7 +11,7 @@
 LICENSE = "LGPLv2+"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=e4cf3810f33a067ea7ccd2cd889fed21"
-SRCREV = "24379a9217fa4bd62685795aaaa010fd90ced9e3"
+SRCREV = "b6b3ed1fa4c6de12908a9f01d1689f156c3cd441"
 SRC_URI = "git://git.sv.gnu.org/gnulib;protocol=git \
 "
 S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.4.bb
deleted file mode 100644
index 3d8e2a9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
-HOMEPAGE = "http://code.google.com/p/gperftools/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
-DEPENDS = "libunwind"
-
-SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.4.tar.gz/2171cea3bbe053036fb5d5d25176a160/gperftools-2.4.tar.gz"
-
-SRC_URI[md5sum] = "2171cea3bbe053036fb5d5d25176a160"
-SRC_URI[sha256sum] = "982a37226eb42f40714e26b8076815d5ea677a422fb52ff8bfca3704d9c30a2d"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.5.bb
new file mode 100644
index 0000000..2e4479c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.5.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
+HOMEPAGE = "http://code.google.com/p/gperftools/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
+DEPENDS = "libunwind"
+
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/gperftools/gperftools-2.5.tar.gz/aa1eaf95dbe2c9828d0bd3a00f770f50/gperftools-2.5.tar.gz"
+
+SRC_URI[md5sum] = "aa1eaf95dbe2c9828d0bd3a00f770f50"
+SRC_URI[sha256sum] = "6fa2748f1acdf44d750253e160cf6e2e72571329b42e563b455bde09e9e85173"
+
+inherit autotools
+
+# On mips, we have the following error.
+#   do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008
+#   Segmentation fault (core dumped)
+COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|arm|aarch64).*-linux*"
+# On aarch64, add this option to avoid system hanging when using libtcmalloc.so.
+EXTRA_OECONF_aarch64 += "--disable-libunwind"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch
new file mode 100644
index 0000000..d2d6cb8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm-1.99.7/remove_nested_functions.patch
@@ -0,0 +1,326 @@
+Remove nested functions, they are not available in all compilers
+e.g. clang will not support them.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: gpm-1.99.7/src/drivers/summa/i.c
+===================================================================
+--- gpm-1.99.7.orig/src/drivers/summa/i.c
++++ gpm-1.99.7/src/drivers/summa/i.c
+@@ -36,6 +36,28 @@ extern int summamaxy;
+ 
+ extern signed char summaid;
+ 
++static void resetsumma(int fd)
++{
++   write(fd, 0, 1);          /* Reset */
++   usleep(400000);           /* wait */
++}
++
++static int waitsumma(int fd)
++{
++   struct timeval timeout;
++
++   fd_set readfds;
++
++   int err;
++
++   FD_ZERO(&readfds);
++   FD_SET(fd, &readfds);
++   timeout.tv_sec = 0;
++   timeout.tv_usec = 200000;
++   err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
++   return (err);
++}
++
+ Gpm_Type *I_summa(int fd, unsigned short flags, struct Gpm_Type *type, int argc,
+                   char **argv)
+ {
+@@ -43,24 +65,6 @@ Gpm_Type *I_summa(int fd, unsigned short
+    flags = argc = 0;            /* FIXME: 1.99.13 */
+    argv = NULL;
+ 
+-   void resetsumma() {
+-      write(fd, 0, 1);          /* Reset */
+-      usleep(400000);           /* wait */
+-   }
+-   int waitsumma() {
+-      struct timeval timeout;
+-
+-      fd_set readfds;
+-
+-      int err;
+-
+-      FD_ZERO(&readfds);
+-      FD_SET(fd, &readfds);
+-      timeout.tv_sec = 0;
+-      timeout.tv_usec = 200000;
+-      err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
+-      return (err);
+-   }
+    int err;
+ 
+    char buffer[255];
+@@ -91,7 +95,7 @@ Gpm_Type *I_summa(int fd, unsigned short
+     */
+    setspeed(fd, 1200, 9600, 1,
+             B9600 | CS8 | CREAD | CLOCAL | HUPCL | PARENB | PARODD);
+-   resetsumma();
++   resetsumma(fd);
+ 
+    write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE));
+ 
+@@ -103,7 +107,7 @@ Gpm_Type *I_summa(int fd, unsigned short
+        * read the Summa Firm-ID 
+        */
+       write(fd, SS_FIRMID, strlen(SS_FIRMID));
+-      err = waitsumma();
++      err = waitsumma(fd);
+       if(!((err == -1) || (!err))) {
+          summaid = 10;          /* Original Summagraphics */
+          read(fd, buffer, 255); /* Read Firm-ID */
+@@ -111,14 +115,14 @@ Gpm_Type *I_summa(int fd, unsigned short
+    }
+ 
+    if(summaid < 0) {            /* Genius-test */
+-      resetsumma();
++      resetsumma(fd);
+       write(fd, GEN_MMSERIES, 1);
+       write(fd, &GEN_MODELL, 1);        /* Read modell */
+-      err = waitsumma();
++      err = waitsumma(fd);
+       if(!((err == -1) || (!err))) {    /* read Genius-ID */
+-         err = waitsumma();
++         err = waitsumma(fd);
+          if(!((err == -1) || (!err))) {
+-            err = waitsumma();
++            err = waitsumma(fd);
+             if(!((err == -1) || (!err))) {
+                read(fd, &config, 1);
+                summaid = (config[0] & 224) >> 5;        /* genius tablet-id
+@@ -135,14 +139,14 @@ Gpm_Type *I_summa(int fd, unsigned short
+     * unknown tablet ?
+     */
+    if((summaid < 0) || (summaid == 11)) {
+-      resetsumma();
++      resetsumma(fd);
+       write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3);
+    }
+ 
+    /*
+     * read tablet size 
+     */
+-   err = waitsumma();
++   err = waitsumma(fd);
+    if(!((err == -1) || (!err)))
+       read(fd, buffer, sizeof(buffer));
+    write(fd, SS_READCONFIG, 1);
+Index: gpm-1.99.7/src/drivers/wacom/i.c
+===================================================================
+--- gpm-1.99.7.orig/src/drivers/wacom/i.c
++++ gpm-1.99.7/src/drivers/wacom/i.c
+@@ -30,10 +30,6 @@
+ #include "message.h"            /* gpm_report */
+ #include "wacom.h"              /* wacom */
+ 
+-Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type *type, int argc,
+-                  char **argv)
+-{
+-
+ /* wacom graphire tablet */
+ #define UD_RESETBAUD     "\r$"  /* reset baud rate to default (wacom V) */
+    /*
+@@ -45,83 +41,91 @@ Gpm_Type *I_wacom(int fd, unsigned short
+ #define UD_COORD         "~C\r" /* Request max coordinates */
+ #define UD_STOP          "\nSP\r"       /* stop sending coordinates */
+ 
+-   flags = 0;                   /* FIXME: 1.99.13 */
+ 
+-   void reset_wacom() {
+-      /*
+-       * Init Wacom communication; this is modified from xf86Wacom.so module 
+-       */
+-      /*
+-       * Set speed to 19200 
+-       */
+-      setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | HUPCL);
+-      /*
+-       * Send Reset Baudrate Command 
+-       */
+-      write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD));
+-      usleep(250000);
+-      /*
+-       * Send Reset Command 
+-       */
+-      write(fd, UD_RESET, strlen(UD_RESET));
+-      usleep(75000);
+-      /*
+-       * Set speed to 9600bps 
+-       */
+-      setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL);
+-      /*
+-       * Send Reset Command 
+-       */
+-      write(fd, UD_RESET, strlen(UD_RESET));
+-      usleep(250000);
+-      write(fd, UD_STOP, strlen(UD_STOP));
+-      usleep(100000);
+-   }
++static void reset_wacom(int fd)
++{
++   /*
++    * Init Wacom communication; this is modified from xf86Wacom.so module 
++    */
++   /*
++    * Set speed to 19200 
++    */
++   setspeed(fd, 1200, 19200, 0, B19200 | CS8 | CREAD | CLOCAL | HUPCL);
++   /*
++    * Send Reset Baudrate Command 
++    */
++   write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD));
++   usleep(250000);
++   /*
++    * Send Reset Command 
++    */
++   write(fd, UD_RESET, strlen(UD_RESET));
++   usleep(75000);
++   /*
++    * Set speed to 9600bps 
++    */
++   setspeed(fd, 1200, 9600, 0, B9600 | CS8 | CREAD | CLOCAL | HUPCL);
++   /*
++    * Send Reset Command 
++    */
++   write(fd, UD_RESET, strlen(UD_RESET));
++   usleep(250000);
++   write(fd, UD_STOP, strlen(UD_STOP));
++   usleep(100000);
++}
+ 
+-   int wait_wacom() {
+-      /*
+-       *  Wait up to 200 ms for Data from Tablet.
+-       *  Do not read that data.
+-       *  Give back 0 on timeout condition, -1 on error and 1 for DataPresent
+-       */
+-      struct timeval timeout;
+-
+-      fd_set readfds;
+-
+-      int err;
+-
+-      FD_ZERO(&readfds);
+-      FD_SET(fd, &readfds);
+-      timeout.tv_sec = 0;
+-      timeout.tv_usec = 200000;
+-      err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
+-      return ((err > 0) ? 1 : err);
+-   }
++static int wait_wacom(int fd)
++{
++   /*
++    *  Wait up to 200 ms for Data from Tablet.
++    *  Do not read that data.
++    *  Give back 0 on timeout condition, -1 on error and 1 for DataPresent
++    */
++   struct timeval timeout;
+ 
+-   char buffer[50], *p;
++   fd_set readfds;
+ 
+-   int RequestData(char *cmd) {
+-      int err;
++   int err;
+ 
+-      /*
+-       * Send cmd if not null, and get back answer from tablet.
+-       * Get Data to buffer until full or timeout.
+-       * Give back 0 for timeout and !0 for buffer full
+-       */
+-      if(cmd)
+-         write(fd, cmd, strlen(cmd));
+-      memset(buffer, 0, sizeof(buffer));
+-      p = buffer;
+-      err = wait_wacom();
+-      while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - 1)) {
+-         p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer));
+-         err = wait_wacom();
+-      }
+-      /*
+-       * return 1 for buffer full 
+-       */
+-      return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0);
++   FD_ZERO(&readfds);
++   FD_SET(fd, &readfds);
++   timeout.tv_sec = 0;
++   timeout.tv_usec = 200000;
++   err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
++   return ((err > 0) ? 1 : err);
++}
++
++static int RequestData(int fd, char *cmd, char *buffer)
++{
++   int err;
++   char *p;
++   /*
++    * Send cmd if not null, and get back answer from tablet.
++    * Get Data to buffer until full or timeout.
++    * Give back 0 for timeout and !0 for buffer full
++    */
++   if(cmd)
++      write(fd, cmd, strlen(cmd));
++   memset(buffer, 0, sizeof(buffer));
++   p = buffer;
++   err = wait_wacom(fd);
++   while(err != -1 && err && (p - buffer) < (int) (sizeof(buffer) - 1)) {
++      p += read(fd, p, (sizeof(buffer) - 1) - (p - buffer));
++      err = wait_wacom(fd);
+    }
++   /*
++    * return 1 for buffer full 
++    */
++   return ((strlen(buffer) >= (sizeof(buffer) - 1)) ? !0 : 0);
++}
++
++Gpm_Type *I_wacom(int fd, unsigned short flags, struct Gpm_Type *type, int argc,
++                  char **argv)
++{
++
++   flags = 0;                   /* FIXME: 1.99.13 */
++
++   char buffer[50];
+ 
+    /*
+     * We do both modes, relative and absolute, with the same function.
+@@ -143,17 +147,17 @@ Gpm_Type *I_wacom(int fd, unsigned short
+    };
+    parse_argv(optioninfo, argc, argv);
+    type->absolute = WacomAbsoluteWanted;
+-   reset_wacom();
++   reset_wacom(fd);
+ 
+    /*
+     * "Flush" input queque 
+     */
+-   while(RequestData(NULL)) ;
++   while(RequestData(fd, NULL, buffer)) ;
+ 
+    /*
+     * read WACOM-ID 
+     */
+-   RequestData(UD_FIRMID);
++   RequestData(fd, UD_FIRMID, buffer);
+ 
+    /*
+     * Search for matching modell 
+@@ -180,7 +184,7 @@ Gpm_Type *I_wacom(int fd, unsigned short
+     * read Wacom max size 
+     */
+    if(WacomModell != (-1) && (!wcmodell[WacomModell].maxX)) {
+-      RequestData(UD_COORD);
++      RequestData(fd, UD_COORD, buffer);
+       sscanf(buffer + 2, "%d,%d", &wmaxx, &wmaxy);
+       wmaxx = (wmaxx - wcmodell[WacomModell].border);
+       wmaxy = (wmaxy - wcmodell[WacomModell].border);
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_1.99.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_1.99.7.bb
index 7022057..bbb8c28 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_1.99.7.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/gpm/gpm_1.99.7.bb
@@ -13,6 +13,7 @@
            file://no-docs.patch \
            file://processcreds.patch \
            file://eglibc-2.17.patch \
+           file://remove_nested_functions.patch \
            file://init"
 
 inherit autotools-brokensep update-rc.d
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
index 4e445c8..181661a 100644
--- 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
@@ -16,7 +16,7 @@
 LDFLAGS_append_libc-uclibc = " -lubacktrace"
 
 do_configure_prepend () {
-	rm -rf ${S}/config.h
+    rm -rf ${S}/config.h
 }
 
 inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.288.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.288.bb
deleted file mode 100644
index 67199e9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.288.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Hardware identification and configuration data"
-HOMEPAGE = "http://git.fedorahosted.org/git/hwdata.git"
-SECTION = "System/Base"
-
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
-SRC_URI = "https://git.fedorahosted.org/cgit/${BPN}.git/snapshot/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "f3fa1c5edb66ce5b376d95e772b2d303"
-SRC_URI[sha256sum] = "56fc26275b102e538fcfcf9c1093a09f476a1ea8d4e0c733d3c578442923693d"
-
-do_configure() {
-    ${S}/configure --datadir=${datadir} --libdir=${libdir}
-}
-
-do_install() {
-    oe_runmake install DESTDIR=${D}
-}
-
-FILES_${PN} = "${libdir}/* \
-               ${datadir}/* "
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.291.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.291.bb
new file mode 100644
index 0000000..f00f73b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.291.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Hardware identification and configuration data"
+HOMEPAGE = "http://git.fedorahosted.org/git/hwdata.git"
+SECTION = "System/Base"
+
+LICENSE = "GPL-2.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
+SRC_URI = "https://git.fedorahosted.org/cgit/${BPN}.git/snapshot/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "90ffce584bbcb1a5e77eac8503949f71"
+SRC_URI[sha256sum] = "e1007a96645cb3390aa9c0ed3f090a69d2302ce4d801914b6af1ab4ec85ede4e"
+
+do_configure() {
+    ${S}/configure --datadir=${datadir} --libdir=${libdir}
+}
+
+do_install() {
+    oe_runmake install DESTDIR=${D}
+}
+
+FILES_${PN} = "${libdir}/* \
+               ${datadir}/* "
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_6.9.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_6.9.2.bb
deleted file mode 100644
index a9f0134..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_6.9.2.bb
+++ /dev/null
@@ -1,89 +0,0 @@
-SUMMARY = "ImageMagick is an image convertion tools"
-SECTION = "console/utils"
-LICENSE = "ImageMagick"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0887b670be7ef0c3cb37092b64d57514"
-# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
-DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib virtual/fftw freetype"
-
-# Important note: tarballs for all patchsets within a version are deleted when
-# a new pachset is created. To avoid multiple patches for each patchset, try to
-# update to the last pachset of a version
-PATCHSET = "0"
-SRC_URI = "http://www.imagemagick.org/download/releases/ImageMagick-${PV}-${PATCHSET}.tar.xz \
-"
-SRC_URI[md5sum] = "99471c8c3f38c9264faf5c4ca7a31287"
-SRC_URI[sha256sum] = "07a2de28f7f9ab888ef47c02eb7e10cc3e0dd0e9797c5d71d6e71d19f842399e"
-
-S = "${WORKDIR}/ImageMagick-${PV}-${PATCHSET}"
-
-inherit autotools pkgconfig update-alternatives
-
-# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2
-# if someone needs xml support then fix it first
-EXTRA_OECONF = "--program-prefix= --program-suffix=.im6 --without-perl --disable-openmp --without-xml --disable-opencl"
-
-CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
-PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
-PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg"
-PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo"
-PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
-PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
-PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt"
-
-FILES_${PN} += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.so \
-                ${libdir}/ImageMagick-${PV}/modules-Q16/*/*.la \
-                ${libdir}/ImageMagick-${PV}/modules-Q16/filters \
-                ${libdir}/ImageMagick-${PV}/modules-Q16/coders \
-                ${libdir}/ImageMagick-${PV}/config-Q16 \
-                ${datadir}/ImageMagick-6 "
-
-FILES_${PN}-dev += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.a"
-
-FILES_${PN}-dbg += "${libdir}/ImageMagick-${PV}/modules-Q16/*/.debug/*"
-
-BBCLASSEXTEND = "native"
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "animate compare composite conjure convert display \
-    identify import mogrify montage stream"
-
-ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im6"
-ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im6"
-ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im6"
-ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im6"
-ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im6"
-ALTERNATIVE_TARGET[display] = "${bindir}/display.im6"
-ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im6"
-ALTERNATIVE_TARGET[import] = "${bindir}/import.im6"
-ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im6"
-ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im6"
-ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im6"
-
-ALTERNATIVE_${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \
-    convert.1 display.1 identify.1 import.1 mogrify.1 montage.1 stream.1"
-
-ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1"
-ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im6.1"
-ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1"
-ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im6.1"
-ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1"
-ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im6.1"
-ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1"
-ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im6.1"
-ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1"
-ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im6.1"
-ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1"
-ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im6.1"
-ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1"
-ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im6.1"
-ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1"
-ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im6.1"
-ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1"
-ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im6.1"
-ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1"
-ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im6.1"
-ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1"
-ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im6.1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.2.bb
new file mode 100644
index 0000000..74fe369
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.2.bb
@@ -0,0 +1,90 @@
+SUMMARY = "ImageMagick is an image convertion tools"
+SECTION = "console/utils"
+LICENSE = "ImageMagick"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=22d47a47bf252ca3ed7f71273b53612e"
+# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
+DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib fftw freetype"
+
+# Important note: tarballs for all patchsets within a version are deleted when
+# a new pachset is created. To avoid multiple patches for each patchset, try to
+# update to the last pachset of a version
+PATCHSET = "10"
+SRC_URI = "http://www.imagemagick.org/download/releases/ImageMagick-${PV}-${PATCHSET}.tar.xz \
+"
+SRC_URI[md5sum] = "e1cb23d9c10a8eff228ef30ee281711a"
+SRC_URI[sha256sum] = "dad306bfd7730e1665c6fdb6eb478fb2c41e2db71ab56451bbaebe9df546b1d2"
+
+S = "${WORKDIR}/ImageMagick-${PV}-${PATCHSET}"
+
+inherit autotools pkgconfig update-alternatives
+
+# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2
+# if someone needs xml support then fix it first
+EXTRA_OECONF = "--program-prefix= --program-suffix=.im6 --without-perl --disable-openmp --without-xml --disable-opencl"
+
+CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz"
+PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
+PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
+PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg"
+PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo"
+PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
+PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
+PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt"
+
+FILES_${PN} += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.so \
+                ${libdir}/ImageMagick-${PV}/modules-Q16/*/*.la \
+                ${libdir}/ImageMagick-${PV}/modules-Q16/filters \
+                ${libdir}/ImageMagick-${PV}/modules-Q16/coders \
+                ${libdir}/ImageMagick-${PV}/config-Q16* \
+                ${datadir}/ImageMagick-7 "
+
+FILES_${PN}-dev += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.a"
+
+FILES_${PN}-dbg += "${libdir}/ImageMagick-${PV}/modules-Q16/*/.debug/*"
+
+BBCLASSEXTEND = "native"
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN} = "animate compare composite conjure convert display \
+    identify import mogrify montage stream"
+
+ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im6"
+ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im6"
+ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im6"
+ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im6"
+ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im6"
+ALTERNATIVE_TARGET[display] = "${bindir}/display.im6"
+ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im6"
+ALTERNATIVE_TARGET[import] = "${bindir}/import.im6"
+ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im6"
+ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im6"
+ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im6"
+
+ALTERNATIVE_${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \
+    convert.1 display.1 identify.1 import.1 mogrify.1 montage.1 stream.1"
+
+ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1"
+ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im6.1"
+ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1"
+ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im6.1"
+ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1"
+ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im6.1"
+ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1"
+ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im6.1"
+ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1"
+ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im6.1"
+ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1"
+ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im6.1"
+ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1"
+ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im6.1"
+ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1"
+ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im6.1"
+ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1"
+ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im6.1"
+ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1"
+ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im6.1"
+ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1"
+ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im6.1"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotifywait-fix-compile-error-with-GCC-6.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotifywait-fix-compile-error-with-GCC-6.patch
new file mode 100644
index 0000000..ba042a2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/inotifywait-fix-compile-error-with-GCC-6.patch
@@ -0,0 +1,45 @@
+From 7affb288d6c0726e7b1ebc317a878927b6ef0d02 Mon Sep 17 00:00:00 2001
+From: Andrea Galbusera <gizero@gmail.com>
+Date: Tue, 13 Sep 2016 08:10:29 +0200
+Subject: [PATCH] inotifywait: fix compile error with GCC 6
+
+Fails to compile with misleading-indentation error
+
+| src/inotifywait.c: In function 'output_event_csv':
+| src/inotifywait.c:126:5: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
+|      if (filename != NULL)
+|      ^~
+| src/inotifywait.c:129:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
+|   printf("%s,", csv_escape( inotifytools_event_to_str( event->mask ) ) );
+|   ^~~~~~
+| cc1: all warnings being treated as errors
+
+Fix indentation to resolve.
+
+Upstream-Status: Submitted [https://github.com/rvoicilas/inotify-tools/pull/66]
+
+Signed-off-by: Andrea Galbusera <gizero@gmail.com>
+---
+ src/inotifywait.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/inotifywait.c b/src/inotifywait.c
+index c5ce5e3..404a85b 100644
+--- a/src/inotifywait.c
++++ b/src/inotifywait.c
+@@ -122,9 +122,9 @@ void validate_format( char * fmt ) {
+ 
+ 
+ void output_event_csv( struct inotify_event * event ) {
+-    char *filename = csv_escape(inotifytools_filename_from_wd(event->wd));
+-    if (filename != NULL)
+-        printf("%s,", filename);
++	char *filename = csv_escape(inotifytools_filename_from_wd(event->wd));
++	if (filename != NULL)
++		printf("%s,", filename);
+ 
+ 	printf("%s,", csv_escape( inotifytools_event_to_str( event->mask ) ) );
+ 	if ( event->len > 0 )
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb
new file mode 100644
index 0000000..a8ef557
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Command line tools and C library providing a simple interface to inotify"
+AUTHOR = "Rohan McGovern <rohan@mcgovern.id.au>"
+HOMEPAGE = "http://wiki.github.com/rvoicilas/inotify-tools"
+SECTION = "console/devel"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ac6c26e52aea428ee7f56dc2c56424c6"
+
+SRCREV = "1df9af4d6cd0f4af4b1b19254bcf056aed4ae395"
+PV = "3.14+git${SRCPV}"
+
+SRC_URI = "git://github.com/rvoicilas/${BPN} \
+           file://inotifywait-fix-compile-error-with-GCC-6.patch \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-doxygen"
+
+PACKAGES =+ "libinotifytools"
+
+FILES_libinotifytools = "${libdir}/lib*.so.*"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb
index a4273fb..bdb3d47 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb
@@ -15,7 +15,7 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=5f9372493401f309e6149dd2ce0a044b"
 
-#PARALLEL_MAKE = ""
+PARALLEL_MAKE = ""
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \
     file://fix_systemd_path.patch "
@@ -31,7 +31,7 @@
 PACKAGECONFIG[sha256] = "--enable-sha256, --enable-sha256=no, openssl-native, openssl"
 PACKAGECONFIG[lanplus] = "--enable-lanplus, --enable-lanplus=no, openssl-native, openssl"
 PACKAGECONFIG[landesk] = "--enable-landesk, --enable-landesk=no"
-PACKAGECONFIG[sensors] = "--enable-libsensors, --enable-libsensors=no" 
+PACKAGECONFIG[sensors] = "--enable-libsensors, --enable-libsensors=no"
 
 #build with some GPL code
 PACKAGECONFIG[gpl] = "--enable-gpl, --enable-gpl=no"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch
new file mode 100644
index 0000000..00f48e8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch
@@ -0,0 +1,30 @@
+From 27e4639254f2b2eb7d04790bd8cf16ecfcbac1c2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 Oct 2016 01:07:16 +0000
+Subject: [PATCH] adjust signature of main()
+
+clang complains about the types of main() function
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/main.c b/main.c
+index 81ba543..ee7506c 100644
+--- a/main.c
++++ b/main.c
+@@ -159,7 +159,7 @@ extern int breakflg;
+ 
+ unsigned char **mainenv;
+ 
+-int main(int argc, unsigned char **argv, unsigned char **envv)
++int main(int argc, char **argv, char **envv)
+ {
+ 	CAP *cap;
+ 	unsigned char *s;
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb
index fb9a9fb..1ad355b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb
@@ -4,7 +4,9 @@
 LICENSE = "GPLv1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=da10ed7cf8038981c580e11c1d3e8fb6"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/joe-editor/joe-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/joe-editor/joe-${PV}.tar.gz \
+           file://0001-adjust-signature-of-main.patch \
+           "
 
 PACKAGECONFIG ??= "curses"
 PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,ncurses-terminfo"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb
index 5f3b889..114bd84 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb
@@ -4,7 +4,7 @@
 tool gcov. It collects gcov data for multiple source files and creates \
 HTML pages containing the source code annotated with coverage information. \
 It also adds overview pages for easy navigation within the file structure. \
-LCOV supports statement, function and branch coverage measurement." 
+LCOV supports statement, function and branch coverage measurement."
 LICENSE = "GPL-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libee/libee.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/libee/libee.inc
index 256fa05..e5a145a 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libee/libee.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libee/libee.inc
@@ -28,12 +28,12 @@
 # We presume the tests we are going to install so just build them directly.
 #
 do_compile_ptest() {
-	oe_runmake -C ${TESTDIR} genfile ezapi1
+    oe_runmake -C ${TESTDIR} genfile ezapi1
 }
 
 do_install_ptest() {
-	install -d ${D}${PTEST_PATH}
-	install -m 0755 ${B}/${TESTDIR}/genfile ${D}${PTEST_PATH}
-	install -m 0755 ${B}/${TESTDIR}/.libs/ezapi1 ${D}${PTEST_PATH}
-	install -m 0755 ${WORKDIR}/ezapi1.sh ${D}${PTEST_PATH}
+    install -d ${D}${PTEST_PATH}
+    install -m 0755 ${B}/${TESTDIR}/genfile ${D}${PTEST_PATH}
+    install -m 0755 ${B}/${TESTDIR}/.libs/ezapi1 ${D}${PTEST_PATH}
+    install -m 0755 ${WORKDIR}/ezapi1.sh ${D}${PTEST_PATH}
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.2.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.2.6.bb
deleted file mode 100644
index 89a25a9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.2.6.bb
+++ /dev/null
@@ -1,23 +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 \
-           file://0001-CMakeLists.txt-install-FindEigen3.cmake-script.patch"
-SRC_URI[md5sum] = "87274966745d2d3e7964fcc654d0a24b"
-SRC_URI[sha256sum] = "8a3352f9a5361fe90e451a7305fb1896fc7f771dc16cc0edd8e6b157f52c343e"
-
-S = "${WORKDIR}/eigen-eigen-c58038c56923"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-Dpkg_config_libdir=${libdir}"
-
-FILES_${PN} = "${includedir} ${libdir}"
-FILES_${PN}-dev = "${datadir}/cmake/Modules"
-
-# ${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.2.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.2.8.bb
new file mode 100644
index 0000000..dcca2e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.2.8.bb
@@ -0,0 +1,21 @@
+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/libftdi/libftdi_1.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.2.bb
deleted file mode 100644
index 9b290fb..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.2.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "libftdi is a library to talk to FTDI chips.\
-FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\
-including the popular bitbang mode."
-HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM= "\
-    file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \
-    file://COPYING.LIB;md5=db979804f025cf55aabec7129cb671ed \
-"
-
-DEPENDS = "libusb1"
-
-SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2"
-
-SRC_URI[md5sum] = "89dff802d89c4c0d55d8b4665fd52d0b"
-SRC_URI[sha256sum] = "a6ea795c829219015eb372b03008351cee3fb39f684bff3bf8a4620b558488d6"
-
-S = "${WORKDIR}/${BPN}1-${PV}"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost"
-
-inherit cmake binconfig pkgconfig
-
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}"
-
-FILES_${PN}-dev += "${libdir}/cmake"
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.3.bb
new file mode 100644
index 0000000..5eee0db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.3.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "libftdi is a library to talk to FTDI chips.\
+FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\
+including the popular bitbang mode."
+HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/"
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM= "\
+    file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \
+    file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+"
+
+DEPENDS = "libusb1"
+
+SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "156cdf40cece9f8a3ce1582db59a502a"
+SRC_URI[sha256sum] = "9a8c95c94bfbcf36584a0a58a6e2003d9b133213d9202b76aec76302ffaa81f4"
+
+S = "${WORKDIR}/${BPN}1-${PV}"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost"
+
+inherit cmake binconfig pkgconfig
+
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}"
+
+FILES_${PN}-dev += "${libdir}/cmake"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.1.bb
new file mode 100644
index 0000000..092a674
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.24.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "the Git linkable library"
+HOMEPAGE = "http://libgit2.github.com/"
+LICENSE = "GPL-2.0-with-GCC-exception"
+LIC_FILES_CHKSUM = "file://COPYING;md5=34197a479f637beb9e09e56893f48bc2"
+
+DEPENDS = "curl openssl zlib libssh2"
+
+SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v0.24"
+SRCREV = "211e117a0590583a720c53172406f34186c543bd"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "\
+        -DTHREADSAFE=ON \
+        -DBUILD_CLAR=OFF \
+        -DSHA1_TYPE="builtin" \
+        -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+        -DBUILD_EXAMPLES=OFF \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb
deleted file mode 100644
index a4a0f38..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application"
-HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9331186f4f80db7da0e724bdd6554ee5"
-SECTION = "net"
-DEPENDS = "libgcrypt gnutls file"
-
-SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "2947eee13c2c8affb95023a0cb6fda0c"
-SRC_URI[sha256sum] = "29a2bfd4fd2ddf60c756b8c283291a134898e3cc143843be421a040be1b25a88"
-
-inherit autotools lib_package
-
-# disable spdy, because it depends on openssl
-EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../ --disable-spdy"
-
-PACKAGECONFIG ?= "curl"
-PACKAGECONFIG_append_class-target = "\
-        ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'largefile', '', d)} \
-"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
-
-do_compile_append() {
-	sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc
-}
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.50.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.50.bb
new file mode 100644
index 0000000..421b78e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.50.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application"
+HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/"
+LICENSE = "LGPL-2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9331186f4f80db7da0e724bdd6554ee5"
+SECTION = "net"
+DEPENDS = "libgcrypt gnutls file"
+
+SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "4a3f793d59f663a2b0fc62d44668fb66"
+SRC_URI[sha256sum] = "d1b6385068abded29b6470e383287aa7705de05ae3c08ad0bf5747ac4dc6ebd7"
+
+inherit autotools lib_package pkgconfig
+
+EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
+
+PACKAGECONFIG ?= "curl"
+PACKAGECONFIG_append_class-target = "\
+        ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'largefile', '', d)} \
+"
+PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
+
+do_compile_append() {
+    sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/libnih_1.0.3-4ubuntu16.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/libnih_1.0.3-4ubuntu16.patch
new file mode 100644
index 0000000..5d125c8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih-1.0.3/libnih_1.0.3-4ubuntu16.patch
@@ -0,0 +1,3593 @@
+--- libnih-1.0.3.orig/ChangeLog
++++ libnih-1.0.3/ChangeLog
+@@ -1,3 +1,84 @@
++2013-03-13  Steve Langasek  <steve.langasek@ubuntu.com>
++
++	* nih/watch.c (nih_watch_walk_filter): New NihFileFilter function
++	passed to nih_dir_walk_scan() to ensure the nih_watch_new() filter
++	function is passed the NihWatch data rather than the data passed to
++	the nih_dir_walk() NihFileVisitor function (LP: #776532).
++
++	* nih/tests/test_watch.c (test_new): New test "with filter and data"
++	to ensure filter is passed correct value.
++
++2013-02-28  James Hunt  <james.hunt@ubuntu.com>
++
++	* Removal of gcc 'malloc' function attribute resulting from
++	  a clarification in its description which makes its use invalid.
++	  (LP: #1123588).
++
++2013-02-05  James Hunt  <james.hunt@ubuntu.com>
++
++	* nih/logging.c: nih_log_abort_message(): Remove erroneous check
++	  left over from use of __abort_msg weak symbol.
++	* nih/tests/test_logging.c: Remove unecessary check on whether
++	  __nih_abort_msg has an address.
++
++2012-12-13  Stéphane Graber  <stgraber@ubuntu.com>
++
++	* nih-dbus-tool/type.c, nih-dbus-tool/marshal.c: Update dbus code
++	generator to allow for empty lists for type 'as'.  This drops the
++	!= NULL check for NULL terminated arrays and moves the iteration
++	loop inside an 'if' statement.
++
++2012-12-11  Dmitrijs Ledkovs  <dmitrijs.ledkovs@canonical.com>
++
++	* nih/file.c (nih_dir_walk_scan): Fallback to lstat, if the
++	non-portable dirent.d_type is not available (LP: #672643) (Closes:
++	#695604).
++
++2012-12-10  Petr Lautrbach  <plautrba@redhat.com>
++
++	* nih/tests/test_file.c: don't use dirent.d_type (not portable)
++
++2012-10-25  James Hunt  <james.hunt@ubuntu.com>
++
++	* nih/logging.c: Use our own __nih_abort_msg rather than the
++	(e)glibc private symbol __abort_msg to avoid upgrade issues (LP: #997359).
++	* nih/tests/test_logging.c: Update tests for __nih_abort_msg.
++
++2011-08-31  James Hunt  <james.hunt@ubuntu.com>
++
++	* nih-dbus-tool/tests/test_com.netsplit.Nih.Test_object.c
++	(test_unix_fd_to_str): Sanity check value before invoking strchr in
++	case it returns address of null (which would give a misleading test
++	pass).
++	* nih-dbus-tool/tests/test_com.netsplit.Nih.Test_proxy.c
++	(test_unix_fd_to_str, test_unix_fd_to_str_sync): Sanity check value
++	before invoking strchr in case it returns address of null (which would
++	give a misleading test pass).
++	* nih/config.c (): nih_config_block_end: Add check to ensure strchr()
++	doesn't return address of null since this would result in a misleading
++	return value of TRUE.
++
++	* nih/string.c (nih_str_split): Fixes to avoid over-running
++	input string and also returning an empty string array entry
++	when repeat is true (LP: #834813).
++	* nih/tests/test_string.c (test_str_split): Added a lot of new
++	tests for nih_str_split().
++
++2011-08-26  James Hunt  <james.hunt@ubuntu.com>
++
++	* nih/io.c (nih_io_select_fds): Ensure number of fds being managed
++	is within limits.
++
++	* nih/config.c, nih/error.h, nih/io.c, nih/test_files.h: Correct
++	typos in comments.
++
++2011-06-20  James Hunt  <james.hunt@ubuntu.com>
++
++	* nih/watch.c (nih_watch_handle): Handle non-directory watches;
++	previously a file watch resulted in an invalid file path ending in
++	a single slash (LP:#777097).
++	* nih/tests/test_watch.c: Added explicit test for watch on a file.
++
+ 2010-12-23  Scott James Remnant  <scott@netsplit.com>
+ 
+ 	* NEWS: Release 1.0.3
+--- libnih-1.0.3.orig/nih/watch.c
++++ libnih-1.0.3/nih/watch.c
+@@ -2,8 +2,8 @@
+  *
+  * watch.c - watching of files and directories with inotify
+  *
+- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
+- * Copyright © 2009 Canonical Ltd.
++ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
++ * Copyright © 2011 Canonical Ltd.
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License version 2, as
+@@ -71,6 +71,9 @@
+ 					      uint32_t events, uint32_t cookie,
+ 					      const char *name,
+ 					      int *caught_free);
++static int             nih_watch_walk_filter (void *data, const char *path,
++					      int is_dir)
++	__attribute__ ((warn_unused_result));
+ 
+ 
+ /**
+@@ -91,7 +94,7 @@
+  * sub-directories will be automatically watched.
+  *
+  * Additionally, the set of files and directories within @path can be
+- * limited by passing a @filter function which will recieve the paths and
++ * limited by passing a @filter function which will receive the paths and
+  * may return TRUE to indicate that the path received should not be watched.
+  *
+  * When a file is created within @path, or moved from outside this location
+@@ -104,7 +107,7 @@
+  * files that exist under @path when the watch is first added.  This only
+  * occurs if the watch can be added.
+  *
+- * This is a very high level wrapped around the inotify API; lower levels
++ * This is a very high level wrapper around the inotify API; lower levels
+  * can be obtained using the inotify API itself and some of the helper
+  * functions used by this one.
+  *
+@@ -185,6 +188,35 @@
+ }
+ 
+ 
++ /**
++ * nih_watch_walk_filter:
++ * @data: NihWatch,
++ * @path: path to file,
++ * @is_dir: TRUE if @path is a directory.
++ *
++ * Callback function for nih_dir_walk(), used by nih_watch_add() to wrap
++ * the user-specified NihFileFilter (watch->filter) with a filter that can
++ * take watch itself as an argument.
++ *
++ * Returns: TRUE if the path should be ignored, FALSE otherwise.
++ **/
++static int
++nih_watch_walk_filter (void *data, const char *path, int is_dir)
++{
++    NihWatch *watch;
++
++    watch = (NihWatch *)data;
++
++    nih_assert (watch);
++
++    /* No filter, so accept all files */
++    if (! watch->filter)
++           return FALSE;
++
++    return watch->filter (watch->data, path, is_dir);
++}
++
++
+ /**
+  * nih_watch_handle_by_wd:
+  * @watch: watch to search,
+@@ -295,7 +327,7 @@
+ 	 * one; errors within the walk are warned automatically, so if this
+ 	 * fails, it means we literally couldn't watch the top-level.
+ 	 */
+-	if (subdirs && (nih_dir_walk (path, watch->filter,
++	if (subdirs && (nih_dir_walk (path, nih_watch_walk_filter,
+ 				      (NihFileVisitor)nih_watch_add_visitor,
+ 				      NULL, watch) < 0)) {
+ 		NihError *err;
+@@ -494,12 +526,21 @@
+ 		return;
+ 	}
+ 
++	/* Every other event must come with a name */
++	if (name && *name) {
+ 
+-	/* Every other event must come with a name. */
+-	if ((! name) || strchr (name, '/'))
+-		return;
++		/* If name refers to a directory, there should be no associated
++		 * path - just the name of the path element.
++		 */
++		if (strchr (name, '/'))
++			return;
+ 
+-	path = NIH_MUST (nih_sprintf (NULL, "%s/%s", handle->path, name));
++		/* Event occured for file within a watched directory */
++		path = NIH_MUST (nih_sprintf (NULL, "%s/%s", handle->path, name));
++	} else {
++		/* File event occured */
++		path = NIH_MUST (nih_strdup (NULL, handle->path));
++	}
+ 
+ 	/* Check the filter */
+ 	if (watch->filter && watch->filter (watch->data, path,
+--- libnih-1.0.3.orig/nih/hash.h
++++ libnih-1.0.3/nih/hash.h
+@@ -141,7 +141,7 @@
+  * @hash: hash table to iterate,
+  * @iter: name of iterator variable.
+  *
+- * Expans to nested for statements that iterate over each entry in each
++ * Expands to nested for statements that iterate over each entry in each
+  * bin of @hash, except for the bin head pointer, setting @iter to each
+  * entry for the block within the loop.  A variable named _@iter_i is used
+  * to iterate the hash bins.
+@@ -203,7 +203,7 @@
+ 				   NihKeyFunction key_function,
+ 				   NihHashFunction hash_function,
+ 				   NihCmpFunction cmp_function)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NihList *   nih_hash_add          (NihHash *hash, NihList *entry);
+ NihList *   nih_hash_add_unique   (NihHash *hash, NihList *entry);
+--- libnih-1.0.3.orig/nih/main.h
++++ libnih-1.0.3/nih/main.h
+@@ -138,7 +138,7 @@
+ 
+ NihMainLoopFunc *nih_main_loop_add_func  (const void *parent,
+ 					  NihMainLoopCb callback, void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ void             nih_main_term_signal    (void *data, NihSignal *signal);
+ 
+--- libnih-1.0.3.orig/nih/command.h
++++ libnih-1.0.3/nih/command.h
+@@ -123,7 +123,7 @@
+ 
+ NihCommand *nih_command_join   (const void *parent,
+ 				const NihCommand *a, const NihCommand *b)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih/config.h
++++ libnih-1.0.3/nih/config.h
+@@ -140,10 +140,10 @@
+ char *    nih_config_next_token      (const void *parent, const char *file,
+ 				      size_t len, size_t *pos, size_t *lineno,
+ 				      const char *delim, int dequote)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *    nih_config_next_arg        (const void *parent, const char *file,
+ 				      size_t len, size_t *pos, size_t *lineno)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ void      nih_config_next_line       (const char *file, size_t len,
+ 				      size_t *pos, size_t *lineno);
+ 
+@@ -155,15 +155,15 @@
+ 
+ char **   nih_config_parse_args      (const void *parent, const char *file,
+ 				      size_t len, size_t *pos, size_t *lineno)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *    nih_config_parse_command   (const void *parent, const char *file,
+ 				      size_t len, size_t *pos, size_t *lineno)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    nih_config_parse_block     (const void *parent, const char *file,
+ 				      size_t len, size_t *pos, size_t *lineno,
+ 				      const char *type)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ int       nih_config_skip_block      (const char *file, size_t len,
+ 				      size_t *lineno, size_t *pos,
+ 				      const char *type, size_t *endpos)
+--- libnih-1.0.3.orig/nih/io.c
++++ libnih-1.0.3/nih/io.c
+@@ -2,8 +2,8 @@
+  *
+  * io.c - file and socket input/output handling
+  *
+- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
+- * Copyright © 2009 Canonical Ltd.
++ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
++ * Copyright © 2011 Canonical Ltd.
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License version 2, as
+@@ -165,6 +165,7 @@
+ 	nih_assert (readfds != NULL);
+ 	nih_assert (writefds != NULL);
+ 	nih_assert (exceptfds != NULL);
++	nih_assert (*nfds <= FD_SETSIZE);
+ 
+ 	nih_io_init ();
+ 
+@@ -186,6 +187,9 @@
+ 			*nfds = nih_max (*nfds, watch->fd + 1);
+ 		}
+ 	}
++
++	/* Re-check in case we exceeded the limit in the loop */
++	nih_assert (*nfds <= FD_SETSIZE);
+ }
+ 
+ /**
+@@ -901,7 +905,7 @@
+  * read and placed into the receive buffer or queue, and the reader function
+  * is called if set.
+  *
+- * Any data or messaages in the send buffer or queue are written out if the
++ * Any data or messages in the send buffer or queue are written out if the
+  * @events includes NIH_IO_WRITE.
+  *
+  * Errors are handled when data is read, and result in the error handled
+@@ -1211,7 +1215,7 @@
+  * This function is called when the local end of a file descriptor being
+  * managed by NihIo should be closed.  Usually this is because the remote
+  * end has been closed (without error) but it can also be because no
+- * error handler was given
++ * error handler was given.
+  *
+  * Normally this just calls the close handler, or if not available, it
+  * closes the file descriptor and frees the structure (which may be
+@@ -1291,7 +1295,7 @@
+  * @io: structure to be destroyed.
+  *
+  * Closes the file descriptor associated with an NihIo structure so that
+- * the structure can be freed.  IF an error is caught by closing the
++ * the structure can be freed.  If an error is caught by closing the
+  * descriptor, the error handler is called instead of the error being raised;
+  * this allows you to group your error handling in one place rather than
+  * special-case close.
+--- libnih-1.0.3.orig/nih/watch.h
++++ libnih-1.0.3/nih/watch.h
+@@ -156,7 +156,7 @@
+ 			     NihCreateHandler create_handler,
+ 			     NihModifyHandler modify_handler,
+ 			     NihDeleteHandler delete_handler, void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int       nih_watch_add     (NihWatch *watch, const char *path, int subdirs)
+ 	__attribute__ ((warn_unused_result));
+--- libnih-1.0.3.orig/nih/tree.h
++++ libnih-1.0.3/nih/tree.h
+@@ -344,9 +344,9 @@
+ 
+ void          nih_tree_init           (NihTree *tree);
+ NihTree *     nih_tree_new            (const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ NihTreeEntry *nih_tree_entry_new      (const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NihTree *     nih_tree_add            (NihTree *tree, NihTree *node,
+ 				       NihTreeWhere where);
+--- libnih-1.0.3.orig/nih/file.c
++++ libnih-1.0.3/nih/file.c
+@@ -65,7 +65,7 @@
+ /* Prototypes for static functions */
+ static char **nih_dir_walk_scan  (const char *path, NihFileFilter filter,
+ 				  void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ static int    nih_dir_walk_visit (const char *dirname, NihList *dirs,
+ 				  const char *path, NihFileFilter filter,
+ 				  NihFileVisitor visitor,
+@@ -619,6 +619,8 @@
+ 	struct dirent  *ent;
+ 	char          **paths;
+ 	size_t          npaths;
++	int             isdir;
++	struct stat     statbuf;
+ 
+ 	nih_assert (path != NULL);
+ 
+@@ -640,7 +642,15 @@
+ 		subpath = NIH_MUST (nih_sprintf (NULL, "%s/%s",
+ 						 path, ent->d_name));
+ 
+-		if (filter && filter (data, subpath, ent->d_type == DT_DIR))
++		if (ent->d_type == DT_UNKNOWN) {
++			if ( lstat (subpath, &statbuf))
++				isdir = 0;
++			else
++				isdir = S_ISDIR(statbuf.st_mode);
++		} else
++			isdir = ent->d_type == DT_DIR;
++
++		if (filter && filter (data, subpath, isdir))
+ 			continue;
+ 
+ 		NIH_MUST (nih_str_array_addp (&paths, NULL, &npaths, subpath));
+--- libnih-1.0.3.orig/nih/alloc.c
++++ libnih-1.0.3/nih/alloc.c
+@@ -119,8 +119,7 @@
+ static inline int          nih_alloc_context_free   (NihAllocCtx *ctx);
+ 
+ static inline NihAllocRef *nih_alloc_ref_new        (NihAllocCtx *parent,
+-						     NihAllocCtx *child)
+-	__attribute__ ((malloc));
++						     NihAllocCtx *child);
+ static inline void         nih_alloc_ref_free       (NihAllocRef *ref);
+ static inline NihAllocRef *nih_alloc_ref_lookup     (NihAllocCtx *parent,
+ 						     NihAllocCtx *child);
+--- libnih-1.0.3.orig/nih/timer.h
++++ libnih-1.0.3/nih/timer.h
+@@ -59,7 +59,7 @@
+  * @months: months (1-12),
+  * @wdays: days of week (0-7).
+  *
+- * Indidcates when scheduled timers should be run, each member is a bit
++ * Indicates when scheduled timers should be run, each member is a bit
+  * field where the bit is 1 if the timer should be run for that value and
+  * 0 if not.
+  **/
+@@ -117,14 +117,14 @@
+ 
+ NihTimer *nih_timer_add_timeout   (const void *parent, time_t timeout,
+ 				   NihTimerCb callback, void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ NihTimer *nih_timer_add_periodic  (const void *parent, time_t period,
+ 				   NihTimerCb callback, void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ NihTimer *nih_timer_add_scheduled (const void *parent,
+ 				   NihTimerSchedule *schedule,
+ 				   NihTimerCb callback, void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NihTimer *nih_timer_next_due       (void);
+ void      nih_timer_poll           (void);
+--- libnih-1.0.3.orig/nih/config.c
++++ libnih-1.0.3/nih/config.c
+@@ -2,8 +2,8 @@
+  *
+  * config.c - configuration file parsing
+  *
+- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
+- * Copyright © 2009 Canonical Ltd.
++ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
++ * Copyright © 2011 Canonical Ltd.
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License version 2, as
+@@ -657,7 +657,7 @@
+  * of the returned string are freed, the returned string will also be
+  * freed.
+  *
+- * Returns: the command found or NULL on raised error.
++ * Returns: the newly allocated command found or NULL on raised error.
+  **/
+ char *
+ nih_config_parse_command (const void *parent,
+@@ -714,7 +714,7 @@
+  * @lineno: line number,
+  * @type: block identifier.
+  *
+- * Extracts a block of text from @line, stopping when the pharse "end @type"
++ * Extracts a block of text from @line, stopping when the phrase "end @type"
+  * is encountered without any quotes or blackslash escaping within it.
+  *
+  * @file may be a memory mapped file, in which case @pos should be given
+@@ -950,7 +950,7 @@
+ 		return FALSE;
+ 
+ 	/* Must be whitespace after */
+-	if (! strchr (NIH_CONFIG_WS, file[p + 3]))
++	if (file[p + 3] && ! strchr (NIH_CONFIG_WS, file[p + 3]))
+ 		return FALSE;
+ 
+ 	/* Find the second word */
+--- libnih-1.0.3.orig/nih/option.h
++++ libnih-1.0.3/nih/option.h
+@@ -124,11 +124,11 @@
+ char **    nih_option_parser         (const void *parent,
+ 				      int argc, char *argv[],
+ 				      NihOption *options, int break_nonopt)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NihOption *nih_option_join           (const void *parent,
+ 				      const NihOption *a, const NihOption *b)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int        nih_option_count          (NihOption *option, const char *arg);
+ int        nih_option_int            (NihOption *option, const char *arg);
+--- libnih-1.0.3.orig/nih/signal.h
++++ libnih-1.0.3/nih/signal.h
+@@ -76,7 +76,7 @@
+ 
+ NihSignal * nih_signal_add_handler (const void *parent, int signum,
+ 				   NihSignalHandler handler, void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ void        nih_signal_handler     (int signum);
+ void        nih_signal_poll        (void);
+--- libnih-1.0.3.orig/nih/list.h
++++ libnih-1.0.3/nih/list.h
+@@ -37,7 +37,7 @@
+  * after a known entry, and remove an entry from the list.
+  *
+  * List entries may be created in one of two ways.  The most common is to
+- * embed the NihList structure as the frist member of your own structure,
++ * embed the NihList structure as the first member of your own structure,
+  * and initialise it with nih_list_init() after allocating the structure.
+  * Alternatively you may create NihListEntry structures with
+  * nih_list_entry_new() and point at your own data from them.
+@@ -196,10 +196,10 @@
+ 
+ void          nih_list_init      (NihList *entry);
+ NihList *     nih_list_new       (const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NihListEntry *nih_list_entry_new (const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ 
+ NihList *     nih_list_add       (NihList *list, NihList *entry);
+--- libnih-1.0.3.orig/nih/logging.c
++++ libnih-1.0.3/nih/logging.c
+@@ -39,11 +39,11 @@
+ 
+ 
+ /**
+- * __abort_msg:
++ * __nih_abort_msg:
+  *
+- * A glibc variable that keeps the assertion message in the core dump.
++ * A variable that keeps the assertion message in the core dump.
+  **/
+-extern char *__abort_msg __attribute__ ((weak));
++char *__nih_abort_msg = NULL;
+ 
+ /**
+  * logger:
+@@ -114,19 +114,16 @@
+  * nih_log_abort_message:
+  * @message: message to be logged.
+  *
+- * Save @message in the glibc __abort_msg variable so it can be retrieved
++ * Save @message in the __nih_abort_msg variable so it can be retrieved
+  * by debuggers if we should crash at this point.
+  **/
+ static void
+ nih_log_abort_message (const char *message)
+ {
+-	if (! &__abort_msg)
+-		return;
++	if (__nih_abort_msg)
++		nih_discard (__nih_abort_msg);
+ 
+-	if (__abort_msg)
+-		nih_discard (__abort_msg);
+-
+-	__abort_msg = NIH_MUST (nih_strdup (NULL, message));
++	__nih_abort_msg = NIH_MUST (nih_strdup (NULL, message));
+ }
+ 
+ /**
+--- libnih-1.0.3.orig/nih/test_files.h
++++ libnih-1.0.3/nih/test_files.h
+@@ -1,7 +1,7 @@
+ /* libnih
+  *
+- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
+- * Copyright © 2009 Canonical Ltd.
++ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
++ * Copyright © 2011 Canonical Ltd.
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License version 2, as
+@@ -39,7 +39,7 @@
+  * TEST_FILENAME:
+  * @_var: variable to store filename in.
+  *
+- * Generate a filename that may be used for testing, it's unlinked it if
++ * Generate a filename that may be used for testing, it's unlinked if it
+  * exists and it's up to you to unlink it when done.  @_var should be at
+  * least PATH_MAX long.
+  **/
+--- libnih-1.0.3.orig/nih/test_process.h
++++ libnih-1.0.3/nih/test_process.h
+@@ -36,7 +36,7 @@
+  * Spawn a child in which a test can be performed without affecting the
+  * main flow of the process.  The pid of the child is stored in @_pid.
+  *
+- * This macro ensures that the child has begun exectution before the
++ * This macro ensures that the child has begun execution before the
+  * parent is allowed to continue through the usual use of a pipe.
+  *
+  * A block of code should follow this macro, which is the code that will
+--- libnih-1.0.3.orig/nih/child.h
++++ libnih-1.0.3/nih/child.h
+@@ -98,7 +98,7 @@
+ NihChildWatch *nih_child_add_watch (const void *parent, pid_t pid,
+ 				    NihChildEvents events,
+ 				    NihChildHandler handler, void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ void           nih_child_poll      (void);
+ 
+--- libnih-1.0.3.orig/nih/alloc.h
++++ libnih-1.0.3/nih/alloc.h
+@@ -299,7 +299,7 @@
+  * It is permissible to take references to foo within its scope, or by
+  * functions called, in which case it will not be freed.  Also it is
+  * generally nonsensical to allocate with a parent, since this too will
+- * prevent it from beign freed.
++ * prevent it from being freed.
+  **/
+ #define nih_local __attribute__ ((cleanup(_nih_discard_local)))
+ 
+@@ -307,11 +307,11 @@
+ NIH_BEGIN_EXTERN
+ 
+ void * nih_alloc                     (const void *parent, size_t size)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ void * nih_realloc                   (void *ptr, const void *parent,
+ 				      size_t size)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int    nih_free                      (void *ptr);
+ int    nih_discard                   (void *ptr);
+--- libnih-1.0.3.orig/nih/io.h
++++ libnih-1.0.3/nih/io.h
+@@ -269,7 +269,7 @@
+ NihIoWatch *  nih_io_add_watch           (const void *parent, int fd,
+ 					  NihIoEvents events,
+ 					  NihIoWatcher watcher, void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ void          nih_io_select_fds          (int *nfds, fd_set *readfds,
+ 					  fd_set *writefds, fd_set *exceptfds);
+@@ -278,12 +278,12 @@
+ 
+ 
+ NihIoBuffer * nih_io_buffer_new          (const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int           nih_io_buffer_resize       (NihIoBuffer *buffer, size_t grow);
+ char *        nih_io_buffer_pop          (const void *parent,
+ 					  NihIoBuffer *buffer, size_t *len)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ void          nih_io_buffer_shrink       (NihIoBuffer *buffer, size_t len);
+ int           nih_io_buffer_push         (NihIoBuffer *buffer,
+ 					  const char *str, size_t len)
+@@ -291,7 +291,7 @@
+ 
+ 
+ NihIoMessage *nih_io_message_new         (const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int           nih_io_message_add_control (NihIoMessage *message, int level,
+ 					  int type, socklen_t len,
+@@ -300,7 +300,7 @@
+ 
+ NihIoMessage *nih_io_message_recv        (const void *parent, int fd,
+ 					  size_t *len)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ ssize_t       nih_io_message_send        (NihIoMessage *message, int fd)
+ 	__attribute__ ((warn_unused_result));
+ 
+@@ -310,7 +310,7 @@
+ 					  NihIoCloseHandler close_handler,
+ 					  NihIoErrorHandler error_handler,
+ 					  void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ void          nih_io_shutdown            (NihIo *io);
+ int           nih_io_destroy             (NihIo *io);
+ 
+@@ -319,14 +319,14 @@
+ 
+ char *        nih_io_read                (const void *parent, NihIo *io,
+ 					  size_t *len)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ int           nih_io_write               (NihIo *io, const char *str,
+ 					  size_t len)
+ 	__attribute__ ((warn_unused_result));
+ 
+ char *        nih_io_get                 (const void *parent, NihIo *io,
+ 					  const char *delim)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int           nih_io_printf              (NihIo *io, const char *format, ...)
+ 	__attribute__ ((warn_unused_result, format (printf, 2, 3)));
+--- libnih-1.0.3.orig/nih/test_output.h
++++ libnih-1.0.3/nih/test_output.h
+@@ -61,10 +61,10 @@
+ 
+ /**
+  * TEST_FEATURE:
+- * @_feat: name of function feature being tested.
++ * @_feat: name of function or group feature being tested.
+  *
+- * Output a message indicating that a sub-test of a function is being
+- * performed, specifically the feature named _feat.
++ * Output a message indicating that a sub-test of a function or
++ * group is being performed, specifically the feature named _feat.
+  **/
+ #define TEST_FEATURE(_feat) \
+ 	printf ("...%s\n", _feat);
+--- libnih-1.0.3.orig/nih/error.h
++++ libnih-1.0.3/nih/error.h
+@@ -1,7 +1,7 @@
+ /* libnih
+  *
+- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
+- * Copyright © 2009 Canonical Ltd.
++ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
++ * Copyright © 2011 Canonical Ltd.
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License version 2, as
+@@ -111,7 +111,7 @@
+  * @message: human-readable message.
+  *
+  * Raises an error with the given details in the current error context,
+- * if an unhandled error already exists then an error message is emmitted
++ * if an unhandled error already exists then an error message is emitted
+  * through the logging system; you should try to avoid this.
+  *
+  * @message should be a static string, as it will not be freed when the
+@@ -126,7 +126,7 @@
+  * @format: format string for human-readable message.
+  *
+  * Raises an error with the given details in the current error context,
+- * if an unhandled error already exists then an error message is emmitted
++ * if an unhandled error already exists then an error message is emitted
+  * through the logging system; you should try to avoid this.
+  *
+  * The human-readable message for the error is parsed according to @format,
+@@ -140,7 +140,7 @@
+  * nih_error_raise_system:
+  *
+  * Raises an error with details taken from the current value of errno,
+- * if an unhandled error already exists then an error message is emmitted
++ * if an unhandled error already exists then an error message is emitted
+  * through the logging system; you should try to avoid this.
+  **/
+ #define nih_error_raise_system() \
+@@ -162,7 +162,7 @@
+  * @error: existing object to raise.
+  *
+  * Raises the existing error object in the current error context,
+- * if an unhandled error already exists then an error message is emmitted
++ * if an unhandled error already exists then an error message is emitted
+  * through the logging system; you should try to avoid this.
+  *
+  * This is normally used to raise a taken error that has not been handled,
+@@ -182,7 +182,7 @@
+  * @message: human-readable message.
+  *
+  * Raises an error with the given details in the current error context,
+- * if an unhandled error already exists then an error message is emmitted
++ * if an unhandled error already exists then an error message is emitted
+  * through the logging system; you should try to avoid this.
+  *
+  * Will return from the current function with @retval, which may be left
+@@ -199,7 +199,7 @@
+  * @retval: return value for function.
+  *
+  * Raises an error with details taken from the current value of errno,
+- * if an unhandled error already exists then an error message is emmitted
++ * if an unhandled error already exists then an error message is emitted
+  * through the logging system; you should try to avoid this.
+  *
+  * Will return from the current function with @retval, which may be left
+--- libnih-1.0.3.orig/nih/string.h
++++ libnih-1.0.3/nih/string.h
+@@ -35,60 +35,60 @@
+ NIH_BEGIN_EXTERN
+ 
+ char * nih_sprintf          (const void *parent, const char *format, ...)
+-	__attribute__ ((format (printf, 2, 3), warn_unused_result, malloc));
++	__attribute__ ((format (printf, 2, 3), warn_unused_result));
+ 
+ char * nih_vsprintf         (const void *parent, const char *format,
+ 			     va_list args)
+-	__attribute__ ((format (printf, 2, 0), warn_unused_result, malloc));
++	__attribute__ ((format (printf, 2, 0), warn_unused_result));
+ 
+ char * nih_strdup           (const void *parent, const char *str)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char * nih_strndup          (const void *parent, const char *str, size_t len)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char * nih_strcat           (char **str, const void *parent, const char *src)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char * nih_strncat          (char **str, const void *parent, const char *src,
+ 			     size_t len)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char * nih_strcat_sprintf   (char **str, const void *parent,
+ 			     const char *format, ...)
+-	__attribute__ ((format (printf, 3, 4), warn_unused_result, malloc));
++	__attribute__ ((format (printf, 3, 4), warn_unused_result));
+ char * nih_strcat_vsprintf  (char **str, const void *parent,
+ 			     const char *format, va_list args)
+-	__attribute__ ((format (printf, 3, 0), warn_unused_result, malloc));
++	__attribute__ ((format (printf, 3, 0), warn_unused_result));
+ 
+ char **nih_str_split        (const void *parent, const char *str,
+ 			     const char *delim, int repeat)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char **nih_str_array_new    (const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char **nih_str_array_add    (char ***array, const void *parent, size_t *len,
+ 			     const char *str)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char **nih_str_array_addn   (char ***array, const void *parent, size_t *len,
+ 			     const char *str, size_t strlen)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char **nih_str_array_addp   (char ***array, const void *parent, size_t *len,
+ 			     void *ptr)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char **nih_str_array_copy   (const void *parent, size_t *len,
+ 			     char * const *array)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char **nih_str_array_append (char ***array, const void *parent, size_t *len,
+ 			     char * const *args)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char * nih_str_wrap         (const void *parent, const char *str, size_t len,
+ 		             size_t first_indent, size_t indent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ size_t nih_str_screen_width (void);
+ char * nih_str_screen_wrap  (const void *parent, const char *str,
+ 			     size_t first_indent, size_t indent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih/string.c
++++ libnih-1.0.3/nih/string.c
+@@ -405,7 +405,7 @@
+ 		const char  *ptr;
+ 
+ 		/* Skip initial delimiters */
+-		while (repeat && strchr (delim, *str))
++		while (repeat && *str && strchr (delim, *str))
+ 			str++;
+ 
+ 		/* Find the end of the token */
+@@ -413,6 +413,13 @@
+ 		while (*str && (! strchr (delim, *str)))
+ 			str++;
+ 
++		/* Don't create an empty string array element in repeat
++		 * mode if there is no token (as a result of a
++		 * duplicated delimiter character).
++		 */
++		if (repeat && (str == ptr))
++			continue;
++
+ 		if (! nih_str_array_addn (&array, parent, &len,
+ 					  ptr, str - ptr)) {
+ 			nih_free (array);
+--- libnih-1.0.3.orig/nih/file.h
++++ libnih-1.0.3/nih/file.h
+@@ -82,7 +82,7 @@
+ 
+ char *nih_file_read         (const void *parent, const char *path,
+ 			     size_t *length)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ void *nih_file_map          (const char *path, int flags, size_t *length)
+ 	__attribute__ ((warn_unused_result));
+--- libnih-1.0.3.orig/nih/tests/test_option.c
++++ libnih-1.0.3/nih/tests/test_option.c
+@@ -1574,7 +1574,7 @@
+ 		output = tmpfile ();
+ 		TEST_CHILD (pid) {
+ 			TEST_DIVERT_STDOUT (output) {
+-				char **args;
++				char **args __attribute__((unused));
+ 
+ 				args = nih_option_parser (NULL, argc, argv,
+ 							  options, FALSE);
+@@ -1652,7 +1652,7 @@
+ 			unsetenv ("COLUMNS");
+ 
+ 			TEST_DIVERT_STDOUT (output) {
+-				char **args;
++				char **args __attribute__((unused));
+ 
+ 				args = nih_option_parser (NULL, argc, argv,
+ 							  options, FALSE);
+--- libnih-1.0.3.orig/nih/tests/test_logging.c
++++ libnih-1.0.3/nih/tests/test_logging.c
+@@ -31,7 +31,7 @@
+ #include <nih/main.h>
+ 
+ 
+-extern char *__abort_msg __attribute__ ((weak));
++extern char *__nih_abort_msg;
+ 
+ static NihLogLevel last_priority = NIH_LOG_UNKNOWN;
+ static char *      last_message = NULL;
+@@ -156,68 +156,63 @@
+ 	}
+ 
+ 
+-	/* Check that a fatal message is also stored in the glibc __abort_msg
++	/* Check that a fatal message is also stored in the __nih_abort_msg
+ 	 * variable.
+ 	 */
+-	if (&__abort_msg) {
+-		TEST_FEATURE ("with fatal message");
+-		TEST_ALLOC_FAIL {
+-			__abort_msg = NULL;
+-			last_priority = NIH_LOG_UNKNOWN;
+-			last_message = NULL;
+-
+-			ret = nih_log_message (NIH_LOG_FATAL,
+-					       "message with %s %d formatting",
+-					       "some", 20);
+-
+-			TEST_EQ (ret, 0);
+-			TEST_EQ (last_priority, NIH_LOG_FATAL);
+-			TEST_EQ_STR (last_message, "message with some 20 formatting");
+-
+-			TEST_NE_P (__abort_msg, NULL);
+-			TEST_ALLOC_PARENT (__abort_msg, NULL);
+-			TEST_EQ_STR (__abort_msg, "message with some 20 formatting");
++	TEST_FEATURE ("with fatal message");
++	TEST_ALLOC_FAIL {
++		__nih_abort_msg = NULL;
++		last_priority = NIH_LOG_UNKNOWN;
++		last_message = NULL;
+ 
+-			free (last_message);
+-		}
++		ret = nih_log_message (NIH_LOG_FATAL,
++				"message with %s %d formatting",
++				"some", 20);
+ 
++		TEST_EQ (ret, 0);
++		TEST_EQ (last_priority, NIH_LOG_FATAL);
++		TEST_EQ_STR (last_message, "message with some 20 formatting");
+ 
+-		/* Check that a fatal message can safely overwrite one already stored
+-		 * in the glibc __abort_msg variable.
+-		 */
+-		TEST_FEATURE ("with second fatal message");
+-		TEST_ALLOC_FAIL {
+-			TEST_ALLOC_SAFE {
+-				msg = nih_strdup (NULL, "test");
+-			}
+-
+-			__abort_msg = msg;
+-			TEST_FREE_TAG (msg);
+-
+-			last_priority = NIH_LOG_UNKNOWN;
+-			last_message = NULL;
+-
+-			ret = nih_log_message (NIH_LOG_FATAL,
+-					       "message with %s %d formatting",
+-					       "some", 20);
+-
+-			TEST_EQ (ret, 0);
+-			TEST_EQ (last_priority, NIH_LOG_FATAL);
+-			TEST_EQ_STR (last_message, "message with some 20 formatting");
+-
+-			TEST_FREE (msg);
+-
+-			TEST_NE_P (__abort_msg, NULL);
+-			TEST_ALLOC_PARENT (__abort_msg, NULL);
+-			TEST_EQ_STR (__abort_msg, "message with some 20 formatting");
++		TEST_NE_P (__nih_abort_msg, NULL);
++		TEST_ALLOC_PARENT (__nih_abort_msg, NULL);
++		TEST_EQ_STR (__nih_abort_msg, "message with some 20 formatting");
+ 
+-			free (last_message);
+-		}
+-	} else {
+-		printf ("SKIP: __abort_msg not available\n");
++		free (last_message);
+ 	}
+ 
+ 
++	/* Check that a fatal message can safely overwrite one already stored
++	 * in the __nih_abort_msg variable.
++	 */
++	TEST_FEATURE ("with second fatal message");
++	TEST_ALLOC_FAIL {
++		TEST_ALLOC_SAFE {
++			msg = nih_strdup (NULL, "test");
++		}
++
++		__nih_abort_msg = msg;
++		TEST_FREE_TAG (msg);
++
++		last_priority = NIH_LOG_UNKNOWN;
++		last_message = NULL;
++
++		ret = nih_log_message (NIH_LOG_FATAL,
++				"message with %s %d formatting",
++				"some", 20);
++
++		TEST_EQ (ret, 0);
++		TEST_EQ (last_priority, NIH_LOG_FATAL);
++		TEST_EQ_STR (last_message, "message with some 20 formatting");
++
++		TEST_FREE (msg);
++
++		TEST_NE_P (__nih_abort_msg, NULL);
++		TEST_ALLOC_PARENT (__nih_abort_msg, NULL);
++		TEST_EQ_STR (__nih_abort_msg, "message with some 20 formatting");
++
++		free (last_message);
++	}
++
+ 	/* Check that the nih_debug macro wraps the call properly and
+ 	 * includes the function in which the message occurred.
+ 	 */
+--- libnih-1.0.3.orig/nih/tests/test_hash.c
++++ libnih-1.0.3/nih/tests/test_hash.c
+@@ -470,7 +470,8 @@
+ test_lookup (void)
+ {
+ 	NihHash *hash;
+-	NihList *entry1, *entry2, *entry3, *ptr;
++	NihList *entry1, *entry2, *ptr;
++	NihList *entry3 __attribute__((unused));
+ 
+ 	TEST_FUNCTION ("nih_hash_lookup");
+ 	hash = nih_hash_string_new (NULL, 0);
+--- libnih-1.0.3.orig/nih/tests/test_main.c
++++ libnih-1.0.3/nih/tests/test_main.c
+@@ -457,7 +457,7 @@
+ test_main_loop (void)
+ {
+ 	NihMainLoopFunc *func;
+-	NihTimer        *timer;
++	NihTimer        *timer __attribute__((unused));
+ 	int              ret;
+ 
+ 	/* Check that we can run through the main loop, and that the
+--- libnih-1.0.3.orig/nih/tests/test_watch.c
++++ libnih-1.0.3/nih/tests/test_watch.c
+@@ -2,8 +2,8 @@
+  *
+  * test_watch.c - test suite for nih/watch.c
+  *
+- * Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
+- * Copyright © 2009 Canonical Ltd.
++ * Copyright © 2011 Scott James Remnant <scott@netsplit.com>.
++ * Copyright © 2011 Canonical Ltd.
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License version 2, as
+@@ -39,6 +39,8 @@
+ #include <nih/error.h>
+ #include <nih/logging.h>
+ 
++/* Read "The Hitchhikers Guide to the Galaxy" */
++#define FILTER_VALUE 42
+ 
+ static int
+ my_filter (void       *data,
+@@ -54,6 +56,26 @@
+ 	return FALSE;
+ }
+ 
++/* Set by my_filter2 () so it knows if it has already been called */
++static int my_filter2_called = 0;
++
++static int
++my_filter2 (int       *value,
++	   const char *path,
++	   int         is_dir)
++{
++	/* we only want to toggle the value once */
++	if (my_filter2_called)
++		return TRUE;
++
++	my_filter2_called = 1;
++
++	nih_assert (value && *value == FILTER_VALUE);
++	*value = 0;
++
++	return FALSE;
++}
++
+ static int create_called = 0;
+ static int modify_called = 0;
+ static int delete_called = 0;
+@@ -553,6 +575,44 @@
+ 		nih_free (watch);
+ 	}
+ 
++	/* Ensure the file filter gets passed the correct data pointer.
++	 */
++	TEST_FEATURE ("with filter and data");
++
++	/* Ensure we have a new directory */
++	TEST_FILENAME (dirname);
++	mkdir (dirname, 0755);
++
++	/* Create a single file */
++	strcpy (filename, dirname);
++	strcat (filename, "/foo");
++
++	fd = fopen (filename, "w");
++	fprintf (fd, "test\n");
++	fclose (fd);
++
++	TEST_ALLOC_FAIL {
++		int watch_data = FILTER_VALUE;
++
++		/* Reset required to appease TEST_ALLOC_FAIL */
++		my_filter2_called = 0;
++
++		watch = nih_watch_new (NULL, dirname,
++				TRUE, TRUE,
++				(NihFileFilter)my_filter2,
++				NULL, NULL, NULL,
++				&watch_data);
++
++		TEST_NE_P (watch, NULL);
++
++		/* Ensure the filter was called and changed the value */
++
++		TEST_NE (my_filter2_called, 0);
++		TEST_EQ (watch_data, 0);
++
++		nih_free (watch);
++	}
++
+ 	strcpy (filename, dirname);
+ 	strcat (filename, "/bar");
+ 	chmod (filename, 0755);
+@@ -946,13 +1006,82 @@
+ 	nih_error_init ();
+ 
+ 	TEST_FILENAME (dirname);
+-	mkdir (dirname, 0755);
++	TEST_EQ (mkdir (dirname, 0755), 0);
+ 
+-	watch = nih_watch_new (NULL, dirname, TRUE, TRUE, my_filter,
+-			       my_create_handler, my_modify_handler,
++	TEST_FEATURE ("with watched file");
++	strcpy (filename, dirname);
++	strcat (filename, "/foo");
++
++	/* Create file first since we don't set a create handler on the
++	 * watch.
++	 */
++	fd = fopen (filename, "w");
++	fprintf (fd, "bar\n");
++	fclose (fd);
++
++	create_called = 0;
++	modify_called = 0;
++	delete_called = 0;
++	logger_called = 0;
++	last_path  = NULL;
++	last_watch = NULL;
++	last_data  = NULL;
++
++	watch = nih_watch_new (NULL, filename, FALSE, FALSE, NULL,
++			       NULL, my_modify_handler,
+ 			       my_delete_handler, &watch);
++	TEST_NE_P (watch, NULL);
++
++	/* Now, modify the existing file to trigger the modify handler. */
++	fd = fopen (filename, "a+");
++	fprintf (fd, "baz\n");
++	fclose (fd);
++
++	nfds = 0;
++	FD_ZERO (&readfds);
++	FD_ZERO (&writefds);
++	FD_ZERO (&exceptfds);
++
++	nih_io_select_fds (&nfds, &readfds, &writefds, &exceptfds);
++	select (nfds, &readfds, &writefds, &exceptfds, NULL);
++	nih_io_handle_fds (&readfds, &writefds, &exceptfds);
++
++	TEST_EQ_STR (watch->path, filename);
++
++	/* Ensure no regression to old behaviour (LP:#777097) */
++	TEST_NE (last_path[ strlen(last_path) - 1 ], '/');
++
++	TEST_EQ_STR (last_path, filename);
++	TEST_EQ (modify_called, 1);
++
++	unlink (filename);
++
++	nfds = 0;
++	FD_ZERO (&readfds);
++	FD_ZERO (&writefds);
++	FD_ZERO (&exceptfds);
++
++	nih_io_select_fds (&nfds, &readfds, &writefds, &exceptfds);
++	select (nfds, &readfds, &writefds, &exceptfds, NULL);
++	nih_io_handle_fds (&readfds, &writefds, &exceptfds);
+ 
++	TEST_EQ (delete_called, 1);
+ 
++	rmdir (filename);
++	nih_free (last_path);
++
++	create_called = 0;
++	modify_called = 0;
++	delete_called = 0;
++	logger_called = 0;
++	last_path  = NULL;
++	last_watch = NULL;
++	last_data  = NULL;
++
++
++	watch = nih_watch_new (NULL, dirname, TRUE, TRUE, my_filter,
++			       my_create_handler, my_modify_handler,
++			       my_delete_handler, &watch);
+ 	/* Check that creating a file within the directory being watched
+ 	 * results in the create handler being called, and passed the full
+ 	 * path of the created file to it.
+--- libnih-1.0.3.orig/nih/tests/test_string.c
++++ libnih-1.0.3/nih/tests/test_string.c
+@@ -619,6 +619,215 @@
+ 		nih_free (array);
+ 	}
+ 
++	TEST_FEATURE ("with no repeat and multiple identical delimiter "
++			"characters at string start");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "\t\tthis is a test", " \t", FALSE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 7);
++		for (i = 0; i < 6; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "");
++		TEST_EQ_STR (array[1], "");
++		TEST_EQ_STR (array[2], "this");
++		TEST_EQ_STR (array[3], "is");
++		TEST_EQ_STR (array[4], "a");
++		TEST_EQ_STR (array[5], "test");
++		TEST_EQ_P (array[6], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with no repeat and multiple different delimiter "
++			"characters at string start");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, " \tthis is a test", " \t", FALSE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 7);
++		for (i = 0; i < 6; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "");
++		TEST_EQ_STR (array[1], "");
++		TEST_EQ_STR (array[2], "this");
++		TEST_EQ_STR (array[3], "is");
++		TEST_EQ_STR (array[4], "a");
++		TEST_EQ_STR (array[5], "test");
++		TEST_EQ_P (array[6], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with no repeat and multiple identical delimiter "
++			"characters within string");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "this is   a\t\ttest", " \t", FALSE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 8);
++		for (i = 0; i < 7; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "this");
++		TEST_EQ_STR (array[1], "is");
++		TEST_EQ_STR (array[2], "");
++		TEST_EQ_STR (array[3], "");
++		TEST_EQ_STR (array[4], "a");
++		TEST_EQ_STR (array[5], "");
++		TEST_EQ_STR (array[6], "test");
++		TEST_EQ_P (array[7], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with no repeat and multiple different delimiter "
++			"characters within string");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "this is \n\ta\ttest", " \t\n", FALSE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 7);
++		for (i = 0; i < 6; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "this");
++		TEST_EQ_STR (array[1], "is");
++		TEST_EQ_STR (array[2], "");
++		TEST_EQ_STR (array[3], "");
++		TEST_EQ_STR (array[4], "a");
++		TEST_EQ_STR (array[5], "test");
++		TEST_EQ_P (array[6], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with no repeat and multiple identical delimiter "
++			"characters at string end");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "this is a test  ", " \t", FALSE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 6);
++		for (i = 0; i < 5; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "this");
++		TEST_EQ_STR (array[1], "is");
++		TEST_EQ_STR (array[2], "a");
++		TEST_EQ_STR (array[3], "test");
++		TEST_EQ_STR (array[4], "");
++		TEST_EQ_P (array[5], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with no repeat and multiple different delimiter "
++			"characters at string end");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "this is a test \t", " \t", FALSE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 6);
++		for (i = 0; i < 5; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "this");
++		TEST_EQ_STR (array[1], "is");
++		TEST_EQ_STR (array[2], "a");
++		TEST_EQ_STR (array[3], "test");
++		TEST_EQ_STR (array[4], "");
++		TEST_EQ_P (array[5], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with no repeat and multiple identical delimiter "
++			"characters at beginning, middle and end of string");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "   this is\n\n\na test\t\t\t", " \t\n", FALSE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 12);
++		for (i = 0; i < 11; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "");
++		TEST_EQ_STR (array[1], "");
++		TEST_EQ_STR (array[2], "");
++		TEST_EQ_STR (array[3], "this");
++		TEST_EQ_STR (array[4], "is");
++		TEST_EQ_STR (array[5], "");
++		TEST_EQ_STR (array[6], "");
++		TEST_EQ_STR (array[7], "a");
++		TEST_EQ_STR (array[8], "test");
++		TEST_EQ_STR (array[9], "");
++		TEST_EQ_STR (array[10], "");
++		TEST_EQ_P (array[11], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with no repeat and multiple different delimiter "
++			"characters at beginning, middle and end of string");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, ": \nthis is\t \n:a test:\n ", "\n :\t", FALSE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 13);
++		for (i = 0; i < 12; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "");
++		TEST_EQ_STR (array[1], "");
++		TEST_EQ_STR (array[2], "");
++		TEST_EQ_STR (array[3], "this");
++		TEST_EQ_STR (array[4], "is");
++		TEST_EQ_STR (array[5], "");
++		TEST_EQ_STR (array[6], "");
++		TEST_EQ_STR (array[7], "");
++		TEST_EQ_STR (array[8], "a");
++		TEST_EQ_STR (array[9], "test");
++		TEST_EQ_STR (array[10], "");
++		TEST_EQ_STR (array[11], "");
++		TEST_EQ_P (array[12], NULL);
++
++		nih_free (array);
++	}
+ 
+ 	/* Check that we can split a string treating multiple consecutive
+ 	 * matching characters as a single separator to be skipped.
+@@ -645,6 +854,177 @@
+ 		nih_free (array);
+ 	}
+ 
++	/* Check that we can split a string containing multiple
++	 * occurences of one of the delimiter characters at the
++	 * beginning of the string.
++	 */
++	TEST_FEATURE ("with repeat and multiple identical adjacent delimiter characters at string start");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "\n\nhello", " \t\r\n", TRUE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 2);
++		for (i = 0; i < 1; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "hello");
++		TEST_EQ_P (array[1], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with repeat and multiple different adjacent delimiter characters at string start");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "\n\r hello", " \t\r\n", TRUE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 2);
++		for (i = 0; i < 1; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "hello");
++		TEST_EQ_P (array[1], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with repeat and multiple identical adjacent delimiter "
++			"characters within string");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "hello\n\rworld", " \t\n\r", TRUE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 3);
++		for (i = 0; i < 2; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "hello");
++		TEST_EQ_STR (array[1], "world");
++		TEST_EQ_P (array[2], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with repeat and multiple different adjacent delimiter "
++			"characters within string");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "hello\n\r\tworld", " \t\n\r", TRUE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 3);
++		for (i = 0; i < 2; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "hello");
++		TEST_EQ_STR (array[1], "world");
++		TEST_EQ_P (array[2], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with repeat and multiple identical adjacent delimiter "
++			"characters at string end");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "hello\n\n\n\n\n\n\n", " \t\r\n", TRUE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 2);
++		for (i = 0; i < 1; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "hello");
++		TEST_EQ_P (array[1], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with repeat and multiple different adjacent delimiter "
++			"characters at string end");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL, "hello \r\t\r\t\n ", " \t\r\n", TRUE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 2);
++		for (i = 0; i < 1; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "hello");
++		TEST_EQ_P (array[1], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with repeat and multiple identical adjacent delimiter "
++			"characters at beginning, middle and end of string");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL,
++				"        hello\n\n\n,  world\n\n\n",
++				"\r\t\n ", TRUE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 4);
++		for (i = 0; i < 3; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "hello");
++		TEST_EQ_STR (array[1], ",");
++		TEST_EQ_STR (array[2], "world");
++		TEST_EQ_P (array[3], NULL);
++
++		nih_free (array);
++	}
++
++	TEST_FEATURE ("with repeat and multiple different adjacent delimiter "
++			"characters at beginning, middle and end of string");
++	TEST_ALLOC_FAIL {
++		array = nih_str_split (NULL,
++				"\n    \r\thello\n\n\r , \n\t\rworld\t \r\n \n",
++				" \t\n\r", TRUE);
++
++		if (test_alloc_failed) {
++			TEST_EQ_P (array, NULL);
++			continue;
++		}
++
++		TEST_ALLOC_SIZE (array, sizeof (char *) * 4);
++		for (i = 0; i < 3; i++)
++			TEST_ALLOC_PARENT (array[i], array);
++
++		TEST_EQ_STR (array[0], "hello");
++		TEST_EQ_STR (array[1], ",");
++		TEST_EQ_STR (array[2], "world");
++		TEST_EQ_P (array[3], NULL);
++
++		nih_free (array);
++	}
+ 
+ 	/* Check that we can give an empty string, and end up with a
+ 	 * one-element array that only contains a NULL pointer.
+--- libnih-1.0.3.orig/nih/tests/test_file.c
++++ libnih-1.0.3/nih/tests/test_file.c
+@@ -724,6 +724,25 @@
+ 	return FALSE;
+ }
+ 
++/* find only frodo files */
++static int
++my_filter_frodo_file (void       *data,
++	   const char *path,
++	   int         is_dir)
++{
++	char *slash;
++
++	if (is_dir)
++		return FALSE;
++
++	slash = strrchr (path, '/');
++	if (strcmp (slash, "/frodo"))
++		return TRUE;
++
++	return FALSE;
++}
++
++
+ static int logger_called = 0;
+ 
+ static int
+@@ -905,6 +924,48 @@
+ 		TEST_EQ_STR (v->path, filename);
+ 
+ 		nih_free (visited);
++
++				/* Try also inverse filter */
++		TEST_ALLOC_SAFE {
++			visitor_called = 0;
++			visited = nih_list_new (NULL);
++		}
++
++		ret = nih_dir_walk (dirname, my_filter_frodo_file,
++				    my_visitor, NULL, &ret);
++
++		TEST_EQ (ret, 0);
++		TEST_EQ (visitor_called, 4);
++
++		v = (Visited *)visited->next;
++		TEST_EQ (v->data, &ret);
++		TEST_EQ_STR (v->dirname, dirname);
++		strcpy (filename, dirname);
++		strcat (filename, "/bar");
++		TEST_EQ_STR (v->path, filename);
++
++		v = (Visited *)v->entry.next;
++		TEST_EQ (v->data, &ret);
++		TEST_EQ_STR (v->dirname, dirname);
++		strcpy (filename, dirname);
++		strcat (filename, "/bar/frodo");
++		TEST_EQ_STR (v->path, filename);
++
++		v = (Visited *)v->entry.next;
++		TEST_EQ (v->data, &ret);
++		TEST_EQ_STR (v->dirname, dirname);
++		strcpy (filename, dirname);
++		strcat (filename, "/baz");
++		TEST_EQ_STR (v->path, filename);
++
++		v = (Visited *)v->entry.next;
++		TEST_EQ (v->data, &ret);
++		TEST_EQ_STR (v->dirname, dirname);
++		strcpy (filename, dirname);
++		strcat (filename, "/frodo");
++		TEST_EQ_STR (v->path, filename);
++
++		nih_free (visited);
+ 	}
+ 
+ 
+--- libnih-1.0.3.orig/debian/control
++++ libnih-1.0.3/debian/control
+@@ -0,0 +1,81 @@
++Source: libnih
++Section: libs
++Priority: required
++Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
++XSBC-Original-Maintainer: Scott James Remnant <scott@netsplit.com>
++Standards-Version: 3.9.4
++Build-Depends: debhelper (>= 9), pkg-config (>= 0.22), libdbus-1-dev (>= 1.4), libexpat1-dev (>= 2.0.0), dbus (>= 1.4), libc6-dev (>= 2.15~) | libc6.1-dev (>= 2.15~),
++               dh-autoreconf, autopoint, dpkg-dev (>= 1.16.1~)
++# To cross build this package also needs: libdbus-1-dev:native (>= 1.4), libexpat1-dev:native (>= 2.0.0)
++# But :native build-deps are not supported yet, so instead one can do
++# $ apt-get build-dep libnih
++# $ apt-get build-dep libnih -aarmhf
++# instead to get all required build-deps
++Vcs-Bzr: lp:ubuntu/libnih
++XSC-Debian-Vcs-Git: git://git.debian.org/git/collab-maint/libnih.git
++XSC-Debian-Vcs-Browser: http://git.debian.org/?p=collab-maint/libnih.git;a=summary
++Homepage: https://launchpad.net/libnih
++
++Package: libnih1
++Architecture: any
++Pre-Depends: ${misc:Pre-Depends}, ${shlibs:Depends}, ${misc:Depends}
++Multi-Arch: same
++Description: NIH Utility Library
++ libnih is a light-weight "standard library" of C functions to ease the
++ development of other libraries and applications, especially those
++ normally found in /lib.
++ .
++ This package contains the shared library.
++
++Package: libnih-dev
++Priority: optional
++Section: libdevel
++Architecture: any
++Multi-Arch: same
++Depends: libnih1 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
++Description: NIH Utility Library (development files)
++ libnih is a light-weight "standard library" of C functions to ease the
++ development of other libraries and applications, especially those
++ normally found in /lib.
++ .
++ This package contains the static library and C header files which are
++ needed for developing software using libnih.
++
++Package: libnih-dbus1
++Architecture: any
++Pre-Depends: ${misc:Pre-Depends}
++Depends: libnih1 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
++Multi-Arch: same
++Description: NIH D-Bus Bindings Library
++ libnih-dbus is a D-Bus bindings library that integrates with the main
++ loop provided by libnih.
++ .
++ This package contains the shared library.
++
++Package: libnih-dbus-dev
++Priority: optional
++Section: libdevel
++Architecture: any
++Multi-Arch: same
++Depends: libnih-dbus1 (= ${binary:Version}), libnih-dev (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
++Recommends: nih-dbus-tool (= ${binary:Version})
++Description: NIH D-Bus Bindings Library (development files)
++ libnih-dbus is a D-Bus bindings library that integrates with the main
++ loop provided by libnih.
++ .
++ This package contains the static library and C header files which are
++ needed for developing software using libnih-dbus.
++
++Package: nih-dbus-tool
++Section: devel
++Architecture: any
++Multi-Arch: foreign
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Recommends: libnih-dbus-dev (= ${binary:Version})
++Description: NIH D-Bus Binding Tool
++ nih-dbus-tool generates C source code from the D-Bus Introspection XML
++ data provided by most services; either to make implementing the
++ described objects in C programs or to make proxying to the described
++ remote objects easier.
++ .
++ The generated code requires libnih-dbus-dev to be compiled.
+--- libnih-1.0.3.orig/debian/libnih-dev.install
++++ libnih-1.0.3/debian/libnih-dev.install
+@@ -0,0 +1,6 @@
++lib/*/libnih.a
++lib/*/libnih.so
++usr/include/libnih.h
++usr/include/nih
++usr/lib/*/pkgconfig/libnih.pc
++usr/share/aclocal/libnih.m4
+--- libnih-1.0.3.orig/debian/libnih1.docs
++++ libnih-1.0.3/debian/libnih1.docs
+@@ -0,0 +1,3 @@
++AUTHORS
++NEWS
++README
+--- libnih-1.0.3.orig/debian/libnih-dbus1.install
++++ libnih-1.0.3/debian/libnih-dbus1.install
+@@ -0,0 +1 @@
++lib/*/libnih-dbus.so.*
+--- libnih-1.0.3.orig/debian/libnih1.install
++++ libnih-1.0.3/debian/libnih1.install
+@@ -0,0 +1 @@
++lib/*/libnih.so.*
+--- libnih-1.0.3.orig/debian/rules
++++ libnih-1.0.3/debian/rules
+@@ -0,0 +1,54 @@
++#!/usr/bin/make -f
++
++include /usr/share/dpkg/architecture.mk
++
++%:
++	dh $@ --with autoreconf
++
++
++CFLAGS := -Wall -fstack-protector -fPIE $(shell dpkg-buildflags --get CFLAGS)
++LDFLAGS := -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie $(shell dpkg-buildflags --get LDFLAGS)
++
++override_dh_auto_configure:
++ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
++	dh_auto_configure -- CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
++		--libdir=/lib/$(DEB_HOST_MULTIARCH)
++else
++	dh_auto_configure -B build-dbus-tool/ -- CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
++		--libdir=/lib/$(DEB_BUILD_MULTIARCH) \
++		--host=$(DEB_BUILD_GNU_TYPE)
++	dh_auto_build -B build-dbus-tool/ --parallel
++	dh_auto_configure -- CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
++		NIH_DBUS_TOOL=$(CURDIR)/build-dbus-tool/nih-dbus-tool/nih-dbus-tool \
++		--libdir=/lib/$(DEB_HOST_MULTIARCH)
++endif
++
++override_dh_auto_build:
++	dh_auto_build --parallel
++
++override_dh_auto_test:
++ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
++	dh_auto_test --parallel
++endif
++
++override_dh_auto_install:
++	dh_auto_install -- pkgconfigdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)/pkgconfig
++
++override_dh_makeshlibs:
++	dh_makeshlibs -plibnih1 -V 'libnih1 (>= 1.0.0)'
++	dh_makeshlibs -plibnih-dbus1 -V 'libnih-dbus1 (>= 1.0.0)'
++	dh_makeshlibs -Nlibnih1 -Nlibnih-dbus1
++
++override_dh_shlibdeps:
++	dh_shlibdeps
++	sed -i 's/2\.14/2.15/' debian/*.substvars
++	sed -i 's/>= 2.15)/>= 2.15~)/g' debian/*.substvars
++
++
++# Symlink /usr/share/doc directories together
++override_dh_installdocs:
++	dh_installdocs --link-doc=libnih1
++
++override_dh_clean:
++	rm -rf build-dbus-tool/
++	dh_clean
+--- libnih-1.0.3.orig/debian/compat
++++ libnih-1.0.3/debian/compat
+@@ -0,0 +1 @@
++9
+--- libnih-1.0.3.orig/debian/nih-dbus-tool.install
++++ libnih-1.0.3/debian/nih-dbus-tool.install
+@@ -0,0 +1,2 @@
++usr/bin/nih-dbus-tool
++usr/share/man/man1/nih-dbus-tool.1
+--- libnih-1.0.3.orig/debian/copyright
++++ libnih-1.0.3/debian/copyright
+@@ -0,0 +1,18 @@
++This is the Ubuntu package of libnih, the NIH Utility Library.
++
++Copyright © 2009 Canonical Ltd.
++Copyright © 2009 Scott James Remnant <scott@netsplit.com>
++
++Licence:
++
++This program is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License version 2, as
++published by the Free Software Foundation.
++
++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.
++
++On Ubuntu systems, the complete text of the GNU General Public License
++can be found in ‘/usr/share/common-licenses/GPL-2’.
+--- libnih-1.0.3.orig/debian/libnih-dbus1.postinst
++++ libnih-1.0.3/debian/libnih-dbus1.postinst
+@@ -0,0 +1,53 @@
++#!/bin/sh
++
++set -e
++
++if [ "$1" = configure ]; then
++    # A dependent library of Upstart has changed, so restart Upstart
++    # such that it can safely unmount the root filesystem (LP: #740390)
++
++    # Query running version of Upstart, but only when we know
++    # that initctl will work.
++    #
++    # The calculated version string may be the null string if
++    # Upstart is not running (where for example an alternative
++    # init is running outside a chroot environment) or if the
++    # query failed for some reason. However, the version check
++    # below handles a null version string correctly.
++    UPSTART_VERSION_RUNNING=$(initctl version 2>/dev/null |\
++        awk '{print $3}'|tr -d ')' || :)
++
++    if ischroot; then
++        # Do not honour re-exec when requested from within a
++        # chroot since:
++        #
++        # (a) The version of Upstart outside might not support it.
++        # (b) An isolated environment such as a chroot should
++        #     not be able to modify its containing environment.
++        #
++        # A sufficiently new Upstart will actually handle a re-exec
++        # request coming from telinit within a chroot correctly (by
++        # doing nothing) but it's simple enough to perform the check
++        # here and save Upstart the effort.
++        :
++    elif dpkg --compare-versions "$UPSTART_VERSION_RUNNING" ge 1.6.1; then
++        # We are not running inside a chroot and the running version
++        # of Upstart supports stateful re-exec, so we can
++        # restart immediately.
++        #
++        # XXX: Note that the check on the running version must
++        # remain *indefinitely* since it's the only safe way to
++        # know if stateful re-exec is supported: simply checking
++        # packaged version numbers is not sufficient since
++        # the package could be upgraded multiple times without a
++        # reboot.
++        telinit u || :
++    else
++        # Before we shutdown or reboot, we need to re-exec so that we
++        # can safely remount the root filesystem; we can't just do that
++        # here because we lose state.
++        touch /var/run/init.upgraded || :
++    fi
++fi
++
++#DEBHELPER#
+--- libnih-1.0.3.orig/debian/changelog.DEBIAN
++++ libnih-1.0.3/debian/changelog.DEBIAN
+@@ -0,0 +1,118 @@
++libnih (1.0.3-4) unstable; urgency=low
++
++  * Rebuild for new libc to update versioned dependency; this comes from
++    the __abort_msg dependency, dpkg-shlibs needs overriding since this is
++    actually a weak link, but this rebuild fixes things for now.
++    Closes: #625257.
++
++ -- Scott James Remnant <scott@netsplit.com>  Mon, 02 May 2011 15:08:33 -0700
++
++libnih (1.0.3-3) unstable; urgency=low
++
++  * New maintainer.  Closes: #624442.
++
++ -- Scott James Remnant <scott@netsplit.com>  Thu, 28 Apr 2011 14:26:05 -0700
++
++libnih (1.0.3-2) unstable; urgency=low
++
++  * Bump build dependency on libdbus-1-dev and dbus to (>= 1.4) for Unix file
++    descriptor passing support.
++
++ -- Michael Biebl <biebl@debian.org>  Thu, 10 Feb 2011 20:25:18 +0100
++
++libnih (1.0.3-1ubuntu1) natty; urgency=low
++
++  * Rebuild with libc6-dev (>= 2.13~).
++
++ -- Matthias Klose <doko@ubuntu.com>  Fri, 18 Feb 2011 12:09:29 +0100
++
++libnih (1.0.3-1) unstable; urgency=low
++
++  * New upstream release.
++  * Bump debhelper compatibility level to 8 and update build dependency
++    accordingly.
++
++ -- Michael Biebl <biebl@debian.org>  Mon, 07 Feb 2011 22:19:13 +0100
++
++libnih (1.0.2-2) unstable; urgency=low
++
++  * Install library development files to /usr/lib and not /lib.
++  * Remove libtool *.la files as there are no reverse dependencies referencing
++    them.
++  * Bump Standards-Version to 3.9.1. No further changes.
++
++ -- Michael Biebl <biebl@debian.org>  Sun, 02 Jan 2011 21:09:40 +0100
++
++libnih (1.0.2-1ubuntu3) natty; urgency=low
++
++  * Disable some tests on ppc64 to build an initial package.
++
++ -- Matthias Klose <doko@ubuntu.com>  Thu, 18 Nov 2010 10:59:38 +0100
++
++libnih (1.0.2-1ubuntu2) maverick; urgency=low
++
++  * Re-add -fPIE to the testsuite on armel, removing all armel-specific tests;
++    current gcc-4.4 don't seem affected by the ICE anymore (see LP #398403).
++
++ -- Loïc Minier <loic.minier@linaro.org>  Mon, 23 Aug 2010 10:25:31 +0200
++
++libnih (1.0.2-1ubuntu1) maverick; urgency=low
++
++  * Rebuild with libc6-dev (>= 2.12~), after checking that
++    __abort_msg is available with the same signature in eglibc 2.12.
++  * Don't build the testsuite with -fPIE on armel; LP: #398403.
++
++ -- Matthias Klose <doko@ubuntu.com>  Sun, 30 May 2010 02:54:56 +0200
++
++libnih (1.0.2-1) unstable; urgency=low
++
++  * Initial upload to Debian. Closes: #585071
++  * Based on the Ubuntu package for Lucid done by Scott James Remnant with the
++    following changes:
++    - Switch packages to priority optional.
++    - Use binary:Version instead of Source-Version.
++    - Bump Standards-Version to 3.8.4.
++    - Add Homepage and Vcs-* fields.
++    - Don't symlink /usr/share/doc directories.
++    - Refer to versioned /usr/share/common-licenses/GPL-2 file in
++      debian/copyright.
++    - List all symbols explicitly instead of using a wildcard and add symbols
++      introduced in 1.0.1.
++    - Use the symbols files to create the correct version info instead of
++      specifying it manually via shlibs.
++    - Switch to source format 3.0 (quilt).
++    - Add watch file to track new upstream releases.
++
++ -- Michael Biebl <biebl@debian.org>  Sun, 13 Jun 2010 23:36:52 +0200
++
++libnih (1.0.1-1) lucid; urgency=low
++
++  * New upstream release:
++    - Add missing __nih_* symbols to linker version script so that we
++      can link Upstart's test suite.
++    - Glibc __abort_msg symbol now only linked as a weak symbol.
++
++ -- Scott James Remnant <scott@ubuntu.com>  Thu, 04 Feb 2010 14:53:26 -0800
++
++libnih (1.0.0-2build1) lucid; urgency=low
++
++  * Rebuild to pick up relaxed dependency on libc6, after checking that
++    __abort_msg is available with the same signature in eglibc 2.11.
++    LP: #508702.
++
++ -- Matthias Klose <doko@ubuntu.com>  Mon, 18 Jan 2010 16:09:13 +0100
++
++libnih (1.0.0-2) lucid; urgency=low
++
++  * debian/control: Add build-dependency on dbus so the test suite can
++    pass on the buildds.
++
++ -- Scott James Remnant <scott@ubuntu.com>  Sat, 28 Nov 2009 23:28:27 +0000
++
++libnih (1.0.0-1) lucid; urgency=low
++
++  * First upstream release.  Previously this code was included in the
++    upstart, mountall and ureadahead source packages.
++
++ -- Scott James Remnant <scott@ubuntu.com>  Sat, 28 Nov 2009 21:14:00 +0000
++
+--- libnih-1.0.3.orig/debian/libnih1.symbols
++++ libnih-1.0.3/debian/libnih1.symbols
+@@ -0,0 +1,2 @@
++libnih.so.1 libnih1 #MINVER#
++ *@LIBNIH_1_0 1.0.0
+--- libnih-1.0.3.orig/debian/libnih-dbus-dev.install
++++ libnih-1.0.3/debian/libnih-dbus-dev.install
+@@ -0,0 +1,5 @@
++lib/*/libnih-dbus.a
++lib/*/libnih-dbus.so
++usr/include/libnih-dbus.h
++usr/include/nih-dbus
++usr/lib/*/pkgconfig/libnih-dbus.pc
+--- libnih-1.0.3.orig/debian/libnih1.postinst
++++ libnih-1.0.3/debian/libnih1.postinst
+@@ -0,0 +1,53 @@
++#!/bin/sh
++
++set -e
++
++if [ "$1" = configure ]; then
++    # A dependent library of Upstart has changed, so restart Upstart
++    # such that it can safely unmount the root filesystem (LP: #740390)
++
++    # Query running version of Upstart, but only when we know
++    # that initctl will work.
++    #
++    # The calculated version string may be the null string if
++    # Upstart is not running (where for example an alternative
++    # init is running outside a chroot environment) or if the
++    # query failed for some reason. However, the version check
++    # below handles a null version string correctly.
++    UPSTART_VERSION_RUNNING=$(initctl version 2>/dev/null |\
++        awk '{print $3}'|tr -d ')' || :)
++
++    if ischroot; then
++        # Do not honour re-exec when requested from within a
++        # chroot since:
++        #
++        # (a) The version of Upstart outside might not support it.
++        # (b) An isolated environment such as a chroot should
++        #     not be able to modify its containing environment.
++        #
++        # A sufficiently new Upstart will actually handle a re-exec
++        # request coming from telinit within a chroot correctly (by
++        # doing nothing) but it's simple enough to perform the check
++        # here and save Upstart the effort.
++        :
++    elif dpkg --compare-versions "$UPSTART_VERSION_RUNNING" ge 1.6.1; then
++        # We are not running inside a chroot and the running version
++        # of Upstart supports stateful re-exec, so we can
++        # restart immediately.
++        #
++        # XXX: Note that the check on the running version must
++        # remain *indefinitely* since it's the only safe way to
++        # know if stateful re-exec is supported: simply checking
++        # packaged version numbers is not sufficient since
++        # the package could be upgraded multiple times without a
++        # reboot.
++        telinit u || :
++    else
++        # Before we shutdown or reboot, we need to re-exec so that we
++        # can safely remount the root filesystem; we can't just do that
++        # here because we lose state.
++        touch /var/run/init.upgraded || :
++    fi
++fi
++
++#DEBHELPER#
+--- libnih-1.0.3.orig/debian/libnih-dbus1.symbols
++++ libnih-1.0.3/debian/libnih-dbus1.symbols
+@@ -0,0 +1,2 @@
++libnih-dbus.so.1 libnih-dbus1 #MINVER#
++ *@LIBNIH_DBUS_1_0 1.0.0
+--- libnih-1.0.3.orig/debian/changelog
++++ libnih-1.0.3/debian/changelog
+@@ -0,0 +1,213 @@
++libnih (1.0.3-4ubuntu16) raring; urgency=low
++
++  * debian/{libnih1.postinst,libnih-dbus1.postinst}: Force an upgrade to
++    restart Upstart (to pick up new package version) if the running
++    instance supports it.
++  * Merge of important fixes from lp:~upstart-devel/libnih/nih
++    (LP: #776532, LP: #777097, LP: #834813, LP: #1123588).
++
++ -- James Hunt <james.hunt@ubuntu.com>  Thu, 14 Mar 2013 09:14:22 +0000
++
++libnih (1.0.3-4ubuntu15) raring; urgency=low
++
++  * Enable cross-building, sans adding :native build-dependencies.
++    See comments in debian/control.
++  * Lintian fixes.
++
++ -- Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com>  Tue, 08 Jan 2013 15:38:58 +0000
++
++libnih (1.0.3-4ubuntu14) raring; urgency=low
++
++  * Update dbus code generator to allow for empty lists for type 'as'.
++    This drops the != NULL check for NULL terminated arrays and moves the
++    iteration loop inside an 'if' statement.
++
++ -- Stéphane Graber <stgraber@ubuntu.com>  Thu, 13 Dec 2012 10:00:27 -0500
++
++libnih (1.0.3-4ubuntu13) raring; urgency=low
++
++  [ Petr Lautrbach <plautrba@redhat.com>, Dmitrijs Ledkovs ]
++  * Fallback to lstat, if dirent.d_type is not available (not portable)
++    (LP: #672643) (Closes: #695604)
++
++ -- Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com>  Tue, 11 Dec 2012 17:26:52 +0000
++
++libnih (1.0.3-4ubuntu12) raring; urgency=low
++
++  * nih/logging.c: Use our own __nih_abort_msg rather than the (e)glibc
++    private symbol __abort_msg to avoid upgrade issues (LP: #997359).
++  * nih/tests/test_logging.c: Update tests for __nih_abort_msg.
++
++ -- James Hunt <james.hunt@ubuntu.com>  Thu, 25 Oct 2012 10:57:30 +0100
++
++libnih (1.0.3-4ubuntu11) quantal; urgency=low
++
++  * Addition of debian/libnih-dbus1.postinst and
++    debian/libnih1.postinst to force Upstart re-exec on shutdown
++    to avoid unmounting disks uncleanly (LP: #740390).
++
++ -- James Hunt <james.hunt@ubuntu.com>  Wed, 03 Oct 2012 16:49:40 +0100
++
++libnih (1.0.3-4ubuntu10) quantal; urgency=low
++
++  * Update config.guess,sub for aarch64
++
++ -- Wookey <wookey@wookware.org>  Mon, 01 Oct 2012 12:57:05 +0100
++
++libnih (1.0.3-4ubuntu9) precise; urgency=low
++
++  * Mark the nih-dbus-tool package Multi-Arch: foreign so it can be used as
++    a build-dependency of upstart when cross-building.
++
++ -- Steve Langasek <steve.langasek@ubuntu.com>  Wed, 15 Feb 2012 22:57:50 -0800
++
++libnih (1.0.3-4ubuntu8) precise; urgency=low
++
++  * libnih1 needs a versioned Pre-Depend on libc6 instead of just a Depend,
++    because libc6 itself uses runlevel from the upstart package in its
++    preinst, which in turn uses libnih1, which needs to be loadable (i.e.,
++    its symbol references resolve).  We therefore need to ensure that
++    libnih1's dependencies are always unpacked before libnih1 itself is
++    unpacked.  While having something further up the stack (such as upstart,
++    or something on top of upstart) being marked Essential: yes and with the
++    necessary pre-depends would let apt handle this for us with its
++    "immediate configuration" support, but for various reasons we don't want
++    to make upstart essential.  LP: #508083.
++
++ -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 10 Feb 2012 12:13:25 -0800
++
++libnih (1.0.3-4ubuntu7) precise; urgency=low
++
++  * Relax dependency on libc6.
++
++ -- Matthias Klose <doko@ubuntu.com>  Wed, 08 Feb 2012 23:43:21 +0100
++
++libnih (1.0.3-4ubuntu6) precise; urgency=low
++
++  * Rebuild with libc6-dev (>= 2.15~).
++
++ -- Matthias Klose <doko@ubuntu.com>  Wed, 08 Feb 2012 21:48:57 +0100
++
++libnih (1.0.3-4ubuntu5) precise; urgency=low
++
++  * Mark libnih-dev and libnih-dbus-dev Multi-Arch: same as well.
++
++ -- Steve Langasek <steve.langasek@ubuntu.com>  Sun, 06 Nov 2011 14:45:07 -0800
++
++libnih (1.0.3-4ubuntu4) precise; urgency=low
++
++  * Make libnih1 and libnih-dbus1 installable using multi-arch.
++
++ -- James Hunt <james.hunt@ubuntu.com>  Tue, 01 Nov 2011 14:25:09 -0400
++
++libnih (1.0.3-4ubuntu3) precise; urgency=low
++
++  * Build to install with eglibc-2.15.
++
++ -- Matthias Klose <doko@ubuntu.com>  Fri, 14 Oct 2011 14:05:03 +0200
++
++libnih (1.0.3-4ubuntu2) oneiric; urgency=low
++
++  * Use dpkg-buildflags to get the build flags.
++  * Build with the default build flags, don't hard-code -Os. LP: #791315.
++
++ -- Matthias Klose <doko@ubuntu.com>  Wed, 15 Jun 2011 16:45:42 +0200
++
++libnih (1.0.3-4ubuntu1) oneiric; urgency=low
++
++  * Merge from debian unstable. Retained Ubuntu Build-Depends and Priority.
++
++ -- James Hunt <james.hunt@ubuntu.com>  Mon, 23 May 2011 19:28:19 +0100
++
++libnih (1.0.3-1ubuntu1) natty; urgency=low
++
++  * Rebuild with libc6-dev (>= 2.13~).
++
++ -- Matthias Klose <doko@ubuntu.com>  Fri, 18 Feb 2011 12:09:29 +0100
++
++libnih (1.0.3-1) natty; urgency=low
++
++  * New upstream release:
++    - Added support for passing file descriptors over D-Bus to nih-dbus-tool
++
++ -- Scott James Remnant <scott@ubuntu.com>  Thu, 23 Dec 2010 22:28:24 +0000
++
++libnih (1.0.2-2) natty; urgency=low
++
++  * Revert the previous upload.  It is never acceptable to simply disable
++    tests, especially when it turns out that the test that was disabled
++    was failing because there was a serious bug that could cause kernel
++    panics for people on boot.
++
++    Test suites are here for a reason.
++
++  * Bumped libdbus Build-Dependency to the version with the bug fix that
++    caused the test suite to fail.
++
++ -- Scott James Remnant <scott@ubuntu.com>  Wed, 08 Dec 2010 19:40:15 +0000
++
++libnih (1.0.2-1ubuntu3) natty; urgency=low
++
++  * Disable some tests on ppc64 to build an initial package.
++
++ -- Matthias Klose <doko@ubuntu.com>  Thu, 18 Nov 2010 10:59:38 +0100
++
++libnih (1.0.2-1ubuntu2) maverick; urgency=low
++
++  * Re-add -fPIE to the testsuite on armel, removing all armel-specific tests;
++    current gcc-4.4 don't seem affected by the ICE anymore (see LP #398403).
++
++ -- Loïc Minier <loic.minier@linaro.org>  Mon, 23 Aug 2010 10:25:31 +0200
++
++libnih (1.0.2-1ubuntu1) maverick; urgency=low
++
++  * Rebuild with libc6-dev (>= 2.12~), after checking that
++    __abort_msg is available with the same signature in eglibc 2.12.
++  * Don't build the testsuite with -fPIE on armel; LP: #398403.
++
++ -- Matthias Klose <doko@ubuntu.com>  Sun, 30 May 2010 02:54:56 +0200
++
++libnih (1.0.2-1) maverick; urgency=low
++
++  * New upstream release:
++    - Rename AC_COPYRIGHT to NIH_COPYRIGHT to avoid conflict with other
++      packages.
++    - Add serial to libnih.m4
++    - Add NIH_WITH_LOCAL_LIBNIH macro.
++
++  * Fix use of ${Source-Version} to be ${binary:Version}
++  * Add debian/source/format with "1.0" to be future compatible.
++  * Bump standards version.
++
++ -- Scott James Remnant <scott@ubuntu.com>  Tue, 27 Apr 2010 10:49:55 -0700
++
++libnih (1.0.1-1) lucid; urgency=low
++
++  * New upstream release:
++    - Add missing __nih_* symbols to linker version script so that we
++      can link Upstart's test suite.
++    - Glibc __abort_msg symbol now only linked as a weak symbol.
++
++ -- Scott James Remnant <scott@ubuntu.com>  Thu, 04 Feb 2010 14:53:26 -0800
++
++libnih (1.0.0-2build1) lucid; urgency=low
++
++  * Rebuild to pick up relaxed dependency on libc6, after checking that
++    __abort_msg is available with the same signature in eglibc 2.11.
++    LP: #508702.
++
++ -- Matthias Klose <doko@ubuntu.com>  Mon, 18 Jan 2010 16:09:13 +0100
++
++libnih (1.0.0-2) lucid; urgency=low
++
++  * debian/control: Add build-dependency on dbus so the test suite can
++    pass on the buildds.
++
++ -- Scott James Remnant <scott@ubuntu.com>  Sat, 28 Nov 2009 23:28:27 +0000
++
++libnih (1.0.0-1) lucid; urgency=low
++
++  * First upstream release.  Previously this code was included in the
++    upstart, mountall and ureadahead source packages.
++
++ -- Scott James Remnant <scott@ubuntu.com>  Sat, 28 Nov 2009 21:14:00 +0000
+--- libnih-1.0.3.orig/debian/source/format
++++ libnih-1.0.3/debian/source/format
+@@ -0,0 +1 @@
++1.0
+--- libnih-1.0.3.orig/nih-dbus/dbus_proxy.h
++++ libnih-1.0.3/nih-dbus/dbus_proxy.h
+@@ -146,14 +146,14 @@
+ 					    const char *name, const char *path,
+ 					    NihDBusLostHandler lost_handler,
+ 					    void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NihDBusProxySignal *nih_dbus_proxy_connect (NihDBusProxy *proxy,
+ 					    const NihDBusInterface *interface,
+ 					    const char *name,
+ 					    NihDBusSignalHandler handler,
+ 					    void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus/dbus_object.h
++++ libnih-1.0.3/nih-dbus/dbus_object.h
+@@ -61,8 +61,7 @@
+ 				    DBusConnection *connection,
+ 				    const char *path,
+ 				    const NihDBusInterface **interfaces,
+-				    void *data)
+-	__attribute__ ((malloc));
++				    void *data);
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus/dbus_util.h
++++ libnih-1.0.3/nih-dbus/dbus_util.h
+@@ -26,7 +26,7 @@
+ NIH_BEGIN_EXTERN
+ 
+ char *nih_dbus_path (const void *parent, const char *root, ...)
+-	__attribute__ ((sentinel, warn_unused_result, malloc));
++	__attribute__ ((sentinel, warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus/dbus_pending_data.h
++++ libnih-1.0.3/nih-dbus/dbus_pending_data.h
+@@ -104,7 +104,7 @@
+ 					       NihDBusReplyHandler handler,
+ 					       NihDBusErrorHandler error_handler,
+ 					       void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus/dbus_proxy.c
++++ libnih-1.0.3/nih-dbus/dbus_proxy.c
+@@ -46,11 +46,11 @@
+ 	__attribute__ ((warn_unused_result));
+ static char *nih_dbus_proxy_name_rule         (const void *parent,
+ 					       NihDBusProxy *proxy)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ static int   nih_dbus_proxy_signal_destroy    (NihDBusProxySignal *proxied);
+ static char *nih_dbus_proxy_signal_rule       (const void *parent,
+ 					       NihDBusProxySignal *proxied)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ /* Prototypes for handler functions */
+ static DBusHandlerResult nih_dbus_proxy_name_owner_changed (DBusConnection *connection,
+--- libnih-1.0.3.orig/nih-dbus-tool/symbol.c
++++ libnih-1.0.3/nih-dbus-tool/symbol.c
+@@ -40,10 +40,10 @@
+ /* Prototypes for static functions */
+ static char *symbol_strcat_interface (char **str, const void *parent,
+ 				      const char *format, ...)
+-	__attribute__ ((format (printf, 3, 4), warn_unused_result, malloc));
++	__attribute__ ((format (printf, 3, 4), warn_unused_result));
+ static char *symbol_strcat_title     (char **str, const void *parent,
+ 				      const char *format, ...)
+-	__attribute__ ((format (printf, 3, 4), warn_unused_result, malloc));
++	__attribute__ ((format (printf, 3, 4), warn_unused_result));
+ 
+ 
+ /**
+--- libnih-1.0.3.orig/nih-dbus-tool/demarshal.h
++++ libnih-1.0.3/nih-dbus-tool/demarshal.h
+@@ -37,7 +37,7 @@
+ 		 const char *prefix, const char *interface_symbol,
+ 		 const char *member_symbol, const char *symbol,
+ 		 NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/symbol.h
++++ libnih-1.0.3/nih-dbus-tool/symbol.h
+@@ -28,22 +28,22 @@
+ int   symbol_valid     (const char *symbol);
+ 
+ char *symbol_from_name (const void *parent, const char *name)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *symbol_impl      (const void *parent, const char *prefix,
+ 			const char *interface_name, const char *name,
+ 			const char *postfix)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *symbol_extern    (const void *parent, const char *prefix,
+ 			const char *interface_symbol, const char *midfix,
+ 			const char *symbol, const char *postfix)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *symbol_typedef   (const void *parent, const char *prefix,
+ 			const char *interface_symbol, const char *midfix,
+ 			const char *symbol, const char *postfix)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/output.h
++++ libnih-1.0.3/nih-dbus-tool/output.h
+@@ -35,9 +35,9 @@
+ 	__attribute__ ((warn_unused_result));
+ 
+ char *output_preamble (const void *parent, const char *path)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *output_sentinel (const void *parent, const char *path)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/parse.h
++++ libnih-1.0.3/nih-dbus-tool/parse.h
+@@ -95,7 +95,7 @@
+ 
+ ParseStack *parse_stack_push (const void *parent, NihList *stack,
+ 			      ParseStackType type, void *data)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ ParseStack *parse_stack_top  (NihList *stack);
+ 
+ void        parse_start_tag  (XML_Parser xmlp, const char *tag,
+@@ -103,7 +103,7 @@
+ void        parse_end_tag    (XML_Parser xmlp, const char *tag);
+ 
+ Node *      parse_xml        (const void *parent, int fd, const char *filename)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/type.h
++++ libnih-1.0.3/nih-dbus-tool/type.h
+@@ -94,43 +94,43 @@
+ 
+ char *      type_of               (const void * parent,
+ 				   DBusSignatureIter *iter)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ TypeVar *   type_var_new          (const void *parent, const char *type,
+ 				   const char *name)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *      type_var_to_string    (const void *parent, TypeVar *var)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *      type_var_layout       (const void *parent, NihList *vars)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ TypeFunc *  type_func_new         (const void *parent, const char *type,
+ 				   const char *name)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *      type_func_to_string   (const void *parent, TypeFunc *func)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *      type_func_to_typedef  (const void *parent, TypeFunc *func)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *      type_func_layout      (const void *parent, NihList *funcs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ TypeStruct *type_struct_new       (const void *parent, const char *name)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *      type_struct_to_string (const void *parent, TypeStruct *structure)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *      type_to_const         (char **type, const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *      type_to_pointer       (char **type, const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *      type_to_static        (char **type, const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *      type_to_extern        (char **type, const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *      type_strcat_assert    (char **block, const void *parent,
+ 				   TypeVar *var, TypeVar *prev, TypeVar *next)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/argument.h
++++ libnih-1.0.3/nih-dbus-tool/argument.h
+@@ -61,7 +61,7 @@
+ 
+ Argument *argument_new        (const void *parent, const char *name,
+ 			       const char *type, NihDBusArgDir direction)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int       argument_start_tag  (XML_Parser xmlp, const char *tag,
+ 			       char * const *attr)
+--- libnih-1.0.3.orig/nih-dbus-tool/indent.h
++++ libnih-1.0.3/nih-dbus-tool/indent.h
+@@ -26,9 +26,9 @@
+ NIH_BEGIN_EXTERN
+ 
+ char *indent  (char **str, const void *parent, int level)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *comment (char **str, const void *parent)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/main.c
++++ libnih-1.0.3/nih-dbus-tool/main.c
+@@ -52,10 +52,10 @@
+ /* Prototypes for local functions */
+ char *source_file_path (const void *parent, const char *output_path,
+ 			const char *filename)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *header_file_path (const void *parent, const char *output_path,
+ 			const char *filename)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ 
+ /**
+--- libnih-1.0.3.orig/nih-dbus-tool/signal.h
++++ libnih-1.0.3/nih-dbus-tool/signal.h
+@@ -58,7 +58,7 @@
+ int       signal_name_valid      (const char *name);
+ 
+ Signal *  signal_new             (const void *parent, const char *name)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int       signal_start_tag       (XML_Parser xmlp, const char *tag,
+ 				  char * const *attr)
+@@ -76,18 +76,18 @@
+ char *    signal_object_function (const void *parent, const char *prefix,
+ 				  Interface *interface, Signal *signal,
+ 				  NihList *prototypes, NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    signal_proxy_function  (const void *parent, const char *prefix,
+ 				  Interface *interface, Signal *signal,
+ 				  NihList *prototypes, NihList *typedefs,
+ 				  NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    signal_args_array      (const void *parent, const char *prefix,
+ 				  Interface *interface, Signal *signal,
+ 				  NihList *prototypes)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/marshal.c
++++ libnih-1.0.3/nih-dbus-tool/marshal.c
+@@ -49,7 +49,7 @@
+ 			     const char *prefix, const char *interface_symbol,
+ 			     const char *member_symbol, const char *symbol,
+ 			     NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ static char *marshal_array  (const void *parent,
+ 			     DBusSignatureIter *iter,
+ 			     const char *iter_name, const char *name,
+@@ -58,7 +58,7 @@
+ 			     const char *prefix, const char *interface_symbol,
+ 			     const char *member_symbol, const char *symbol,
+ 			     NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ static char *marshal_struct (const void *parent,
+ 			     DBusSignatureIter *iter,
+ 			     const char *iter_name, const char *name,
+@@ -67,7 +67,7 @@
+ 			     const char *prefix, const char *interface_symbol,
+ 			     const char *member_symbol, const char *symbol,
+ 			     NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ 
+ /**
+@@ -364,6 +364,7 @@
+ 	nih_local TypeVar *element_len_var = NULL;
+ 	nih_local char *   block = NULL;
+ 	nih_local char *   vars_block = NULL;
++	nih_local char *   loop_block = NULL;
+ 
+ 	nih_assert (iter != NULL);
+ 	nih_assert (iter_name != NULL);
+@@ -448,7 +449,7 @@
+ 	nih_list_add (locals, &array_iter_var->entry);
+ 
+ 	if (dbus_type_is_fixed (element_type)) {
+-		if (! nih_strcat_sprintf (&code, parent,
++		if (! nih_strcat_sprintf (&loop_block, parent,
+ 					  "for (size_t %s = 0; %s < %s; %s++) {\n",
+ 					  loop_name, loop_name, len_name, loop_name)) {
+ 			nih_free (code);
+@@ -456,6 +457,12 @@
+ 		}
+ 	} else {
+ 		if (! nih_strcat_sprintf (&code, parent,
++					  "if (%s) {\n",
++					  name)) {
++			nih_free (code);
++			return NULL;
++		}
++		if (! nih_strcat_sprintf (&loop_block, parent,
+ 					  "for (size_t %s = 0; %s[%s]; %s++) {\n",
+ 					  loop_name, name, loop_name, loop_name)) {
+ 			nih_free (code);
+@@ -576,7 +583,7 @@
+ 	}
+ 
+ 
+-	if (! nih_strcat_sprintf (&code, parent,
++	if (! nih_strcat_sprintf (&loop_block, parent,
+ 			   "%s"
+ 			   "\n"
+ 			   "%s"
+@@ -590,9 +597,34 @@
+ 	}
+ 
+ 	/* Close the container again */
++	if (! nih_strcat_sprintf (&loop_block, parent,
++				  "}\n")) {
++		nih_free (code);
++		return NULL;
++	}
++
++	if (dbus_type_is_fixed (element_type)) {
++		if (! nih_strcat_sprintf (&code, parent,
++				 "%s\n", loop_block)) {
++			nih_free (code);
++			return NULL;
++		}
++	}
++	else {
++		if (! indent (&loop_block, NULL, 1)) {
++			nih_free (code);
++			return NULL;
++		}
++
++		if (! nih_strcat_sprintf (&code, parent,
++				 "%s"
++				 "}\n\n", loop_block)) {
++			nih_free (code);
++			return NULL;
++		}
++	}
++
+ 	if (! nih_strcat_sprintf (&code, parent,
+-				  "}\n"
+-				  "\n"
+ 				  "if (! dbus_message_iter_close_container (&%s, &%s)) {\n"
+ 				  "%s"
+ 				  "}\n",
+--- libnih-1.0.3.orig/nih-dbus-tool/demarshal.c
++++ libnih-1.0.3/nih-dbus-tool/demarshal.c
+@@ -51,7 +51,7 @@
+ 			       const char *prefix, const char *interface_symbol,
+ 			       const char *member_symbol, const char *symbol,
+ 			       NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ static char *demarshal_array  (const void *parent,
+ 			       DBusSignatureIter *iter,
+ 			       const char *parent_name,
+@@ -62,7 +62,7 @@
+ 			       const char *prefix, const char *interface_symbol,
+ 			       const char *member_symbol, const char *symbol,
+ 			       NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ static char *demarshal_struct (const void *parent,
+ 			       DBusSignatureIter *iter,
+ 			       const char *parent_name,
+@@ -73,7 +73,7 @@
+ 			       const char *prefix, const char *interface_symbol,
+ 			       const char *member_symbol, const char *symbol,
+ 			       NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ 
+ /**
+--- libnih-1.0.3.orig/nih-dbus-tool/interface.h
++++ libnih-1.0.3/nih-dbus-tool/interface.h
+@@ -61,7 +61,7 @@
+ 
+ Interface *interface_new                           (const void *parent,
+ 						    const char *name)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int        interface_start_tag                     (XML_Parser xmlp,
+ 						    const char *tag,
+@@ -81,26 +81,26 @@
+ 						    Interface *interface,
+ 						    int with_handlers,
+ 						    NihList *prototypes)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *     interface_signals_array                 (const void *parent,
+ 						    const char *prefix,
+ 						    Interface *interface,
+ 						    int with_filters,
+ 						    NihList *prototypes)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *     interface_properties_array              (const void *parent,
+ 						    const char *prefix,
+ 						    Interface *interface,
+ 						    int with_handlers,
+ 						    NihList *prototypes)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *     interface_struct                        (const void *parent,
+ 						    const char *prefix,
+ 						    Interface *interface,
+ 						    int object,
+ 						    NihList *prototypes)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ 
+ char *     interface_proxy_get_all_function        (const void *parent,
+@@ -108,7 +108,7 @@
+ 						    Interface *interface,
+ 						    NihList *prototypes,
+ 						    NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *     interface_proxy_get_all_notify_function (const void *parent,
+ 						    const char *prefix,
+@@ -116,14 +116,14 @@
+ 						    NihList *prototypes,
+ 						    NihList *typedefs,
+ 						    NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *     interface_proxy_get_all_sync_function   (const void *parent,
+ 						    const char *prefix,
+ 						    Interface *interface,
+ 						    NihList *prototypes,
+ 						    NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/method.h
++++ libnih-1.0.3/nih-dbus-tool/method.h
+@@ -62,7 +62,7 @@
+ int       method_name_valid            (const char *name);
+ 
+ Method *  method_new                   (const void *parent, const char *name)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int       method_start_tag             (XML_Parser xmlp, const char *tag,
+ 					char * const *attr)
+@@ -82,33 +82,33 @@
+ 					Interface *interface, Method *method,
+ 					NihList *prototypes, NihList *handlers,
+ 					NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    method_reply_function        (const void *parent, const char *prefix,
+ 					Interface *interface, Method *method,
+ 					NihList *prototypes, NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    method_proxy_function        (const void *parent, const char *prefix,
+ 					Interface *interface, Method *method,
+ 					NihList *prototypes, NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    method_proxy_notify_function (const void *parent, const char *prefix,
+ 					Interface *interface, Method *method,
+ 					NihList *prototypes, NihList *typedefs,
+ 					NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    method_proxy_sync_function   (const void *parent, const char *prefix,
+ 					Interface *interface, Method *method,
+ 					NihList *prototypes, NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    method_args_array            (const void *parent, const char *prefix,
+ 					Interface *interface, Method *method,
+ 					NihList *prototypes)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/node.h
++++ libnih-1.0.3/nih-dbus-tool/node.h
+@@ -47,7 +47,7 @@
+ int        node_path_valid       (const char *name);
+ 
+ Node *     node_new              (const void *parent, const char *path)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int        node_start_tag        (XML_Parser xmlp, const char *tag,
+ 				  char * const *attr)
+@@ -59,18 +59,18 @@
+ 
+ char *     node_interfaces_array (const void *parent, const char *prefix,
+ 				  Node *node, int object, NihList *prototypes)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *     node_object_functions (const void *parent, const char *prefix,
+ 				  Node *node,
+ 				  NihList *prototypes, NihList *handlers,
+ 				  NihList *structs, NihList *externs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *     node_proxy_functions  (const void *parent, const char *prefix,
+ 				  Node *node,
+ 				  NihList *prototypes, NihList *structs,
+ 				  NihList *typedefs, NihList *externs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/marshal.h
++++ libnih-1.0.3/nih-dbus-tool/marshal.h
+@@ -35,7 +35,7 @@
+ 	       const char *prefix, const char *interface_symbol,
+ 	       const char *member_symbol, const char *symbol,
+ 	       NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/type.c
++++ libnih-1.0.3/nih-dbus-tool/type.c
+@@ -1101,7 +1101,7 @@
+ 	nih_assert (block != NULL);
+ 	nih_assert (var != NULL);
+ 
+-	if (! strchr (var->type, '*'))
++	if (! strchr (var->type, '*') || ! strcmp (var->type, "char * const *"))
+ 		return *block;
+ 
+ 	if (next && (! strcmp (next->type, "size_t"))) {
+--- libnih-1.0.3.orig/nih-dbus-tool/property.h
++++ libnih-1.0.3/nih-dbus-tool/property.h
+@@ -65,7 +65,7 @@
+ 					      const char *name,
+ 					      const char *type,
+ 					      NihDBusAccess access)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ int       property_start_tag                 (XML_Parser xmlp, const char *tag,
+ 					      char * const *attr)
+@@ -88,7 +88,7 @@
+ 					      NihList *prototypes,
+ 					      NihList *handlers,
+ 					      NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *    property_object_set_function       (const void *parent,
+ 					      const char *prefix,
+ 					      Interface *interface,
+@@ -96,7 +96,7 @@
+ 					      NihList *prototypes,
+ 					      NihList *handlers,
+ 					      NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    property_proxy_get_function        (const void *parent,
+ 					      const char *prefix,
+@@ -104,7 +104,7 @@
+ 					      Property *property,
+ 					      NihList *prototypes,
+ 					      NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *    property_proxy_get_notify_function (const void *parent,
+ 					      const char *prefix,
+ 					      Interface *interface,
+@@ -112,7 +112,7 @@
+ 					      NihList *prototypes,
+ 					      NihList *typedefs,
+ 					      NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    property_proxy_set_function        (const void *parent,
+ 					      const char *prefix,
+@@ -120,7 +120,7 @@
+ 					      Property *property,
+ 					      NihList *prototypes,
+ 					      NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *    property_proxy_set_notify_function (const void *parent,
+ 					      const char *prefix,
+ 					      Interface *interface,
+@@ -128,7 +128,7 @@
+ 					      NihList *prototypes,
+ 					      NihList *typedefs,
+ 					      NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ char *    property_proxy_get_sync_function   (const void *parent,
+ 					      const char *prefix,
+@@ -136,14 +136,14 @@
+ 					      Property *property,
+ 					      NihList *prototypes,
+ 					      NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ char *    property_proxy_set_sync_function   (const void *parent,
+ 					      const char *prefix,
+ 					      Interface *interface,
+ 					      Property *property,
+ 					      NihList *prototypes,
+ 					      NihList *structs)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ NIH_END_EXTERN
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/tests/test_main.c
++++ libnih-1.0.3/nih-dbus-tool/tests/test_main.c
+@@ -100,10 +100,10 @@
+ 
+ extern char *source_file_path (const void *parent, const char *output_path,
+ 			       const char *filename)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ extern char *header_file_path (const void *parent, const char *output_path,
+ 			       const char *filename)
+-	__attribute__ ((warn_unused_result, malloc));
++	__attribute__ ((warn_unused_result));
+ 
+ void
+ test_source_file_path (void)
+--- libnih-1.0.3.orig/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_object.c
++++ libnih-1.0.3/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_object.c
+@@ -12524,6 +12524,7 @@
+ 		dbus_message_iter_init (reply, &iter);
+ 
+ 		dbus_message_iter_get_basic (&iter, &str_value);
++		TEST_NE (str_value[0], '\0');
+ 		TEST_TRUE (strchr ("0123456789", str_value[0]));
+ 
+ 		dbus_message_unref (reply);
+--- libnih-1.0.3.orig/nih-dbus-tool/tests/test_marshal.c
++++ libnih-1.0.3/nih-dbus-tool/tests/test_marshal.c
+@@ -1479,39 +1479,41 @@
+ 				   "\treturn -1;\n"
+ 				   "}\n"
+ 				   "\n"
+-				   "for (size_t value_i = 0; value[value_i]; value_i++) {\n"
+-				   "\tDBusMessageIter value_element_iter;\n"
+-				   "\tconst int16_t * value_element;\n"
+-				   "\tsize_t          value_element_len;\n"
++				   "if (value) {\n"
++				   "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n"
++				   "\t\tDBusMessageIter value_element_iter;\n"
++				   "\t\tconst int16_t * value_element;\n"
++				   "\t\tsize_t          value_element_len;\n"
+ 				   "\n"
+-				   "\tvalue_element = value[value_i];\n"
+-				   "\tvalue_element_len = value_len[value_i];\n"
++				   "\t\tvalue_element = value[value_i];\n"
++				   "\t\tvalue_element_len = value_len[value_i];\n"
+ 				   "\n"
+ 
+-				   "\t/* Marshal an array onto the message */\n"
+-				   "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"n\", &value_element_iter)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
+-				   "\t}\n"
++				   "\t\t/* Marshal an array onto the message */\n"
++				   "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"n\", &value_element_iter)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\n"
+-				   "\tfor (size_t value_element_i = 0; value_element_i < value_element_len; value_element_i++) {\n"
+-				   "\t\tint16_t value_element_element;\n"
++				   "\t\tfor (size_t value_element_i = 0; value_element_i < value_element_len; value_element_i++) {\n"
++				   "\t\t\tint16_t value_element_element;\n"
+ 				   "\n"
+-				   "\t\tvalue_element_element = value_element[value_element_i];\n"
++				   "\t\t\tvalue_element_element = value_element[value_element_i];\n"
+ 				   "\n"
+-				   "\t\t/* Marshal a int16_t onto the message */\n"
+-				   "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_INT16, &value_element_element)) {\n"
+-				   "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
++				   "\t\t\t/* Marshal a int16_t onto the message */\n"
++				   "\t\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_INT16, &value_element_element)) {\n"
++				   "\t\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
++				   "\t\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\t\treturn -1;\n"
++				   "\t\t\t}\n"
++				   "\t\t}\n"
++				   "\n"
++				   "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
+ 				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+ 				   "\t\t\treturn -1;\n"
+ 				   "\t\t}\n"
+-				   "\t}\n"
+-				   "\n"
+-				   "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
+-				   "\t}\n"
+ 
++				   "\t}\n"
+ 				   "}\n"
+ 				   "\n"
+ 				   "if (! dbus_message_iter_close_container (&iter, &value_iter)) {\n"
+@@ -1766,15 +1768,17 @@
+ 				   "\treturn -1;\n"
+ 				   "}\n"
+ 				   "\n"
+-				   "for (size_t value_i = 0; value[value_i]; value_i++) {\n"
+-				   "\tconst char *value_element;\n"
++				   "if (value) {\n"
++				   "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n"
++				   "\t\tconst char *value_element;\n"
+ 				   "\n"
+-				   "\tvalue_element = value[value_i];\n"
++				   "\t\tvalue_element = value[value_i];\n"
+ 				   "\n"
+-				   "\t/* Marshal a char * onto the message */\n"
+-				   "\tif (! dbus_message_iter_append_basic (&value_iter, DBUS_TYPE_STRING, &value_element)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
++				   "\t\t/* Marshal a char * onto the message */\n"
++				   "\t\tif (! dbus_message_iter_append_basic (&value_iter, DBUS_TYPE_STRING, &value_element)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\t}\n"
+ 				   "}\n"
+ 				   "\n"
+@@ -1933,35 +1937,39 @@
+ 				   "\treturn -1;\n"
+ 				   "}\n"
+ 				   "\n"
+-				   "for (size_t value_i = 0; value[value_i]; value_i++) {\n"
+-				   "\tDBusMessageIter value_element_iter;\n"
+-				   "\tchar * const *  value_element;\n"
++				   "if (value) {\n"
++				   "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n"
++				   "\t\tDBusMessageIter value_element_iter;\n"
++				   "\t\tchar * const *  value_element;\n"
+ 				   "\n"
+-				   "\tvalue_element = value[value_i];\n"
++				   "\t\tvalue_element = value[value_i];\n"
+ 				   "\n"
+-				   "\t/* Marshal an array onto the message */\n"
+-				   "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"s\", &value_element_iter)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
+-				   "\t}\n"
+-				   "\n"
+-				   "\tfor (size_t value_element_i = 0; value_element[value_element_i]; value_element_i++) {\n"
+-				   "\t\tconst char *value_element_element;\n"
++				   "\t\t/* Marshal an array onto the message */\n"
++				   "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_ARRAY, \"s\", &value_element_iter)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\n"
+-				   "\t\tvalue_element_element = value_element[value_element_i];\n"
++				   "\t\tif (value_element) {\n"
++				   "\t\t\tfor (size_t value_element_i = 0; value_element[value_element_i]; value_element_i++) {\n"
++				   "\t\t\t\tconst char *value_element_element;\n"
++				   "\n"
++				   "\t\t\t\tvalue_element_element = value_element[value_element_i];\n"
++				   "\n"
++				   "\t\t\t\t/* Marshal a char * onto the message */\n"
++				   "\t\t\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_element)) {\n"
++				   "\t\t\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
++				   "\t\t\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\t\t\treturn -1;\n"
++				   "\t\t\t\t}\n"
++				   "\t\t\t}\n"
++				   "\t\t}\n"
+ 				   "\n"
+-				   "\t\t/* Marshal a char * onto the message */\n"
+-				   "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_element)) {\n"
+-				   "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
++				   "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
+ 				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+ 				   "\t\t\treturn -1;\n"
+ 				   "\t\t}\n"
+ 				   "\t}\n"
+-				   "\n"
+-				   "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
+-				   "\t}\n"
+ 				   "}\n"
+ 				   "\n"
+ 				   "if (! dbus_message_iter_close_container (&iter, &value_iter)) {\n"
+@@ -2194,16 +2202,18 @@
+ 				   "\treturn -1;\n"
+ 				   "}\n"
+ 				   "\n"
+-				   "for (size_t value_item2_i = 0; value_item2[value_item2_i]; value_item2_i++) {\n"
+-				   "\tconst char *value_item2_element;\n"
++				   "if (value_item2) {\n"
++				   "\tfor (size_t value_item2_i = 0; value_item2[value_item2_i]; value_item2_i++) {\n"
++				   "\t\tconst char *value_item2_element;\n"
+ 				   "\n"
+-				   "\tvalue_item2_element = value_item2[value_item2_i];\n"
++				   "\t\tvalue_item2_element = value_item2[value_item2_i];\n"
+ 				   "\n"
+-				   "\t/* Marshal a char * onto the message */\n"
+-				   "\tif (! dbus_message_iter_append_basic (&value_item2_iter, DBUS_TYPE_STRING, &value_item2_element)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&value_iter, &value_item2_iter);\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
++				   "\t\t/* Marshal a char * onto the message */\n"
++				   "\t\tif (! dbus_message_iter_append_basic (&value_item2_iter, DBUS_TYPE_STRING, &value_item2_element)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_item2_iter);\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\t}\n"
+ 				   "}\n"
+ 				   "\n"
+@@ -2642,41 +2652,43 @@
+ 				   "\treturn -1;\n"
+ 				   "}\n"
+ 				   "\n"
+-				   "for (size_t value_i = 0; value[value_i]; value_i++) {\n"
+-				   "\tDBusMessageIter                  value_element_iter;\n"
+-				   "\tconst char *                     value_element_item0;\n"
+-				   "\tuint32_t                         value_element_item1;\n"
+-				   "\tconst MyStructArrayValueElement *value_element;\n"
++				   "if (value) {\n"
++				   "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n"
++				   "\t\tDBusMessageIter                  value_element_iter;\n"
++				   "\t\tconst char *                     value_element_item0;\n"
++				   "\t\tuint32_t                         value_element_item1;\n"
++				   "\t\tconst MyStructArrayValueElement *value_element;\n"
+ 				   "\n"
+-				   "\tvalue_element = value[value_i];\n"
++				   "\t\tvalue_element = value[value_i];\n"
+ 				   "\n"
+-				   "\t/* Marshal a structure onto the message */\n"
+-				   "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_STRUCT, NULL, &value_element_iter)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
+-				   "\t}\n"
++				   "\t\t/* Marshal a structure onto the message */\n"
++				   "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_STRUCT, NULL, &value_element_iter)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\n"
+-				   "\tvalue_element_item0 = value_element->item0;\n"
++				   "\t\tvalue_element_item0 = value_element->item0;\n"
+ 				   "\n"
+-				   "\t/* Marshal a char * onto the message */\n"
+-				   "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
+-				   "\t}\n"
++				   "\t\t/* Marshal a char * onto the message */\n"
++				   "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\n"
+-				   "\tvalue_element_item1 = value_element->item1;\n"
++				   "\t\tvalue_element_item1 = value_element->item1;\n"
+ 				   "\n"
+-				   "\t/* Marshal a uint32_t onto the message */\n"
+-				   "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
+-				   "\t}\n"
++				   "\t\t/* Marshal a uint32_t onto the message */\n"
++				   "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\n"
+-				   "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
++				   "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\t}\n"
+ 				   "}\n"
+ 				   "\n"
+@@ -2912,41 +2924,43 @@
+ 				   "\treturn -1;\n"
+ 				   "}\n"
+ 				   "\n"
+-				   "for (size_t value_i = 0; value[value_i]; value_i++) {\n"
+-				   "\tDBusMessageIter                     value_element_iter;\n"
+-				   "\tconst char *                        value_element_item0;\n"
+-				   "\tuint32_t                            value_element_item1;\n"
+-				   "\tconst MyDictEntryArrayValueElement *value_element;\n"
++				   "if (value) {\n"
++				   "\tfor (size_t value_i = 0; value[value_i]; value_i++) {\n"
++				   "\t\tDBusMessageIter                     value_element_iter;\n"
++				   "\t\tconst char *                        value_element_item0;\n"
++				   "\t\tuint32_t                            value_element_item1;\n"
++				   "\t\tconst MyDictEntryArrayValueElement *value_element;\n"
+ 				   "\n"
+-				   "\tvalue_element = value[value_i];\n"
++				   "\t\tvalue_element = value[value_i];\n"
+ 				   "\n"
+-				   "\t/* Marshal a structure onto the message */\n"
+-				   "\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_DICT_ENTRY, NULL, &value_element_iter)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
+-				   "\t}\n"
++				   "\t\t/* Marshal a structure onto the message */\n"
++				   "\t\tif (! dbus_message_iter_open_container (&value_iter, DBUS_TYPE_DICT_ENTRY, NULL, &value_element_iter)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\n"
+-				   "\tvalue_element_item0 = value_element->item0;\n"
++				   "\t\tvalue_element_item0 = value_element->item0;\n"
+ 				   "\n"
+-				   "\t/* Marshal a char * onto the message */\n"
+-				   "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
+-				   "\t}\n"
++				   "\t\t/* Marshal a char * onto the message */\n"
++				   "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_STRING, &value_element_item0)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\n"
+-				   "\tvalue_element_item1 = value_element->item1;\n"
++				   "\t\tvalue_element_item1 = value_element->item1;\n"
+ 				   "\n"
+-				   "\t/* Marshal a uint32_t onto the message */\n"
+-				   "\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
+-				   "\t}\n"
++				   "\t\t/* Marshal a uint32_t onto the message */\n"
++				   "\t\tif (! dbus_message_iter_append_basic (&value_element_iter, DBUS_TYPE_UINT32, &value_element_item1)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&value_iter, &value_element_iter);\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\n"
+-				   "\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
+-				   "\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
+-				   "\t\treturn -1;\n"
++				   "\t\tif (! dbus_message_iter_close_container (&value_iter, &value_element_iter)) {\n"
++				   "\t\t\tdbus_message_iter_abandon_container (&iter, &value_iter);\n"
++				   "\t\t\treturn -1;\n"
++				   "\t\t}\n"
+ 				   "\t}\n"
+ 				   "}\n"
+ 				   "\n"
+--- libnih-1.0.3.orig/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_proxy.c
++++ libnih-1.0.3/nih-dbus-tool/tests/test_com.netsplit.Nih.Test_proxy.c
+@@ -27359,6 +27359,7 @@
+ 		TEST_TRUE (unix_fd_to_str_replied);
+ 
+ 		TEST_EQ_P (last_data, parent);
++		TEST_NE (last_str_value[0], '\0');
+ 		TEST_TRUE (strchr ("0123456789", last_str_value[0]));
+ 		TEST_ALLOC_PARENT (last_str_value, parent);
+ 
+@@ -27673,6 +27674,7 @@
+ 
+ 		TEST_EQ (ret, 0);
+ 
++		TEST_NE (str_value[0], '\0');
+ 		TEST_TRUE (strchr ("0123456789", str_value[0]));
+ 		TEST_ALLOC_PARENT (str_value, parent);
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/tests/test_property.c
++++ libnih-1.0.3/nih-dbus-tool/tests/test_property.c
+@@ -8733,7 +8733,7 @@
+ 	TypeVar *       var;
+ 	NihListEntry *  attrib;
+ 	NihDBusProxy *  proxy = NULL;
+-	void *          parent = NULL;
++	void *          parent __attribute__((unused)) = NULL;
+ 	pid_t           pid = -1;
+ 	int             status;
+ 	DBusMessage *   method_call;
+--- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_object_function_standard.c
++++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_object_function_standard.c
+@@ -136,17 +136,19 @@
+ 			goto enomem;
+ 		}
+ 
+-		for (size_t output_i = 0; output[output_i]; output_i++) {
+-			const char *output_element;
++		if (output) {
++			for (size_t output_i = 0; output[output_i]; output_i++) {
++				const char *output_element;
+ 
+-			output_element = output[output_i];
++				output_element = output[output_i];
+ 
+-			/* Marshal a char * onto the message */
+-			if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
+-				dbus_message_iter_abandon_container (&iter, &output_iter);
+-				dbus_message_unref (reply);
+-				reply = NULL;
+-				goto enomem;
++				/* Marshal a char * onto the message */
++				if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
++					dbus_message_iter_abandon_container (&iter, &output_iter);
++					dbus_message_unref (reply);
++					reply = NULL;
++					goto enomem;
++				}
+ 			}
+ 		}
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_reply_function_standard.c
++++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_reply_function_standard.c
+@@ -7,7 +7,6 @@
+ 	DBusMessageIter output_iter;
+ 
+ 	nih_assert (message != NULL);
+-	nih_assert (output != NULL);
+ 
+ 	/* If the sender doesn't care about a reply, don't bother wasting
+ 	 * effort constructing and sending one.
+@@ -28,16 +27,18 @@
+ 		return -1;
+ 	}
+ 
+-	for (size_t output_i = 0; output[output_i]; output_i++) {
+-		const char *output_element;
+-
+-		output_element = output[output_i];
+-
+-		/* Marshal a char * onto the message */
+-		if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
+-			dbus_message_iter_abandon_container (&iter, &output_iter);
+-			dbus_message_unref (reply);
+-			return -1;
++	if (output) {
++		for (size_t output_i = 0; output[output_i]; output_i++) {
++			const char *output_element;
++
++			output_element = output[output_i];
++
++			/* Marshal a char * onto the message */
++			if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
++				dbus_message_iter_abandon_container (&iter, &output_iter);
++				dbus_message_unref (reply);
++				return -1;
++			}
+ 		}
+ 	}
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_reply_function_deprecated.c
++++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_reply_function_deprecated.c
+@@ -7,7 +7,6 @@
+ 	DBusMessageIter output_iter;
+ 
+ 	nih_assert (message != NULL);
+-	nih_assert (output != NULL);
+ 
+ 	/* If the sender doesn't care about a reply, don't bother wasting
+ 	 * effort constructing and sending one.
+@@ -28,16 +27,18 @@
+ 		return -1;
+ 	}
+ 
+-	for (size_t output_i = 0; output[output_i]; output_i++) {
+-		const char *output_element;
+-
+-		output_element = output[output_i];
+-
+-		/* Marshal a char * onto the message */
+-		if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
+-			dbus_message_iter_abandon_container (&iter, &output_iter);
+-			dbus_message_unref (reply);
+-			return -1;
++	if (output) {
++		for (size_t output_i = 0; output[output_i]; output_i++) {
++			const char *output_element;
++
++			output_element = output[output_i];
++
++			/* Marshal a char * onto the message */
++			if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
++				dbus_message_iter_abandon_container (&iter, &output_iter);
++				dbus_message_unref (reply);
++				return -1;
++			}
+ 		}
+ 	}
+ 
+--- libnih-1.0.3.orig/nih-dbus-tool/tests/expected/test_method_object_function_no_input.c
++++ libnih-1.0.3/nih-dbus-tool/tests/expected/test_method_object_function_no_input.c
+@@ -88,17 +88,19 @@
+ 			goto enomem;
+ 		}
+ 
+-		for (size_t output_i = 0; output[output_i]; output_i++) {
+-			const char *output_element;
++		if (output) {
++			for (size_t output_i = 0; output[output_i]; output_i++) {
++				const char *output_element;
+ 
+-			output_element = output[output_i];
++				output_element = output[output_i];
+ 
+-			/* Marshal a char * onto the message */
+-			if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
+-				dbus_message_iter_abandon_container (&iter, &output_iter);
+-				dbus_message_unref (reply);
+-				reply = NULL;
+-				goto enomem;
++				/* Marshal a char * onto the message */
++				if (! dbus_message_iter_append_basic (&output_iter, DBUS_TYPE_STRING, &output_element)) {
++					dbus_message_iter_abandon_container (&iter, &output_iter);
++					dbus_message_unref (reply);
++					reply = NULL;
++					goto enomem;
++				}
+ 			}
+ 		}
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb
new file mode 100644
index 0000000..40aa896
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libnih/libnih_1.0.3.bb
@@ -0,0 +1,36 @@
+# Copyright (c) 2013  LG Electronics, Inc.
+
+SUMMARY = "libnih library"
+DESCRIPTION = "libnih is a small library for C application development \
+    containing functions that, despite its name, are not implemented \
+    elsewhere in the standard library set. \
+    \
+    libnih is roughly equivalent to other C libraries such as glib, \
+    except that its focus is on a small size and intended for \
+    applications that sit very low in the software stack, especially \
+    outside of /usr. \
+    \
+    It expressly does not reimplement functions that already exist in \
+    libraries ordinarily shipped in /lib such libc6, and does not do \
+    foolish things like invent arbitrary typedefs for perfectly good C types."
+
+SECTION = "libs"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "dbus libnih-native"
+DEPENDS_class-native = "dbus-native"
+
+SRC_URI = "https://launchpad.net/${BPN}/1.0/${PV}/+download/${BP}.tar.gz \
+    file://libnih_1.0.3-4ubuntu16.patch \
+"
+
+SRC_URI[md5sum] = "db7990ce55e01daffe19006524a1ccb0"
+SRC_URI[sha256sum] = "897572df7565c0a90a81532671e23c63f99b4efde2eecbbf11e7857fbc61f405"
+
+inherit autotools
+inherit gettext
+
+# target libnih requires native nih-dbus-tool
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.3.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.3.0.bb
deleted file mode 100644
index d97bfc6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.3.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Library for using PKCS"
-DESCRIPTION = "\
-Libp11 is a library implementing a small layer on top of PKCS \
-make using PKCS"
-HOMEPAGE = "http://www.opensc-project.org/libp11"
-SECTION = "Development/Libraries"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
-DEPENDS = "libtool openssl"
-
-SRC_URI = "git://github.com/OpenSC/libp11.git;protocol=http"
-SRCREV = "6f71240991aa831f6fc2cc5431faf6ebec627ed2"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-static"
-
-do_install_append () {
-    rm -rf ${D}${libdir}/*.la
-    rm -rf ${D}${docdir}/${BPN}
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.0.bb
new file mode 100644
index 0000000..d88006c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Library for using PKCS"
+DESCRIPTION = "\
+Libp11 is a library implementing a small layer on top of PKCS \
+make using PKCS"
+HOMEPAGE = "http://www.opensc-project.org/libp11"
+SECTION = "Development/Libraries"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
+DEPENDS = "libtool openssl"
+
+SRC_URI = "git://github.com/OpenSC/libp11.git"
+SRCREV = "22de793340ab73cafc92f8238afb51a06d8411c3"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+# Currently, Makefile dependencies are incorrectly defined which causes build errors
+# The number of jobs is high
+# See https://github.com/OpenSC/libp11/issues/94
+PARALLEL_MAKE = ""
+EXTRA_OECONF = "--disable-static"
+
+do_install_append () {
+    rm -rf ${D}${libdir}/*.la
+    rm -rf ${D}${docdir}/${BPN}
+}
+
+FILES_${PN} += "${libdir}/pkcs11${SOLIBS}"
+FILES_${PN}-dev += "${libdir}/pkcs11${SOLIBSDEV}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
index b049067..b537ce6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
@@ -12,9 +12,11 @@
 SRC_URI[md5sum] = "4bf47483c06c9f07d1b10fbc74eddf11"
 SRC_URI[sha256sum] = "f21accdadb1bb328ea3f8a13fc34d715baac6e2db66065898346322c725754d3"
 
+RDEPENDS_${PN} += "wget"
+
 inherit autotools
 
-EXTRA_OECONF = "ac_cv_path_SH=${base_bindir}/sh"
+EXTRA_OECONF = "ac_cv_path_SH=${base_bindir}/sh ac_cv_path_WGET=${bindir}/wget"
 
 do_install_append () {
     install -d ${D}${sysconfdir}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.7.1.bb
deleted file mode 100644
index 911e0ba..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.7.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Library for interfacing with common SoC peripherals"
-DESCRIPTION = "libsoc is a C library to interface with common peripherals (gpio, i2c, spi, pwm) \
-               found in SoC (System on Chips) through generic Linux Kernel interfaces."
-
-HOMEPAGE = "https://github.com/jackmitch/libsoc"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e0bfebea12a718922225ba987b2126a5"
-
-inherit autotools
-
-SRCREV = "2919c35e706fe7c311f83f9343865420fa4b37fe"
-SRC_URI = "git://github.com/jackmitch/libsoc.git"
-
-S = "${WORKDIR}/git"
-
-RDEPENDS_${PN} = "libgcc"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb
new file mode 100644
index 0000000..01708df
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Library for interfacing with common SoC peripherals"
+DESCRIPTION = "libsoc is a C library to interface with common peripherals (gpio, i2c, spi, pwm) \
+               found in SoC (System on Chips) through generic Linux Kernel interfaces."
+
+HOMEPAGE = "https://github.com/jackmitch/libsoc"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=e0bfebea12a718922225ba987b2126a5"
+
+inherit autotools pkgconfig python-dir
+
+SRCREV = "fd1ad6e7823fa76d8db0d3c5884faffa8ffddafb"
+SRC_URI = "git://github.com/jackmitch/libsoc.git"
+
+S = "${WORKDIR}/git"
+
+BOARD ??= "devboard"
+
+PACKAGECONFIG ?= ""
+
+PACKAGECONFIG[disabledebug] = "--disable-debug,,"
+PACKAGECONFIG[allboardconfigs] = "--with-board-configs,,"
+PACKAGECONFIG[enableboardconfig] = "--enable-board=${BOARD},,"
+PACKAGECONFIG[python] = "--enable-python=${PYTHON_PN},,${PYTHON_PN}"
+
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'python', \
+    '${PYTHON_PN}-libsoc-staticdev ${PYTHON_PN}-libsoc', '', d)}"
+
+RDEPENDS_${PN} = "libgcc"
+
+FILES_${PYTHON_PN}-libsoc-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*/*.a"
+FILES_${PYTHON_PN}-libsoc += "${PYTHON_SITEPACKAGES_DIR}"
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-support/libsodium/libsodium_1.0.11.bb
new file mode 100644
index 0000000..22d3155
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.11.bb
@@ -0,0 +1,10 @@
+SUMMARY = "The Sodium crypto library"
+HOMEPAGE = "http://libsodium.org/"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c9f00492f01f5610253fde01c3d2e866"
+
+SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "b58928d035064b2a46fb564937b83540"
+SRC_URI[sha256sum] = "a14549db3c49f6ae2170cbbf4664bd48ace50681045e8dbea7c8d9fb96f9c765"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.8.bb
deleted file mode 100644
index a2eef4b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libsodium/libsodium_1.0.8.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "The Sodium crypto library"
-HOMEPAGE = "http://libsodium.org/"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=092a09b78c3be486fac807435bf17b7a"
-
-SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "0a66b86fd3aab3fe4c858edcd2772760"
-SRC_URI[sha256sum] = "c0f191d2527852641e0a996b7b106d2e04cbc76ea50731b2d0babd3409301926"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.1.bb
deleted file mode 100644
index 371e1ab..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Multiplatform C library implementing the SSHv2 and SSHv1 protocol"
-HOMEPAGE = "http://www.libssh.org"
-SECTION = "libs"
-
-DEPENDS = "zlib openssl libgcrypt"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=388a4fb1dea8ceae0be78ba9b01fc139"
-
-SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=v0-7"
-SRCREV = "053f72c671a83b32238dc01b56a66752fb15b7ec"
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE = " \
-    -DWITH_GCRYPT=1 \
-    -DWITH_PCAP=1 \
-    -DWITH_SFTP=1 \
-    -DWITH_ZLIB=1 \
-    -DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')} \
-    "
-
-PACKAGECONFIG ??=""
-PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, "
-
-inherit cmake
-
-do_configure_prepend () {
-    # Disable building of examples
-    sed -i -e '/add_subdirectory(examples)/s/^/#DONOTWANT/' ${S}/CMakeLists.txt \
-        || bbfatal "Failed to disable examples"
-}
-
-FILES_${PN}-dev += "${libdir}/cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.3.bb
new file mode 100644
index 0000000..c0b8913
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.7.3.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Multiplatform C library implementing the SSHv2 and SSHv1 protocol"
+HOMEPAGE = "http://www.libssh.org"
+SECTION = "libs"
+
+DEPENDS = "zlib openssl libgcrypt"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=388a4fb1dea8ceae0be78ba9b01fc139"
+
+SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=v0-7"
+SRCREV = "cdf7690e038230623cbbf6b024ece62f41efa98d"
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = " \
+    -DWITH_GCRYPT=1 \
+    -DWITH_PCAP=1 \
+    -DWITH_SFTP=1 \
+    -DWITH_ZLIB=1 \
+    -DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')} \
+    "
+
+PACKAGECONFIG ??=""
+PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, "
+
+inherit cmake
+
+do_configure_prepend () {
+    # Disable building of examples
+    sed -i -e '/add_subdirectory(examples)/s/^/#DONOTWANT/' ${S}/CMakeLists.txt \
+        || bbfatal "Failed to disable examples"
+}
+
+FILES_${PN}-dev += "${libdir}/cmake"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.6.0.bb
deleted file mode 100644
index c43164e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.6.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "A client-side C library implementing the SSH2 protocol"
-HOMEPAGE = "http://www.libssh2.org/"
-SECTION = "libs"
-
-DEPENDS = "zlib"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c5cf34fc0acb44b082ef50ef5e4354ca"
-
-SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz"
-SRC_URI[md5sum] = "00aabd6e714a5f42a4fb82ace20db1dd"
-SRC_URI[sha256sum] = "5a202943a34a1d82a1c31f74094f2453c207bf9936093867f41414968c8e8215"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "\
-                 --with-libz \
-                 --with-libz-prefix=${STAGING_LIBDIR} \
-                "
-
-# only one of openssl and gcrypt could be set
-PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[openssl] = "--with-openssl --with-libssl-prefix=${STAGING_LIBDIR},--without-openssl,openssl"
-PACKAGECONFIG[gcrypt] = "--with-libgcrypt --with-libgcrypt-prefix=${STAGING_EXECPREFIXDIR},--without-libgcrypt,libgcrypt"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.7.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.7.0.bb
new file mode 100644
index 0000000..155d3d4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.7.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A client-side C library implementing the SSH2 protocol"
+HOMEPAGE = "http://www.libssh2.org/"
+SECTION = "libs"
+
+DEPENDS = "zlib"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c5cf34fc0acb44b082ef50ef5e4354ca"
+
+SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz"
+SRC_URI[md5sum] = "b01662a210e94cccf2f76094db7dac5c"
+SRC_URI[sha256sum] = "e4561fd43a50539a8c2ceb37841691baf03ecb7daf043766da1b112e4280d584"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "\
+                 --with-libz \
+                 --with-libz-prefix=${STAGING_LIBDIR} \
+                "
+
+# only one of openssl and gcrypt could be set
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[openssl] = "--with-openssl --with-libssl-prefix=${STAGING_LIBDIR},--without-openssl,openssl"
+PACKAGECONFIG[gcrypt] = "--with-libgcrypt --with-libgcrypt-prefix=${STAGING_EXECPREFIXDIR},--without-libgcrypt,libgcrypt"
+
+BBCLASSEXTEND += "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb
index e09a539..4460be2 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb
@@ -1,4 +1,4 @@
-# (c) Copyright 2012  Hewlett-Packard Development Company, L.P. 
+# (c) Copyright 2012  Hewlett-Packard Development Company, L.P.
 
 SUMMARY = "a simple, small, minimal, C++ XML parser"
 HOMEPAGE = "http://www.sourceforge.net/projects/tinyxml"
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-support/lm_sensors/lmsensors-config_1.0.bb
index 3638019..b0091d6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb
@@ -48,7 +48,7 @@
 PACKAGES =+ "${PN}-cgi"
 RRECOMMENDS_${PN}-cgi = "lighttpd lighttpd-module-cgi"
 RDEPENDS_${PN}-cgi = "${PN}-sensord rrdtool"
-FILES_${PN}-cgi = "/www/*" 
+FILES_${PN}-cgi = "/www/*"
 
 # libsensors configuration file
 FILES_${PN}-libsensors = "${sysconfdir}/sensors.d/sensors.conf"
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-support/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch
new file mode 100644
index 0000000..abf6e75
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch
@@ -0,0 +1,40 @@
+From c4428260e7685ebaf5c26c6ecaae5a56849853e8 Mon Sep 17 00:00:00 2001
+From: Li Zhou <li.zhou@windriver.com>
+Date: Tue, 6 Sep 2016 14:04:29 +0800
+Subject: [PATCH] lmsensors: sensors-detect: print a special message when there
+ isn't enough cpu info
+
+When running sensors-detect, if there isn't enough information in
+/proc/cpuinfo for this arch (e.g. ppc64), "Use of uninitialized value
+in concatenation (.) or string at /usr/sbin/sensors-detect line 2867"
+and incomplete "# Processor: (//)" will be printed.
+Here print out a prompt for such a case.
+
+Upstream-Status: Pending
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ prog/detect/sensors-detect | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect
+index 3c2b44f..5f62405 100755
+--- a/prog/detect/sensors-detect
++++ b/prog/detect/sensors-detect
+@@ -2864,7 +2864,12 @@ sub initialize_cpu_list
+ sub print_cpu_info
+ {
+ 	my $cpu = $cpu[0];
+-	print "# Processor: $cpu->{'model name'} ($cpu->{'cpu family'}/$cpu->{model}/$cpu->{stepping})\n";
++	if ( $cpu->{'model name'} && $cpu->{'cpu family'} && $cpu->{model} && $cpu->{stepping} ) {
++		print "# Processor: $cpu->{'model name'} ($cpu->{'cpu family'}/$cpu->{model}/$cpu->{stepping})\n";
++	}
++	else {
++		print "# Processor: There isn't enough cpu info for this arch!!!\n";
++	}
+ }
+ 
+ # @i2c_adapters is a list of references to hashes, one hash per I2C/SMBus
+-- 
+1.9.1
+
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-support/lm_sensors/lmsensors_3.4.0.bb
index 857a57b..8215d90 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lm_sensors/lmsensors_3.4.0.bb
@@ -10,6 +10,7 @@
 SRC_URI = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${PV}.tar.bz2 \
            file://fancontrol.init \
            file://sensord.init \
+           file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \
 "
 SRC_URI[md5sum] = "c03675ae9d43d60322110c679416901a"
 SRC_URI[sha256sum] = "e0579016081a262dd23eafe1d22b41ebde78921e73a1dcef71e05e424340061f"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb
index 023b9a7..507ce3f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_git.bb
@@ -18,3 +18,5 @@
     # Make automake happy
     touch ChangeLog
 }
+
+CFLAGS_append_libc-musl = " -D__GNU_LIBRARY__"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
index 3a5e1c4..74b7211 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -11,21 +11,26 @@
            file://0002-use-PTHREAD_MUTEX_RECURSIVE-instead-of-PTHREAD_MUTEX.patch \
            file://0003-Guard-use-of-mallinfo-with-__GLIBC__.patch \
            file://0004-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch \
+           file://0005-tweak-MODPROBE_CMD-for-cross-compile.patch \
            "
 
 S = "${WORKDIR}/LVM2.${PV}"
 
 inherit autotools-brokensep pkgconfig systemd
 
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
+                   thin-provisioning-tools \
+                   odirect \
+"
 
 PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
 PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
+PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools"
+PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct"
 
 # Unset user/group to unbreak install.
 EXTRA_OECONF = "--with-user= \
                 --with-group= \
-                --disable-o_direct \
                 --enable-realtime \
                 --enable-applib \
                 --enable-cmdlib \
@@ -37,8 +42,15 @@
                 --with-udev-prefix= \
                 --with-usrlibdir=${libdir} \
                 --with-systemdsystemunitdir=${systemd_system_unitdir} \
+                --disable-thin_check_needs_check \
+                --with-thin-check=${sbindir}/thin_check \
+                --with-thin-dump=${sbindir}/thin_dump \
+                --with-thin-repair=${sbindir}/thin_repair \
+                --with-thin-restore=${sbindir}/thin_restore \
 "
 
+CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
+
 do_install_append() {
     # Install machine specific configuration file
     install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0005-tweak-MODPROBE_CMD-for-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0005-tweak-MODPROBE_CMD-for-cross-compile.patch
new file mode 100644
index 0000000..8db320d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0005-tweak-MODPROBE_CMD-for-cross-compile.patch
@@ -0,0 +1,38 @@
+From 72866782f83c8cf85b10017df461128af90cae6e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 30 Aug 2016 22:33:47 -0400
+Subject: [PATCH] tweak MODPROBE_CMD for cross compile
+
+Lvm uses variable MODPROBE_CMD at runtime, so build time detection of modprobe
+is incorrect.
+------
+|lvm lvcreate --thinpool wrl/pool00 --size 5556m --config  devices
+{ preferred_names=["^/dev/mapper/", "^/dev/md/", "^/dev/sd"]
+filter=["r|/loop1$|","r|/loop2$|","r|/loop3$|","r|/loop4$|","r|/loop5$|","r|/loop6$|","r|/loop7$|"] }
+|tmp/sysroots/x86_64-linux/usr/bin/modprobe: execvp failed: No such file or directory
+|tmp/sysroots/x86_64-linux/usr/bin/modprobe failed: 2
+------
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.in | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 8e04782..77681b0 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1779,8 +1779,6 @@ if test "$UDEV_SYNC" = yes; then
+ fi
+ 
+ ################################################################################
+-AC_PATH_TOOL(MODPROBE_CMD, modprobe)
+-
+ if test -n "$MODPROBE_CMD"; then
+ 	AC_DEFINE_UNQUOTED([MODPROBE_CMD], ["$MODPROBE_CMD"], [The path to 'modprobe', if available.])
+ fi
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.45.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.45.bb
deleted file mode 100644
index 911360f..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.45.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Helper application and MIME type associations for file types"
-DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \
-mailcap file to determine how it should display non-text or multimedia \
-material. Basically, mailcap associates a particular type of file \
-with a particular program that a mail agent or other program can call \
-in order to handle the file. Mailcap should be installed to allow \
-certain programs to be able to handle non-text files. \
-\
-Also included in this package is the mime.types file which contains a \
-list of MIME types and their filename extension associations, used  \
-by several applications e.g. to determine MIME types for filenames."
-
-SECTION = "System Environment/Base"
-
-SRC_URI = "https://git.fedorahosted.org/cgit/${BPN}.git/snapshot/${BPN}-r2-1-45.tar.gz"
-SRC_URI[md5sum] = "2320a77b2fc82078c9d6a59b29234bc8"
-SRC_URI[sha256sum] = "a73e2f93625475014066f414873cb9f0a4b1189942d94fade9a03e59be3745b7"
-LICENSE = "PD & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=100fcfb84512ccc03ffc7d89ac391305"
-S = "${WORKDIR}/${BPN}-r2-1-45"
-do_install() {
-    oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir}
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.46.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.46.bb
new file mode 100644
index 0000000..7d87a5f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.46.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Helper application and MIME type associations for file types"
+DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \
+mailcap file to determine how it should display non-text or multimedia \
+material. Basically, mailcap associates a particular type of file \
+with a particular program that a mail agent or other program can call \
+in order to handle the file. Mailcap should be installed to allow \
+certain programs to be able to handle non-text files. \
+\
+Also included in this package is the mime.types file which contains a \
+list of MIME types and their filename extension associations, used  \
+by several applications e.g. to determine MIME types for filenames."
+
+SECTION = "System Environment/Base"
+
+SRC_URI = "https://git.fedorahosted.org/cgit/${BPN}.git/snapshot/${BPN}-r2-1-46.tar.gz"
+SRC_URI[md5sum] = "eee03824bf86480dc1db20be4f78237f"
+SRC_URI[sha256sum] = "309059163fa3ef368f8a43fc38f7a45d9345fd725970d5b437ba175a0ee7ebc9"
+LICENSE = "PD & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=100fcfb84512ccc03ffc7d89ac391305"
+S = "${WORKDIR}/${BPN}-r2-1-46"
+do_install() {
+    oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.09.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.09.bb
deleted file mode 100644
index 542b2ba..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.09.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
-DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
-and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
-and should run on all Linux systems that need error handling."
-HOMEPAGE = "http://mcelog.org/"
-SECTION = "System Environment/Base"
-
-SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git \
-    file://mcelog-debash.patch \
-    file://run-ptest \
-"
-
-SRCREV = "0fc9f702232cb2d9969916f899c67c3e64deedda"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://README;md5=3eb76ca64fa07ad53ebb0ebb5b4c8ede"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep ptest
-
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-
-do_install_append() {
-    install -d ${D}${sysconfdir}/cron.hourly
-    install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
-    sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
-}
-
-do_install_ptest() {
-    install -d ${D}${PTEST_PATH}
-    cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
-    sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
-}
-
-RDEPENDS_${PN}-ptest += "${PN} make bash mce-inject"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.40.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.40.bb
new file mode 100644
index 0000000..9aebbd5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_1.40.bb
@@ -0,0 +1,36 @@
+SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
+DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
+and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
+and should run on all Linux systems that need error handling."
+HOMEPAGE = "http://mcelog.org/"
+SECTION = "System Environment/Base"
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git;protocol=http; \
+    file://mcelog-debash.patch \
+    file://run-ptest \
+"
+
+SRCREV = "008c73e6de3a4bf969d1627e695d4efc807aed92"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://README;md5=3d12dd2a10bdd22379cc4c0fc6949a88"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep ptest
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/cron.hourly
+    install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
+    sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
+}
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}
+    cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
+    sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
+}
+
+RDEPENDS_${PN}-ptest += "${PN} make bash mce-inject"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20110905.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20110905.bb
deleted file mode 100644
index e924bbd..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20110905.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "A portable version of the mg maintained by the OpenBSD team"
-HOMEPAGE = "http://homepage.boetes.org/software/mg/"
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://version.c;md5=811e1b67a5cd60c12b218a2b7c1adbf2"
-DEPENDS = "ncurses"
-SECTION = "console/editors"
-
-SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz \
-           file://remove_ncurses_check.patch"
-
-SRC_URI[md5sum] = "2de35316fa8ebafe6003efaae70b723e"
-SRC_URI[sha256sum] = "1cd37d7e6a3eecc890a5718c38b8f38495057ba93856762a756ccee2f9618229"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-do_configure () {
-    sed -i Makefile.in -e 's,^prefix=.*,prefix=${prefix},'
-    ./configure
-}
-
-do_install () {
-    oe_runmake install DESTDIR=${D}
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20161005.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20161005.bb
new file mode 100644
index 0000000..f9ceb46
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mg/mg_20161005.bb
@@ -0,0 +1,31 @@
+SUMMARY = "A portable version of the mg maintained by the OpenBSD team"
+HOMEPAGE = "http://homepage.boetes.org/software/mg/"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://version.c;md5=1895eb37bf6bd79cdc5c89d8166fabfb"
+DEPENDS = "ncurses libbsd"
+SECTION = "console/editors"
+
+SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz"
+SRC_URI[md5sum] = "fc6faeeee7308bb46f3512b75867ed51"
+SRC_URI[sha256sum] = "b7fcb5136a6783ca24c8463ab0852fc1f26bdb2bb1c24759b2c51ccfc46c5e61"
+
+# CFLAGS isn't in EXTRA_OEMAKE, as the makefile picks it up via ?=
+EXTRA_OEMAKE = "\
+    'CC=${CC}' \
+    'LDFLAGS=${LDFLAGS}' \
+    \
+    'prefix=${prefix}' \
+    'bindir=${bindir}' \
+    'libdir=${libdir}' \
+    'includedir=${includedir}' \
+    'mandir=${mandir}' \
+    'PKG_CONFIG=pkg-config' \
+"
+
+CFLAGS += "-I${STAGING_INCDIR}/bsd"
+
+do_install () {
+    oe_runmake install DESTDIR=${D}
+}
+
+inherit pkgconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/minini/minini_1.2.b.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/minini/minini_1.2.b.bb
index 6607dd8..4a73f12 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/minini/minini_1.2.b.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/minini/minini_1.2.b.bb
@@ -14,7 +14,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=eb21481ad45c5578ae8c8d37b8c8d76d"
 
-SRC_URI = "http://minini.googlecode.com/files/minIni_12b.zip;subdir=${BP}"
+SRC_URI = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/minini/minIni_12b.zip;subdir=${BP}"
 
 SRC_URI[md5sum] = "32740621098e3f0a321c7c23f4bcbc5d"
 SRC_URI[sha256sum] = "b08839af74acb36061fb76e1123bf56711bc5cf7a08b32e189b0ad78a2e888e2"
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
index 6522a67..f1a6555 100644
--- 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
@@ -27,6 +27,7 @@
 COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
 COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
 COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
+COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
 
 PACKAGECONFIG[tcmalloc] = "--use-system-tcmalloc,--allocator=system,gperftools,"
 PACKAGECONFIG[wiredtiger] = "--wiredtiger=on,--wiredtiger=off,,"
@@ -42,9 +43,8 @@
                  --use-system-zlib \
                  --js-engine=none \
                  --nostrip \
-                 ${EXTRA_OECONF} \
+                 ${PACKAGECONFIG_CONFARGS} \
                  mongod mongos"
-DISABLE_STATIC = ""
 
 scons_do_compile() {
         ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} || \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
index 37b5fef..6bd6118 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb
@@ -39,6 +39,8 @@
 
 PV = "0.5.0+git${@'${SRCPV}'.split('+')[-1]}"
 
+TARGET_CC_ARCH += "${LDFLAGS}"
+
 # The exact version of SYSTEMD does not matter but should be greater than 209.
 #
 EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.46.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.52.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.46.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb-native_5.5.52.bb
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
index 4801ffe..689b8ab 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb.inc
@@ -4,7 +4,7 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
-SRC_URI = "http://archive.mariadb.org/mariadb-${PV}/source/mariadb-${PV}.tar.gz \
+SRC_URI = "http://downloads.mariadb.com/MariaDB/mariadb-${PV}/source/mariadb-${PV}.tar.gz \
            file://fix-cmake-module-path.patch \
            file://remove-bad-path.patch \
            file://fix-mysqlclient-r-version.patch \
@@ -15,10 +15,10 @@
            file://mysql-systemd-start \
            file://configure.cmake-fix-valgrind.patch \
            file://fix-a-building-failure.patch \
+           file://change-cc-to-cc-version.patch \
           "
-
-SRC_URI[md5sum] = "92f682b00eb137af01e59ea93f7e31f7"
-SRC_URI[sha256sum] = "45b66b7adc87cad32e553df1d5211e5b6426b78a3bc318a5ccde088bf93e6e10"
+SRC_URI[md5sum] = "fca86f1eaed2163b4bdce4f98f472324"
+SRC_URI[sha256sum] = "e142f9459507b97c5848042863b313ce70750118446bb4e35e5c07fe66007293"
 
 S = "${WORKDIR}/mariadb-${PV}"
 
@@ -139,8 +139,8 @@
                                                                    ${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 -" \
+        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}
@@ -169,13 +169,14 @@
 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"
+    ${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"
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-support/mysql/mariadb/change-cc-to-cc-version.patch
new file mode 100644
index 0000000..02bda24
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb/change-cc-to-cc-version.patch
@@ -0,0 +1,26 @@
+mariadb: replace the CC with CC_VERSION and CXX with CXX_VERSION
+
+mysqlbug.sh is a bug report script. It makes a report with the build information,
+including gcc version. The CC is the local path of gcc, which is useless for bug
+report, and the path may expose private information, so change it to CC_VERSION.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+================================
+diff --git a/scripts/mysqlbug.sh.old b/scripts/mysqlbug.sh
+index e9df210..d4b8d53 100644
+--- a/scripts/mysqlbug.sh.old
++++ b/scripts/mysqlbug.sh
+@@ -24,8 +24,8 @@ VERSION="@VERSION@@MYSQL_SERVER_SUFFIX@"
+ COMPILATION_COMMENT="@COMPILATION_COMMENT@"
+ BUGmysql="maria-developers@lists.launchpad.net"
+ # This is set by configure
+-COMP_CALL_INFO="CC='@SAVE_CC@'  CFLAGS='@SAVE_CFLAGS@'  CXX='@SAVE_CXX@'  CXXFLAGS='@SAVE_CXXFLAGS@'  LDFLAGS='@SAVE_LDFLAGS@'  ASFLAGS='@SAVE_ASFLAGS@'"
+-COMP_RUN_INFO="CC='@CC@'  CFLAGS='@CFLAGS@'  CXX='@CXX@'  CXXFLAGS='@CXXFLAGS@'  LDFLAGS='@LDFLAGS@'  ASFLAGS='@ASFLAGS@'"
++COMP_CALL_INFO="CC='@CC_VERSION@'  CFLAGS='@SAVE_CFLAGS@'  CXX='@CXX_VERSION@'  CXXFLAGS='@SAVE_CXXFLAGS@'  LDFLAGS='@SAVE_LDFLAGS@'  ASFLAGS='@SAVE_ASFLAGS@'"
++COMP_RUN_INFO="CC='@CC_VERSION@'  CFLAGS='@CFLAGS@'  CXX='@CXX_VERSION@'  CXXFLAGS='@CXXFLAGS@'  LDFLAGS='@LDFLAGS@'  ASFLAGS='@ASFLAGS@'"
+ CONFIGURE_LINE="@CONF_COMMAND@"
+ 
+ LIBC_INFO=""
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.46.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.46.bb
deleted file mode 100644
index 8f998a3..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.46.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-require mariadb.inc
-
-EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
-
-DEPENDS += "mariadb-native ncurses zlib readline libaio libevent"
-
-PROVIDES += "mysql5"
-
-RPROVIDES_${PN} += "mysql5"
-RREPLACES_${PN} += "mysql5"
-RCONFLICTS_${PN} += "mysql5"
-
-RPROVIDES_${PN}-dbg += "mysql5-dbg"
-RREPLACES_${PN}-dbg += "mysql5-dbg"
-RCONFLICTS_${PN}-dbg += "mysql5-dbg"
-
-RPROVIDES_${PN}-leftovers += "mysql5-leftovers"
-RREPLACES_${PN}-leftovers += "mysql5-leftovers"
-RCONFLICTS_${PN}-leftovers += "mysql5-leftovers"
-
-RPROVIDES_${PN}-client += "mysql5-client"
-RREPLACES_${PN}-client += "mysql5-client"
-RCONFLICTS_${PN}-client += "mysql5-client"
-
-RPROVIDES_${PN}-server += "mysql5-server"
-RREPLACES_${PN}-server += "mysql5-server"
-RCONFLICTS_${PN}-server += "mysql5-server"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.52.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.52.bb
new file mode 100644
index 0000000..d789573
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/mysql/mariadb_5.5.52.bb
@@ -0,0 +1,27 @@
+require mariadb.inc
+
+EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
+
+DEPENDS += "mariadb-native ncurses zlib readline libaio libevent"
+
+PROVIDES += "mysql5 libmysqlclient"
+
+RPROVIDES_${PN} += "mysql5"
+RREPLACES_${PN} += "mysql5"
+RCONFLICTS_${PN} += "mysql5"
+
+RPROVIDES_${PN}-dbg += "mysql5-dbg"
+RREPLACES_${PN}-dbg += "mysql5-dbg"
+RCONFLICTS_${PN}-dbg += "mysql5-dbg"
+
+RPROVIDES_${PN}-leftovers += "mysql5-leftovers"
+RREPLACES_${PN}-leftovers += "mysql5-leftovers"
+RCONFLICTS_${PN}-leftovers += "mysql5-leftovers"
+
+RPROVIDES_${PN}-client += "mysql5-client"
+RREPLACES_${PN}-client += "mysql5-client"
+RCONFLICTS_${PN}-client += "mysql5-client"
+
+RPROVIDES_${PN}-server += "mysql5-server"
+RREPLACES_${PN}-server += "mysql5-server"
+RCONFLICTS_${PN}-server += "mysql5-server"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano.inc
index bdefe9b..3fad029 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/nano/nano.inc
@@ -2,7 +2,7 @@
 Not ANOther editor) is an enhanced clone of the \
 Pico text editor."
 HOMEPAGE = "http://www.nano-editor.org/"
-LICENSE = "GPLv2"
+LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
 SECTION = "console/utils"
 DEPENDS = "ncurses"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/numactl/numactl_2.0.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/numactl/numactl_2.0.11.bb
index 199726f..dd159a3 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/numactl/numactl_2.0.11.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/numactl/numactl_2.0.11.bb
@@ -11,12 +11,12 @@
 LIC_FILES_CHKSUM = "file://README;beginline=19;endline=32;md5=5644cc3851cb2499f6c48e52fe198bd9"
 
 SRC_URI = "ftp://oss.sgi.com/www/projects/libnuma/download/${BPN}-${PV}.tar.gz \
-	   file://fix-null-pointer.patch \
-	   file://Fix-the-test-output-format.patch \
-	   file://Makefile \
-	   file://run-ptest \
-	   file://0001-define-run-test-target.patch \
-          "
+    file://fix-null-pointer.patch \
+    file://Fix-the-test-output-format.patch \
+    file://Makefile \
+    file://run-ptest \
+    file://0001-define-run-test-target.patch \
+"
 SRC_URI[md5sum] = "d3bc88b7ddb9f06d60898f4816ae9127"
 SRC_URI[sha256sum] = "450c091235f891ee874a8651b179c30f57a1391ca5c4673354740ba65e527861"
 
@@ -24,34 +24,34 @@
 COMPATIBLE_HOST = "^((?!arm).*)$"
 
 do_install() {
-        oe_runmake DESTDIR=${D} prefix=${D}/usr install
-	#remove the empty man2 directory
-	rm -r ${D}${mandir}/man2
+    oe_runmake DESTDIR=${D} prefix=${D}/usr install
+    #remove the empty man2 directory
+    rm -r ${D}${mandir}/man2
 }
 
 do_compile_ptest() {
-	oe_runmake test
+    oe_runmake test
 }
 
 do_install_ptest() {
-	#install tests binaries
-        local test_binaries="distance ftok mbind_mig_pages migrate_pages move_pages \
-		mynode	nodemap node-parse pagesize prefered randmap realloc_test \
-		tbitmap tshared"
+    #install tests binaries
+    local test_binaries="distance ftok mbind_mig_pages migrate_pages move_pages \
+    mynode    nodemap node-parse pagesize prefered randmap realloc_test \
+    tbitmap tshared"
 
-	[ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test
-	for i in $test_binaries; do
-		install -m 0755 ${B}/test/.libs/$i ${D}${PTEST_PATH}/test
-	done
+    [ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test
+    for i in $test_binaries; do
+        install -m 0755 ${B}/test/.libs/$i ${D}${PTEST_PATH}/test
+    done
 
-	local test_scripts="checktopology checkaffinity printcpu regress regress2 \
-			shmtest  runltp bind_range"
-	for i in $test_scripts; do
-		install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test
-	done
+    local test_scripts="checktopology checkaffinity printcpu regress regress2 \
+        shmtest  runltp bind_range"
+    for i in $test_scripts; do
+        install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test
+    done
 
-	install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/
-	install -m 0755 ${B}/.libs/numactl ${D}${PTEST_PATH}/
+    install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/
+    install -m 0755 ${B}/.libs/numactl ${D}${PTEST_PATH}/
 }
 
 RDEPENDS_${PN}-ptest = "bash"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.3.bb
deleted file mode 100644
index 22db78a..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Regular expressions library. The characteristics of this \
-library is that different character encoding for every regular expression \
-object can be specified."
-HOMEPAGE = "http://www.geocities.jp/kosako3/oniguruma/"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0d4861b5bc0c392a5aa90d9d76ebd86f"
-
-SRC_URI = "http://www.geocities.jp/kosako3/oniguruma/archive/onig-${PV}.tar.gz \
-           file://do-not-use-system-headers.patch \
-           file://configure.patch"
-
-SRC_URI[md5sum] = "0d4eda2066d3c92970842a6790ce897a"
-SRC_URI[sha256sum] = "c3bba66b2a84760e6582c40881db97c839d94f327870009724bb8b4d0c051f2a"
-
-DEPENDS = "libevent"
-
-inherit autotools binconfig
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb
new file mode 100644
index 0000000..abbaf98
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/onig/onig_5.9.6.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Regular expressions library. The characteristics of this \
+library is that different character encoding for every regular expression \
+object can be specified."
+HOMEPAGE = "https://web.archive.org/web/20150807014439/http://www.geocities.jp/kosako3/oniguruma/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0d4861b5bc0c392a5aa90d9d76ebd86f"
+
+SRC_URI = "https://web.archive.org/web/20150807014439/http://www.geocities.jp/kosako3/oniguruma/archive/${BP}.tar.gz \
+           file://do-not-use-system-headers.patch \
+           file://configure.patch"
+
+SRC_URI[md5sum] = "d08f10ea5c94919780e6b7bed1ef9830"
+SRC_URI[sha256sum] = "d5642010336a6f68b7f2e34b1f1cb14be333e4d95c2ac02b38c162caf44e47a7"
+
+BINCONFIG = "${bindir}/onig-config"
+
+inherit autotools binconfig-disabled
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb
index e6942d0..c32668b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb
@@ -16,3 +16,6 @@
 SRC_URI[sha256sum] = "2b142b1027fb0a62c41347600e01a53fa274dad15445a7da48083c830c3138b3"
 
 inherit autotools
+
+# http://errors.yoctoproject.org/Errors/Details/68667/
+PNBLACKLIST[open-vcdiff] ?= "BROKEN: fails to build with gcc-6"
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 bf1ff57..d4ad9c1 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
@@ -55,6 +55,9 @@
 
 INSANE_SKIP_${PN} += "dev-deps"
 
+do_install_append() {
+    rm -r ${D}/${localstatedir}/run
+}
 
 do_install () {
     rm -rf ${D}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
index ecaae4c..b8e3a2d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
@@ -35,7 +35,7 @@
     done
 }
 
-FILES_${PN}-dev += "${datadir}/opencv/samples/*.c* ${datadir}/opencv/samples/*.vcp* ${datadir}/opencv/samples/build*" 
+FILES_${PN}-dev += "${datadir}/opencv/samples/*.c* ${datadir}/opencv/samples/*.vcp* ${datadir}/opencv/samples/build*"
 FILES_${PN} += "${bindir} ${datadir}/opencv"
 
 PNBLACKLIST[opencv-samples] ?= "Depends on blacklisted opencv"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixgcc60.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixgcc60.patch
new file mode 100644
index 0000000..5d0bf97
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixgcc60.patch
@@ -0,0 +1,30 @@
+diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake
+index 28ccc1c6be4f..b0e1cbf77287 100644
+--- a/cmake/OpenCVPCHSupport.cmake
++++ b/cmake/OpenCVPCHSupport.cmake
+@@ -19,7 +19,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
+         ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
+         OUTPUT_VARIABLE gcc_compiler_version)
+     #MESSAGE("GCC Version: ${gcc_compiler_version}")
+-    IF(gcc_compiler_version VERSION_GREATER "4.2.-1")
++    IF(gcc_compiler_version VERSION_GREATER "4.2.-1" AND gcc_compiler_version VERSION_LESS "6.0.0")
+         SET(PCHSupport_FOUND TRUE)
+     ENDIF()
+ 
+diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake
+index 3a23cd73633d..1fea1578b1d9 100644
+--- a/cmake/OpenCVUtils.cmake
++++ b/cmake/OpenCVUtils.cmake
+@@ -76,7 +76,11 @@ function(ocv_include_directories)
+     if("${__abs_dir}" MATCHES "^${OpenCV_SOURCE_DIR}" OR "${__abs_dir}" MATCHES "^${OpenCV_BINARY_DIR}")
+       list(APPEND __add_before "${dir}")
+     else()
+-      include_directories(AFTER SYSTEM "${dir}")
++	    if (gcc_compiler_version VERSION_LESS "6.0.0")
++		    include_directories(AFTER SYSTEM "${dir}")
++	    else()
++		    include_directories(AFTER "${dir}")
++	    endif()
+     endif()
+   endforeach()
+   include_directories(BEFORE ${__add_before})
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_2.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_2.4.bb
index eb38a5a..ced066f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_2.4.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_2.4.bb
@@ -50,8 +50,6 @@
 
 inherit distutils-base pkgconfig cmake
 
-export BUILD_SYS
-export HOST_SYS
 export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
 export PYTHON="${STAGING_BINDIR_NATIVE}/python"
 
@@ -71,7 +69,7 @@
     metapkg =  pn + '-dev'
     d.setVar('ALLOW_EMPTY_' + metapkg, "1")
     blacklist = [ metapkg ]
-    metapkg_rdepends = [ ] 
+    metapkg_rdepends = [ ]
     packages = d.getVar('PACKAGES', 1).split()
     for pkg in packages[1:]:
         if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.1.bb
index 789512f..1bbb965 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.1.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.1.bb
@@ -10,7 +10,7 @@
 
 DEFAULT_PREFERENCE = "-1"
 
-DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0 libwebp libgphoto2 protobuf protobuf-native"
+DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0 libwebp protobuf protobuf-native"
 
 SRCREV_opencv = "92387b1ef8fad15196dd5f7fb4931444a68bc93a"
 SRCREV_contrib = "5409d5ad560523c85c6796cc5a009347072d883c"
@@ -19,10 +19,12 @@
 
 SRCREV_FORMAT = "opencv"
 SRC_URI = "git://github.com/Itseez/opencv.git;name=opencv \
-            git://github.com/Itseez/opencv_contrib.git;destsuffix=contrib;name=contrib \
-            git://github.com/Itseez/opencv_3rdparty.git;branch=ippicv/master_20151201;destsuffix=party3;name=party3 \
-            file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
-            file://fixpkgconfig.patch"
+    git://github.com/Itseez/opencv_contrib.git;destsuffix=contrib;name=contrib \
+    git://github.com/Itseez/opencv_3rdparty.git;branch=ippicv/master_20151201;destsuffix=party3;name=party3 \
+    file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
+    file://fixgcc60.patch \
+    file://fixpkgconfig.patch \
+"
 
 PV = "3.1+git${SRCPV}"
 
@@ -34,26 +36,27 @@
 addtask unpack_extra after do_unpack before do_patch
 
 EXTRA_OECMAKE = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
-		 -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 \
-                 ${@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)} \
+    -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 \
+    ${@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)} \
 "
 EXTRA_OECMAKE_append_x86 = " -DX86=ON"
 
-PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l gstreamer samples tbb \
-                   ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
-		   ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
+PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l gstreamer samples tbb  gphoto2 \
+    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
+    ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
 
 PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
 PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
 PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
+PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
 PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
 PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
 PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
@@ -70,8 +73,6 @@
 
 inherit distutils-base pkgconfig cmake
 
-export BUILD_SYS
-export HOST_SYS
 export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
 export PYTHON="${STAGING_BINDIR_NATIVE}/python"
 export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
@@ -79,8 +80,8 @@
 
 TARGET_CC_ARCH += "-I${S}/include "
 
-PACKAGES += "${PN}-samples-dbg ${PN}-samples ${PN}-apps python-opencv \
-             ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java-dbg ${PN}-java', '', d)}"
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java-dbg ${PN}-java', '', d)} \
+    ${PN}-samples-dbg ${PN}-samples ${PN}-apps python-opencv"
 
 python populate_packages_prepend () {
     cv_libdir = d.expand('${libdir}')
@@ -115,15 +116,14 @@
 
 FILES_${PN} = ""
 FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
-FILES_${PN}-dbg += "${libdir}/.debug"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
+FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake ${datadir}/OpenCV/3rdparty/${baselib}/*.a"
 FILES_${PN}-doc = "${datadir}/OpenCV/doc"
 FILES_${PN}-java = "${datadir}/OpenCV/java"
 FILES_${PN}-java-dbg = "${datadir}/OpenCV/java/.debug/"
 FILES_${PN}-samples = "${datadir}/OpenCV/samples/"
 FILES_${PN}-samples-dbg = "${datadir}/OpenCV/samples/bin/.debug"
 
-INSANE_SKIP_${PN}-apps = "staticdev"
+INSANE_SKIP_${PN}-dev = "staticdev"
 INSANE_SKIP_${PN}-java = "libdir"
 INSANE_SKIP_${PN}-java-dbg = "libdir"
 
@@ -138,12 +138,13 @@
     sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
 
     # Move Python files into correct library folder (for multilib build)
-    if [ "$libdir" != "/usr/lib" ]; then
+    if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
         mv ${D}/usr/lib/* ${D}/${libdir}/
         rm -rf ${D}/usr/lib
     fi
 
-    install -d ${D}${datadir}/OpenCV/samples/bin/
-    cp -f bin/*-tutorial-* bin/*-example-* ${D}${datadir}/OpenCV/samples/bin/
+    if ${@bb.utils.contains("PACKAGECONFIG", "samples", "true", "false", d)}; then
+        install -d ${D}${datadir}/OpenCV/samples/bin/
+        cp -f bin/*-tutorial-* bin/*-example-* ${D}${datadir}/OpenCV/samples/bin/
+    fi
 }
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch
new file mode 100644
index 0000000..de9ca52
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch
@@ -0,0 +1,59 @@
+openldap CVE-2015-3276
+
+the patch comes from:
+https://bugzilla.redhat.com/show_bug.cgi?id=1238322
+https://bugzilla.redhat.com/attachment.cgi?id=1055640
+
+The nss_parse_ciphers function in libraries/libldap/tls_m.c in
+OpenLDAP does not properly parse OpenSSL-style multi-keyword mode
+cipher strings, which might cause a weaker than intended cipher to
+be used and allow remote attackers to have unspecified impact via
+unknown vectors.
+
+Signed-off-by: Li Wang <li.wang@windriver.com>
+---
+ libraries/libldap/tls_m.c |   27 ++++++++++++++++-----------
+ 1 file changed, 16 insertions(+), 11 deletions(-)
+
+diff --git a/libraries/libldap/tls_m.c b/libraries/libldap/tls_m.c
+index 9b101f9..e6f3051 100644
+--- a/libraries/libldap/tls_m.c
++++ b/libraries/libldap/tls_m.c
+@@ -621,18 +621,23 @@ nss_parse_ciphers(const char *cipherstr, int cipher_list[ciphernum])
+ 			 */
+ 			if (mask || strength || protocol) {
+ 				for (i=0; i<ciphernum; i++) {
+-					if (((ciphers_def[i].attr & mask) ||
+-						 (ciphers_def[i].strength & strength) ||
+-						 (ciphers_def[i].version & protocol)) &&
+-						(cipher_list[i] != -1)) {
+-						/* Enable the NULL ciphers only if explicity
+-						 * requested */
+-						if (ciphers_def[i].attr & SSL_eNULL) {
+-							if (mask & SSL_eNULL)
+-								cipher_list[i] = action;
+-						} else
++					/* if more than one mask is provided
++					 * then AND logic applies (to match openssl)
++					 */
++					if ( cipher_list[i] == -1) )
++						continue;
++					if ( mask && ! (ciphers_def[i].attr & mask) )
++						continue;
++					if ( strength && ! (ciphers_def[i].strength & strength) )
++						continue;
++					if ( protocol && ! (ciphers_def[i].version & protocol) )
++						continue;
++					/* Enable the NULL ciphers only if explicity requested */
++					if (ciphers_def[i].attr & SSL_eNULL) {
++						if (mask & SSL_eNULL)
+ 							cipher_list[i] = action;
+-					}
++					} else
++						cipher_list[i] = action;
+ 				}
+ 			} else {
+ 				for (i=0; i<ciphernum; i++) {
+-- 
+1.7.9.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.43.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.43.bb
deleted file mode 100644
index 8618365..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.43.bb
+++ /dev/null
@@ -1,254 +0,0 @@
-# OpenLDAP, a license free (see http://www.OpenLDAP.org/license.html)
-#
-SUMMARY = "OpenLDAP Directory Service"
-DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol."
-HOMEPAGE = "http://www.OpenLDAP.org/license.html"
-# The OpenLDAP Public License - see the HOMEPAGE - defines
-# the license.  www.openldap.org claims this is Open Source
-# (see http://www.openldap.org), the license appears to be
-# basically BSD.  opensource.org does not record this license
-# at present (so it is apparently not OSI certified).
-LICENSE = "OpenLDAP"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=9d845a25aef97da753144f1dacbf680c \
-                    file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
-"
-SECTION = "libs"
-
-LDAP_VER = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}"
-
-SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${BP}.tgz \
-    file://openldap-m4-pthread.patch \
-    file://kill-icu.patch \
-    file://openldap-2.4.28-gnutls-gcrypt.patch \
-    file://use-urandom.patch \
-    file://initscript \
-    file://slapd.service \
-    file://thread_stub.patch \
-"
-
-SRC_URI[md5sum] = "49ca65e27891fcf977d78c10f073c705"
-SRC_URI[sha256sum] = "34d78e5598a2b0360d26a9050fcdbbe198c65493b013bb607839d5598b6978c8"
-
-DEPENDS = "util-linux groff-native"
-
-# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when
-# installing .so and executables, this fails in cross compilation
-# environments
-SRC_URI += "file://install-strip.patch"
-
-inherit autotools-brokensep update-rc.d systemd
-
-# CV SETTINGS
-# Required to work round AC_FUNC_MEMCMP which gets the wrong answer
-# when cross compiling (should be in site?)
-EXTRA_OECONF += "ac_cv_func_memcmp_working=yes"
-
-# CONFIG DEFINITIONS
-# The following is necessary because it cannot be determined for a
-# cross compile automagically.  Select should yield fine on all OE
-# systems...
-EXTRA_OECONF += "--with-yielding-select=yes"
-# Shared libraries are nice...
-EXTRA_OECONF += "--enable-dynamic"
-
-PACKAGECONFIG ??= "gnutls modules \
-                   ldap meta monitor null passwd shell proxycache dnssrv \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
-"
-#--with-tls              with TLS/SSL support auto|openssl|gnutls [auto]
-PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt"
-PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl"
-
-PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl"
-PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-
-# SLAPD options
-#
-# UNIX crypt(3) passwd support:
-EXTRA_OECONF += "--enable-crypt"
-
-# SLAPD BACKEND
-#
-# The backend must be set by the configuration.  This controls the
-# required database. 
-#
-# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql"
-#
-# Note that multiple backends can be built.  The ldbm backend requires a
-# build-time choice of database API.  The bdb backend forces this to be
-# DB4.  To use the gdbm (or other) API the Berkely database module must
-# be removed from the build.
-md = "${libexecdir}/openldap"
-#
-#--enable-bdb          enable Berkeley DB backend no|yes|mod yes
-# The Berkely DB is the standard choice.  This version of OpenLDAP requires
-# the version 4 implementation or better.
-PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db"
-
-#--enable-dnssrv       enable dnssrv backend no|yes|mod no
-PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no"
-
-#--enable-hdb          enable Hierarchical DB backend no|yes|mod no
-PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db"
-
-#--enable-ldap         enable ldap backend no|yes|mod no
-PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no,"
-
-#--enable-mdb          enable mdb database backend no|yes|mod [yes]
-PACKAGECONFIG[mdb] = "--enable-mdb=mod,--enable-mdb=no,"
-
-#--enable-meta         enable metadirectory backend no|yes|mod no
-PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
-
-#--enable-monitor      enable monitor backend no|yes|mod yes
-PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no,"
-
-#--enable-ndb          enable MySQL NDB Cluster backend no|yes|mod [no]
-PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no,"
-
-#--enable-null         enable null backend no|yes|mod no
-PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
-
-#--enable-passwd       enable passwd backend no|yes|mod no
-PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no,"
-
-#--enable-perl         enable perl backend no|yes|mod no
-#  This requires a loadable perl dynamic library, if enabled without
-#  doing something appropriate (building perl?) the build will pick
-#  up the build machine perl - not good (inherit perlnative?)
-PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl"
-
-#--enable-relay        enable relay backend no|yes|mod [yes]
-PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no,"
-
-#--enable-shell        enable shell backend no|yes|mod no
-# configure: WARNING: Use of --without-threads is recommended with back-shell
-PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no,"
-
-#--enable-sock         enable sock backend no|yes|mod [no]
-PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no,"
-
-#--enable-sql          enable sql backend no|yes|mod no
-# sql requires some sql backend which provides sql.h, sqlite* provides
-# sqlite.h (which may be compatible but hasn't been tried.)
-PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3"
-
-#--enable-dyngroup     Dynamic Group overlay no|yes|mod no
-#  This is a demo, Proxy Cache defines init_module which conflicts with the
-#  same symbol in dyngroup
-PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no,"
-
-#--enable-proxycache   Proxy Cache overlay no|yes|mod no
-PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
-FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*"
-PACKAGES += "${PN}-overlay-proxycache"
-
-# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
-# This allows tls to obtain random bits from /dev/urandom, by default
-# it was disabled for cross-compiling.
-CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\'"
-
-LDFLAGS += "-pthread"
-
-do_configure() {
-    cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
-    rm -f ${S}/libtool
-    aclocal
-    libtoolize --force --copy
-    gnu-configize
-    autoconf
-    oe_runconf
-}
-
-LEAD_SONAME = "libldap-${LDAP_VER}.so.*"
-
-# The executables go in a separate package.  This allows the
-# installation of the libraries with no daemon support.
-# Each module also has its own package - see above.
-PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
-
-# Package contents - shift most standard contents to -bin
-FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data"
-FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \
-    ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \
-    ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*"
-FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp ${localstatedir}/run ${localstatedir}/volatile/run"
-FILES_${PN}-bin = "${bindir}"
-FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so"
-FILES_${PN}-dbg += "${libexecdir}/openldap/.debug"
-
-do_install_append() {
-    install -d ${D}${sysconfdir}/init.d
-    cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap
-    chmod 755 ${D}${sysconfdir}/init.d/openldap
-    # This is duplicated in /etc/openldap and is for slapd
-    rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example
-
-    # Installing slapd under ${sbin} is more FHS and LSB compliance
-    mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd
-    SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema"
-    cd ${D}/${sbindir}/
-    rm -f ${SLAPTOOLS}
-    for i in ${SLAPTOOLS}; do ln -sf slapd $i; done
-
-    rmdir "${D}${localstatedir}/run"
-    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
-
-    install -d ${D}${systemd_unitdir}/system/
-    install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/
-    sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service
-
-    # Uses mdm as the database
-    #  and localstatedir as data directory ...
-    sed -e 's/# modulepath/modulepath/' \
-        -e 's/# moduleload\s*back_bdb.*/moduleload    back_mdb/' \
-        -e 's/database\s*bdb/database        mdb/' \
-        -e 's%^directory\s*.*%directory   ${localstatedir}/${BPN}/data/%' \
-        -i ${D}${sysconfdir}/openldap/slapd.conf
-
-    mkdir -p ${D}${localstatedir}/${BPN}/data
-
-
-}
-
-INITSCRIPT_PACKAGES = "${PN}-slapd"
-INITSCRIPT_NAME_${PN}-slapd = "openldap"
-INITSCRIPT_PARAMS_${PN}-slapd = "defaults"
-SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service"
-SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable"
-
-
-PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*"
-
-# The modules require their .so to be dynamicaly loaded
-INSANE_SKIP_${PN}-backend-dnssrv  += "dev-so"
-INSANE_SKIP_${PN}-backend-ldap    += "dev-so"
-INSANE_SKIP_${PN}-backend-meta    += "dev-so"
-INSANE_SKIP_${PN}-backend-mdb     += "dev-so"
-INSANE_SKIP_${PN}-backend-monitor += "dev-so"
-INSANE_SKIP_${PN}-backend-null    += "dev-so"
-INSANE_SKIP_${PN}-backend-passwd  += "dev-so"
-INSANE_SKIP_${PN}-backend-shell   += "dev-so"
-
-
-python populate_packages_prepend () {
-    backend_dir    = d.expand('${libexecdir}/openldap')
-    do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
-    do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
-
-    metapkg = "${PN}-backends"
-    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
-    d.setVar('FILES_' + metapkg, "")
-    metapkg_rdepends = []
-    packages = d.getVar('PACKAGES', 1).split()
-    for pkg in packages[1:]:
-        if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"):
-            metapkg_rdepends.append(pkg)
-    d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
-    d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package')
-    packages.append(metapkg)
-    d.setVar('PACKAGES', ' '.join(packages))
-}
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.44.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.44.bb
new file mode 100644
index 0000000..05ffc5c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.44.bb
@@ -0,0 +1,255 @@
+# OpenLDAP, a license free (see http://www.OpenLDAP.org/license.html)
+#
+SUMMARY = "OpenLDAP Directory Service"
+DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol."
+HOMEPAGE = "http://www.OpenLDAP.org/license.html"
+# The OpenLDAP Public License - see the HOMEPAGE - defines
+# the license.  www.openldap.org claims this is Open Source
+# (see http://www.openldap.org), the license appears to be
+# basically BSD.  opensource.org does not record this license
+# at present (so it is apparently not OSI certified).
+LICENSE = "OpenLDAP"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=c933fba6d89fda89f58df1e086e3f2e7 \
+                    file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
+"
+SECTION = "libs"
+
+LDAP_VER = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}"
+
+SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${BP}.tgz \
+    file://openldap-m4-pthread.patch \
+    file://kill-icu.patch \
+    file://openldap-2.4.28-gnutls-gcrypt.patch \
+    file://use-urandom.patch \
+    file://initscript \
+    file://slapd.service \
+    file://thread_stub.patch \
+    file://openldap-CVE-2015-3276.patch \
+"
+
+SRC_URI[md5sum] = "693ac26de86231f8dcae2b4e9d768e51"
+SRC_URI[sha256sum] = "d7de6bf3c67009c95525dde3a0212cc110d0a70b92af2af8e3ee800e81b88400"
+
+DEPENDS = "util-linux groff-native"
+
+# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when
+# installing .so and executables, this fails in cross compilation
+# environments
+SRC_URI += "file://install-strip.patch"
+
+inherit autotools-brokensep update-rc.d systemd
+
+# CV SETTINGS
+# Required to work round AC_FUNC_MEMCMP which gets the wrong answer
+# when cross compiling (should be in site?)
+EXTRA_OECONF += "ac_cv_func_memcmp_working=yes"
+
+# CONFIG DEFINITIONS
+# The following is necessary because it cannot be determined for a
+# cross compile automagically.  Select should yield fine on all OE
+# systems...
+EXTRA_OECONF += "--with-yielding-select=yes"
+# Shared libraries are nice...
+EXTRA_OECONF += "--enable-dynamic"
+
+PACKAGECONFIG ??= "gnutls modules \
+                   mdb ldap meta monitor null passwd shell proxycache dnssrv \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+"
+#--with-tls              with TLS/SSL support auto|openssl|gnutls [auto]
+PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt"
+PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl"
+
+PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl"
+PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+
+# SLAPD options
+#
+# UNIX crypt(3) passwd support:
+EXTRA_OECONF += "--enable-crypt"
+
+# SLAPD BACKEND
+#
+# The backend must be set by the configuration.  This controls the
+# required database.
+#
+# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql"
+#
+# Note that multiple backends can be built.  The ldbm backend requires a
+# build-time choice of database API.  The bdb backend forces this to be
+# DB4.  To use the gdbm (or other) API the Berkely database module must
+# be removed from the build.
+md = "${libexecdir}/openldap"
+#
+#--enable-bdb          enable Berkeley DB backend no|yes|mod yes
+# The Berkely DB is the standard choice.  This version of OpenLDAP requires
+# the version 4 implementation or better.
+PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db"
+
+#--enable-dnssrv       enable dnssrv backend no|yes|mod no
+PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no"
+
+#--enable-hdb          enable Hierarchical DB backend no|yes|mod no
+PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db"
+
+#--enable-ldap         enable ldap backend no|yes|mod no
+PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no,"
+
+#--enable-mdb          enable mdb database backend no|yes|mod [yes]
+PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no,"
+
+#--enable-meta         enable metadirectory backend no|yes|mod no
+PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
+
+#--enable-monitor      enable monitor backend no|yes|mod yes
+PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no,"
+
+#--enable-ndb          enable MySQL NDB Cluster backend no|yes|mod [no]
+PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no,"
+
+#--enable-null         enable null backend no|yes|mod no
+PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
+
+#--enable-passwd       enable passwd backend no|yes|mod no
+PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no,"
+
+#--enable-perl         enable perl backend no|yes|mod no
+#  This requires a loadable perl dynamic library, if enabled without
+#  doing something appropriate (building perl?) the build will pick
+#  up the build machine perl - not good (inherit perlnative?)
+PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl"
+
+#--enable-relay        enable relay backend no|yes|mod [yes]
+PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no,"
+
+#--enable-shell        enable shell backend no|yes|mod no
+# configure: WARNING: Use of --without-threads is recommended with back-shell
+PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no,"
+
+#--enable-sock         enable sock backend no|yes|mod [no]
+PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no,"
+
+#--enable-sql          enable sql backend no|yes|mod no
+# sql requires some sql backend which provides sql.h, sqlite* provides
+# sqlite.h (which may be compatible but hasn't been tried.)
+PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3"
+
+#--enable-dyngroup     Dynamic Group overlay no|yes|mod no
+#  This is a demo, Proxy Cache defines init_module which conflicts with the
+#  same symbol in dyngroup
+PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no,"
+
+#--enable-proxycache   Proxy Cache overlay no|yes|mod no
+PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
+FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*"
+PACKAGES += "${PN}-overlay-proxycache"
+
+# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
+# This allows tls to obtain random bits from /dev/urandom, by default
+# it was disabled for cross-compiling.
+CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC"
+
+LDFLAGS += "-pthread"
+
+do_configure() {
+    cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
+    rm -f ${S}/libtool
+    aclocal
+    libtoolize --force --copy
+    gnu-configize
+    autoconf
+    oe_runconf
+}
+
+LEAD_SONAME = "libldap-${LDAP_VER}.so.*"
+
+# The executables go in a separate package.  This allows the
+# installation of the libraries with no daemon support.
+# Each module also has its own package - see above.
+PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
+
+# Package contents - shift most standard contents to -bin
+FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data"
+FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \
+    ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \
+    ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*"
+FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp ${localstatedir}/run ${localstatedir}/volatile/run"
+FILES_${PN}-bin = "${bindir}"
+FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so"
+FILES_${PN}-dbg += "${libexecdir}/openldap/.debug"
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/init.d
+    cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap
+    chmod 755 ${D}${sysconfdir}/init.d/openldap
+    # This is duplicated in /etc/openldap and is for slapd
+    rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example
+
+    # Installing slapd under ${sbin} is more FHS and LSB compliance
+    mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd
+    SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema"
+    cd ${D}/${sbindir}/
+    rm -f ${SLAPTOOLS}
+    for i in ${SLAPTOOLS}; do ln -sf slapd $i; done
+
+    rmdir "${D}${localstatedir}/run"
+    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+
+    install -d ${D}${systemd_unitdir}/system/
+    install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/
+    sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service
+
+    # Uses mdm as the database
+    #  and localstatedir as data directory ...
+    sed -e 's/# modulepath/modulepath/' \
+        -e 's/# moduleload\s*back_bdb.*/moduleload    back_mdb/' \
+        -e 's/database\s*bdb/database        mdb/' \
+        -e 's%^directory\s*.*%directory   ${localstatedir}/${BPN}/data/%' \
+        -i ${D}${sysconfdir}/openldap/slapd.conf
+
+    mkdir -p ${D}${localstatedir}/${BPN}/data
+
+
+}
+
+INITSCRIPT_PACKAGES = "${PN}-slapd"
+INITSCRIPT_NAME_${PN}-slapd = "openldap"
+INITSCRIPT_PARAMS_${PN}-slapd = "defaults"
+SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service"
+SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable"
+
+
+PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*"
+
+# The modules require their .so to be dynamicaly loaded
+INSANE_SKIP_${PN}-backend-dnssrv  += "dev-so"
+INSANE_SKIP_${PN}-backend-ldap    += "dev-so"
+INSANE_SKIP_${PN}-backend-meta    += "dev-so"
+INSANE_SKIP_${PN}-backend-mdb     += "dev-so"
+INSANE_SKIP_${PN}-backend-monitor += "dev-so"
+INSANE_SKIP_${PN}-backend-null    += "dev-so"
+INSANE_SKIP_${PN}-backend-passwd  += "dev-so"
+INSANE_SKIP_${PN}-backend-shell   += "dev-so"
+
+
+python populate_packages_prepend () {
+    backend_dir    = d.expand('${libexecdir}/openldap')
+    do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
+    do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
+
+    metapkg = "${PN}-backends"
+    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+    d.setVar('FILES_' + metapkg, "")
+    metapkg_rdepends = []
+    packages = d.getVar('PACKAGES', 1).split()
+    for pkg in packages[1:]:
+        if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"):
+            metapkg_rdepends.append(pkg)
+    d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+    d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package')
+    packages.append(metapkg)
+    d.setVar('PACKAGES', ' '.join(packages))
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.15.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.15.0.bb
deleted file mode 100644
index a11b3d8..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.15.0.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Smart card library and applications"
-DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\
-functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\
-7816-4 compatible smart card. Encryption and decryption using private\
-keys on the smart card is possible with PKCS\
-such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\
-eID cards have also been confirmed to work."
-
-HOMEPAGE = "http://www.opensc-project.org/opensc/"
-SECTION = "System Environment/Libraries"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/o/${BPN}/${BPN}_${PV}.orig.tar.gz"
-
-SRC_URI[md5sum] = "f266024e5a9630821ffa0ac14f72e369"
-SRC_URI[sha256sum] = "8f8f8cf52e0252334e4dfdccca829b876a3de6340deb772aa0bfe0c0cc10eaf5"
-
-S = "${WORKDIR}/OpenSC-${PV}"
-DEPENDS = "openct pcsc-lite virtual/libiconv openssl"
-
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = " \
-    --disable-static \
-    --enable-openct \
-    --disable-pcsc \
-    --disable-ctapi \
-    --disable-doc \
-"
-EXTRA_OEMAKE = "DESTDIR=${D}"
-
-RDEPENDS_${PN} = "readline"
-
-FILES_${PN} += "\
-    ${libdir}/opensc-pkcs11.so \
-    ${libdir}/onepin-opensc-pkcs11.so \
-    ${libdir}/pkcs11-spy.so \
-"
-FILES_${PN}-dev += "\
-    ${libdir}/pkcs11/opensc-pkcs11.so \
-    ${libdir}/pkcs11/onepin-opensc-pkcs11.so \
-    ${libdir}/pkcs11/pkcs11-spy.so \
-"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.16.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.16.0.bb
new file mode 100644
index 0000000..fd67181
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.16.0.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Smart card library and applications"
+DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\
+functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\
+7816-4 compatible smart card. Encryption and decryption using private\
+keys on the smart card is possible with PKCS\
+such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\
+eID cards have also been confirmed to work."
+
+HOMEPAGE = "http://www.opensc-project.org/opensc/"
+SECTION = "System Environment/Libraries"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/o/${BPN}/${BPN}_${PV}.orig.tar.gz"
+
+SRC_URI[md5sum] = "724d128f23cd7a74b28d04300ce7bcbd"
+SRC_URI[sha256sum] = "3ac8c29542bb48179e7086d35a1b8907a4e86aca3de3323c2f48bd74eaaf5729"
+
+DEPENDS = "openct pcsc-lite virtual/libiconv openssl"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " \
+    --disable-static \
+    --enable-openct \
+    --disable-pcsc \
+    --disable-ctapi \
+    --disable-doc \
+"
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+RDEPENDS_${PN} = "readline"
+
+FILES_${PN} += "\
+    ${libdir}/opensc-pkcs11.so \
+    ${libdir}/onepin-opensc-pkcs11.so \
+    ${libdir}/pkcs11-spy.so \
+"
+FILES_${PN}-dev += "\
+    ${libdir}/pkcs11/opensc-pkcs11.so \
+    ${libdir}/pkcs11/onepin-opensc-pkcs11.so \
+    ${libdir}/pkcs11/pkcs11-spy.so \
+"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb
index ed8ef26..f5896e6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb
@@ -61,7 +61,7 @@
     install -d ${D}/etc/openwbem/openwbem.conf.d
     install -d ${D}/var/adm/fillup-templates
     install -m 644 etc/sysconfig/daemons/owcimomd ${D}/var/adm/fillup-templates/sysconfig.owcimomd
-    
+
     # fix up hardcoded paths
     sed -i -e 's,/usr/sbin/,${sbindir}/,' ${WORKDIR}/owcimomd.service
     if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
@@ -110,3 +110,6 @@
     ${includedir} \
     ${datadir}/aclocal/openwbem.m4 \
 "
+
+# http://errors.yoctoproject.org/Errors/Details/68630/
+PNBLACKLIST[openwbem] ?= "BROKEN: fails to build with gcc-6"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb
index 4e8b7d8..cb9aa22 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb
@@ -12,9 +12,9 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e284d013ef08e66d4737f446c5890550"
 
 SRC_URI = "http://www.openwall.com/pam/modules/pam_passwdqc/pam_passwdqc-1.0.5.tar.gz \
-           file://1000patch-219201.patch \
-           file://7000Makefile-fix-CC.patch \
-          "
+    file://1000patch-219201.patch \
+    file://7000Makefile-fix-CC.patch \
+"
 SRC_URI[md5sum] = "cd9c014f736158b1a60384a8e2bdc28a"
 SRC_URI[sha256sum] = "32528ddf7d8219c788b6e7702361611ff16c6340b6dc0f418ff164aadc4a4a88"
 
@@ -24,10 +24,13 @@
 DEPENDS = "libpam"
 
 EXTRA_OEMAKE = "CFLAGS="${CFLAGS} -Wall -fPIC -DHAVE_SHADOW" \
-                SECUREDIR=${base_libdir}/security"
+    SECUREDIR=${base_libdir}/security \
+"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
 
 do_install() {
-	oe_runmake install DESTDIR=${D}
+    oe_runmake install DESTDIR=${D}
 }
 
 FILES_${PN} += "${base_libdir}/security/pam_passwdqc.so"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.13.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.13.bb
index cc72549..0d2cb33 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.13.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.13.bb
@@ -1,7 +1,13 @@
 SUMMARY = "PC/SC Lite smart card framework and applications"
 HOMEPAGE = "http://pcsclite.alioth.debian.org/"
 LICENSE = "BSD & GPLv3+"
-LICENSE_${PN}-dev = "GPLv3+"
+LICENSE_${PN} = "BSD"
+LICENSE_${PN}-lib = "BSD"
+LICENSE_${PN}-doc = "BSD"
+LICENSE_${PN}-dev = "BSD"
+LICENSE_${PN}-dbg = "BSD & GPLv3+"
+LICENSE_${PN}-spy = "GPLv3+"
+LICENSE_${PN}-spy-dev = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=bcfbd85230ac3c586fb294c8b627cf32"
 DEPENDS = "udev"
 
@@ -20,14 +26,24 @@
 
 S = "${WORKDIR}/pcsc-lite-${PV}"
 
-PACKAGES =+ "${PN}-lib"
+PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-dev"
 
 RRECOMMENDS_${PN} = "ccid"
 
-FILES_${PN}-lib = "${libdir}/lib*${SOLIBS}"
+FILES_${PN} = "${sbindir}/pcscd"
+FILES_${PN}-lib = "${libdir}/libpcsclite*${SOLIBS}"
+FILES_${PN}-dev = "${includedir} \
+                   ${libdir}/pkgconfig \
+                   ${libdir}/libpcsclite.la \
+                   ${libdir}/libpcsclite.so"
+                   
+FILES_${PN}-spy = "${bindir}/pcsc-spy \
+                   ${libdir}/libpcscspy*${SOLIBS}"
+FILES_${PN}-spy-dev = "${libdir}/libpcscspy.la \
+                       ${libdir}/libpcscspy.so "
 
 RPROVIDES_${PN} += "${PN}-systemd"
 RREPLACES_${PN} += "${PN}-systemd"
 RCONFLICTS_${PN} += "${PN}-systemd"
 SYSTEMD_SERVICE_${PN} = "pcscd.socket"
-RDEPENDS_${PN} +="python"
+RDEPENDS_${PN}-spy +="python"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.10.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.10.12.bb
deleted file mode 100644
index cd46140..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.10.12.bb
+++ /dev/null
@@ -1,120 +0,0 @@
-DESCRIPTION = "multi-protocol instant messaging client"
-SECTION = "x11/network"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "python virtual/libintl intltool-native libxml2 gconf"
-
-inherit autotools gettext pkgconfig gconf perlnative
-
-SRC_URI = "\
-    ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
-    file://sanitize-configure.ac.patch \
-    file://purple-OE-branding-25.patch \
-    file://pidgin-cross-python-265.patch \
-"
-
-SRC_URI[md5sum] = "14e0f5cfb2ed065e4dc80391a806ac76"
-SRC_URI[sha256sum] = "2c7523f0fefe89749c03b2b738ab9f7bd186da435be4762f1487eee31e77ffdd"
-
-PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
-"
-PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2"
-#  --disable-gstreamer     compile without GStreamer audio support
-#  --disable-gstreamer-video
-#                          compile without GStreamer 1.0 Video Overlay support
-#  --disable-gstreamer-interfaces
-#                          compile without GStreamer 0.10 interface support
-#  --with-gstreamer=<version>
-#                          compile with GStreamer 0.10 or 1.0 interface
-PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
-PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer"
-PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn"
-PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
-PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
-PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,ncurses"
-PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
-PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
-
-EXTRA_OECONF = " \
-    --disable-perl \
-    --disable-tcl \
-    --disable-gevolution \
-    --disable-schemas-install \
-    --disable-gtkspell \
-    --disable-meanwhile \
-    --disable-nm \
-    --disable-screensaver \
-    --enable-nss=no \
-"
-
-do_configure_prepend() {
-    touch ${S}/po/Makefile
-    sed -i "s#PY_VERSION=`$PYTHON -c 'import sys ; print sys.version[0:3]'`#PY_VERSION=${PYTHON_BASEVERSION}#g" ${S}/configure.ac
-}
-
-OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
-OE_LT_RPATH_ALLOW[export]="1"
-
-PACKAGES =+ "libpurple-dbg libpurple-dev libpurple libgnt-dbg libgnt libgnt-dev finch-dbg finch finch-dev ${PN}-data"
-
-LEAD_SONAME = "libpurple.so.0"
-FILES_libpurple     = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
-FILES_libpurple-dev = "${libdir}/libpurple*.la \
-                       ${libdir}/libpurple*.so \
-                       ${libdir}/purple-2/*.la \
-                       ${libdir}/purple-2/libjabber.so \
-                       ${libdir}/purple-2/liboscar.so \
-                       ${libdir}/purple-2/libymsg.so \
-                       ${datadir}/aclocal"
-FILES_libpurple-dbg += "${libdir}/.debug/libpurple* \
-                        ${libdir}/purple-2/.debug"
-FILES_libgnt         = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so" 
-FILES_libgnt-dev     = "${libdir}/gnt/*.la" 
-FILES_libgnt-dbg     = "${libdir}/gnt/.debug"
-FILES_finch          = "${bindir}/finch"
-FILES_finch-dev      = "${libdir}/finch/*.la"
-FILES_finch-dbg      = "${bindir}/.debug/finch \
-                        ${libdir}/finch/.debug"
-
-FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
-           ${datadir}/applications"
-RRECOMMENDS_${PN} = "${PN}-data libpurple-plugin-ssl-gnutls libpurple-protocol-irc libpurple-protocol-xmpp"
-
-FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata"
-FILES_${PN}-dev += "${libdir}/${PN}/*.la"
-
-PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*"
-
-python populate_packages_prepend () {
-    pidgroot = d.expand('${libdir}/pidgin')
-    purple   = d.expand('${libdir}/purple-2')
-    finch    = d.expand('${libdir}/finch')
-
-    do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$',
-        output_pattern='pidgin-plugin-%s',
-        description='Pidgin plugin %s',
-        prepend=True, extra_depends='')
-
-    do_split_packages(d, purple, '^lib(.*)\.so$',
-        output_pattern='libpurple-protocol-%s',
-        description='Libpurple protocol plugin for %s',
-        prepend=True, extra_depends='')
-
-    do_split_packages(d, purple, '^(ssl-.*)\.so$',
-        output_pattern='libpurple-plugin-%s',
-        description='libpurple plugin %s',
-        prepend=True, extra_depends='libpurple-plugin-ssl')
-
-    do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$',
-        output_pattern='libpurple-plugin-%s',
-        description='libpurple plugin %s',
-        prepend=True, extra_depends='')
-
-    do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$',
-        output_pattern='finch-plugin-%s',
-        description='Finch plugin %s',
-        prepend=True, extra_depends='')
-}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.11.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.11.0.bb
new file mode 100644
index 0000000..e997146
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.11.0.bb
@@ -0,0 +1,120 @@
+SUMMARY = "multi-protocol instant messaging client"
+SECTION = "x11/network"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS = "python virtual/libintl intltool-native libxml2 gconf"
+
+inherit autotools gettext pkgconfig gconf perlnative
+
+SRC_URI = "\
+    ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
+    file://sanitize-configure.ac.patch \
+    file://purple-OE-branding-25.patch \
+    file://pidgin-cross-python-265.patch \
+"
+
+SRC_URI[md5sum] = "7b167474db669aab2f71fa46835fb83f"
+SRC_URI[sha256sum] = "f72613440586da3bdba6d58e718dce1b2c310adf8946de66d8077823e57b3333"
+
+PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
+"
+PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2"
+#  --disable-gstreamer     compile without GStreamer audio support
+#  --disable-gstreamer-video
+#                          compile without GStreamer 1.0 Video Overlay support
+#  --disable-gstreamer-interfaces
+#                          compile without GStreamer 0.10 interface support
+#  --with-gstreamer=<version>
+#                          compile with GStreamer 0.10 or 1.0 interface
+PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
+PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer"
+PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn"
+PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
+PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
+PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,ncurses"
+PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls"
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
+PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
+PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss"
+
+EXTRA_OECONF = " \
+    --disable-perl \
+    --disable-tcl \
+    --disable-gevolution \
+    --disable-schemas-install \
+    --disable-gtkspell \
+    --disable-meanwhile \
+    --disable-nm \
+    --disable-screensaver \
+"
+
+do_configure_prepend() {
+    touch ${S}/po/Makefile
+    sed -i "s#PY_VERSION=`$PYTHON -c 'import sys ; print sys.version[0:3]'`#PY_VERSION=${PYTHON_BASEVERSION}#g" ${S}/configure.ac
+}
+
+OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
+OE_LT_RPATH_ALLOW[export]="1"
+
+PACKAGES =+ "libpurple-dbg libpurple-dev libpurple libgnt-dbg libgnt libgnt-dev finch-dbg finch finch-dev ${PN}-data"
+
+LEAD_SONAME = "libpurple.so.0"
+FILES_libpurple     = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
+FILES_libpurple-dev = "${libdir}/libpurple*.la \
+                       ${libdir}/libpurple*.so \
+                       ${libdir}/purple-2/*.la \
+                       ${libdir}/purple-2/libjabber.so \
+                       ${libdir}/purple-2/liboscar.so \
+                       ${libdir}/purple-2/libymsg.so \
+                       ${datadir}/aclocal"
+FILES_libpurple-dbg += "${libdir}/.debug/libpurple* \
+                        ${libdir}/purple-2/.debug"
+FILES_libgnt         = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so"
+FILES_libgnt-dev     = "${libdir}/gnt/*.la"
+FILES_libgnt-dbg     = "${libdir}/gnt/.debug"
+FILES_finch          = "${bindir}/finch"
+FILES_finch-dev      = "${libdir}/finch/*.la"
+FILES_finch-dbg      = "${bindir}/.debug/finch \
+                        ${libdir}/finch/.debug"
+
+FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
+           ${datadir}/applications"
+RRECOMMENDS_${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp"
+
+FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata"
+FILES_${PN}-dev += "${libdir}/${PN}/*.la"
+
+PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*"
+
+python populate_packages_prepend () {
+    pidgroot = d.expand('${libdir}/pidgin')
+    purple   = d.expand('${libdir}/purple-2')
+    finch    = d.expand('${libdir}/finch')
+
+    do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$',
+        output_pattern='pidgin-plugin-%s',
+        description='Pidgin plugin %s',
+        prepend=True, extra_depends='')
+
+    do_split_packages(d, purple, '^lib(.*)\.so$',
+        output_pattern='libpurple-protocol-%s',
+        description='Libpurple protocol plugin for %s',
+        prepend=True, extra_depends='')
+
+    do_split_packages(d, purple, '^(ssl-.*)\.so$',
+        output_pattern='libpurple-plugin-%s',
+        description='libpurple plugin %s',
+        prepend=True, extra_depends='libpurple-plugin-ssl')
+
+    do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$',
+        output_pattern='libpurple-plugin-%s',
+        description='libpurple plugin %s',
+        prepend=True, extra_depends='')
+
+    do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$',
+        output_pattern='finch-plugin-%s',
+        description='Finch plugin %s',
+        prepend=True, extra_depends='')
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.1.bb
deleted file mode 100644
index 135d2aa..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.1.bb
+++ /dev/null
@@ -1,107 +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"
-
-SRC_URI = " \
-    https://github.com/pocoproject/poco/archive/poco-${PV}-release.tar.gz \
-    file://run-ptest \
-   "
-
-SRC_URI[md5sum] = "a4b755d47303b20a0e2586f281d05a36"
-SRC_URI[sha256sum] = "6dbbc2018912ad9af6af96f605933ed91354a1e7423e5dbd04d8e9a2b2d15c05"
-
-S = "${WORKDIR}/poco-poco-${PV}-release"
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
-                 ${@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,-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,-DENABLE_NETSSL=OFF,openssl"
-PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON,-DENABLE_CRYPTO=OFF,openssl"
-PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
-PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON,-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,-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", True).split()
-    components.append("Foundation")
-    for lib in components:
-        pkg = ("poco-%s" % lib.lower()).replace("_","")
-        packages.append(pkg)
-        if not d.getVar("FILES_%s" % pkg, True):
-            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.7.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.5.bb
new file mode 100644
index 0000000..0fc50e1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poco/poco_1.7.5.bb
@@ -0,0 +1,105 @@
+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 = "7dfdcfb70d75ccdaaf2b43fa0b23f82599aebec3"
+SRC_URI = " \
+    git://github.com/pocoproject/poco.git \
+    file://run-ptest \
+   "
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
+                 ${@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,-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,-DENABLE_NETSSL=OFF,openssl"
+PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON,-DENABLE_CRYPTO=OFF,openssl"
+PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
+PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON,-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,-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", True).split()
+    components.append("Foundation")
+    for lib in components:
+        pkg = ("poco-%s" % lib.lower()).replace("_","")
+        packages.append(pkg)
+        if not d.getVar("FILES_%s" % pkg, True):
+            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/0001-Compile-with-C-11-compilers-that-don-t-define-isinfi.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Compile-with-C-11-compilers-that-don-t-define-isinfi.patch
deleted file mode 100644
index d5c34a6..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Compile-with-C-11-compilers-that-don-t-define-isinfi.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From a8e3399487258e53df0fd4a79c570c8d71188bed Mon Sep 17 00:00:00 2001
-From: Takahiro Hashimoto <kenya888.en@gmail.com>
-Date: Wed, 27 Apr 2016 00:16:52 +0200
-Subject: [PATCH] Compile with C++11 compilers that don't define isinfinite
-
-Bug #94761
----
- poppler/SplashOutputDev.cc | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc
-index 13d090c..0e50702 100644
---- a/poppler/SplashOutputDev.cc
-+++ b/poppler/SplashOutputDev.cc
-@@ -36,6 +36,7 @@
- // Copyright (C) 2014 Richard PALO <richard@netbsd.org>
- // Copyright (C) 2015 Tamas Szekeres <szekerest@gmail.com>
- // Copyright (C) 2015 Kenji Uno <ku@digitaldolphins.jp>
-+// Copyright (C) 2016 Takahiro Hashimoto <kenya888.en@gmail.com>
- //
- // To see a description of the changes please see the Changelog file that
- // came with your tarball or type make ChangeLog if you are building from git
-@@ -94,6 +95,13 @@ extern "C" int unlink(char *filename);
- #endif
- #endif
- 
-+#if __cplusplus > 199711L
-+#include <cmath>
-+#ifndef isfinite
-+#define isfinite(x) std::isfinite(x)
-+#endif
-+#endif
-+
- static inline void convertGfxColor(SplashColorPtr dest,
-                                    SplashColorMode colorMode,
-                                    GfxColorSpace *colorSpace,
--- 
-2.8.2
-
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
index 560b073..4e80d24 100644
--- 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
@@ -14,10 +14,10 @@
  1 file changed, 8 insertions(+), 47 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 67599c0..40fa596 100644
+index c4cfc2c..8e961c7 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -622,25 +622,10 @@ AC_SUBST(POPPLER_QT4_LIBS)
+@@ -712,25 +712,10 @@ AC_SUBST(POPPLER_QT4_LIBS)
  AC_SUBST(POPPLER_QT4_TEST_LIBS)
  
  if test x$enable_poppler_qt4 = xyes; then
@@ -47,27 +47,27 @@
    AC_SUBST(MOCQT4)
    AC_MSG_RESULT([$MOCQT4])
  fi
-@@ -679,34 +664,10 @@ AC_SUBST(POPPLER_QT5_LIBS)
+@@ -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 "Qt 5\|moc 5"`
+-  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 "Qt 5\|moc-qt5 5\|moc 5"`
+-    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 "Qt 5\|moc 5"`
+-      mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"`
 -      if test x"$mocversiongrep" != x"$mocversion"; then
 -        # no valid moc found
 -        enable_poppler_qt5=no;
@@ -87,5 +87,5 @@
    AC_MSG_RESULT([$MOCQT5])
  fi
 -- 
-1.9.3
+2.5.5
 
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
new file mode 100644
index 0000000..406009f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-fix-gcc-6-math-ambiguous-errors.patch
@@ -0,0 +1,11 @@
+--- 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.41.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.41.0.bb
deleted file mode 100644
index f7cc076..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.41.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://0001-Compile-with-C-11-compilers-that-don-t-define-isinfi.patch \
-"
-SRC_URI[md5sum] = "849a8bd6af5794efb961b70418414e5a"
-SRC_URI[sha256sum] = "420abaab63caed9e1ee28964a0ba216d1979506726164bc99ad5ade289192a1b"
-
-DEPENDS = "fontconfig zlib cairo lcms"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-PACKAGECONFIG ??= "jpeg openjpeg png tiff ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}"
-PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,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"
-PACKAGECONFIG[qt4e] = "--enable-poppler-qt4 --with-moc-qt4=${STAGING_BINDIR_NATIVE}/moc4,--disable-poppler-qt4,qt4-embedded"
-
-# Needed for qt5
-CXXFLAGS += "--std=c++11"
-
-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', 1) 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.47.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.47.0.bb
new file mode 100644
index 0000000..071cfb2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.47.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-add-manadatory-options-to-find-qt4-qt5-moc.patch \
+    file://0002-fix-gcc-6-math-ambiguous-errors.patch \
+"
+SRC_URI[md5sum] = "669b195ff24173d35cacf1d20b6fe4fa"
+SRC_URI[sha256sum] = "b872e7228fc34a71ce4b47a5aea2a57ae67528818fa846e1e0eda089319bd242"
+
+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-libjpeg,--disable-libjpeg,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"
+PACKAGECONFIG[qt4e] = "--enable-poppler-qt4 --with-moc-qt4=${STAGING_BINDIR_NATIVE}/moc4,--disable-poppler-qt4,qt4-embedded"
+PACKAGECONFIG[nss] = "--enable-libnss,--disable-libnss,nss"
+
+# Needed for qt5
+CXXFLAGS += "--std=c++11"
+
+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', 1) 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/portaudio/files/ldflags.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/files/ldflags.patch
new file mode 100644
index 0000000..aca93a5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/files/ldflags.patch
@@ -0,0 +1,51 @@
+Upstream forgot to pass LDFLAGS to everything apart from the main library.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/Makefile.in b/Makefile.in
+index 5e1a764..61ecdd1 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -171,20 +171,20 @@ lib/$(PALIB): lib-stamp $(LTOBJS) $(MAKEFILE) $(PAINC)
+ 	@WITH_ASIO_TRUE@  $(LIBTOOL) --mode=link --tag=CXX $(CXX) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS)
+ 
+ $(ALL_TESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) test/%.c
+-	@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
+-	@WITH_ASIO_TRUE@  $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
++	@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
++	@WITH_ASIO_TRUE@  $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
+ 
+ $(EXAMPLES): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) examples/%.c
+-	@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
+-	@WITH_ASIO_TRUE@  $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
++	@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
++	@WITH_ASIO_TRUE@  $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
+ 
+ $(SELFTESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) qa/%.c
+-	@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
+-	@WITH_ASIO_TRUE@  $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
++	@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
++	@WITH_ASIO_TRUE@  $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
+ 
+ bin/paloopback: lib/$(PALIB) $(MAKEFILE) $(PAINC) $(LOOPBACK_OBJS)
+-	@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
+-	@WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS)  $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
++	@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
++	@WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
+ 
+ install: lib/$(PALIB) portaudio-2.0.pc
+ 	$(INSTALL) -d $(DESTDIR)$(libdir)
+@@ -224,10 +224,10 @@ distclean: clean
+ 	$(CC) -c $(CFLAGS) $< -o $@
+ 
+ %.lo: %.c $(MAKEFILE) $(PAINC)
+-	$(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $< -o $@
++	$(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $(LDFLAGS) $< -o $@
+ 
+ %.lo: %.cpp $(MAKEFILE) $(PAINC)
+-	$(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c $(CXXFLAGS) $< -o $@
++	$(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c $(CXXFLAGS) $(LDFLAGS) $< -o $@
+ 
+ %.o: %.cpp $(MAKEFILE) $(PAINC)
+ 	$(CXX) -c $(CXXFLAGS) $< -o $@
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20140130.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20140130.bb
new file mode 100644
index 0000000..8f2b0db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20140130.bb
@@ -0,0 +1,32 @@
+SUMMARY = "A portable audio library"
+SECTION = "libs/multimedia"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df"
+
+PV = "v19+svnr1919"
+
+SRC_URI = "http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz \
+           file://ldflags.patch"
+SRC_URI[md5sum] = "7f220406902af9dca009668e198cbd23"
+SRC_URI[sha256sum] = "8fe024a5f0681e112c6979808f684c3516061cc51d3acc0b726af98fc96c8d57"
+
+S = "${WORKDIR}/portaudio"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "alsa jack"
+PACKAGECONFIG[alsa] = "--with-alsa, --without-alsa, alsa-lib,"
+PACKAGECONFIG[jack] = "--with-jack, --without-jack, jack,"
+
+EXTRA_OECONF = "--without-oss --without-asihpi"
+
+do_install_append() {
+    mkdir --parents ${D}${bindir}
+    for b in ${B}/bin/pa*; do
+        # Bit nasty, should always work
+        ${B}/*-libtool --mode install install $b ${D}${bindir}
+    done
+}
+
+PACKAGES += "portaudio-examples"
+FILES_portaudio-examples = "${bindir}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_svn.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_svn.bb
deleted file mode 100644
index c8d7378..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_svn.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "A portable audio library"
-SECTION = "libs/multimedia"
-LICENSE = "PortAudio"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df"
-
-PV = "v19+svnr${SRCPV}"
-
-SRCREV = "1387"
-SRC_URI = "svn://subversion.assembla.com/svn/portaudio/portaudio;module=trunk;protocol=http"
-S = "${WORKDIR}/trunk"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "alsa jack"
-PACKAGECONFIG[alsa] = "--with-alsa, --without-alsa, alsa-lib,"
-PACKAGECONFIG[jack] = "--with-jack, --without-jack, jack,"
-
-EXTRA_OECONF = "--without-oss"
-
-TESTS = "  pa_devs patest1      patest_hang patest_many                   patest_prime patest_sine patest_stop     patest_write_sine        \
-pa_fuzz    patest_buffer        patest_in_overflow  patest_maxsines       patest_read_record  patest_sine8         patest_sync              \
-pa_minlat  patest_callbackstop  patest_latency      patest_multi_sine     patest_record       patest_sine_formats  patest_toomanysines      \
-paqa_devs  patest_clip          patest_leftright    patest_out_underflow  patest_ringmix      patest_sine_time     patest_underflow         \
-paqa_errs  patest_dither        patest_longsine     patest_pink           patest_saw          patest_start_stop    patest_wire"
-
-# DEFINES = PA_USE_OSS=1 HAVE_LIBPTHREAD=1
-# DEFINES += PA_LITTLE_ENDIAN
-
-# INCLUDEPATH = ../pa_common
-
-PACKAGES += "portaudio-examples"
-FILES_portaudio-examples = "${bindir}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-CVE-2016-0766.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-CVE-2016-0766.patch
deleted file mode 100644
index df89eb0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-CVE-2016-0766.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From f4aa3a18a20d51575562520754aa376b3b08b2d0 Mon Sep 17 00:00:00 2001
-From: Noah Misch <noah@leadboat.com>
-Date: Fri, 5 Feb 2016 20:22:51 -0500
-Subject: [PATCH] Force certain "pljava" custom GUCs to be PGC_SUSET.
-
-Future PL/Java versions will close CVE-2016-0766 by making these GUCs
-PGC_SUSET.  This PostgreSQL change independently mitigates that PL/Java
-vulnerability, helping sites that update PostgreSQL more frequently than
-PL/Java.  Back-patch to 9.1 (all supported versions).
-
-Upstream-Status: Backport
-
-Signed-off-by: Noah Misch <noah@leadboat.com>
-Index: postgresql-9.4.4/src/backend/utils/misc/guc.c
-===================================================================
---- postgresql-9.4.4.orig/src/backend/utils/misc/guc.c	2015-06-10 03:29:38.000000000 +0800
-+++ postgresql-9.4.4/src/backend/utils/misc/guc.c	2016-03-04 15:58:26.459266951 +0800
-@@ -7072,6 +7072,17 @@
- 		!process_shared_preload_libraries_in_progress)
- 		elog(FATAL, "cannot create PGC_POSTMASTER variables after startup");
- 
-+	/*
-+	 * Before pljava commit 398f3b876ed402bdaec8bc804f29e2be95c75139
-+	 * (2015-12-15), two of that module's PGC_USERSET variables facilitated
-+	 * trivial escalation to superuser privileges.  Restrict the variables to
-+	 * protect sites that have yet to upgrade pljava.
-+	 */
-+	if (context == PGC_USERSET &&
-+		(strcmp(name, "pljava.classpath") == 0 ||
-+		 strcmp(name, "pljava.vmoptions") == 0))
-+		context = PGC_SUSET;
-+
- 	gen = (struct config_generic *) guc_malloc(ERROR, sz);
- 	memset(gen, 0, sz);
- 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-CVE-2016-0773.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-CVE-2016-0773.patch
deleted file mode 100644
index 0fc9082..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-CVE-2016-0773.patch
+++ /dev/null
@@ -1,222 +0,0 @@
-From 3bb3f42f3749d40b8d4de65871e8d828b18d4a45 Mon Sep 17 00:00:00 2001
-From: Tom Lane <tgl@sss.pgh.pa.us>
-Date: Mon, 8 Feb 2016 10:25:40 -0500
-Subject: [PATCH] Fix some regex issues with out-of-range characters and large
- char ranges.
-
-Previously, our regex code defined CHR_MAX as 0xfffffffe, which is a
-bad choice because it is outside the range of type "celt" (int32).
-Characters approaching that limit could lead to infinite loops in logic
-such as "for (c = a; c <= b; c++)" where c is of type celt but the
-range bounds are chr.  Such loops will work safely only if CHR_MAX+1
-is representable in celt, since c must advance to beyond b before the
-loop will exit.
-
-Fortunately, there seems no reason not to restrict CHR_MAX to 0x7ffffffe.
-It's highly unlikely that Unicode will ever assign codes that high, and
-none of our other backend encodings need characters beyond that either.
-
-In addition to modifying the macro, we have to explicitly enforce character
-range restrictions on the values of \u, \U, and \x escape sequences, else
-the limit is trivially bypassed.
-
-Also, the code for expanding case-independent character ranges in bracket
-expressions had a potential integer overflow in its calculation of the
-number of characters it could generate, which could lead to allocating too
-small a character vector and then overwriting memory.  An attacker with the
-ability to supply arbitrary regex patterns could easily cause transient DOS
-via server crashes, and the possibility for privilege escalation has not
-been ruled out.
-
-Quite aside from the integer-overflow problem, the range expansion code was
-unnecessarily inefficient in that it always produced a result consisting of
-individual characters, abandoning the knowledge that we had a range to
-start with.  If the input range is large, this requires excessive memory.
-Change it so that the original range is reported as-is, and then we add on
-any case-equivalent characters that are outside that range.  With this
-approach, we can bound the number of individual characters allowed without
-sacrificing much.  This patch allows at most 100000 individual characters,
-which I believe to be more than the number of case pairs existing in
-Unicode, so that the restriction will never be hit in practice.
-
-It's still possible for range() to take awhile given a large character code
-range, so also add statement-cancel detection to its loop.  The downstream
-function dovec() also lacked cancel detection, and could take a long time
-given a large output from range().
-
-Per fuzz testing by Greg Stark.  Back-patch to all supported branches.
-
-Security: CVE-2016-0773
-
-Upstream-Status: Backport
-
-Signed-off-by: Tom Lane <tgl@sss.pgh.pa.us>
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
-
-Index: postgresql-9.4.5/src/backend/regex/regc_lex.c
-===================================================================
---- postgresql-9.4.5.orig/src/backend/regex/regc_lex.c	2015-10-06 03:12:06.000000000 +0800
-+++ postgresql-9.4.5/src/backend/regex/regc_lex.c	2016-03-10 10:29:57.045784317 +0800
-@@ -792,13 +792,13 @@
- 			break;
- 		case CHR('u'):
- 			c = lexdigits(v, 16, 4, 4);
--			if (ISERR())
-+			if (ISERR() || c < CHR_MIN || c > CHR_MAX)
- 				FAILW(REG_EESCAPE);
- 			RETV(PLAIN, c);
- 			break;
- 		case CHR('U'):
- 			c = lexdigits(v, 16, 8, 8);
--			if (ISERR())
-+			if (ISERR() || c < CHR_MIN || c > CHR_MAX)
- 				FAILW(REG_EESCAPE);
- 			RETV(PLAIN, c);
- 			break;
-@@ -816,7 +816,7 @@
- 		case CHR('x'):
- 			NOTE(REG_UUNPORT);
- 			c = lexdigits(v, 16, 1, 255);		/* REs >255 long outside spec */
--			if (ISERR())
-+			if (ISERR() || c < CHR_MIN || c > CHR_MAX)
- 				FAILW(REG_EESCAPE);
- 			RETV(PLAIN, c);
- 			break;
-@@ -872,6 +872,9 @@
- 
- /*
-  * lexdigits - slurp up digits and return chr value
-+ *
-+ * This does not account for overflow; callers should range-check the result
-+ * if maxlen is large enough to make that possible.
-  */
- static chr						/* chr value; errors signalled via ERR */
- lexdigits(struct vars * v,
-Index: postgresql-9.4.5/src/backend/regex/regc_locale.c
-===================================================================
---- postgresql-9.4.5.orig/src/backend/regex/regc_locale.c	2015-10-06 03:12:06.000000000 +0800
-+++ postgresql-9.4.5/src/backend/regex/regc_locale.c	2016-03-10 10:34:28.757781726 +0800
-@@ -408,8 +408,7 @@
- 	int			nchrs;
- 	struct cvec *cv;
- 	celt		c,
--				lc,
--				uc;
-+				cc;
- 
- 	if (a != b && !before(a, b))
- 	{
-@@ -427,24 +426,48 @@
- 
- 	/*
- 	 * When case-independent, it's hard to decide when cvec ranges are usable,
--	 * so for now at least, we won't try.  We allocate enough space for two
--	 * case variants plus a little extra for the two title case variants.
-+	 * so for now at least, we won't try.  We use a range for the originally
-+	 * specified chrs and then add on any case-equivalents that are outside
-+	 * that range as individual chrs.
-+	 *
-+	 * To ensure sane behavior if someone specifies a very large range, limit
-+	 * the allocation size to 100000 chrs (arbitrary) and check for overrun
-+	 * inside the loop below.
- 	 */
- 
--	nchrs = (b - a + 1) * 2 + 4;
--
--	cv = getcvec(v, nchrs, 0);
-+	cv = getcvec(v, nchrs, 1);
- 	NOERRN();
-+	addrange(cv, a, b);
- 
- 	for (c = a; c <= b; c++)
- 	{
--		addchr(cv, c);
--		lc = pg_wc_tolower((chr) c);
--		if (c != lc)
--			addchr(cv, lc);
--		uc = pg_wc_toupper((chr) c);
--		if (c != uc)
--			addchr(cv, uc);
-+		cc = pg_wc_tolower((chr) c);
-+		if (cc != c &&
-+			(before(cc, a) || before(b, cc)))
-+		{
-+			if (cv->nchrs >= cv->chrspace)
-+			{
-+				ERR(REG_ETOOBIG);
-+				return NULL;
-+			}
-+			addchr(cv, cc);
-+		}
-+		cc = pg_wc_toupper((chr) c);
-+		if (cc != c &&
-+			(before(cc, a) || before(b, cc)))
-+		{
-+			if (cv->nchrs >= cv->chrspace)
-+			{
-+				ERR(REG_ETOOBIG);
-+				return NULL;
-+			}
-+			addchr(cv, cc);
-+		}
-+		if (CANCEL_REQUESTED(v->re))
-+		{
-+			ERR(REG_CANCEL);
-+			return NULL;
-+		}
- 	}
- 
- 	return cv;
-Index: postgresql-9.4.5/src/backend/regex/regcomp.c
-===================================================================
---- postgresql-9.4.5.orig/src/backend/regex/regcomp.c	2015-10-06 03:12:06.000000000 +0800
-+++ postgresql-9.4.5/src/backend/regex/regcomp.c	2016-03-10 10:35:25.397781185 +0800
-@@ -1569,6 +1569,7 @@
- 	{
- 		ch = *p;
- 		newarc(v->nfa, PLAIN, subcolor(v->cm, ch), lp, rp);
-+		NOERR();
- 	}
- 
- 	/* and the ranges */
-@@ -1578,6 +1579,7 @@
- 		to = *(p + 1);
- 		if (from <= to)
- 			subrange(v, from, to, lp, rp);
-+		NOERR();
- 	}
- }
- 
-Index: postgresql-9.4.5/src/include/regex/regcustom.h
-===================================================================
---- postgresql-9.4.5.orig/src/include/regex/regcustom.h	2015-10-06 03:12:06.000000000 +0800
-+++ postgresql-9.4.5/src/include/regex/regcustom.h	2016-03-10 10:37:09.989780188 +0800
-@@ -65,7 +65,8 @@
- #define DIGITVAL(c) ((c)-'0')	/* turn chr digit into its value */
- #define CHRBITS 32				/* bits in a chr; must not use sizeof */
- #define CHR_MIN 0x00000000		/* smallest and largest chr; the value */
--#define CHR_MAX 0xfffffffe		/* CHR_MAX-CHR_MIN+1 should fit in uchr */
-+#define CHR_MAX 0x7ffffffe		/* CHR_MAX-CHR_MIN+1 must fit in an int, and
-+								 * CHR_MAX+1 must fit in both chr and celt */
- 
- /* functions operating on chr */
- #define iscalnum(x) pg_wc_isalnum(x)
-Index: postgresql-9.4.5/src/test/regress/expected/regex.out
-===================================================================
---- postgresql-9.4.5.orig/src/test/regress/expected/regex.out	2015-10-06 03:12:06.000000000 +0800
-+++ postgresql-9.4.5/src/test/regress/expected/regex.out	2016-03-10 10:38:28.821779436 +0800
-@@ -222,3 +222,5 @@
-  t
- (1 row)
- 
-+select 'a' ~ '\x7fffffff';  -- invalid chr code
-+ERROR:  invalid regular expression: invalid escape \ sequence
-Index: postgresql-9.4.5/src/test/regress/sql/regex.sql
-===================================================================
---- postgresql-9.4.5.orig/src/test/regress/sql/regex.sql	2015-10-06 03:12:06.000000000 +0800
-+++ postgresql-9.4.5/src/test/regress/sql/regex.sql	2016-03-10 10:38:57.845779159 +0800
-@@ -57,3 +57,4 @@
- select 'a' ~ '.. ()|\1';
- select 'a' ~ '()*\1';
- select 'a' ~ '()+\1';
-+select 'a' ~ '\x7fffffff';  -- invalid chr code
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc
index 288a2d1..454624c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql.inc
@@ -31,8 +31,6 @@
     file://postgresql-setup \
     file://postgresql.service \
     file://0001-Use-pkg-config-for-libxml2-detection.patch \
-    file://postgresql-CVE-2016-0766.patch \
-    file://postgresql-CVE-2016-0773.patch \
 "
 
 LEAD_SONAME = "libpq.so"
@@ -42,6 +40,8 @@
 
 inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd
 
+CFLAGS += "-I${STAGING_INCDIR}/${PYTHON_DIR}"
+
 SYSTEMD_SERVICE_${PN} = "postgresql.service"
 SYSTEMD_AUTO_ENABLE_${PN} = "disable"
 
@@ -111,12 +111,6 @@
 }
 
 do_configure() {
-    # do_configure_prepend
-    # make sure configure finds python includdirs with these envs
-    export BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
-           STAGING_INCDIR=${STAGING_INCDIR} \
-           STAGING_LIBDIR=${STAGING_LIBDIR}
-
     # do_configure
     autotools_do_configure
 
@@ -181,7 +175,7 @@
 
     # install COPYRIGHT README HISTORY
     install -d -m 0755 ${D}${docdir}/${BPN}
-    for i in ${B}/{COPYRIGHT,README,HISTORY} ${B}/doc/{KNOWN_BUGS,MISSING_FEATURES,README*,bug.template}; do
+    for i in ${B}/COPYRIGHT ${B}/README ${B}/HISTORY ${B}/doc/KNOWN_BUGS ${B}/doc/MISSING_FEATURES ${B}/doc/README* ${B}/doc/bug.template; do
         [ -f $i ] && install $i ${D}${docdir}/${BPN}
     done
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.5.bb
deleted file mode 100644
index 54b660e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.5.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=7d847a9b446ddfe187acfac664189672"
-
-PR = "${INC_PR}.0"
-
-SRC_URI += "\
-    file://remove.autoconf.version.check.patch \
-    file://not-check-libperl.patch \
-"
-
-SRC_URI[md5sum] = "8b2e3472a8dc786649b4d02d02e039a0"
-SRC_URI[sha256sum] = "b87c50c66b6ea42a9712b5f6284794fabad0616e6ae420cf0f10523be6d94a39"
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.8.bb
new file mode 100644
index 0000000..7dba92c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/postgresql_9.4.8.bb
@@ -0,0 +1,14 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3a9c1120056a102a8c8c4013cd828dce"
+
+PR = "${INC_PR}.0"
+
+SRC_URI += "\
+    file://remove.autoconf.version.check.patch \
+    file://not-check-libperl.patch \
+"
+
+SRC_URI[md5sum] = "a1a2e8014b2b4c49fc58fe2e2fe83681"
+SRC_URI[sha256sum] = "4a10640e180e0d9adb587bc25a82dcce6bf507b033637e7fb9d4eeffa33a6b4c"
+
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-support/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch
new file mode 100644
index 0000000..7eda038
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch
@@ -0,0 +1,26 @@
+[PATCH] do not use the hardcode libdir
+
+Upstream-status: Pending
+
+Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+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 9b88d4c..df5ad7a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -140,7 +140,7 @@ if test "$with_libpq" != yes; then
+ 	if test -d "$with_libpq"; then
+ 		PATH="$PATH:$with_libpq/bin"
+ 		CPPFLAGS="$CPPFLAGS -I$with_libpq/include"
+-		LDFLAGS="$LDFLAGS -L$with_libpq/lib"
++		LDFLAGS="$LDFLAGS -L$with_libpq/${base_libdir}"
+ 	else
+ 		if test -x "$with_libpq"; then
+ 			PG_CONFIG=$with_libpq
+-- 
+2.8.1
+
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-support/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
new file mode 100644
index 0000000..a8f14e7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
@@ -0,0 +1,148 @@
+Subject: [PATCH] psqlodbc: fixes for ptest support
+
+* Fix the LIBODBC since we don't use ODBC_CONFIG.
+* Fix the path for driver.
+* Add the default info of postgresql server.
+* Fix the output format for ptest.
+* Fix the results and exe dir.
+
+Upstream-Status: Inappropriate [OE ptest specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ test/Makefile.in    |  2 +-
+ test/odbcini-gen.sh |  8 ++++----
+ test/runsuite.c     | 26 +++++++++++++-------------
+ 3 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/test/Makefile.in b/test/Makefile.in
+index 8710616..fcb470e 100644
+--- a/test/Makefile.in
++++ b/test/Makefile.in
+@@ -18,7 +18,7 @@ CFLAGS = @CFLAGS@
+ ODBC_CONFIG = @ODBC_CONFIG@
+ PROVE = @PROVE@
+ 
+-LIBODBC := $(shell $(ODBC_CONFIG) --libs)
++LIBODBC = -lodbc
+ 
+ all: $(TESTBINS) runsuite reset-db
+ 
+diff --git a/test/odbcini-gen.sh b/test/odbcini-gen.sh
+index d2c2c87..6068d9d 100755
+--- a/test/odbcini-gen.sh
++++ b/test/odbcini-gen.sh
+@@ -6,7 +6,7 @@
+ outini=odbc.ini
+ outinstini=odbcinst.ini
+ 
+-drvr=../.libs/psqlodbcw
++drvr=@LIBDIR@/psqlodbca
+ driver=${drvr}.so
+ if test ! -e $driver ; then
+ 	driver=${drvr}.dll
+@@ -33,10 +33,10 @@ Driver          = psqlodbc test driver
+ Trace           = No
+ TraceFile               =
+ Database                = contrib_regression
+-Servername              =
+-Username                =
++Servername              = localhost
++Username                = postgres
+ Password                =
+-Port                    =
++Port                    = 5432
+ ReadOnly                = No
+ RowVersioning           = No
+ ShowSystemTables                = No
+diff --git a/test/runsuite.c b/test/runsuite.c
+index 583cf35..fd2a90e 100644
+--- a/test/runsuite.c
++++ b/test/runsuite.c
+@@ -51,7 +51,7 @@ bailout(const char *fmt, ...)
+ 
+ /* Given a test program's name, get the test name */
+ void
+-parse_argument(const char *in, char *testname, char *binname)
++parse_argument(const char *in, char *testname, char *binname, const char *inputdir)
+ {
+ 	const char *basename;
+ #ifdef WIN32
+@@ -65,7 +65,7 @@ parse_argument(const char *in, char *testname, char *binname)
+ 	if (strchr(in, DIR_SEP) == NULL)
+ 	{
+ 		strcpy(testname, in);
+-		sprintf(binname, "exe%c%s-test", DIR_SEP, in);
++		sprintf(binname, "%s%cexe%c%s-test", inputdir, DIR_SEP, DIR_SEP, in);
+ 		return;
+ 	}
+ 
+@@ -127,7 +127,7 @@ int main(int argc, char **argv)
+ 	failures = 0;
+ 	for (i = 1, j = 1; i <= numtests; i++, j++)
+ 	{
+-		parse_argument(argv[j], testname, binname);
++		parse_argument(argv[j], testname, binname, inputdir);
+ 		if (runtest(binname, testname, i, inputdir) != 0)
+ 			failures++;
+ 	}
+@@ -157,29 +157,29 @@ runtest(const char *binname, const char *testname, int testno, const char *input
+ #ifndef WIN32
+ 	snprintf(cmdline, sizeof(cmdline),
+ 			 "ODBCSYSINI=. ODBCINSTINI=./odbcinst.ini ODBCINI=./odbc.ini "
+-			 "%s > results/%s.out",
+-			 binname, testname);
++			 "%s > %s/results/%s.out",
++			 binname, inputdir, testname);
+ #else
+ 	snprintf(cmdline, sizeof(cmdline),
+-			 "%s > results\\%s.out",
+-			 binname, testname);
++			 "%s > %s/results\\%s.out",
++			 binname, inputdir, testname);
+ #endif
+ 	rc = system(cmdline);
+ 
+ 	diff = rundiff(testname, inputdir);
+ 	if (rc != 0)
+ 	{
+-		printf("not ok %d - %s test returned %d\n", testno, testname, rc);
++		printf("FAIL: %d - %s\n\ttest returned %d\n", testno, testname, rc);
+ 		ret = 1;
+ 	}
+ 	else if (diff != 0)
+ 	{
+-		printf("not ok %d - %s test output differs\n", testno, testname);
++		printf("FAIL: %d - %s\n\ttest output differs\n", testno, testname);
+ 		ret = 1;
+ 	}
+ 	else
+ 	{
+-		printf("ok %d - %s\n", testno, testname);
++		printf("PASS: %d - %s\n", testno, testname);
+ 		ret = 0;
+ 	}
+ 	fflush(stdout);
+@@ -196,7 +196,7 @@ rundiff(const char *testname, const char *inputdir)
+ 	char	   *result;
+ 	size_t		result_len;
+ 
+-	snprintf(filename, sizeof(filename), "results/%s.out", testname);
++	snprintf(filename, sizeof(filename), "%s/results/%s.out", inputdir, testname);
+ 	result = slurpfile(filename, &result_len);
+ 
+ 	outputno = 0;
+@@ -244,8 +244,8 @@ rundiff(const char *testname, const char *inputdir)
+ 	 * files and print the smallest diff?
+ 	 */
+ 	snprintf(cmdline, sizeof(cmdline),
+-			 "diff -c %s/expected/%s.out results/%s.out >> regression.diffs",
+-			 inputdir, testname, testname);
++			 "diff -c %s/expected/%s.out %s/results/%s.out >> regression.diffs",
++			 inputdir, testname, inputdir, testname);
+ 	if (system(cmdline) == -1)
+ 		printf("# diff failed\n");
+ 
+-- 
+2.8.2
+
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-support/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch
new file mode 100644
index 0000000..1d98818
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch
@@ -0,0 +1,118 @@
+Subject: [PATCH] remove some checks for cross-compiling
+
+some lib check is not suitable for
+cross-compiling, so remove them.
+
+Upstream-Status: Inappropriate [not a real bug,just for cross-compiling]
+
+Signed-off-by: Song.Li <Song.Li@windriver.com>
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ configure.ac | 66 +++++++-----------------------------------------------------
+ 1 file changed, 7 insertions(+), 59 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index df5ad7a..b72bd4c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -46,57 +46,19 @@ AC_ARG_WITH(iodbc, [  --with-iodbc[[=DIR]]	  [[default=no]] DIR is the iODBC bas
+ if test "$with_iodbc" != no; then
+ 	with_unixodbc=no
+ 	AC_DEFINE(WITH_IODBC, 1, [Define to 1 to build with iODBC support])
+-	if test "$with_iodbc" = yes; then
+-		AC_PATH_PROGS(ODBC_CONFIG, iodbc-config)
+-	else
+-		ODBC_CONFIG=$with_iodbc
+-	fi
+-	if test ! -x "${ODBC_CONFIG}/bin/iodbc-config"; then
+-		if test ! -x "${ODBC_CONFIG}"; then
+-			AC_MSG_ERROR([iodbc-config not found (required for iODBC build)])
+-		fi
+-	else
+-		ODBC_CONFIG=${ODBC_CONFIG}/bin/iodbc-config
+-	fi
+ fi
+ 
+ if test "$with_unixodbc" != no; then
+ 	AC_DEFINE(WITH_UNIXODBC, 1,
+             [Define to 1 to build with unixODBC support])
+-	if test "$with_unixodbc" = yes; then
+-		AC_PATH_PROGS(ODBC_CONFIG, odbc_config)
+-	else
+-		ODBC_CONFIG=$with_unixodbc
+-	fi
+-	if test ! -x "${ODBC_CONFIG}/bin/odbc_config"; then
+-		if test ! -x "${ODBC_CONFIG}"; then
+-			AC_MSG_ERROR([odbc_config not found (required for unixODBC build)])
+-		fi
+-	else
+-		ODBC_CONFIG=${ODBC_CONFIG}/bin/odbc_config
+-	fi
+ fi
+ 
+ #
+ # ODBC include and library
+ #
+-
+-if test "$ODBC_CONFIG" != ""; then
+-	if test "$with_iodbc" != no; then
+-		ODBC_INCLUDE=`${ODBC_CONFIG} --cflags`
+-		CPPFLAGS="$CPPFLAGS ${ODBC_INCLUDE}"
+-		# Linking libiodoc is rather problematic
+-		[ODBC_LIBDIR=`${ODBC_CONFIG} --libs | sed -e "s/^\(-L\|.*[ \t]-L\)\([^ \n\r\f\t]*\).*$/-L\2/"`]
+-		LDFLAGS="$LDFLAGS ${ODBC_LIBDIR}"
+-	else
+-		ODBC_INCLUDE=`${ODBC_CONFIG} --include-prefix`
+-		CPPFLAGS="$CPPFLAGS -I${ODBC_INCLUDE}"
+-		# Linking libodoc is rather problematic
+-		ODBC_LIBDIR=`${ODBC_CONFIG} --lib-prefix`
+-		LDFLAGS="$LDFLAGS -L${ODBC_LIBDIR}"
+-	fi
+-	AC_MSG_NOTICE([using $ODBC_INCLUDE $ODBC_LIBDIR])
+-fi
++ODBC_LIBS="-lodbcinst"
++LIBS="$LIBS ${ODBC_LIBS}"
++AC_MSG_NOTICE([using $ODBC_INCLUDE $ODBC_LIBS])
+ 
+ #
+ # SQLCOLATTRIBUTE_SQLLEN check
+@@ -176,18 +138,10 @@ PGAC_ARG_BOOL(enable, pthreads, yes,
+ # Find libpq headers and libraries
+ #
+ 
+-if test -z "$PG_CONFIG"; then
+-  AC_PATH_PROGS(PG_CONFIG, pg_config)
+-fi
+-
+-if test -n "$PG_CONFIG"; then
+-  pg_includedir=`"$PG_CONFIG" --includedir`
+-  pg_libdir=`"$PG_CONFIG" --libdir`
+-  CPPFLAGS="$CPPFLAGS -I$pg_includedir"
+-  LDFLAGS="$LDFLAGS -L$pg_libdir"
+-fi
+-
+-
++pg_includedir=""
++pg_libdir=""
++CPPFLAGS="$CPPFLAGS"
++LDFLAGS="$LDFLAGS"
+ 
+ # 1. Programs
+ 
+@@ -211,12 +165,6 @@ if test "$with_iodbc" != no; then
+                  [AC_MSG_ERROR([iODBC library "iodbcinst" not found])])
+ fi
+ 
+-if test "$enable_pthreads" = yes; then
+-  AC_CHECK_LIB(pthreads, pthread_create,
+-               [],
+-	       [AC_CHECK_LIB(pthread, pthread_create)])
+-fi
+-
+ AC_CHECK_LIB(pq, PQsetSingleRowMode, [],
+ 	      [AC_MSG_ERROR([libpq library version >= 9.2 is required])])
+ 
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/run-ptest b/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/run-ptest
new file mode 100644
index 0000000..6b41c63
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/files/run-ptest
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+BASEDIR="$(dirname $(readlink -f $0))"
+
+# init and start postgresql server for testing
+PGDATA="/var/lib/postgresql/data"
+if [ -f "${PGDATA}/PG_VERSION" ]; then
+	echo "Data directory is not empty! Skip initdb."
+else
+	echo "Initializing database: "
+	chown -R postgres:postgres ${PGDATA}
+	su -l postgres -c "/usr/bin/initdb --pgdata='$PGDATA'"
+fi
+
+SYSV_INIT="/etc/init.d/postgresql-server"
+if [ -e ${SYSV_INIT} ]; then
+	RESTART_POSTGRESQL="${SYSV_INIT} restart"
+	STOP_POSTGRESQL="${SYSV_INIT} stop"
+else
+	RESTART_POSTGRESQL="systemctl restart postgresql"
+	STOP_POSTGRESQL="systemctl stop postgresql"
+fi
+
+${RESTART_POSTGRESQL} || echo "Failed to restart postgresql, skip the tests."
+
+if [ ! -d ${BASEDIR}/results ]; then
+	mkdir ${BASEDIR}/results
+fi
+
+# Generate odbc config files and reset db
+${BASEDIR}/odbcini-gen.sh || echo "FAIL: Generate odbc config files"
+ODBCSYSINI=. ODBCINSTINI=./odbcinst.ini ODBCINI=./odbc.ini \
+	${BASEDIR}/reset-db < ${BASEDIR}/sampletables.sql \
+	|| echo "FAIL: reset db with sample tables"
+
+# Run the actual tests
+TESTS=
+for i in `ls ${BASEDIR}/exe/*-test`; do
+	TESTS="$TESTS $(basename ${i%-test})"
+done
+
+${BASEDIR}/runsuite ${TESTS} --inputdir=${BASEDIR}
+
+# Cleanup
+${STOP_POSTGRESQL}
+rm -f regression.diffs odbcinst.ini odbc.ini
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/psqlodbc.inc b/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/psqlodbc.inc
new file mode 100644
index 0000000..5337b45
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/psqlodbc.inc
@@ -0,0 +1,50 @@
+SUMMARY = "ODBC driver for PostgreSQL"
+DESCRIPTION = "\
+ This package provides a driver that allows ODBC-enabled applications to \
+ access PostgreSQL databases.  ODBC is an abstraction layer that allows \
+ applications written for that layer to access databases in a manner \
+ that is relatively independent of the particular database management \
+ system. \
+ . \
+ You need to install this package if you want to use an application that \
+ provides database access through ODBC and you want that application to \
+ access a PostgreSQL database.  This package would need to be installed \
+ on the same machine as that client application; the PostgreSQL database \
+ server can be on a different machine and does not need any additional \
+ software to accept ODBC clients. \
+"
+SECTION = "libs"
+HOMEPAGE = "http://psqlodbc.projects.postgresql.org/"
+
+DEPENDS += "postgresql unixodbc"
+
+EXTRA_OECONF = "\
+    ac_cv_lib_ltdl_lt_dlopen=no \
+    ac_cv_lib_pq_PQconnectdb=yes \
+    --with-unixodbc=yes \
+    --with-libpq=${STAGING_LIBDIR}/.. \
+    --enable-pthreads \
+    --disable-unicode \
+    LIBS="-lpthread" \
+"
+
+inherit autotools pkgconfig ptest
+
+do_compile_ptest() {
+    oe_runmake -C ${B}/test
+}
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}
+    cp -a --no-preserve=ownership ${B}/test/exe ${S}/test/expected ${D}${PTEST_PATH}
+    install -m 0755 ${B}/test/reset-db ${D}${PTEST_PATH}
+    install -m 0755 ${B}/test/runsuite ${D}${PTEST_PATH}
+    install -m 0755 ${S}/test/odbcini-gen.sh ${D}${PTEST_PATH}
+    install -m 0755 ${S}/test/sampletables.sql ${D}${PTEST_PATH}
+    sed -i -e 's|@LIBDIR@|${libdir}|' ${D}${PTEST_PATH}/odbcini-gen.sh
+}
+
+FILES_${PN} += "${libdir}"
+
+# The tests need a local PostgreSQL server running
+RDEPENDS_${PN}-ptest = "postgresql"
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-support/psqlodbc/psqlodbc_09.05.0300.bb
new file mode 100644
index 0000000..6e1c8ab
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/psqlodbc/psqlodbc_09.05.0300.bb
@@ -0,0 +1,14 @@
+require ${PN}.inc
+
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://license.txt;md5=6db3822fc7512e83087ba798da013692"
+
+SRC_URI = "http://ftp.postgresql.org/pub/odbc/versions/src/${BPN}-${PV}.tar.gz \
+    file://psqlodbc-remove-some-checks-for-cross-compiling.patch \
+    file://psqlodbc-donot-use-the-hardcode-libdir.patch \
+    file://psqlodbc-fix-for-ptest-support.patch \
+    file://run-ptest \
+"
+
+SRC_URI[md5sum] = "4c6e0b22187d7bb1c998ffac89e50f6b"
+SRC_URI[sha256sum] = "9521f328bf28aaaf5c8488dc89792b614f9d6271742c0baf9bb41c97537764a8"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/rdfind/files/reproducible_build.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/rdfind/files/reproducible_build.patch
new file mode 100644
index 0000000..36728a7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/rdfind/files/reproducible_build.patch
@@ -0,0 +1,46 @@
+Description: sort the filelist when it is complete to get reproducible behaviour
+Author: Reiner Herrmann <reiner@reiner-h.de>
+Bug-Debian: https://bugs.debian.org/795790
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+
+Index: rdfind-1.3.4/Fileinfo.hh
+===================================================================
+--- rdfind-1.3.4.orig/Fileinfo.hh
++++ rdfind-1.3.4/Fileinfo.hh
+@@ -189,6 +189,10 @@ public:
+   static bool compareondepth(const Fileinfo &a, const Fileinfo &b)
+   {return (a.depth() < b.depth());}
+ 
++  //returns true if a has lower filename than b)
++  static bool compareonfilename(const Fileinfo &a, const Fileinfo &b)
++  {return (a.name().compare(b.name()) < 0);}
++
+   //fills with bytes from the file. if lasttype is supplied,
+   //it is used to see if the file needs to be read again - useful if
+   //file is shorter than the length of the bytes field.
+@@ -235,6 +239,10 @@ public:
+   static bool equaldepth(const Fileinfo &a, const Fileinfo &b)
+   {return (a.depth()==b.depth());}
+ 
++  //returns true if filenames are equal
++  static bool equalfilename(const Fileinfo &a, const Fileinfo &b)
++  {return (a.name()==b.name());}
++
+   //returns true if file is a regular file. call readfileinfo first!
+   bool isRegularFile() {return m_info.is_file;}
+ 
+Index: rdfind-1.3.4/rdfind.cc
+===================================================================
+--- rdfind-1.3.4.orig/rdfind.cc
++++ rdfind-1.3.4/rdfind.cc
+@@ -349,6 +349,7 @@ int main(int narg, char *argv[])
+   cout<<dryruntext<<"Now have "<<filelist1.size()<<" files in total."<<endl;
+   
+   
++  gswd.sortlist(&Fileinfo::compareonfilename,&Fileinfo::equalfilename);
+ 
+   //mark files with a unique number
+   gswd.markitems();
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb
new file mode 100644
index 0000000..4d984ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.3.4.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Rdfind is a program that finds duplicate files"
+HOMEPAGE = "https://rdfind.pauldreik.se/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
+
+DEPENDS = "nettle"
+
+SRC_URI = "https://rdfind.pauldreik.se/${BP}.tar.gz \
+           file://reproducible_build.patch \
+"
+
+SRC_URI[md5sum] = "97c0cb35933588413583c61d3b5f9adf"
+SRC_URI[sha256sum] = "a5f0b3f72093d927b93898c993479b35682cccb47f7393fb72bd4803212fcc7d"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
index d680511..aefe362 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
@@ -20,8 +20,8 @@
                   perl-module-overloading \
                  "
 
-SRCREV = "1047cbb57937c29233388e2fcd847fecd3babe74"
-PV = "1.3.1+git${SRCPV}"
+SRCREV = "27209563f924a22f510698ea225f53ea52f07cb4"
+PV = "1.4.2+git${SRCPV}"
 
 SRC_URI = "git://github.com/DrHyde/${BPN};branch=master;protocol=git \
            file://configure-fix-cmd_rsync.patch \
@@ -40,4 +40,14 @@
                  --without-logger \
                  --without-rsync \
                  ac_cv_path_PERL=${bindir}/perl \
+                 ac_cv_path_MOUNT=${base_bindir}/mount \
+                 ac_cv_path_UMOUNT=${base_bindir}/umount \
                 "
+
+# Create 't/include.ac' before starting the autoreconf to fix configure
+# error: configure.ac:302: file 't/include.ac' does not exist
+do_configure_prepend(){
+	saved_dir=`pwd`
+	cd ${S}; ./autogen.sh
+	cd ${saved_dir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.41.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.41.bb
deleted file mode 100644
index 61250fa..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.41.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Utilities for working with generic SCSI devices"
-
-DESCRIPTION = "This package contains low level utilities for devices that use the SCSI command set"
-
-HOMEPAGE = "http://sg.danny.cz/sg/sg3_utils.html"
-SECTION = "console/admin"
-
-LICENSE = "GPLv2+ & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca"
-
-SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz"
-
-SRC_URI[md5sum] = "86ebe3881535ee5c48f81be5be44b362"
-SRC_URI[sha256sum] = "c4e2893c36df1ee5b07840ab7c22129544f5dc8a55f7cc8815c9cd8e44ec31c0"
-
-inherit autotools-brokensep
-
-S = "${WORKDIR}/sg3_utils-${PV}"
-
-RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb
new file mode 100644
index 0000000..a11bd77
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.42.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Utilities for working with generic SCSI devices"
+
+DESCRIPTION = "This package contains low level utilities for devices that use the SCSI command set"
+
+HOMEPAGE = "http://sg.danny.cz/sg/sg3_utils.html"
+SECTION = "console/admin"
+
+LICENSE = "GPLv2+ & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca"
+
+SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz"
+
+SRC_URI[md5sum] = "28080de5bf2222f8b55a29093bec8aea"
+SRC_URI[sha256sum] = "1dcb7a0309bd0ba3d4a83acb526973b80106ee26cd9f7398186cd3f0633c9ef3"
+
+inherit autotools-brokensep
+
+S = "${WORKDIR}/sg3_utils-${PV}"
+
+RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.14.bb
index 49981e7..d69e6ec 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.14.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.14.bb
@@ -7,12 +7,12 @@
 inherit gettext autotools-brokensep
 
 SRC_URI = "ftp://ftp.gnu.org/gnu/sharutils/sharutils-4.14.tar.gz \
-	   file://fix-for-cross-compiling.patch \
-	  "
+    file://fix-for-cross-compiling.patch \
+"
 
 SRC_URI[md5sum] = "5686c11131b4c4c0841f8f3ef34d136a"
 SRC_URI[sha256sum] = "90f5107c167cfd1b299bb211828d2586471087863dbed698f53109cd5f717208"
 
 do_configure () {
-	oe_runconf
+    oe_runconf
 }
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 adb67cd..f808125 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
@@ -8,7 +8,7 @@
 
 SRC_URI = "git://github.com/cpb-/spi-tools.git;protocol=git"
 
-SRCREV = "cc6a41fdcec60610703ba6db488c621c64952898"
+SRCREV = "03405ab45884e4264dfa0371c032b2baaeeaaa98"
 
 inherit autotools
 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch
deleted file mode 100644
index 42e181b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch
+++ /dev/null
@@ -1,494 +0,0 @@
-From 23e80b75508187baaa823a68ea019b72e0b2305c Mon Sep 17 00:00:00 2001
-From: Budai Laszlo <lbudai@balabit.hu>
-Date: Tue, 12 Nov 2013 13:19:04 +0100
-Subject: [PATCH] afsql: afsql_dd_insert_db() refactor
-
-Upstream-Status: Backport
-
-A lot of the code that was previously in afsql_dd_insert_db() have been
-extracted to smaller functions, and afsql_dd_insert_db() was rebuilt on
-top of these. At the same time, memory leaks were plugged, and in case
-of a transaction error, backlog rewinding has been fixed too, to not
-loose messages since the last BEGIN command.
-
-Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
-Signed-off-by: Laszlo Budai <lbudai@balabit.hu>
----
- modules/afsql/afsql.c | 301 ++++++++++++++++++++++++++++++++------------------
- 1 file changed, 192 insertions(+), 109 deletions(-)
-
-diff --git a/modules/afsql/afsql.c b/modules/afsql/afsql.c
-index 12f6aab..a6a8190 100644
---- a/modules/afsql/afsql.c
-+++ b/modules/afsql/afsql.c
-@@ -456,24 +456,21 @@ afsql_dd_create_index(AFSqlDestDriver *s
-  *
-  * NOTE: This function can only be called from the database thread.
-  **/
--static GString *
--afsql_dd_validate_table(AFSqlDestDriver *self, LogMessage *msg)
-+static gboolean
-+afsql_dd_validate_table(AFSqlDestDriver *self, GString *table)
- {
--  GString *query_string, *table;
-+  GString *query_string;
-   dbi_result db_res;
-   gboolean success = FALSE;
-   gint i;
- 
--  table = g_string_sized_new(32);
--  log_template_format(self->table, msg, &self->template_options, LTZ_LOCAL, 0, NULL, table);
--
-   if (self->flags & AFSQL_DDF_DONT_CREATE_TABLES)
--    return table;
-+    return TRUE;
- 
-   afsql_dd_check_sql_identifier(table->str, TRUE);
- 
-   if (g_hash_table_lookup(self->validated_tables, table->str))
--    return table;
-+    return TRUE;
- 
-   query_string = g_string_sized_new(32);
-   g_string_printf(query_string, "SELECT * FROM %s WHERE 0=1", table->str);
-@@ -544,14 +541,9 @@ afsql_dd_validate_table(AFSqlDestDriver 
-       /* we have successfully created/altered the destination table, record this information */
-       g_hash_table_insert(self->validated_tables, g_strdup(table->str), GUINT_TO_POINTER(TRUE));
-     }
--  else
--    {
--      g_string_free(table, TRUE);
--      table = NULL;
--    }
-   g_string_free(query_string, TRUE);
- 
--  return table;
-+  return success;
- }
- 
- /**
-@@ -581,6 +573,20 @@ afsql_dd_begin_txn(AFSqlDestDriver *self
- }
- 
- /**
-+ * afsql_dd_handle_transaction_error:
-+ *
-+ * Handle errors inside during a SQL transaction (e.g. INSERT or COMMIT failures).
-+ *
-+ * NOTE: This function can only be called from the database thread.
-+ **/
-+static void
-+afsql_dd_handle_transaction_error(AFSqlDestDriver *self)
-+{
-+  log_queue_rewind_backlog(self->queue);
-+  self->flush_lines_queued = 0;
-+}
-+
-+/**
-  * afsql_dd_begin_txn:
-  *
-  * Commit SQL transaction.
-@@ -596,14 +602,14 @@ afsql_dd_commit_txn(AFSqlDestDriver *sel
-   if (success)
-     {
-       log_queue_ack_backlog(self->queue, self->flush_lines_queued);
-+      self->flush_lines_queued = 0;
-     }
-   else
-     {
--      msg_notice("SQL transaction commit failed, rewinding backlog and starting again",
--                 NULL);
--      log_queue_rewind_backlog(self->queue);
-+      msg_error("SQL transaction commit failed, rewinding backlog and starting again",
-+                NULL);
-+      afsql_dd_handle_transaction_error(self);
-     }
--  self->flush_lines_queued = 0;
-   return success;
- }
- 
-@@ -644,12 +650,13 @@ afsql_dd_set_dbd_opt_numeric(gpointer ke
- }
- 
- static gboolean
--afsql_dd_connect(AFSqlDestDriver *self)
-+afsql_dd_ensure_initialized_connection(AFSqlDestDriver *self)
- {
-   if (self->dbi_ctx)
-     return TRUE;
- 
-   self->dbi_ctx = dbi_conn_new(self->type);
-+
-   if (!self->dbi_ctx)
-     {
-       msg_error("No such DBI driver",
-@@ -659,10 +666,12 @@ afsql_dd_connect(AFSqlDestDriver *self)
-     }
- 
-   dbi_conn_set_option(self->dbi_ctx, "host", self->host);
-+
-   if (strcmp(self->type, "mysql"))
-     dbi_conn_set_option(self->dbi_ctx, "port", self->port);
-   else
-     dbi_conn_set_option_numeric(self->dbi_ctx, "port", atoi(self->port));
-+
-   dbi_conn_set_option(self->dbi_ctx, "username", self->user);
-   dbi_conn_set_option(self->dbi_ctx, "password", self->password);
-   dbi_conn_set_option(self->dbi_ctx, "dbname", self->database);
-@@ -691,6 +700,7 @@ afsql_dd_connect(AFSqlDestDriver *self)
-                 evt_tag_str("database", self->database),
-                 evt_tag_str("error", dbi_error),
-                 NULL);
-+
-       return FALSE;
-     }
- 
-@@ -713,104 +723,145 @@ afsql_dd_connect(AFSqlDestDriver *self)
-   return TRUE;
- }
- 
--static gboolean
--afsql_dd_insert_fail_handler(AFSqlDestDriver *self, LogMessage *msg,
--                             LogPathOptions *path_options)
-+static GString *
-+afsql_dd_ensure_accessible_database_table(AFSqlDestDriver *self, LogMessage *msg)
- {
--  if (self->failed_message_counter < self->num_retries - 1)
--    {
--      log_queue_push_head(self->queue, msg, path_options);
--
--      /* database connection status sanity check after failed query */
--      if (dbi_conn_ping(self->dbi_ctx) != 1)
--        {
--          const gchar *dbi_error;
--
--          dbi_conn_error(self->dbi_ctx, &dbi_error);
--          msg_error("Error, no SQL connection after failed query attempt",
--                    evt_tag_str("type", self->type),
--                    evt_tag_str("host", self->host),
--                    evt_tag_str("port", self->port),
--                    evt_tag_str("username", self->user),
--                    evt_tag_str("database", self->database),
--                    evt_tag_str("error", dbi_error),
--                    NULL);
--          return FALSE;
--        }
-+  GString *table = g_string_sized_new(32);
-+  log_template_format(self->table, msg, &self->template_options, LTZ_LOCAL, 0, NULL, table);
- 
--      self->failed_message_counter++;
--      return FALSE;
-+  if (!afsql_dd_validate_table(self, table))
-+    {
-+      /* If validate table is FALSE then close the connection and wait time_reopen time (next call) */
-+      msg_error("Error checking table, disconnecting from database, trying again shortly",
-+                evt_tag_int("time_reopen", self->time_reopen),
-+                NULL);
-+      g_string_free(table, TRUE);
-+      return NULL;
-     }
- 
--  msg_error("Multiple failures while inserting this record into the database, message dropped",
--            evt_tag_int("attempts", self->num_retries),
--            NULL);
--  stats_counter_inc(self->dropped_messages);
--  log_msg_drop(msg, path_options);
--  self->failed_message_counter = 0;
--  return TRUE;
-+  return table;
- }
- 
- static GString *
--afsql_dd_construct_query(AFSqlDestDriver *self, GString *table,
--                         LogMessage *msg)
-+afsql_dd_build_insert_command(AFSqlDestDriver *self, LogMessage *msg, GString *table)
- {
--  GString *value;
--  GString *query_string;
--  gint i;
-+  GString *insert_command = g_string_sized_new(256);
-+  GString *value = g_string_sized_new(512);
-+  gint i, j;
- 
--  value = g_string_sized_new(256);
--  query_string = g_string_sized_new(512);
-+  g_string_printf(insert_command, "INSERT INTO %s (", table->str);
- 
--  g_string_printf(query_string, "INSERT INTO %s (", table->str);
-   for (i = 0; i < self->fields_len; i++)
-     {
--      g_string_append(query_string, self->fields[i].name);
--      if (i != self->fields_len - 1)
--        g_string_append(query_string, ", ");
-+      if ((self->fields[i].flags & AFSQL_FF_DEFAULT) == 0 && self->fields[i].value != NULL)
-+        {
-+           g_string_append(insert_command, self->fields[i].name);
-+
-+           j = i + 1;
-+           while (j < self->fields_len && (self->fields[j].flags & AFSQL_FF_DEFAULT) == AFSQL_FF_DEFAULT)
-+             j++;
-+
-+           if (j < self->fields_len)
-+             g_string_append(insert_command, ", ");
-+        }
-     }
--  g_string_append(query_string, ") VALUES (");
-+
-+  g_string_append(insert_command, ") VALUES (");
- 
-   for (i = 0; i < self->fields_len; i++)
-     {
-       gchar *quoted;
- 
--      if (self->fields[i].value == NULL)
--        {
--          /* the config used the 'default' value for this column -> the fields[i].value is NULL, use SQL default */
--          g_string_append(query_string, "DEFAULT");
--        }
--      else
-+      if ((self->fields[i].flags & AFSQL_FF_DEFAULT) == 0 && self->fields[i].value != NULL)
-         {
-           log_template_format(self->fields[i].value, msg, &self->template_options, LTZ_SEND, self->seq_num, NULL, value);
--
-           if (self->null_value && strcmp(self->null_value, value->str) == 0)
-             {
--              g_string_append(query_string, "NULL");
-+              g_string_append(insert_command, "NULL");
-             }
-           else
-             {
-               dbi_conn_quote_string_copy(self->dbi_ctx, value->str, &quoted);
-               if (quoted)
-                 {
--                  g_string_append(query_string, quoted);
-+                  g_string_append(insert_command, quoted);
-                   free(quoted);
-                 }
-               else
-                 {
--                  g_string_append(query_string, "''");
-+                 g_string_append(insert_command, "''");
-                 }
-             }
--        }
- 
--      if (i != self->fields_len - 1)
--        g_string_append(query_string, ", ");
-+          j = i + 1;
-+          while (j < self->fields_len && (self->fields[j].flags & AFSQL_FF_DEFAULT) == AFSQL_FF_DEFAULT)
-+            j++;
-+          if (j < self->fields_len)
-+            g_string_append(insert_command, ", ");
-+        }
-     }
--  g_string_append(query_string, ")");
-+
-+  g_string_append(insert_command, ")");
- 
-   g_string_free(value, TRUE);
- 
--  return query_string;
-+  return insert_command;
-+}
-+
-+static inline gboolean
-+afsql_dd_is_transaction_handling_enabled(const AFSqlDestDriver *self)
-+{
-+  return self->flush_lines_queued != -1;
-+}
-+
-+static inline gboolean
-+afsql_dd_should_start_new_transaction(const AFSqlDestDriver *self)
-+{
-+  return self->flush_lines_queued == 0;
-+}
-+
-+static inline gboolean
-+afsql_dd_should_commit_transaction(const AFSqlDestDriver *self)
-+{
-+  return afsql_dd_is_transaction_handling_enabled(self) && self->flush_lines_queued == self->flush_lines;
-+}
-+
-+static inline gboolean
-+afsql_dd_handle_insert_row_error_depending_on_connection_availability(AFSqlDestDriver *self,
-+                                                                      LogMessage *msg,
-+                                                                      LogPathOptions *path_options)
-+{
-+  const gchar *dbi_error, *error_message;
-+
-+  if (dbi_conn_ping(self->dbi_ctx) == 1)
-+    {
-+      log_queue_push_head(self->queue, msg, path_options);
-+      return TRUE;
-+    }
-+
-+  if (afsql_dd_is_transaction_handling_enabled(self))
-+    {
-+      error_message = "SQL connection lost in the middle of a transaction,"
-+                      " rewinding backlog and starting again";
-+      afsql_dd_handle_transaction_error(self);
-+    }
-+  else
-+    {
-+      error_message = "Error, no SQL connection after failed query attempt";
-+      log_queue_push_head(self->queue, msg, path_options);
-+    }
-+
-+  dbi_conn_error(self->dbi_ctx, &dbi_error);
-+  msg_error(error_message,
-+            evt_tag_str("type", self->type),
-+            evt_tag_str("host", self->host),
-+            evt_tag_str("port", self->port),
-+            evt_tag_str("username", self->user),
-+            evt_tag_str("database", self->database),
-+            evt_tag_str("error", dbi_error),
-+            NULL);
-+
-+  return FALSE;
- }
- 
- /**
-@@ -824,61 +875,93 @@ afsql_dd_construct_query(AFSqlDestDriver
- static gboolean
- afsql_dd_insert_db(AFSqlDestDriver *self)
- {
--  GString *table, *query_string;
-+  GString *table = NULL;
-+  GString *insert_command = NULL;
-   LogMessage *msg;
-   gboolean success;
-   LogPathOptions path_options = LOG_PATH_OPTIONS_INIT;
- 
--  afsql_dd_connect(self);
-+  if (!afsql_dd_ensure_initialized_connection(self))
-+    return FALSE;
- 
--  success = log_queue_pop_head(self->queue, &msg, &path_options, (self->flags & AFSQL_DDF_EXPLICIT_COMMITS), FALSE);
-+  /* connection established, try to insert a message */
-+  success = log_queue_pop_head(self->queue, &msg, &path_options, FALSE, self->flags & AFSQL_DDF_EXPLICIT_COMMITS);
-   if (!success)
-     return TRUE;
- 
-   msg_set_context(msg);
- 
--  table = afsql_dd_validate_table(self, msg);
-+  table = afsql_dd_ensure_accessible_database_table(self, msg);
-+
-   if (!table)
-     {
--      /* If validate table is FALSE then close the connection and wait time_reopen time (next call) */
--      msg_error("Error checking table, disconnecting from database, trying again shortly",
--                evt_tag_int("time_reopen", self->time_reopen),
--                NULL);
--      msg_set_context(NULL);
--      g_string_free(table, TRUE);
--      return afsql_dd_insert_fail_handler(self, msg, &path_options);
-+      success = FALSE;
-+      goto out;
-     }
- 
--  query_string = afsql_dd_construct_query(self, table, msg);
-+  if (afsql_dd_should_start_new_transaction(self) && !afsql_dd_begin_txn(self))
-+    {
-+      success = FALSE;
-+      goto out;
-+    }
- 
--  if (self->flush_lines_queued == 0 && !afsql_dd_begin_txn(self))
--    return FALSE;
-+  insert_command = afsql_dd_build_insert_command(self, msg, table);
-+  success = afsql_dd_run_query(self, insert_command->str, FALSE, NULL);
- 
--  success = afsql_dd_run_query(self, query_string->str, FALSE, NULL);
-   if (success && self->flush_lines_queued != -1)
-     {
-       self->flush_lines_queued++;
- 
--      if (self->flush_lines && self->flush_lines_queued == self->flush_lines && !afsql_dd_commit_txn(self))
--        return FALSE;
-+      if (afsql_dd_should_commit_transaction(self) && !afsql_dd_commit_txn(self))
-+        {
-+          /* Assuming that in case of error, the queue is rewound by afsql_dd_commit_txn() */
-+
-+          g_string_free(insert_command, TRUE);
-+          msg_set_context(NULL);
-+
-+          return FALSE;
-+        }
-     }
- 
--  g_string_free(table, TRUE);
--  g_string_free(query_string, TRUE);
-+ out:
-+
-+  if (table != NULL)
-+    g_string_free(table, TRUE);
-+
-+  if (insert_command != NULL)
-+    g_string_free(insert_command, TRUE);
- 
-   msg_set_context(NULL);
- 
--  if (!success)
--    return afsql_dd_insert_fail_handler(self, msg, &path_options);
-+  if (success)
-+    {
-+      log_msg_ack(msg, &path_options);
-+      log_msg_unref(msg);
-+      step_sequence_number(&self->seq_num);
-+      self->failed_message_counter = 0;
-+    }
-+  else
-+    {
-+      if (self->failed_message_counter < self->num_retries - 1)
-+        {
-+          if (!afsql_dd_handle_insert_row_error_depending_on_connection_availability(self, msg, &path_options))
-+            return FALSE;
- 
--  /* we only ACK if each INSERT is a separate transaction */
--  if ((self->flags & AFSQL_DDF_EXPLICIT_COMMITS) == 0)
--    log_msg_ack(msg, &path_options);
--  log_msg_unref(msg);
--  step_sequence_number(&self->seq_num);
--  self->failed_message_counter = 0;
-+          self->failed_message_counter++;
-+        }
-+      else
-+        {
-+          msg_error("Multiple failures while inserting this record into the database, message dropped",
-+                    evt_tag_int("attempts", self->num_retries),
-+                    NULL);
-+          stats_counter_inc(self->dropped_messages);
-+          log_msg_drop(msg, &path_options);
-+          self->failed_message_counter = 0;
-+          success = TRUE;
-+        }
-+    }
- 
--  return TRUE;
-+  return success;
- }
- 
- static void
-@@ -895,7 +978,7 @@ afsql_dd_message_became_available_in_the
- static void
- afsql_dd_wait_for_suspension_wakeup(AFSqlDestDriver *self)
- {
--  /* we got suspended, probably because of a connection error,  
-+  /* we got suspended, probably because of a connection error,
-    * during this time we only get wakeups if we need to be
-    * terminated. */
-   if (!self->db_thread_terminate)
-@@ -974,8 +1057,7 @@ afsql_dd_database_thread(gpointer arg)
- 
-       afsql_dd_commit_txn(self);
-     }
--
-- exit:
-+exit:
-   afsql_dd_disconnect(self);
- 
-   msg_verbose("Database thread finished",
--- 
-1.8.4.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch
deleted file mode 100644
index 484af7e..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 86842df8bff5c97e44fc55d2fb7fc6c10f56ab84 Mon Sep 17 00:00:00 2001
-From: Gergely Nagy <algernon@balabit.hu>
-Date: Fri, 13 Dec 2013 13:46:15 +0100
-Subject: [PATCH] mainloop: Deinit the new config when reverting to the old one
-
-Upstream-Status: Backport
-
-When reloading, and the new config fails, deinit it before initializing
-the old config. This is so that conflicting things do not remain held by
-the half-initialized new config, while the old tries to take it
-over. (It also removed a couple of memory leaks, most likely.)
-
-The reason we can do this, is because cfg_tree_stop() (called by
-cfg_deinit()) goes over all the known nodes, and log_pipe_deinit() is
-also smart enough to not deinit a node that has not been inited before.
-
-Signed-off-by: Gergely Nagy <algernon@balabit.hu>
----
- lib/mainloop.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/lib/mainloop.c b/lib/mainloop.c
-index 34655fa..e6fbb59 100644
---- a/lib/mainloop.c
-+++ b/lib/mainloop.c
-@@ -510,6 +510,7 @@ main_loop_reload_config_apply(void)
-     {
-       msg_error("Error initializing new configuration, reverting to old config", NULL);
-       cfg_persist_config_move(main_loop_new_config, main_loop_old_config);
-+      cfg_deinit(main_loop_new_config);
-       if (!cfg_init(main_loop_old_config))
-         {
-           /* hmm. hmmm, error reinitializing old configuration, we're hosed.
--- 
-1.8.4.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch
deleted file mode 100644
index d439a26..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3ef6ca8044260c77118edca6dead807a2edcb5ef Mon Sep 17 00:00:00 2001
-From: Balazs Scheidler <bazsi@balabit.hu>
-Date: Thu, 31 Oct 2013 13:20:12 +0100
-Subject: [PATCH] cfg: free global LogTemplateOptions
-
-Upstream-Status: Backport
-
-This fixes a potential memory leak when global template specific
-options were specified, such as local-time-zone(), send-time-zone() etc.
-
-Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
----
- lib/cfg.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/lib/cfg.c b/lib/cfg.c
-index 7f040b8..adeaaf8 100644
---- a/lib/cfg.c
-+++ b/lib/cfg.c
-@@ -411,6 +411,7 @@ cfg_free(GlobalConfig *self)
-   g_free(self->proto_template_name);  
-   log_template_unref(self->file_template);
-   log_template_unref(self->proto_template);
-+  log_template_options_destroy(&self->template_options);
- 
-   if (self->bad_hostname_compiled)
-     regfree(&self->bad_hostname);
--- 
-1.8.4.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch
deleted file mode 100644
index 9e3d64b..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-logwriter: Don't allocate a new buffer if fails to consume current item
-
-Upstream-Status: Pending
-
-Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
----
---- a/lib/logwriter.c
-+++ b/lib/logwriter.c
-@@ -1010,7 +1010,7 @@
-         {
-           status = log_proto_client_post(proto, (guchar *) self->line_buffer->str, self->line_buffer->len, &consumed);
- 
--          if (consumed)
-+          if (consumed && status != LPS_ERROR)
-             log_writer_realloc_line_buffer(self);
- 
-           if (status == LPS_ERROR)
-@@ -1028,7 +1028,7 @@
-                     NULL);
-           consumed = TRUE;
-         }
--      if (consumed)
-+      if (consumed && status != LPS_ERROR)
-         {
-           if (lm->flags & LF_LOCAL)
-             step_sequence_number(&self->seq_num);
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch
deleted file mode 100644
index 1951af9..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-rewrite-expr-grammar.ym: Free up token.
-
-Upsteam-Status: Backport
-
-Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com>
-Signed-off-by: Viktor Tusa <tusavik@gmail.com>
----
---- a/lib/rewrite/rewrite-expr-grammar.ym
-+++ b/lib/rewrite/rewrite-expr-grammar.ym
-@@ -78,6 +78,7 @@
- 
- 	    $$ = log_template_new(configuration, $1);
- 	    CHECK_ERROR(log_template_compile($$, $1, &error), @1, "Error compiling template (%s)", error->message);
-+            free($1);
- 	  }
- 	;
- 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch
deleted file mode 100644
index ea18682..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 365020c5c0823c91a8011e34597f970a7cfb4fb3 Mon Sep 17 00:00:00 2001
-From: Tusa Viktor <tusavik@gmail.com>
-Date: Wed, 23 Apr 2014 17:10:58 +0000
-Subject: [PATCH] logwriter: still free the unconsumed item during reloading
- configuration
-
-Upstream-Status: Backport
-
-Otherwise we have no chance to free this stuff.
-
-Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com>
-Signed-off-by: Tusa Viktor <tusavik@gmail.com>
-Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
----
- lib/logproto/logproto-client.h      |    2 +-
- lib/logproto/logproto-text-client.c |   11 +++++++++++
- lib/logwriter.c                     |    9 +++++++--
- 3 files changed, 19 insertions(+), 3 deletions(-)
-
-diff --git a/lib/logproto/logproto-client.h b/lib/logproto/logproto-client.h
-index 254ecf9..5adc917 100644
---- a/lib/logproto/logproto-client.h
-+++ b/lib/logproto/logproto-client.h
-@@ -47,7 +47,6 @@ void log_proto_client_options_defaults(LogProtoClientOptions *options);
- void log_proto_client_options_init(LogProtoClientOptions *options, GlobalConfig *cfg);
- void log_proto_client_options_destroy(LogProtoClientOptions *options);
- 
--
- struct _LogProtoClient
- {
-   LogProtoStatus status;
-@@ -107,6 +106,7 @@ log_proto_client_reset_error(LogProtoClient *s)
- gboolean log_proto_client_validate_options(LogProtoClient *self);
- void log_proto_client_init(LogProtoClient *s, LogTransport *transport, const LogProtoClientOptions *options);
- void log_proto_client_free(LogProtoClient *s);
-+void log_proto_client_free_method(LogProtoClient *s);
- 
- #define DEFINE_LOG_PROTO_CLIENT(prefix) \
-   static gpointer                                                       \
-diff --git a/lib/logproto/logproto-text-client.c b/lib/logproto/logproto-text-client.c
-index 3248759..a5100f3 100644
---- a/lib/logproto/logproto-text-client.c
-+++ b/lib/logproto/logproto-text-client.c
-@@ -146,12 +146,23 @@ log_proto_text_client_post(LogProtoClient *s, guchar *msg, gsize msg_len, gboole
- }
- 
- void
-+log_proto_text_client_free(LogProtoClient *s)
-+{
-+  LogProtoTextClient *self = (LogProtoTextClient *)s;
-+  if (self->partial_free)
-+    self->partial_free(self->partial);
-+  self->partial = NULL;
-+  log_proto_client_free_method(s);
-+};
-+
-+void
- log_proto_text_client_init(LogProtoTextClient *self, LogTransport *transport, const LogProtoClientOptions *options)
- {
-   log_proto_client_init(&self->super, transport, options);
-   self->super.prepare = log_proto_text_client_prepare;
-   self->super.flush = log_proto_text_client_flush;
-   self->super.post = log_proto_text_client_post;
-+  self->super.free_fn = log_proto_text_client_free;
-   self->super.transport = transport;
-   self->next_state = -1;
- }
-diff --git a/lib/logwriter.c b/lib/logwriter.c
-index 3292e31..470bcdb 100644
---- a/lib/logwriter.c
-+++ b/lib/logwriter.c
-@@ -1063,8 +1063,13 @@ log_writer_flush(LogWriter *self, LogWriterFlushMode flush_mode)
-         }
-       else
-         {
--          /* push back to the queue */
--          log_queue_push_head(self->queue, lm, &path_options);
-+          if (flush_mode == LW_FLUSH_QUEUE)
-+            log_msg_unref(lm);
-+          else
-+            {
-+              /* push back to the queue */
-+              log_queue_push_head(self->queue, lm, &path_options);
-+            }
-           msg_set_context(NULL);
-           log_msg_refcache_stop();
-           break;
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch
deleted file mode 100644
index e8119b8..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Verify the validity of the pointer before delete it
-
-Otherwise, we got a crash at logqueue-fifo.c:344
-  344 iv_list_del(&node->list);
-
-Upstream-Status: Pending
-
-Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
----
---- a/lib/logqueue-fifo.c
-+++ b/lib/logqueue-fifo.c
-@@ -339,15 +339,18 @@
-       *msg = node->msg;
-       path_options->ack_needed = node->ack_needed;
-       self->qoverflow_output_len--;
--      if (!push_to_backlog)
-+      if ((&node->list) && (&node->list)->next && (&node->list)->prev)
-         {
--          iv_list_del(&node->list);
--          log_msg_free_queue_node(node);
--        }
--      else
--        {
--          iv_list_del_init(&node->list);
--        }
-+          if (!push_to_backlog)
-+            {
-+              iv_list_del(&node->list);
-+              log_msg_free_queue_node(node);
-+            }
-+          else
-+            {
-+              iv_list_del_init(&node->list);
-+            }
-+        }
-     }
-   else
-     {
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 4e0f697..898e9c2 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
@@ -60,6 +60,12 @@
     eval "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "s/-D_LARGEFILE_SOURCE//" -e "s/-D_FILE_OFFSET_BITS=64//" ${S}/configure.in', d)}"
 }
 
+do_install_prepend() {
+    sed -i -e 's,@SBINDIR@,${sbindir},g' ${S}/contrib/systemd/*.service
+    sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${S}/contrib/systemd/*.service
+    sed -i -e 's,@BASEBINDIR@,${base_bindir},g' ${S}/contrib/systemd/*.service
+}
+
 do_install_append() {
     install -d ${D}/${sysconfdir}/${BPN}
     install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/${BPN}/${BPN}.conf
@@ -70,9 +76,6 @@
     install -d ${D}/${localstatedir}/lib/${BPN}
     # Remove /var/run as it is created on startup
     rm -rf ${D}${localstatedir}/run
-    sed -i -e 's,@SBINDIR@,${sbindir},g' ${S}/contrib/systemd/*.service
-    sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${S}/contrib/systemd/*.service
-    sed -i -e 's,@BASEBINDIR@,${base_bindir},g' ${S}/contrib/systemd/*.service
 }
 
 FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-do-not-strip-pdata_tools-at-do_install.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-do-not-strip-pdata_tools-at-do_install.patch
new file mode 100644
index 0000000..b4cdda1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-do-not-strip-pdata_tools-at-do_install.patch
@@ -0,0 +1,33 @@
+From e8be402e20cbdfbd8192a171ac9904d9362103bf Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 31 Aug 2016 01:35:40 -0400
+Subject: [PATCH] do not strip pdata_tools at do_install
+
+It caused QA Issue:
+--------------
+|ERROR: QA Issue: File '/usr/sbin/pdata_tools' from thin-provisioning-tools
+was already stripped, this will prevent future debugging! [already-stripped]
+--------------
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 4264191..ac22042 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -189,7 +189,6 @@ distclean: clean
+ install: bin/pdata_tools
+ 	$(INSTALL_DIR) $(BINDIR)
+ 	$(INSTALL_PROGRAM) bin/pdata_tools $(BINDIR)
+-	$(STRIP) $(BINDIR)/pdata_tools
+ 	ln -s -f pdata_tools $(BINDIR)/cache_check
+ 	ln -s -f pdata_tools $(BINDIR)/cache_dump
+ 	ln -s -f pdata_tools $(BINDIR)/cache_metadata_size
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.6.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.6.3.bb
new file mode 100755
index 0000000..c9d6690
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.6.3.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Tools of dm-thin device-mapper"
+DESCRIPTION = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target."
+HOMEPAGE = "https://github.com/jthornber/thin-provisioning-tools"
+LICENSE = "GPLv3"
+SECTION = "devel"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/jthornber/thin-provisioning-tools \
+           file://0001-do-not-strip-pdata_tools-at-do_install.patch \
+"
+
+SRCREV = "49bfc12e9c7956c1ac134b24afbe1a6a602ce7d5"
+
+DEPENDS += "expat libaio boost"
+
+inherit autotools-brokensep
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/tokyocabinet/tokyocabinet/remove-hard-coded-include-and-lib-paths.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/tokyocabinet/tokyocabinet/remove-hard-coded-include-and-lib-paths.patch
new file mode 100644
index 0000000..a8ab23d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/tokyocabinet/tokyocabinet/remove-hard-coded-include-and-lib-paths.patch
@@ -0,0 +1,43 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+There are hardcode paths in configure.in eg: /usr/include, $HOME/include etc.
+These paths will cause Makefile to search host path when doing cross-compiling.
+and bitbake will prompt this as an error. So remove them.
+
+Signed-off-by: Song.Li <Song.Li@windriver.com>
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ configure.in |   10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index bcfd5bc..5b24947 100644
+--- a/configure.in
++++ b/configure.in
+@@ -32,21 +32,15 @@ MYPCFILES="tokyocabinet.pc"
+ 
+ # Building flags
+ MYCFLAGS="-std=c99 -Wall -fPIC -fsigned-char -O2"
+-MYCPPFLAGS="-I. -I\$(INCLUDEDIR) -I$HOME/include -I/usr/local/include"
++MYCPPFLAGS="-I."
+ MYCPPFLAGS="$MYCPPFLAGS -DNDEBUG -D_GNU_SOURCE=1 -D_REENTRANT -D__EXTENSIONS__"
+-MYLDFLAGS="-L. -L\$(LIBDIR) -L$HOME/lib -L/usr/local/lib"
++MYLDFLAGS="-L."
+ MYCMDLDFLAGS=""
+ MYRUNPATH="\$(LIBDIR)"
+ MYLDLIBPATHENV="LD_LIBRARY_PATH"
+ MYPOSTCMD="true"
+ 
+ # Building paths
+-PATH="$PATH:$HOME/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
+-PATH="$PATH:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/xpg4/bin:/usr/xpg6/bin:/usr/ucb"
+-CPATH="$HOME/include:/usr/local/include:$CPATH"
+-LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH"
+-LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH"
+-PKG_CONFIG_PATH="$HOME/lib/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
+ export PATH CPATH LIBRARY_PATH LD_LIBRARY_PATH PKG_CONFIG_PATH
+ 
+ 
+-- 
+1.7.9.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb
new file mode 100644
index 0000000..9f75cf0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb
@@ -0,0 +1,27 @@
+#
+# Copyright (C) 2012 - 2016 Wind River Systems, Inc.
+#
+SUMMARY = "A modern implementation of DBM"
+
+DESCRIPTION = "Tokyo Cabinet is a library of routines for managing a database. \
+The database is a simple data file containing records, each is a pair of a key \
+and a value. Every key and value is serial bytes with variable length. \
+Both binary data and character string can be used as a key and a value. \
+There is neither concept of data tables nor data types. \
+Records are organized in hash table, B+ tree, or fixed-length array."
+
+HOMEPAGE = "http://fallabs.com/tokyocabinet/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+SRC_URI = "http://fallabs.com/tokyocabinet/${BP}.tar.gz \
+           file://remove-hard-coded-include-and-lib-paths.patch \
+"
+
+SRC_URI[md5sum] = "fd03df6965f8f56dd5b8518ca43b4f5e"
+SRC_URI[sha256sum] = "a003f47c39a91e22d76bc4fe68b9b3de0f38851b160bbb1ca07a4f6441de1f90"
+
+DEPENDS = "bzip2 zlib"
+
+inherit autotools-brokensep
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
index ac8593c..4a1b4ce 100644
--- 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
@@ -22,9 +22,9 @@
 EXTRA_OEMAKE = "-e USRLIBDIR=${libdir}"
 
 do_compile () {
-	oe_runmake 'CC=${CC}'
+    oe_runmake 'CC=${CC}'
 }
 
 do_install() {
-	oe_runmake install INSTALLDIR=${D}
+    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 24f813b..aa031fe 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
@@ -1,6 +1,6 @@
 SUMMARY = "A very small and simple terminal emulator"
 SECTION = "x11/applications"
-DEPENDS = "vte"
+DEPENDS = "vte9"
 
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://main.c;start_line=5;end_line=16;md5=9ae4bf20caf291afa94530026bd15229"
@@ -24,4 +24,4 @@
     oe_runmake PREFIX="${prefix}" DESTDIR="${D}" install
 }
 
-RDEPENDS_${PN}_append_libc-glibc += "glibc-gconv-ibm437"
+RDEPENDS_${PN}_append_libc-glibc = " glibc-gconv-ibm437"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch
new file mode 100644
index 0000000..98e6c75
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2/non-gnu-libc.patch
@@ -0,0 +1,26 @@
+musl does not define __GNUC_PREREQ therefore check for C library being glibc
+if not then define the macro
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: udisks-2.1.7/udisks/udisksclient.c
+===================================================================
+--- udisks-2.1.7.orig/udisks/udisksclient.c
++++ udisks-2.1.7/udisks/udisksclient.c
+@@ -27,8 +27,15 @@
+ #include "udisksobjectinfo.h"
+ 
+ /* For __GNUC_PREREQ usage below */
+-#ifdef __GNUC__
++#ifdef __GLIBC__
+ # include <features.h>
++#else
++#if defined(__GNUC__)
++#define	__GNUC_PREREQ(__maj, __min)	\
++	(__GNUC__ > (__maj) || __GNUC__ == (__maj) && __GNUC_MINOR__ >= (__min))
++#else
++#define	__GNUC_PREREQ(__maj, __min) 0
++#endif
+ #endif
+ 
+ /**
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.5.bb
deleted file mode 100644
index f365cfa..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.5.bb
+++ /dev/null
@@ -1,35 +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"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
-
-RDEPENDS_${PN} = "acl"
-
-SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2"
-SRC_URI[md5sum] = "73632501002e6de8244f831e38b2b98e"
-SRC_URI[sha256sum] = "2cfcf560447ea44cba2a683342c7062aaaf35e4eb554bed64ac2dd55a70a5fb6"
-
-inherit autotools systemd gtk-doc gobject-introspection
-
-S = "${WORKDIR}/udisks-${PV}"
-
-EXTRA_OECONF = "--disable-man"
-
-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.1.7.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb
new file mode 100644
index 0000000..fbf6701
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.1.7.bb
@@ -0,0 +1,37 @@
+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"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+
+RDEPENDS_${PN} = "acl"
+
+SRC_URI = "http://udisks.freedesktop.org/releases/udisks-${PV}.tar.bz2 \
+           file://non-gnu-libc.patch \
+"
+SRC_URI[md5sum] = "8bccd36573b75286538bd5bd2c424f45"
+SRC_URI[sha256sum] = "abae2bb3bdc691ca13c1e4c244630b8c881c4f3b35c207299f1b39b7bec83785"
+
+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/uim/uim_1.8.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
index 42788e4..76a4125 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
@@ -1,20 +1,19 @@
 DESCRIPTION = "A multilingual user input method library"
 HOMEPAGE = "http://uim.freedesktop.org/"
 LICENSE = "BSD-3-Clause & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=32463fd29aa303fb2360faeeae17256b"
 SECTION = "inputmethods"
 
-SRC_URI = "http://uim.googlecode.com/files/uim-${PV}.tar.bz2 \
-          "
+SRC_URI = "http://uim.googlecode.com/files/uim-${PV}.tar.bz2"
 
-SRC_URI_append_class-target = "file://uim-module-manager.patch \
-                               file://0001-fix-bug-for-cross-compile.patch"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=32463fd29aa303fb2360faeeae17256b"
+SRC_URI_append_class-target = " file://uim-module-manager.patch \
+    file://0001-fix-bug-for-cross-compile.patch \
+"
 SRC_URI[md5sum] = "ecea4c597bab1fd4ba98ea84edcece59"
 SRC_URI[sha256sum] = "7b1ea803c73f3478917166f04f67cce6e45ad7ea5ab6df99b948c17eb1cb235f"
 
 DEPENDS = "anthy fontconfig libxft libxt glib-2.0 ncurses intltool"
-DEPENDS_class-target += "gtk+ gtk+3 uim-native takao-fonts"
+DEPENDS_class-target += "intltool-native gtk+ gtk+3 uim-native takao-fonts"
 
 RDEPENDS_uim = "libuim0 libedit"
 RDEPENDS_uim-anthy = "takao-fonts anthy libanthy0"
@@ -24,12 +23,13 @@
 inherit autotools pkgconfig gettext
 
 EXTRA_OECONF += "--disable-emacs \
-                 --without-scim \
-                 --without-m17nlib \
-                 --without-prime \
-                 --without-canna \
-                 --without-mana \
-                 --without-eb"
+    --without-scim \
+    --without-m17nlib \
+    --without-prime \
+    --without-canna \
+    --without-mana \
+    --without-eb \
+"
 
 CONFIGUREOPTS_remove_class-target = "--disable-silent-rules"
 
@@ -45,60 +45,62 @@
 PACKAGES += "uim-xim uim-utils uim-skk uim-gtk2.0 uim-gtk3 uim-fep uim-common uim-anthy libuim0 libuim-dev"
 
 FILES_${PN} = "${bindir}/uim-help \
-               ${libdir}/uim/plugin/libuim-* \
-               ${libdir}/libuim-scm* \
-               ${libdir}/libgcroots* \
-               ${libdir}/uim/plugin/libuim-*"
+    ${libdir}/uim/plugin/libuim-* \
+    ${libdir}/libuim-scm* \
+    ${libdir}/libgcroots* \
+    ${libdir}/uim/plugin/libuim-* \
+"
 
 FILES_libuim0 = "${libdir}/uim/plugin/libuim-custom-enabler.* \
-                 ${libdir}/libuim-custom.so.* \
-                 ${datadir}/locale/ja/LC_MESSAGES/uim.mo \
-                 ${datadir}/locale/fr/LC_MESSAGES/uim.mo \
-                 ${datadir}/locale/ko/LC_MESSAGES/uim.mo \
-                 ${libdir}/libuim.so.*"
-
+    ${libdir}/libuim-custom.so.* \
+    ${datadir}/locale/ja/LC_MESSAGES/uim.mo \
+    ${datadir}/locale/fr/LC_MESSAGES/uim.mo \
+    ${datadir}/locale/ko/LC_MESSAGES/uim.mo \
+    ${libdir}/libuim.so.* \
+"
 FILES_libuim-dev = "${libdir}/libuim*.a \
-                    ${libdir}/libuim*.la \
-                    ${libdir}/libuim*.so \
-                    ${includedir}/uim \
-                    ${libdir}/pkgconfig/uim.pc"
-
+    ${libdir}/libuim*.la \
+    ${libdir}/libuim*.so \
+    ${includedir}/uim \
+    ${libdir}/pkgconfig/uim.pc \
+"
 FILES_uim-anthy = "${libdir}/uim/plugin/libuim-anthy.* \
-                   ${datadir}/uim/anthy*.scm"
-
+    ${datadir}/uim/anthy*.scm \
+"
 FILES_${PN}-dbg += "${libdir}/*/*/*/.debug ${libdir}/*/*/.debug"
 FILES_${PN}-dev += "${libdir}/uim/plugin/*.la"
 
 FILES_uim-utils = "${bindir}/uim-sh \
-                   ${bindir}/uim-module-manager \
-		   ${libexecdir}/uim-helper-server"
-
+    ${bindir}/uim-module-manager \
+    ${libexecdir}/uim-helper-server \
+"
 FILES_uim-xim = "${bindir}/uim-xim \
-                 ${libexecdir}/uim-candwin-*gtk \
-                 ${libexecdir}/uim-candwin-*gtk3 \
-                 ${datadir}/man/man1/uim-xim.1 \
-                 ${sysconfdir}/X11/xinit/xinput.d/uim*"
-
+    ${libexecdir}/uim-candwin-*gtk \
+    ${libexecdir}/uim-candwin-*gtk3 \
+    ${datadir}/man/man1/uim-xim.1 \
+    ${sysconfdir}/X11/xinit/xinput.d/uim* \
+"
 FILES_uim-common = "${datadir}/uim/pixmaps/*.png \
-                    ${datadir}/uim"
-
+    ${datadir}/uim \
+"
 FILES_uim-fep = "${bindir}/uim-fep*"
 
 FILES_uim-gtk2.0 = "${libdir}/gtk-2.0 \
-                    ${bindir}/uim-toolbar-gtk \
-                    ${bindir}/uim-toolbar-gtk-systray \
-                    ${bindir}/uim-*-gtk \
-                    ${bindir}/uim-input-pad-ja \
-                    ${libdir}/uim/uim-*-gtk"
-
+    ${bindir}/uim-toolbar-gtk \
+    ${bindir}/uim-toolbar-gtk-systray \
+    ${bindir}/uim-*-gtk \
+    ${bindir}/uim-input-pad-ja \
+    ${libdir}/uim/uim-*-gtk \
+"
 FILES_uim-gtk3 = "${libdir}/gtk-3.0 \
-                   ${bindir}/uim-toolbar-gtk3 \
-                   ${bindir}/uim-toolbar-gtk3-systray \
-                   ${bindir}/uim-*-gtk3 \
-                   ${libdir}/uim/uim-*-gtk3"
-
+    ${bindir}/uim-toolbar-gtk3 \
+    ${bindir}/uim-toolbar-gtk3-systray \
+    ${bindir}/uim-*-gtk3 \
+    ${libdir}/uim/uim-*-gtk3 \
+"
 FILES_uim-skk = "${libdir}/uim/plugin/libuim-skk.* \
-                 ${datadir}/uim/skk*.scm"
+    ${datadir}/uim/skk*.scm \
+"
 
 pkg_postinst_uim-anthy() {
     if [ -f /usr/bin/uim-module-manager ]; then
@@ -137,8 +139,8 @@
 pkg_postinst_uim-common() {
     if [ -f /usr/bin/uim-module-manager ]; then
         /usr/bin/uim-module-manager --path /etc/uim --register \
-                                    tutcode tcode hangul viqr \
-                                    ipa-x-sampa latin byeoru
+            tutcode tcode hangul viqr \
+            ipa-x-sampa latin byeoru
     fi
 }
 
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
new file mode 100644
index 0000000..69d26ad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/files/do-not-use-libltdl-source-directory.patch
@@ -0,0 +1,43 @@
+Subject: [PATCH] do not use libltdl source directory
+
+Don't use the included libltdl, use the one provided
+by our libtool instead.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Song.Li <Song.Li@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ Makefile.am  | 1 -
+ configure.ac | 2 --
+ 2 files changed, 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index e881cca..1321802 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -5,7 +5,6 @@ SUBDIRS = \
+ 	log \
+ 	lst \
+ 	ini \
+-    libltdl \
+ 	odbcinst \
+ 	DriverManager \
+ 	exe \
+diff --git a/configure.ac b/configure.ac
+index 218502f..d50b7af 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -136,9 +136,7 @@ dnl AC_CONFIG_MACRO_DIR([libltdl/m4])
+ dnl LT_CONFIG_LTDL_DIR([libltdl])
+ dnl LTDL_INIT
+ 
+-LT_CONFIG_LTDL_DIR([libltdl])
+ LT_INIT([dlopen])
+-LTDL_INIT([convenience])
+ 
+ dnl Substitute INCLTDL and LIBLTDL in the Makefiles
+ AC_SUBST(LTDLINCL)
+-- 
+2.8.1
+
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
new file mode 100644
index 0000000..6f57f37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.4.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] = "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/upower/upower_0.9.14.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.9.14.bb
deleted file mode 100644
index d2c5943..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.9.14.bb
+++ /dev/null
@@ -1,35 +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"
-
-PR = "r2"
-
-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] = "18803f82102d56aac90949d1e4251645"
-SRC_URI[sha256sum] = "81eb44c0453b264a737d32f763a31d5b1776f050a47d5be85fc5e9caf874a4c5"
-
-inherit autotools pkgconfig gettext gobject-introspection
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
-
-EXTRA_OECONF = " --with-backend=linux"
-
-do_configure_prepend() {
-    sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
-    sed -i -e 's: doc : :g' ${S}/Makefile.am
-}    
-
-
-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.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.4.bb
new file mode 100644
index 0000000..44a04de
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.4.bb
@@ -0,0 +1,39 @@
+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] = "78800e1ac7f92b24aabdf433e38f75d2"
+SRC_URI[sha256sum] = "9ca325a6ccef505529b268ebbbd9becd0ce65a65f6ac7ee31e2e5b17648037b0"
+
+inherit autotools pkgconfig gettext gobject-introspection systemd
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '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/usb-modeswitch/usb-modeswitch_2.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb
index 52a2f56..425f66b 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb
@@ -15,5 +15,5 @@
 RRECOMMENDS_${PN} = "usb-modeswitch-data"
 
 do_install() {
-	oe_runmake DESTDIR=${D} install
+    oe_runmake DESTDIR=${D} install
 }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/files/remove-man-page-creation.patch b/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/files/remove-man-page-creation.patch
new file mode 100644
index 0000000..8706d91
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/files/remove-man-page-creation.patch
@@ -0,0 +1,16 @@
+configure.ac: never generate the docs even if a2x is found as xmllint will fail finding custom dtd files
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Derek Straka <derek@asterius.io>
+--- git/configure.ac.orig	2016-08-15 09:53:46.787003658 -0400
++++ git/configure.ac	2016-08-15 09:53:51.698972432 -0400
+@@ -37,7 +37,7 @@
+ ])
+  
+ AC_CHECK_PROG([ASCIIDOC], [a2x], [a2x])
+-AM_CONDITIONAL([HAVE_DOCTOOLS], [test "x$ASCIIDOC" != "x"])
++AM_CONDITIONAL([HAVE_DOCTOOLS], [false])
+ AS_IF([test "x$ASCIIDOC" = "x"],
+       [AC_MSG_WARN([asciidoc not installed, man pages will not be created])])
+ 
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb
index d9b38ae..6ec566d 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/utouch/utouch-frame_git.bb
@@ -9,7 +9,8 @@
 
 inherit autotools pkgconfig
 
-SRC_URI = "git://bitmath.org/git/frame.git;protocol=http"
+SRC_URI = "git://bitmath.org/git/frame.git;protocol=http \
+           file://remove-man-page-creation.patch"
 SRCREV = "95363d5a1f7394d71144bf3b408ef4e6db4350fc"
 
 PV = "1.1.2+git${SRCPV}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
index 07ff318..ef0cfaf 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
@@ -1,6 +1,6 @@
 SUMMARY = "A lightweight Terminal Emulator based on libvte, written in Vala"
 SECTION = "x11/applications"
-DEPENDS = "vte intltool-native"
+DEPENDS = "vte9 intltool-native"
 SRCREV = "0fefa38087581f85fa0631b40500b9428369c146"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/Makefile.utils b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/Makefile.utils
index 3749b95..495601f 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/Makefile.utils
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/Makefile.utils
@@ -10,8 +10,10 @@
 ##
 ## -----------------------------------------------------------------------
 
-INCLUDES = -I. -I../vboxsf
-CFLAGS	 = ${INCLUDES}
+INCLUDES = -I. -I../vboxsf -I../vboxsf/include
+MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 \
+           -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DIN_MODULE -DIN_GUEST_R0
+CFLAGS	 = ${INCLUDES} ${MOD_DEFS}
 LDFLAGS	 =
 
 SRCS     = mount.vboxsf.c \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb
index 781e3d5..f8a24a5 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_4.3.36.bb
@@ -40,7 +40,7 @@
 
 # compile and install mount utility
 do_compile_append() {
-    oe_runmake -C ${S}/utils
+    oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
 }
 
 module_do_install() {
@@ -63,3 +63,6 @@
 
 # autoload if installed
 KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
+
+# http://errors.yoctoproject.org/Errors/Details/83333/
+PNBLACKLIST[vboxguestdrivers] ?= "BROKEN: not compatible with default kernel version 4.8"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.6.bb
new file mode 100644
index 0000000..8665267
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.1.6.bb
@@ -0,0 +1,65 @@
+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] = "8c2331a718cfc038963c1214c2ba9811"
+SRC_URI[sha256sum] = "2e0112b0d85841587b8f212e6ba8f6c35b31e1cce6b6999497dc917cd37e6911"
+
+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
+}
+
+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/vim-tiny_7.4.769.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0022.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_7.4.769.bb
rename to import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim-tiny_8.0.0022.bb
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_7.4.769.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_7.4.769.bb
deleted file mode 100644
index 08e5027..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_7.4.769.bb
+++ /dev/null
@@ -1,109 +0,0 @@
-SUMMARY = "Vi IMproved - enhanced vi editor"
-SECTION = "console/utils"
-DEPENDS = "ncurses gettext-native"
-# vimdiff doesn't like busybox diff
-RSUGGESTS_${PN} = "diffutils"
-LICENSE = "vim"
-LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;md5=c74ec0ada9a68354f9461e81d3596f61"
-
-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=.. \
-"
-SRCREV = "2693ca21cee8a729d74682fd86a4818f2b050228"
-
-S = "${WORKDIR}/git/src"
-
-VIMDIR = "vim${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}"
-
-inherit autotools update-alternatives
-inherit autotools-brokensep
-
-# vim configure.in contains functions which got 'dropped' by autotools.bbclass
-do_configure () {
-    rm -f auto/*
-    touch auto/config.mk
-    aclocal
-    autoconf
-    oe_runconf
-    touch auto/configure
-    touch auto/config.mk auto/config.h
-}
-
-#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
-PACKAGECONFIG ??= ""
-PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}"
-PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
-
-PACKAGECONFIG[gtkgui] = "--enable-gtk2-test --enable-gui=gtk2,--enable-gui=no,gtk+,"
-PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
-PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
-PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
-PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
-
-EXTRA_OECONF = " \
-    --disable-gpm \
-    --disable-gtktest \
-    --disable-xim \
-    --disable-netbeans \
-    --with-tlib=ncurses \
-    ac_cv_small_wchar_t=no \
-    vim_cv_getcwd_broken=no \
-    vim_cv_memmove_handles_overlap=yes \
-    vim_cv_stat_ignores_slash=no \
-    vim_cv_terminfo=yes \
-    vim_cv_tgent=non-zero \
-    vim_cv_toupper_broken=no \
-    vim_cv_tty_group=world \
-    STRIP=/bin/true \
-"
-
-do_install() {
-    autotools_do_install
-
-    # Work around rpm picking up csh or awk or perl as a dep
-    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132
-    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk
-    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl
-
-    # Install example vimrc from runtime files
-    install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
-
-    # we use --with-features=big as default
-    mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN}
-}
-
-PARALLEL_MAKEINST = ""
-
-PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc"
-FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
-FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
-FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
-FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc"
-FILES_${PN}-data = "${datadir}/${BPN}"
-FILES_${PN}-common = " \
-    ${datadir}/${BPN}/${VIMDIR}/*.vim \
-    ${datadir}/${BPN}/${VIMDIR}/autoload \
-    ${datadir}/${BPN}/${VIMDIR}/colors \
-    ${datadir}/${BPN}/${VIMDIR}/compiler \
-    ${datadir}/${BPN}/${VIMDIR}/ftplugin \
-    ${datadir}/${BPN}/${VIMDIR}/indent \
-    ${datadir}/${BPN}/${VIMDIR}/keymap \
-    ${datadir}/${BPN}/${VIMDIR}/lang \
-    ${datadir}/${BPN}/${VIMDIR}/macros \
-    ${datadir}/${BPN}/${VIMDIR}/plugin \
-    ${datadir}/${BPN}/${VIMDIR}/print \
-    ${datadir}/${BPN}/${VIMDIR}/spell \
-    ${datadir}/${BPN}/${VIMDIR}/tools \
-"
-
-RDEPENDS_${PN} = "ncurses-terminfo-base"
-# Recommend that runtime data is installed along with vim
-RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
-
-ALTERNATIVE_${PN} = "vi vim"
-ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
-ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
-ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
-ALTERNATIVE_PRIORITY = "100"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0022.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0022.bb
new file mode 100644
index 0000000..112ae80
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/vim/vim_8.0.0022.bb
@@ -0,0 +1,111 @@
+SUMMARY = "Vi IMproved - enhanced vi editor"
+SECTION = "console/utils"
+DEPENDS = "ncurses gettext-native"
+# vimdiff doesn't like busybox diff
+RSUGGESTS_${PN} = "diffutils"
+LICENSE = "vim"
+LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;md5=eea32ac1424bba14096736a494ae9045"
+
+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=.. \
+"
+SRCREV = "ec68a99464055029c01082762517e97245ddae0c"
+
+S = "${WORKDIR}/git/src"
+
+VIMDIR = "vim${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}"
+
+inherit autotools update-alternatives
+inherit autotools-brokensep
+
+# vim configure.in contains functions which got 'dropped' by autotools.bbclass
+do_configure () {
+    rm -f auto/*
+    touch auto/config.mk
+    aclocal
+    autoconf
+    oe_runconf
+    touch auto/configure
+    touch auto/config.mk auto/config.h
+}
+
+#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
+PACKAGECONFIG ??= ""
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+
+PACKAGECONFIG[gtkgui] = "--enable-gtk2-test --enable-gui=gtk2,--enable-gui=no,gtk+,"
+PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
+PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
+PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
+PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
+
+EXTRA_OECONF = " \
+    --disable-gpm \
+    --disable-gtktest \
+    --disable-xim \
+    --disable-netbeans \
+    --with-tlib=ncurses \
+    ac_cv_small_wchar_t=no \
+    vim_cv_getcwd_broken=no \
+    vim_cv_memmove_handles_overlap=yes \
+    vim_cv_stat_ignores_slash=no \
+    vim_cv_terminfo=yes \
+    vim_cv_tgent=non-zero \
+    vim_cv_toupper_broken=no \
+    vim_cv_tty_group=world \
+    STRIP=/bin/true \
+"
+
+do_install() {
+    autotools_do_install
+
+    # Work around file-rdeps picking up csh, awk, perl or python as a dep
+    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132
+    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk
+    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl
+    chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py
+
+    # Install example vimrc from runtime files
+    install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
+
+    # we use --with-features=big as default
+    mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN}
+}
+
+PARALLEL_MAKEINST = ""
+
+PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-tools"
+FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
+FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
+FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
+FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc"
+FILES_${PN}-data = "${datadir}/${BPN}"
+FILES_${PN}-tools = "${datadir}/${BPN}/${VIMDIR}/tools"
+FILES_${PN}-common = " \
+    ${datadir}/${BPN}/${VIMDIR}/*.vim \
+    ${datadir}/${BPN}/${VIMDIR}/autoload \
+    ${datadir}/${BPN}/${VIMDIR}/colors \
+    ${datadir}/${BPN}/${VIMDIR}/compiler \
+    ${datadir}/${BPN}/${VIMDIR}/ftplugin \
+    ${datadir}/${BPN}/${VIMDIR}/indent \
+    ${datadir}/${BPN}/${VIMDIR}/keymap \
+    ${datadir}/${BPN}/${VIMDIR}/lang \
+    ${datadir}/${BPN}/${VIMDIR}/macros \
+    ${datadir}/${BPN}/${VIMDIR}/plugin \
+    ${datadir}/${BPN}/${VIMDIR}/print \
+    ${datadir}/${BPN}/${VIMDIR}/spell \
+    ${datadir}/icons \
+"
+
+RDEPENDS_${PN} = "ncurses-terminfo-base"
+# Recommend that runtime data is installed along with vim
+RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
+
+ALTERNATIVE_${PN} = "vi vim"
+ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
+ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
+ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
+ALTERNATIVE_PRIORITY = "100"
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
new file mode 100644
index 0000000..a9a22d3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/files/xdg-user-dirs.desktop
@@ -0,0 +1,9 @@
+[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
new file mode 100644
index 0000000..b94e0cc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.15.bb
@@ -0,0 +1,22 @@
+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://xdg-user-dirs.desktop \
+"
+SRC_URI[md5sum] = "f5aaf5686ad7d8809a664bfb4566a54d"
+SRC_URI[sha256sum] = "20b4a751f41d0554bce3e0ce5e8d934be98cc62d48f0b90a894c3e1916552786"
+
+inherit autotools gettext
+
+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/zile/zile_2.4.11.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.11.bb
new file mode 100644
index 0000000..b3f1918
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.11.bb
@@ -0,0 +1,20 @@
+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
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}"
+
+PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.9.bb b/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.9.bb
deleted file mode 100644
index 2551a80..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.9.bb
+++ /dev/null
@@ -1,15 +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] = "84a0af58fb4fbe3af16bde2ef2b8f5ae"
-SRC_URI[sha256sum] = "c71959c7aca02ac66be526ecccbc7954fb0ea7591ed3c13311a95e8f040b0049"
-
-inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb
index b943d6d..197fe20 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb
@@ -16,7 +16,7 @@
 
 inherit autotools-brokensep
 
-CFLAGS += "-I${STAGING_INCDIR}/json-c"
+CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=misleading-indentation"
 
 FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
 FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch
index 92a6393..0dac998 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch
@@ -29,8 +29,8 @@
              src/gmock_main.cc)
  
 +
-+install(TARGETS gmock DESTINATION lib)
-+install(TARGETS gmock_main DESTINATION lib)
++install(TARGETS gmock DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(TARGETS gmock_main DESTINATION ${CMAKE_INSTALL_LIBDIR})
 +
  ########################################################################
  #
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch
index aa38fe4..8ffe1a6 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch
@@ -27,11 +27,11 @@
  # Project-wide settings
 @@ -87,7 +90,9 @@ cxx_library(gmock_main
  
- install(TARGETS gmock DESTINATION lib)
- install(TARGETS gmock_main DESTINATION lib)
+ install(TARGETS gmock DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(TARGETS gmock_main DESTINATION ${CMAKE_INSTALL_LIBDIR})
 -
 +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gmock.pc"
-+    DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/"
++    DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/"
 +)  
  ########################################################################
  #
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/0001-Add-install-command-for-libraries-and-headers.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/0001-Add-install-command-for-libraries-and-headers.patch
new file mode 100644
index 0000000..b8f5d6f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/0001-Add-install-command-for-libraries-and-headers.patch
@@ -0,0 +1,32 @@
+From bdcbef7b8adde424ee29e7eddc3b0570cc336449 Mon Sep 17 00:00:00 2001
+From: Frederico Cadete <frederico.cadete@awtce.be>
+Date: Tue, 21 Jun 2016 10:55:38 +0200
+Subject: [PATCH 1/2] Add install command for libraries and headers
+
+Signed-off-by: Frederico Cadete <frederico.cadete@awtce.be>
+---
+ CMakeLists.txt | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 57470c8..e969648 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -73,6 +73,14 @@ target_link_libraries(gtest_main gtest)
+ 
+ ########################################################################
+ #
++# Install rules
++install(TARGETS gtest gtest_main
++  DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest
++  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++
++########################################################################
++#
+ # Samples on how to link user tests with gtest or gtest_main.
+ #
+ # They are not built by default.  To build them, set the
+-- 
+2.5.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/0002-CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/0002-CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch
new file mode 100644
index 0000000..7a19f72
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/0002-CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch
@@ -0,0 +1,55 @@
+From 89639e76d5ee039a55004e5e910d565e6e84ed35 Mon Sep 17 00:00:00 2001
+From: Rodrigo Caimi <caimi@datacom.ind.br>
+Date: Tue, 7 Oct 2014 15:37:10 -0300
+Subject: [PATCH 2/2] CMakeLists, gtest.pc.in: Add pkg-config support to gtest
+ 1.7.0
+
+Signed-off-by: Rodrigo Caimi <caimi@datacom.ind.br>
+---
+ CMakeLists.txt | 6 ++++++
+ gtest.pc.in    | 9 +++++++++
+ 2 files changed, 15 insertions(+)
+ create mode 100644 gtest.pc.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e969648..0038826 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -29,6 +29,9 @@ if (COMMAND pre_project_set_up_hermetic_build)
+   pre_project_set_up_hermetic_build()
+ endif()
+ 
++# pkg-config support
++configure_file("gtest.pc.in" "gtest.pc" @ONLY)
++
+ ########################################################################
+ #
+ # Project-wide settings
+@@ -78,6 +81,9 @@ install(TARGETS gtest gtest_main
+   DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest
+   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gtest.pc"
++    DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/"
++)
+ 
+ ########################################################################
+ #
+diff --git a/gtest.pc.in b/gtest.pc.in
+new file mode 100644
+index 0000000..52e622b
+--- /dev/null
++++ b/gtest.pc.in
+@@ -0,0 +1,9 @@
++Name: libgtest
++Version: 1.7.0
++Description: Google's framework for writing C++ tests on a variety of platforms
++
++prefix=@CMAKE_INSTALL_PREFIX@
++includedir=@CMAKE_INSTALL_INCLUDEDIR@
++libdir=@CMAKE_INSTALL_LIBDIR@
++Cflags:-I${includedir}/gtest
++Libs: -L${libdir} -lgtest -lgtest_main
+-- 
+2.5.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch
deleted file mode 100644
index 1ece136..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From d4b25ce723812faf78d8ee038b7cbed00cbba682 Mon Sep 17 00:00:00 2001
-From: Rodrigo Caimi <caimi@datacom.ind.br>
-Date: Tue, 7 Oct 2014 15:37:10 -0300
-Subject: [PATCH] CMakeLists, gtest.pc.in: Add pkg-config support to gtest
- 1.7.0
-
-Signed-off-by: Rodrigo Caimi <caimi@datacom.ind.br>
----
- CMakeLists.txt | 6 ++++++
- gtest.pc.in    | 9 +++++++++
- 2 files changed, 15 insertions(+)
- create mode 100644 gtest.pc.in
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 281c4c2..e4354a8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -29,6 +29,9 @@ if (COMMAND pre_project_set_up_hermetic_build)
-   pre_project_set_up_hermetic_build()
- endif()
- 
-+# pkg-config support
-+configure_file("gtest.pc.in" "gtest.pc" @ONLY)
-+
- ########################################################################
- #
- # Project-wide settings
-@@ -75,6 +78,9 @@ target_link_libraries(gtest_main gtest)
- 
- install(TARGETS gtest DESTINATION lib)
- install(TARGETS gtest_main DESTINATION lib)
-+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gtest.pc"
-+    DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/"
-+)
- 
- ########################################################################
- #
-diff --git a/gtest.pc.in b/gtest.pc.in
-new file mode 100644
-index 0000000..57b1049
---- /dev/null
-+++ b/gtest.pc.in
-@@ -0,0 +1,9 @@
-+Name: libgtest
-+Version: 1.7.0
-+Description: Google's framework for writing C++ tests on a variety of platforms
-+
-+prefix=@CMAKE_INSTALL_PREFIX@
-+includedir=${prefix}/include
-+libdir=${prefix}/lib
-+Cflags:-I${includedir}/gtest
-+Libs: -L${libdir} -lgtest -lgtest_main
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch
deleted file mode 100644
index 0c160b0..0000000
--- a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5318983562be6babeb5a6996e7dda4b31acfdba8 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Wed, 30 Jul 2014 16:49:53 -0300
-Subject: [PATCH] cmake: Add install command for libraries and headers
-Organization: O.S. Systems Software LTDA.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- CMakeLists.txt | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 57470c8..281c4c2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -56,6 +56,8 @@ include_directories(
-   ${gtest_SOURCE_DIR}/include
-   ${gtest_SOURCE_DIR})
- 
-+install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest DESTINATION include)
-+
- # Where Google Test's libraries can be found.
- link_directories(${gtest_BINARY_DIR}/src)
- 
-@@ -71,6 +73,9 @@ cxx_library(gtest "${cxx_strict}" src/gtest-all.cc)
- cxx_library(gtest_main "${cxx_strict}" src/gtest_main.cc)
- target_link_libraries(gtest_main gtest)
- 
-+install(TARGETS gtest DESTINATION lib)
-+install(TARGETS gtest_main DESTINATION lib)
-+
- ########################################################################
- #
- # Samples on how to link user tests with gtest or gtest_main.
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.7.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.7.0.bb
index edeeab6..5bacf6c 100644
--- a/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.7.0.bb
+++ b/import-layers/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.7.0.bb
@@ -6,8 +6,8 @@
 
 SRC_URI = "\
     http://googletest.googlecode.com/files/${BPN}-${PV}.zip \
-    file://cmake-Add-install-command-for-libraries-and-headers.patch \
-    file://CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch \
+    file://0001-Add-install-command-for-libraries-and-headers.patch \
+    file://0002-CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch \
 "
 
 SRC_URI[md5sum] = "2d6ec8ccdf5c46b05ba54a9fd1d130d7"
diff --git a/import-layers/meta-openembedded/meta-perl/README b/import-layers/meta-openembedded/meta-perl/README
index 86c5c1a..1f6d9a6 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: krogoth 
+  branch: morty
   revision: HEAD
   prio: default
 
@@ -75,12 +75,12 @@
 -----------
 
 Send patches / pull requests to openembedded-devel@lists.openembedded.org with
-'[meta-perl][krogoth]' 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][krogoth][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-perl][morty][PATCH'
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
 
 License
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.114.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.114.bb
deleted file mode 100644
index fb4c0c4..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.114.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "a utility to add users/groups to the system"
-DESCRIPTION = "adduser, addgroup - add a user or group to the system"
-HOMEPAGE = "http://alioth.debian.org/projects/adduser/"
-SECTION = "base/utils"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=caed49ab166f22ef31bf1127f558d0ef"
-
-SRC_URI = "http://ftp.de.debian.org/debian/pool/main/a/${BPN}/${BPN}_${PV}.tar.xz \
-           file://adduser-add-M-option-for-useradd-when-no-create-home.patch \
-"
-
-SRC_URI[md5sum] = "3a079dd4e41d5a1fbaccaab03aacd881"
-SRC_URI[sha256sum] = "693b45bb0d27938fff2ecee5442ea2ac1b8804472ff0bb8faffd39616e58211f"
-
-inherit cpan-base update-alternatives
-
-S = "${WORKDIR}/${BPN}-3.113+nmu4"
-
-do_install() {
-    install -d ${D}${sbindir}
-    install -m 0755 ${S}/adduser ${D}${sbindir}
-    install -m 0755 ${S}/deluser ${D}${sbindir}
-
-    install -d ${D}${libdir}/perl/${PERLVERSION}/Debian
-    install -m 0644 ${S}/AdduserCommon.pm ${D}${libdir}/perl/${PERLVERSION}/Debian
-    sed -i -e "s/VERSION/${PV}/" ${D}${sbindir}/*
-
-    install -d ${D}/${sysconfdir}
-    install -m 0644 ${S}/*.conf ${D}/${sysconfdir}
-
-    install -d ${D}${mandir}/man5
-    install -m 0644 ${S}/doc/*.conf.5 ${D}${mandir}/man5
-    install -d ${D}${mandir}/man8
-    install -m 0644 ${S}/doc/*.8 ${D}${mandir}/man8
-    install -d ${D}${docdir}/${BPN}
-    cp -rf ${S}/examples ${D}${docdir}/${BPN}
-}
-
-RDEPENDS_${PN} += "\
-    shadow \
-    perl-module-getopt-long \
-    perl-module-overloading \
-    perl-module-file-find \
-    perl-module-file-temp \
-"
-
-ALTERNATIVE_${PN} = "adduser deluser addgroup delgroup"
-ALTERNATIVE_PRIORITY = "60"
-ALTERNATIVE_LINK_NAME[adduser] = "${sbindir}/adduser"
-ALTERNATIVE_LINK_NAME[deluser] = "${sbindir}/deluser"
-ALTERNATIVE_LINK_NAME[addgroup] = "${sbindir}/addgroup"
-ALTERNATIVE_LINK_NAME[delgroup] = "${sbindir}/delgroup"
-ALTERNATIVE_TARGET[addgroup] = "${sbindir}/adduser.${BPN}"
-ALTERNATIVE_TARGET[delgroup] = "${sbindir}/deluser.${BPN}"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.115.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.115.bb
new file mode 100644
index 0000000..81068d6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/adduser_3.115.bb
@@ -0,0 +1,55 @@
+SUMMARY = "a utility to add users/groups to the system"
+DESCRIPTION = "adduser, addgroup - add a user or group to the system"
+HOMEPAGE = "http://alioth.debian.org/projects/adduser/"
+SECTION = "base/utils"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=caed49ab166f22ef31bf1127f558d0ef"
+
+SRC_URI = "http://ftp.de.debian.org/debian/pool/main/a/${BPN}/${BPN}_${PV}.tar.xz \
+           file://adduser-add-M-option-for-useradd.patch \
+"
+
+SRC_URI[md5sum] = "6bb6d93922d281f1b56393a53f8ce5fd"
+SRC_URI[sha256sum] = "e7288281d4d1eec2948ba3687452ca33a8224d40c98d321bc3fbaefcf6d4c0db"
+
+inherit cpan-base update-alternatives
+
+S = "${WORKDIR}/${BPN}"
+
+do_install() {
+    install -d ${D}${sbindir}
+    install -m 0755 ${S}/adduser ${D}${sbindir}
+    install -m 0755 ${S}/deluser ${D}${sbindir}
+
+    install -d ${D}${libdir}/perl/${PERLVERSION}/Debian
+    install -m 0644 ${S}/AdduserCommon.pm ${D}${libdir}/perl/${PERLVERSION}/Debian
+    sed -i -e "s/VERSION/${PV}/" ${D}${sbindir}/*
+
+    install -d ${D}/${sysconfdir}
+    install -m 0644 ${S}/*.conf ${D}/${sysconfdir}
+
+    install -d ${D}${mandir}/man5
+    install -m 0644 ${S}/doc/*.conf.5 ${D}${mandir}/man5
+    install -d ${D}${mandir}/man8
+    install -m 0644 ${S}/doc/*.8 ${D}${mandir}/man8
+    install -d ${D}${docdir}/${BPN}
+    cp -rf ${S}/examples ${D}${docdir}/${BPN}
+}
+
+RDEPENDS_${PN} += "\
+    shadow \
+    perl-module-getopt-long \
+    perl-module-overloading \
+    perl-module-file-find \
+    perl-module-file-temp \
+"
+
+ALTERNATIVE_${PN} = "adduser deluser addgroup delgroup"
+ALTERNATIVE_PRIORITY = "60"
+ALTERNATIVE_LINK_NAME[adduser] = "${sbindir}/adduser"
+ALTERNATIVE_LINK_NAME[deluser] = "${sbindir}/deluser"
+ALTERNATIVE_LINK_NAME[addgroup] = "${sbindir}/addgroup"
+ALTERNATIVE_LINK_NAME[delgroup] = "${sbindir}/delgroup"
+ALTERNATIVE_TARGET[addgroup] = "${sbindir}/adduser.${BPN}"
+ALTERNATIVE_TARGET[delgroup] = "${sbindir}/deluser.${BPN}"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd-when-no-create-home.patch b/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd-when-no-create-home.patch
deleted file mode 100644
index 4b0a03f..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd-when-no-create-home.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 809f00a6ef0224b41b2e1207194c8da3cd3e3c7e Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 18 Dec 2014 17:23:37 +0800
-Subject: [PATCH] adduser: add -M option for useradd when --no-create-home is specified
-
-The useradd (from package passwd) in debian based system sets -M (--no-create-home) by default,
-but the one we are using (from package shadow) sets -m (--create-home) by default, so we
-need to explicitly add -M option for useradd call when --no-create-home is specified for adduser.
-
-Upstream-Status: Pending
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- adduser |   20 ++++++++++++++++----
- 1 files changed, 16 insertions(+), 4 deletions(-)
-
-diff --git a/adduser b/adduser
-index c3bd8b0..9a07f9f 100755
---- a/adduser
-+++ b/adduser
-@@ -434,8 +434,14 @@ if ($action eq "addsysuser") {
-     $shell = $special_shell || '/bin/false';
-     $undouser = $new_name;
-     my $useradd = &which('useradd');
--    &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
--		$shell, '-u', $new_uid, $new_name);
-+    if ($no_create_home) {
-+        &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
-+		    $shell, '-u', $new_uid, '-M', $new_name);
-+    }
-+    else {
-+        &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
-+                    $shell, '-u', $new_uid, $new_name);
-+    }
-     if(!$disabled_login) {
-         my $usermod = &which('usermod');
-         &systemcall($usermod, '-p', '*', $new_name);
-@@ -524,8 +530,14 @@ if ($action eq "adduser") {
- 	$shell = $special_shell || $config{"dshell"};
-     $undouser = $new_name;
-     my $useradd = &which('useradd');
--    &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
--		$shell, '-u', $new_uid, $new_name);
-+    if ($no_create_home) {
-+        &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
-+	    	    $shell, '-u', $new_uid, '-M', $new_name);
-+    }
-+    else {
-+        &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
-+	    	    $shell, '-u', $new_uid, $new_name);
-+    }
-     &invalidate_nscd();
- 
-     create_homedir (1); # copy skeleton data
--- 
-1.7.1
-
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd.patch b/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd.patch
new file mode 100644
index 0000000..2ecec51
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd.patch
@@ -0,0 +1,45 @@
+From 55a0adfc416ad85dbc440eaa667d98c200a8ce62 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 18 Dec 2014 17:23:37 +0800
+Subject: [PATCH] adduser: add -M option for useradd
+
+The useradd (from package passwd) in debian based system sets -M (--no-create-home) by default,
+but the one we are using (from package shadow) sets -m (--create-home) by default, so we
+need to explicitly add -M option for useradd call or it will try to create home twice and
+throw a confused message:
+"The home directory `/home/newuser' already exists. Not copying from `/etc/skel'"
+
+Upstream-Status: Submitted [1]
+
+[1] https://lists.alioth.debian.org/pipermail/adduser-devel/2016-October/005478.html
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ adduser | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/adduser b/adduser
+index a5f83f3..f6cb52c 100755
+--- a/adduser
++++ b/adduser
+@@ -435,7 +435,7 @@ if ($action eq "addsysuser") {
+     $undouser = $new_name;
+     my $useradd = &which('useradd');
+     &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
+-		$shell, '-u', $new_uid, $new_name);
++	        $shell, '-u', $new_uid, '-M', $new_name);
+     if(!$disabled_login) {
+         my $usermod = &which('usermod');
+         &systemcall($usermod, '-p', '*', $new_name);
+@@ -525,7 +525,7 @@ if ($action eq "adduser") {
+     $undouser = $new_name;
+     my $useradd = &which('useradd');
+     &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s',
+-		$shell, '-u', $new_uid, $new_name);
++               $shell, '-u', $new_uid, '-M', $new_name);
+     &invalidate_nscd();
+ 
+     create_homedir (1); # copy skeleton data
+-- 
+1.8.5.2
+
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.28.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.28.bb
new file mode 100644
index 0000000..20626d2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.28.bb
@@ -0,0 +1,20 @@
+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] = "28efb391377f6e98c19c23292d5fcc8c"
+SRC_URI[sha256sum] = "1297d3ed6616cacb4eb57860e3e743f3890111e7a63ca08849930f42f1360532"
+
+S = "${WORKDIR}/CGI-${PV}"
+
+inherit cpan
+
+RPROVIDES_${PN} += "perl-module-cgi"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbi-perl_1.634.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbi-perl_1.634.bb
deleted file mode 100644
index 0238781..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libdb/libdbi-perl_1.634.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=d4e73f2616b2b41334cf2f7d25d827a2"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz"
-SRC_URI[md5sum] = "4ad15a9c2cc9b68e3fe1f5cadf9cdb30"
-SRC_URI[sha256sum] = "250712f385864818abfba409420d16d9ee61f1cc73ac85159d054a5ee86d1450"
-
-S = "${WORKDIR}/DBI-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.24.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.24.bb
index 1566f75..bc368ea 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.24.bb
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.24.bb
@@ -22,26 +22,26 @@
 inherit cpan
 
 RDEPENDS_${PN} = " perl-module-carp \
-                   perl-module-cwd \
-                   perl-module-dynaloader \
-                   perl-module-extutils-cbuilder \
-		   perl-module-extutils-makemaker \
-                   perl-module-file-basename \
-                   perl-module-file-spec \
-		   perl-module-lib \
-                   perl-module-symbol \
-                   perl-module-test-more \
+    perl-module-cwd \
+    perl-module-dynaloader \
+    perl-module-extutils-cbuilder \
+    perl-module-extutils-makemaker \
+    perl-module-file-basename \
+    perl-module-file-spec \
+    perl-module-lib \
+    perl-module-symbol \
+    perl-module-test-more \
 "
 
 RPROVIDES_${PN} += " libextutils-parsexs-constants-perl \
-                     libextutils-parsexs-countlines-perl \
-                     libextutils-parsexs-eval-perl \
-                     libextutils-parsexs-utilities-perl \
-                     libextutils-typemaps-perl \
-                     libextutils-typemaps-cmd-perl \
-                     libextutils-typemaps-inputmap-perl \
-                     libextutils-typemaps-outputmap-perl \
-                     libextutils-typemaps-type-perl \
+    libextutils-parsexs-countlines-perl \
+    libextutils-parsexs-eval-perl \
+    libextutils-parsexs-utilities-perl \
+    libextutils-typemaps-perl \
+    libextutils-typemaps-cmd-perl \
+    libextutils-typemaps-inputmap-perl \
+    libextutils-typemaps-outputmap-perl \
+    libextutils-typemaps-type-perl \
 "
 
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb
index 9047d9f..19b61d1 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb
@@ -19,7 +19,7 @@
 inherit cpan
 
 do_compile() {
-	export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
-	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/libhtml/libhtml-tree-perl_5.03.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tree-perl_5.03.bb
index 8eb0e06..56dc19c 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tree-perl_5.03.bb
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tree-perl_5.03.bb
@@ -25,17 +25,17 @@
 "
 
 RPROVIDES_${PN} = " libhtml-element-perl \
-		    libhtml-tree-assubs-perl \
-		    libhtml-tree-perl \
-		    libhtml-treebuilder-perl \
+    libhtml-tree-assubs-perl \
+    libhtml-tree-perl \
+    libhtml-treebuilder-perl \
 "
 
 RDEPENDS_${PN} = " perl-module-b \
-                   perl-module-base \
-                   perl-module-strict \
-                   perl-module-warnings \
-                   perl-module-exporter \
-                   perl-module-carp \
+    perl-module-base \
+    perl-module-strict \
+    perl-module-warnings \
+    perl-module-exporter \
+    perl-module-carp \
 "
 
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libio/libio-stringy-perl_2.111.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libio/libio-stringy-perl_2.111.bb
index b890a3e..0e566c0 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libio/libio-stringy-perl_2.111.bb
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libio/libio-stringy-perl_2.111.bb
@@ -18,14 +18,14 @@
 inherit cpan
 
 RPROVIDES_${PN} += " libio-atomicfile-perl \
-		     libio-innerfile-perl \
-                     libio-lines-perl \
-                     libio-scalar-perl \
-                     libio-scalararray-perl \
-                     libio-wrap-perl \
-                     libio-wraptie-perl \
-		     libio-wraptie-master-perl \
-		     libio-wraptie-slave-perl \
+    libio-innerfile-perl \
+    libio-lines-perl \
+    libio-scalar-perl \
+    libio-scalararray-perl \
+    libio-wrap-perl \
+    libio-wraptie-perl \
+    libio-wraptie-master-perl \
+    libio-wraptie-slave-perl \
 "
 
 BBCLASSEXTEND = "native"
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 76cac50..c73a15a 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
@@ -26,13 +26,13 @@
 inherit cpan
 
 RDEPENDS_${PN} = " perl-module-base \
-		   perl-module-deprecate \
-                   perl-module-file-basename \
-		   perl-module-file-find \
-                   perl-module-file-spec \
-		   perl-module-file-spec-functions \
-		   perl-module-if \
-                   perl-module-test-more \
+    perl-module-deprecate \
+    perl-module-file-basename \
+    perl-module-file-find \
+    perl-module-file-spec \
+    perl-module-file-spec-functions \
+    perl-module-if \
+    perl-module-test-more \
 "
 
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb
deleted file mode 100644
index 9dc4268..0000000
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "This package contains the DNS.pm module with friends."
-
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-
-LIC_FILES_CHKSUM = "file://README;md5=524da96a3365f2caff73fea0ae67c3a0"
-
-DEPENDS += "perl"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "26375d4310beb108b0e2b3bf30403ee5"
-SRC_URI[sha256sum] = "b36c8ead6edf68da5d9de2b0a22a47d7216e2d7eb52c8cde96724988f68a6d46"
-
-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.06.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.06.bb
new file mode 100644
index 0000000..3702e4a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.06.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "This package contains the DNS.pm module with friends."
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;md5=10b1fae0c40a1627bdf0b2a7ac431632"
+
+DEPENDS += "perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "ed17abd6e7e3ba0a8db42649e34a53ae"
+SRC_URI[sha256sum] = "a3587b780ca36a8255180ac723d4f6e11407504b5b9a18e0ec098a11c218a51e"
+
+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-libidn-perl_0.12.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb
index fd3ff8d..0c53b6a 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb
@@ -30,5 +30,5 @@
 FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/Net/LibIDN/.debug/"
 
 do_configure_prepend() {
-	rm -rf ${S}/.pc/
+    rm -rf ${S}/.pc/
 }
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
index 7fb7e22..1aed5e0 100644
--- 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
@@ -4,7 +4,7 @@
 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 \
diff --git a/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0121.bb b/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0121.bb
index 8997a04..8bc00c4 100644
--- a/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0121.bb
+++ b/import-layers/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0121.bb
@@ -1,5 +1,5 @@
 SUMMARY = "Perl interface to the libxml2 library"
-DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \ 
+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 \
@@ -20,12 +20,13 @@
 "
 
 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 \
+    file://disable-libxml2-check.patch \
+    file://fix-CATALOG-conditional-compile.patch \
+    file://using-DOCB-conditional.patch \
 "
 LIC_FILES_CHKSUM = "file://debian/copyright;md5=75e021e35a906347f46c9ff163653e2a \
-			file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446"
+    file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446 \
+"
 SRC_URI[libxml.md5sum] = "1544ab9ac110f5da296015346561ce02"
 SRC_URI[libxml.sha256sum] = "ec431011cb37a04640fd2316f64d0405a274eece2c6f3847f7fbd336eb1c0dc9"
 
diff --git a/import-layers/meta-openembedded/meta-python/README b/import-layers/meta-openembedded/meta-python/README
index 36e76bf..7406184 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: krogoth 
+	branch: morty
 	revision: HEAD
 
 	URI: git://git.openembedded.org/meta-openembedded
 	layers: meta-oe
-	branch:  krogoth
+	branch: morty
 	revision: HEAD
 
 Please follow the recommended setup procedures of your OE distribution.
@@ -39,13 +39,14 @@
 before posting.
 
 Send pull requests to openembedded-devel@lists.openembedded.org with
-'[meta-python][krogoth]' in the subject.
+'[meta-python]' 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-python][krogoth][PATCH'
+'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][morty][PATCH'
 
 Maintenance
 -------------------------
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
+
diff --git a/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass b/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass
index 659e1c0..cd27cd2 100644
--- a/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass
+++ b/import-layers/meta-openembedded/meta-python/classes/pypi.bbclass
@@ -13,7 +13,7 @@
     package = d.getVar('PYPI_PACKAGE', True)
     package_ext = d.getVar('PYPI_PACKAGE_EXT', True)
     pv = d.getVar('PV', True)
-    return 'https://pypi.python.org/packages/source/%s/%s/%s-%s.%s' % (package[0], package, package, pv, package_ext)
+    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)}"
 
diff --git a/import-layers/meta-openembedded/meta-python/licenses/LLNL b/import-layers/meta-openembedded/meta-python/licenses/LLNL
new file mode 100644
index 0000000..1127d56
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/licenses/LLNL
@@ -0,0 +1,16 @@
+Legal Notice
+
+*** Legal Notice for all LLNL-contributed files ***
+
+Copyright (c) 1996. The Regents of the University of California. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software for any purpose without
+fee is hereby granted, provided that this entire notice is included in all copies of any software which is or includes a copy or modification of this software and in all copies of the supporting documentation for such software.
+
+This work was produced at the University of California, Lawrence Livermore National
+Laboratory under contract no. W-7405-ENG-48 between the U.S. Department of Energy and The Regents of the University of California for the operation of UC LLNL.
+
+DISCLAIMER
+
+This software was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor the University of California nor any of their employees, makes any warranty, express or implied, or assumes any liability or responsibility for the accuracy, completeness, or usefulness of any
+information, apparatus, product, or process disclosed, or represents that its use would not infringe privately-owned rights. Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or the University of California. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or the University of California, and shall not be used for advertising or product endorsement purposes.
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 5ff753e..5323554 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
@@ -15,7 +15,6 @@
 S = "${WORKDIR}/git"
 
 inherit distutils python-dir systemd update-rc.d
-export prefix = "${localstatedir}"
 
 DISTUTILS_INSTALL_ARGS = "--root=${D} \
     --prefix=${prefix} \
@@ -33,13 +32,13 @@
             < ${WORKDIR}/$file.in \
             > ${WORKDIR}/$file
     done
-    
+
     install -d ${D}${systemd_unitdir}/system
     install -m 0644 ${WORKDIR}/gateone.service ${D}${systemd_unitdir}/system
 
     install -d ${D}${sysconfdir}/init.d
     install -m 0755 ${WORKDIR}/gateone-init ${D}${sysconfdir}/init.d/gateone
-    
+
     install -m 0755 -d ${D}${sysconfdir}/avahi/services/
     install -m 0644 ${WORKDIR}/gateone-avahi.service ${D}${sysconfdir}/avahi/services/
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.39.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.39.bb
index 45b793d..5b4ca7b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.39.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.39.bb
@@ -1,16 +1,10 @@
 SUMMARY = "Python Remote Objects"
-HOMEPAGE = "https://pypi.python.org/pypi/Pyro4/"
-SECTION = "devel/python"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b48b62dd270c4691fabaa85be3236030"
 
-SRCNAME = "Pyro4"
-
-SRC_URI = "https://pypi.python.org/packages/source/P/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
-
 SRC_URI[md5sum] = "75ed5cd142803b0a8d587dc8b6bb51ed"
 SRC_URI[sha256sum] = "39c6ca7f86b0f0bebfeada687a5a8b99f66470a52b0f815195ae63c683266f24"
 
-S = "${WORKDIR}/${SRCNAME}-${PV}"
+PYPI_PACKAGE = "Pyro4"
 
-inherit setuptools
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.2.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.2.bb
deleted file mode 100644
index d0c4af7..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Python bindings for the Apache Thrift RPC system"
-HOMEPAGE = "https://pypi.python.org/pypi/amqp/"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=df17a59cc9e1327ec49c2285e13ac477"
-
-SRCNAME = "thrift"
-
-SRC_URI = "https://pypi.python.org/packages/source/t/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "91f1c224c46a257bb428431943387dfd"
-SRC_URI[sha256sum] = "08f665e4b033c9d2d0b6174d869273104362c80e77ee4c01054a74141e378afa"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.3.bb b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.3.bb
new file mode 100644
index 0000000..652de95
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.9.3.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Python bindings for the Apache Thrift RPC system"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1203b6a05c3bff3229710e3f063ddca7"
+
+SRC_URI[md5sum] = "b519551d7a086bb0b4f222a8f566b7e8"
+SRC_URI[sha256sum] = "dfbc3d3bd19d396718dab05abaf46d93ae8005e2df798ef02e32793cd963877e"
+
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.2.bb
deleted file mode 100644
index 3d382b9..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Python interface for Remember The Milk API"
-AUTHOR = "Sridhar Ratnakumar / srid"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df"
-
-inherit pypi distutils
-
-SRC_URI[md5sum] = "34423f39caf7df8a9db8e243be9cf1a0"
-SRC_URI[sha256sum] = "d9d46d096a38cb692b55f4ee9f364d54348298e9497b11c1ef057539b5de1567"
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
new file mode 100644
index 0000000..72f0921
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/pyrtm_0.4.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Python interface for Remember The Milk API"
+AUTHOR = "Sridhar Ratnakumar / srid"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df"
+
+PYPI_PACKAGE_EXT = "tar.bz2"
+
+SRC_URI[md5sum] = "7c87da94656b620dfe532ca63d642eb8"
+SRC_URI[sha256sum] = "b2d701b25ad3f9a1542057f3eb492c5c1d7dbe2b8d1e8f763043dcc14ee1d933"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-netclient \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-abc_0.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-abc_0.4.bb
new file mode 100644
index 0000000..6a4d267
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-abc_0.4.bb
@@ -0,0 +1,18 @@
+SUMMARY = "collections.abc from Python 3.4"
+DESCRIPTION = "A backport of recent additions to the 'collections.abc' module"
+
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=dd98d01d471fac8d8dbdd975229dba03"
+
+# pypi package doesn't have valid entry for license
+SRC_URI += "https://raw.githubusercontent.com/cython/backports_abc/master/LICENSE;name=license"
+
+SRC_URI[md5sum] = "0b65a216ce9dc9c1a7e20a729dd7c05b"
+SRC_URI[sha256sum] = "8b3e4092ba3d541c7a2f9b7d0d9c0275b21c6a01c53a61c731eba6686939d0a5"
+SRC_URI[license.md5sum] = "dd98d01d471fac8d8dbdd975229dba03"
+SRC_URI[license.sha256sum] = "0a4f3b38055f50f047a42521568fa6ddb9a5976c2884f6ae138796d0f71150ca"
+
+
+
+PYPI_PACKAGE = "backports_abc"
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb
deleted file mode 100644
index 5e2d174..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The ssl.match_hostname() function from Python 3.4"
-DESCRIPTION = "The Secure Sockets layer is only actually secure if you check the hostname in the \
-certificate returned by the server to which you are connecting, and verify that it matches to hostname \
-that you are trying to reach. But the matching logic, defined in RFC2818, can be a bit tricky to implement \
-on your own. So the ssl package in the Standard Library of Python 3.2 and greater now includes a \
-match_hostname() function for performing this check instead of requiring every application to \
-implement the check separately. This backport brings match_hostname() to users of earlier versions of Python"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=77b684960b86b7a4bb4a450ffde08605"
-
-SRC_URI[md5sum] = "788214f20214c64631f0859dc79f23c6"
-SRC_URI[sha256sum] = "07410e7fb09aab7bdaf5e618de66c3dac84e2e3d628352814dc4c37de321d6ae"
-
-PYPI_PACKAGE = "backports.ssl_match_hostname"
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb
new file mode 100644
index 0000000..45492da
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "The ssl.match_hostname() function from Python 3.4"
+DESCRIPTION = "The Secure Sockets layer is only actually secure if you check the hostname in the \
+certificate returned by the server to which you are connecting, and verify that it matches to hostname \
+that you are trying to reach. But the matching logic, defined in RFC2818, can be a bit tricky to implement \
+on your own. So the ssl package in the Standard Library of Python 3.2 and greater now includes a \
+match_hostname() function for performing this check instead of requiring every application to \
+implement the check separately. This backport brings match_hostname() to users of earlier versions of Python"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=95a5ee8fd779fbeca8b4cbca64433c87"
+
+SRC_URI[md5sum] = "c03fc5e2c7b3da46b81acf5cbacfe1e6"
+SRC_URI[sha256sum] = "502ad98707319f4a51fa2ca1c677bd659008d27ded9f6380c79e8932e38dcdf2"
+
+PYPI_PACKAGE = "backports.ssl_match_hostname"
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "${PYTHON_PN}-pkgutil"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_2.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_2.0.0.bb
deleted file mode 100644
index 3cbe33e..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_2.0.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Modern password hashing for your software and your servers."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=e19d0fe40c5ce4109e6bcbf4aab2a5bd"
-
-DEPENDS = "python-cffi-native"
-
-SRC_URI[md5sum] = "e7fb17be46904cdb2ae6a062859ee58c"
-SRC_URI[sha256sum] = "8b2d197ef220d10eb74625dde7af3b10daa973ae9a1eadd6366f763fad4387fa"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
-    python-cffi \
-    python-six \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.1.bb
new file mode 100644
index 0000000..aae037f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.1.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Modern password hashing for your software and your servers."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8f7bb094c7232b058c7e9f2e431f389c"
+
+DEPENDS = "python-cffi-native"
+
+SRC_URI[md5sum] = "7348b2c361e23cf205701bba7652d789"
+SRC_URI[sha256sum] = "0309a4a72bd1dc314279cf1ee14e277227732f14c9b63ab96715654e13fe9321"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} = "\
+    python-cffi \
+    python-six \
+"
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 0fe8b15..894154d 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,5 +7,8 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1"
 
-SRC_URI[md5sum] = "5d672aa766e1f773c75cfeccd02d3650"
-SRC_URI[sha256sum] = "5e8eccf95924658c97b990b50552addb64f55e1e3dfe4880456ac1f287dc79d0"
+SRC_URI[md5sum] = "baa81e951a29958563689d868ef1064d"
+SRC_URI[sha256sum] = "8275aef1bbeaf05c53715bfc5d8569bd1e04ca1e8e69608cc52bcaac2604eb19"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2016.2.28.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2016.9.26.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2016.2.28.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2016.9.26.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
new file mode 100644
index 0000000..d24d6ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Foreign Function Interface for Python calling C code"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
+DEPENDS = "libffi ${PYTHON_PN}-pycparser"
+
+SRC_URI[md5sum] = "c8e877fe0426a99d0cf5872cf2f95b27"
+SRC_URI[sha256sum] = "c321bd46faa7847261b89c0469569530cad5a41976bb6dba8202c0159f476568"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.5.2.bb
deleted file mode 100644
index 8b25877..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.5.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Foreign Function Interface for Python calling C code"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
-DEPENDS = "libffi python-pycparser"
-
-SRC_URI[md5sum] = "fa766133f7299464c8bf857e0c966a82"
-SRC_URI[sha256sum] = "da9bde99872e46f7bb5cff40a9b1cc08406765efafb583c704de108b6cb821dd"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.8.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.8.3.bb
new file mode 100644
index 0000000..1d2d241
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.8.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-cffi.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
new file mode 100644
index 0000000..90809af
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
@@ -0,0 +1,19 @@
+SUMMARY = "A simple wrapper around optparse for powerful command line utilities."
+DESCRIPTION = "\
+Click is a Python package for creating beautiful command line interfaces \
+in a composable way with as little code as necessary. It's the "Command \
+Line Interface Creation Kit". It's highly configurable but comes with \
+sensible defaults out of the box."
+HOMEPAGE = "http://click.pocoo.org/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=09e8b7869f94ba9e9a7b260d53c65dab"
+
+SRC_URI[md5sum] = "d0b09582123605220ad6977175f3e51d"
+SRC_URI[sha256sum] = "cc6a19da8ebff6e7074f731447ef7e112bd23adf3de5c597cf9989f2fd8defe9"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-threading \
+    "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.6.bb
new file mode 100644
index 0000000..f63e27c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.6.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools
+require python-click.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-contextlib"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb
index 120a8a7..1490e22 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb
@@ -9,7 +9,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit distutils 
+inherit distutils setuptools
 
 DEPENDS_${PN} = "python python-distribute"
 RDEPENDS_${PN} = "python python-dbus python-json python-argparse python-pygobject python-autobahn python-twisted python-subprocess"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.8.bb
deleted file mode 100644
index f4962d6..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.8.bb
+++ /dev/null
@@ -1,11 +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=21;endline=21;md5=a00047b7e92e0781452d0beba4e7b44e"
-
-SRC_URI[md5sum] = "c32c9a897e010c977b50c1ddc13f09fe"
-SRC_URI[sha256sum] = "ac780d8c31fc107bf6b4edcbcea711de4ff776d59d89bb167f8819d2d83764a8"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "python-pyparsing"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.9.bb
new file mode 100644
index 0000000..ed99792
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.9.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Extra features for standard library's cmd module"
+HOMEPAGE = "http://packages.python.org/cmd2/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=17;endline=17;md5=25c0f7ede01b1eab41daf880e5791f05"
+
+SRC_URI[md5sum] = "cf39b5a34955d263b42a7ffc9d3e536d"
+SRC_URI[sha256sum] = "ef09745c91dbc13344db6d81f4dea4c844bf2fabf3baf91fab1bb54e4b3bb328"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-doctest \
+    ${PYTHON_PN}-pyparsing \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-stringold \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-textutils \
+    "
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
new file mode 100644
index 0000000..62dfbfd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
@@ -0,0 +1,15 @@
+SUMMARY = "Test vectors for the cryptography package."
+SECTION = "devel/python"
+LICENSE = "Apache-2.0 | BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
+
+DEPENDS = " \
+    ${PYTHON_PN}-cryptography \
+"
+
+SRC_URI[md5sum] = "b8555dfadafc4ecab4ee4650430d9cab"
+SRC_URI[sha256sum] = "0728815ef0c53d67fd437aa5220450a9752d41ecb28108f5df628a092ff466ea"
+
+PYPI_PACKAGE = "cryptography_vectors"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.1.bb
deleted file mode 100644
index 2150e50..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Test vectors for the cryptography package."
-SECTION = "devel/python"
-LICENSE = "Apache-2.0 | BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
-DEPENDS = "python-cryptography"
-SRCNAME = "cryptography_vectors"
-
-SRC_URI = "https://pypi.python.org/packages/source/c/cryptography-vectors/${SRCNAME}-${PV}.tar.gz"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-SRC_URI[md5sum] = "0ad422501074929c06b7edd40df41844"
-SRC_URI[sha256sum] = "a929fbb0eac391c93c5745451a4d4157a8bc18eb2e69faf3af1d825ceacbf32c"
-
-inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.4.bb
new file mode 100644
index 0000000..4975278
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.4.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-cryptography-vectors.inc
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
new file mode 100644
index 0000000..d4767b1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
@@ -0,0 +1,48 @@
+SUMMARY = "Provides cryptographic recipes and primitives to python developers"
+LICENSE = "Apache-2.0 | BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
+
+DEPENDS += " \
+    ${PYTHON_PN}-cffi \
+    ${PYTHON_PN}-cffi-native \
+    ${PYTHON_PN}-pyasn1 \
+    ${PYTHON_PN}-six \
+"
+
+SRC_URI[md5sum] = "a9763e3831cc7cdb402c028fac1ceb39"
+SRC_URI[sha256sum] = "bb149540ed90c4b2171bf694fe6991d6331bc149ae623c8ff419324f4222d128"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-cffi \
+    ${PYTHON_PN}-idna \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-pyasn1 \
+    ${PYTHON_PN}-pycparser \
+    ${PYTHON_PN}-setuptools \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-threading \
+"
+
+RDEPENDS_${PN}-ptest += " \
+    ${PN} \
+    ${PYTHON_PN}-cryptography-vectors \
+    ${PYTHON_PN}-iso8601 \
+    ${PYTHON_PN}-pretend \
+    ${PYTHON_PN}-pytest \
+"
+
+inherit ptest
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/tests
+    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+    install -d ${D}${PTEST_PATH}/tests/hazmat
+    cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/
+}
+
+FILES_${PN}-dbg += " \
+    ${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/Comment_lingering_SSLv2_symbol.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/Comment_lingering_SSLv2_symbol.patch
deleted file mode 100644
index b28e7ef..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/Comment_lingering_SSLv2_symbol.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From f326e4a97cce6b9479560ce0c65ad18d54393f96 Mon Sep 17 00:00:00 2001
-From: Cory Benfield <lukasaoz@gmail.com>
-Date: Mon, 14 Dec 2015 15:37:46 +0000
-Subject: [PATCH] Comment lingering SSLv2 symbol.
-
----
- src/_cffi_src/openssl/ssl.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-Index: cryptography-1.1/src/_cffi_src/openssl/ssl.py
-===================================================================
---- cryptography-1.1.orig/src/_cffi_src/openssl/ssl.py
-+++ cryptography-1.1/src/_cffi_src/openssl/ssl.py
-@@ -421,6 +421,10 @@ const long SSL_OP_LEGACY_SERVER_CONNECT
- static const long Cryptography_HAS_SECURE_RENEGOTIATION = 1;
- #endif
- 
-+/* Cryptography now compiles out all SSLv2 bindings. This exists to allow
-+ * clients that use it to check for SSLv2 support to keep functioning as
-+ * expected.
-+ */
- static const long Cryptography_HAS_SSL2 = 0;
- 
- #ifdef OPENSSL_NO_SSL3_METHOD
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/Remove_SSLv2_bindings.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/Remove_SSLv2_bindings.patch
deleted file mode 100644
index 8522325..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/Remove_SSLv2_bindings.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 90c6a53a885dd5c66992309e0af98ac554f1bb97 Mon Sep 17 00:00:00 2001
-From: Cory Benfield <lukasaoz@gmail.com>
-Date: Mon, 14 Dec 2015 08:35:20 +0000
-Subject: [PATCH] Remove SSLv2 bindings.
-
-This commit removes bindings that allow users to set SSLv2 handshake
-methods. These are regarded as unnecessary and out-of-date: see #2527.
-This commit does leave in a few options that refer to SSLv2 in order to
-avoid breaking deployments that rely on them, and in order to allow
-users to continue to request that SSLv2 not be enabled at all in their
-OpenSSL.
-
-Upstream-Status: Backport
-
-This fixes the compile issue after updating to openssl 1.0.2h
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- src/_cffi_src/openssl/ssl.py                            | 17 +----------------
- .../hazmat/bindings/openssl/_conditional.py             |  6 ------
- 2 files changed, 1 insertion(+), 22 deletions(-)
-
-Index: cryptography-1.1/src/_cffi_src/openssl/ssl.py
-===================================================================
---- cryptography-1.1.orig/src/_cffi_src/openssl/ssl.py
-+++ cryptography-1.1/src/_cffi_src/openssl/ssl.py
-@@ -292,15 +292,6 @@ unsigned long SSL_CTX_add_extra_chain_ce
- 
- /*  methods */
- 
--/* SSLv2 support is compiled out of some versions of OpenSSL.  These will
-- * get special support when we generate the bindings so that if they are
-- * available they will be wrapped, but if they are not they won't cause
-- * problems (like link errors).
-- */
--const SSL_METHOD *SSLv2_method(void);
--const SSL_METHOD *SSLv2_server_method(void);
--const SSL_METHOD *SSLv2_client_method(void);
--
- /*
-  * TLSv1_1 and TLSv1_2 are recent additions.  Only sufficiently new versions of
-  * OpenSSL support them.
-@@ -429,14 +420,8 @@ const long SSL_OP_LEGACY_SERVER_CONNECT
- #else
- static const long Cryptography_HAS_SECURE_RENEGOTIATION = 1;
- #endif
--#ifdef OPENSSL_NO_SSL2
-+
- static const long Cryptography_HAS_SSL2 = 0;
--SSL_METHOD* (*SSLv2_method)(void) = NULL;
--SSL_METHOD* (*SSLv2_client_method)(void) = NULL;
--SSL_METHOD* (*SSLv2_server_method)(void) = NULL;
--#else
--static const long Cryptography_HAS_SSL2 = 1;
--#endif
- 
- #ifdef OPENSSL_NO_SSL3_METHOD
- static const long Cryptography_HAS_SSL3_METHOD = 0;
-Index: cryptography-1.1/src/cryptography/hazmat/bindings/openssl/_conditional.py
-===================================================================
---- cryptography-1.1.orig/src/cryptography/hazmat/bindings/openssl/_conditional.py
-+++ cryptography-1.1/src/cryptography/hazmat/bindings/openssl/_conditional.py
-@@ -274,12 +274,6 @@ CONDITIONAL_NAMES = {
-         "TLSv1_2_client_method",
-     ],
- 
--    "Cryptography_HAS_SSL2": [
--        "SSLv2_method",
--        "SSLv2_client_method",
--        "SSLv2_server_method",
--    ],
--
-     "Cryptography_HAS_SSL3_METHOD": [
-         "SSLv3_method",
-         "SSLv3_client_method",
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/build_fix_openssl_1.0.1g.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/build_fix_openssl_1.0.1g.patch
deleted file mode 100644
index d08994f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography/build_fix_openssl_1.0.1g.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-build issue do to openssl 1.0.1g upgrade
-
-BIO *BIO_new_mem_buf(void *, int);
-      ^
-In file included from /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm/usr/include/openssl/asn1.h:65:0,
-from build/temp.linux-x86_64-2.7/_openssl.c:413:
-
-
-Upstream-Status: Pending
-
-seems to be a known issue
-https://github.com/pyca/cryptography/issues/2750
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: src/_cffi_src/openssl/bio.py
-===================================================================
---- a/src/_cffi_src/openssl/bio.py
-+++ b/src/_cffi_src/openssl/bio.py
-@@ -99,7 +99,7 @@ BIO *BIO_pop(BIO *);
- BIO *BIO_next(BIO *);
- BIO *BIO_find_type(BIO *, int);
- BIO_METHOD *BIO_s_mem(void);
--BIO *BIO_new_mem_buf(void *, int);
-+BIO *BIO_new_mem_buf(const void *, int);
- BIO_METHOD *BIO_s_file(void);
- BIO *BIO_new_file(const char *, const char *);
- BIO *BIO_new_fp(FILE *, int);
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.1.bb
deleted file mode 100644
index 665a4cb..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.1.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "Provides cryptographic recipes and primitives to Python developers"
-LICENSE = "Apache-2.0 | BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
-DEPENDS += " python-cffi-native python-cffi python-enum34 python-six python-pyasn1"
-SRCNAME = "cryptography"
-
-SRC_URI = "file://run-ptest \
-           file://build_fix_openssl_1.0.1g.patch \
-           file://Remove_SSLv2_bindings.patch \
-           file://Comment_lingering_SSLv2_symbol.patch"
-
-SRC_URI[md5sum] = "dd06da41535184f48f2c8e8b74dd570f"
-SRC_URI[sha256sum] = "059bc6428b1d0e2317f505698602642f1d8dda5b120ec573a59a430d8cb7a32d"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
-                  python-pyasn1\
-                  python-six\
-                  python-cffi\
-                  python-enum34\
-                  python-setuptools\
-                  python-pycparser\
-                  python-subprocess\
-                  python-threading\
-                  python-numbers\
-                  python-contextlib\
-                  python-ipaddress\
-                  python-pyasn1\
-                  python-idna\
-"
-
-RDEPENDS_${PN}-ptest = "\
-                       ${PN}\
-                       python-pytest\
-                       python-pretend\
-                       python-iso8601\
-                       python-cryptography-vectors\
-"
-
-inherit ptest
-
-do_install_ptest() {
-    install -d ${D}${PTEST_PATH}/tests
-    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-    install -d ${D}${PTEST_PATH}/tests/hazmat
-    cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/
-}
-
-FILES_${PN}-dbg += " \
-    ${libdir}/python2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \
-    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.4.bb
new file mode 100644
index 0000000..b05c615
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.4.bb
@@ -0,0 +1,16 @@
+inherit pypi setuptools
+require python-cryptography.inc
+
+SRC_URI += " \
+    file://run-ptest \
+"
+
+DEPENDS += " \
+    ${PYTHON_PN}-enum34 \
+"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-contextlib \
+    ${PYTHON_PN}-enum34 \
+    ${PYTHON_PN}-ipaddress \
+"
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 f5945b5..de8a1a9 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
@@ -4,14 +4,13 @@
 SECTION = "devel/python"
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
-SRCNAME = "Cython"
+PYPI_PACKAGE = "Cython"
 BBCLASSEXTEND = "native"
 
-SRC_URI = "http://www.cython.org/release/${SRCNAME}-${PV}.tar.gz"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
+SRC_URI[md5sum] = "890b494a12951f1d6228c416a5789554"
+SRC_URI[sha256sum] = "84808fda00508757928e1feadcf41c9f78e9a9b7167b6649ab0933b76f75e7b9"
 
-SRC_URI[md5sum] = "14fbc970f4a856845e633cbc09e61048"
-SRC_URI[sha256sum] = "6de44d8c482128efc12334641347a9c3e5098d807dd3c69e867fa8f84ec2a3f1"
+inherit pypi
 
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-netserver \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemonize_2.4.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemonize_2.4.6.bb
deleted file mode 100644
index b17b366..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemonize_2.4.6.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Library to enable your code run as a daemon process on Unix-like systems"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=13e982bf1b7b164b9d6d1665dac83873"
-SRCNAME = "daemonize"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
-               python-fcntl \
-               python-unixadmin \
-               python-logging \
-               python-resource \
-"
-
-SRC_URI[md5sum] = "17bc788a8524b104d4639a68623461e3"
-SRC_URI[sha256sum] = "8aa66bad9aa10c682302a4ea9675874191304adeb3239e0776f1ca3041d30619"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemonize_2.4.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemonize_2.4.7.bb
new file mode 100644
index 0000000..98f23ab
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-daemonize_2.4.7.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Library to enable your code run as a daemon process on Unix-like systems"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=13e982bf1b7b164b9d6d1665dac83873"
+SRCNAME = "daemonize"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} = "\
+               python-fcntl \
+               python-unixadmin \
+               python-logging \
+               python-resource \
+"
+
+SRC_URI[md5sum] = "6759005b12dfeea0d4305f8536b4b0c2"
+SRC_URI[sha256sum] = "c0194e861826be456c7c69985825ac7b79632d8ac7ad4cde8e12fee7971468c8"
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 a944ef2..5c9355e 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
@@ -3,13 +3,12 @@
 HOMEPAGE = "https://dateutil.readthedocs.org"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=51430b33c900f45f999c459ee29ca493"
-PR = "r0"
 
-SRC_URI[md5sum] = "eafe168e8f404bf384514f5116eedbb6"
-SRC_URI[sha256sum] = "063907ef47f6e187b8fe0728952e4effb587a34f2dc356888646f9b71fbb2e4b"
+SRC_URI[md5sum] = "05ffc6d2cc85a7fd93bb245807f715ef"
+SRC_URI[sha256sum] = "1408fdb07c6a1fa9997567ce3fcee6a337b39a503d80699e0f213de4aa4b32ed"
 
 PYPI_PACKAGE = "python-dateutil"
-inherit pypi 
+inherit pypi
 
 PACKAGES =+ "${PN}-zoneinfo"
 FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.5.3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.5.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.5.3.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
new file mode 100644
index 0000000..271b559
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.4.bb
@@ -0,0 +1,31 @@
+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-dbusmock_0.10.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb
deleted file mode 100644
index 2520bfc..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2014 LG Electronics, Inc.
-
-SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus"
-AUTHOR = "Martin Pitt <martin.pitt@ubuntu.com>"
-SECTION = "devel/python"
-
-LICENSE = "GPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-DEPENDS += "python-pygobject python-dbus"
-
-SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz"
-SRC_URI[md5sum] = "7370d325c4a75494dd71885ca65b79e8"
-SRC_URI[sha256sum] = "03aadc93bdc26ea18d4d78fcff7b6cb34f4e18623bc5cc41cf9539d663cee11e"
-
-SRC_URI += " \
-    file://0001-Add-functionality-to-add-own-objects-to-internal-obj.patch \
-    file://0002-Add-possibility-to-import-templates-from-packages.patch \
-"
-
-inherit setuptools
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
new file mode 100644
index 0000000..fb8c0aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dbusmock_0.16.7.bb
@@ -0,0 +1,26 @@
+# Copyright (c) 2014 LG Electronics, Inc.
+
+SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus"
+AUTHOR = "Martin Pitt <martin.pitt@ubuntu.com>"
+
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI[md5sum] = "80f8caa838fad96483a8751e11d384f9"
+SRC_URI[sha256sum] = "2d2ea892fa4633c3ec6ac1e912120ec493047a5c6522849b7d1c95ad755bce75"
+
+SRC_URI += " \
+    file://0001-Add-functionality-to-add-own-objects-to-internal-obj.patch \
+    file://0002-Add-possibility-to-import-templates-from-packages.patch \
+"
+
+PYPI_PACKAGE = "python-dbusmock"
+
+inherit pypi setuptools
+
+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 5710012..9264cef 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,7 +9,11 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=41e24e0e235a97e60cdb5c4137fa2cd0"
 
-SRC_URI[md5sum] = "f12c5651ccd707e12a0abaa4f76cd69a"
-SRC_URI[sha256sum] = "90022e83316363788a55352fe39cfbed357aa3a71d90e5f2803a35471de4bba8"
+SRC_URI[md5sum] = "434b57fdc3230c500716c5aff8896100"
+SRC_URI[sha256sum] = "9c6e98edcb33499881b86ede07d9968c81ab7c769e28e9af24075f0a5379f070"
 
 inherit pypi
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-stringold \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.10.bb
new file mode 100644
index 0000000..2a2b455
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.10.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-decorator.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-contextlib"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.9.bb
deleted file mode 100644
index f262168..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.9.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-decorator.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb
index 4d071c4..3a27758 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb
@@ -8,6 +8,10 @@
 SRC_URI[sha256sum] = "d360bd31898f9df59f6faa786551065bba45b35e7ee3c39b381b4fbfef7392f4"
 
 PYPI_PACKAGE = "South"
-inherit pypi distutils
+inherit pypi setuptools
 
 BBCLASSEXTEND = "nativesdk"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-django \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.8.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.8.8.bb
deleted file mode 100644
index e56c555..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.8.8.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "A high-level Python Web framework"
-HOMEPAGE = "http://www.djangoproject.com/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
-
-SRC_URI[md5sum] = "08ecf83b7e9d064ed7e3981ddc3a8a15"
-SRC_URI[sha256sum] = "8255242fa0d9e0bf331259a6bdb81364933acbe8863291661558ffdb2fc9ed70"
-
-PYPI_PACKAGE = "Django"
-inherit pypi setuptools
-
-FILES_${PN} += "${datadir}/django"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.9.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.9.7.bb
new file mode 100644
index 0000000..8693da8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.9.7.bb
@@ -0,0 +1,24 @@
+SUMMARY = "A high-level Python Web framework"
+HOMEPAGE = "http://www.djangoproject.com/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
+
+SRC_URI[md5sum] = "7de9ba83bfe01f4b7d45645c1b259c83"
+SRC_URI[sha256sum] = "2b29e81c8c32b3c0d9a0119217416887c480d927ae2630bada2da83078c93bf6"
+
+PYPI_PACKAGE = "Django"
+inherit pypi setuptools
+
+FILES_${PN} += "${datadir}/django"
+
+BBCLASSEXTEND = "nativesdk"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-importlib \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-pip \
+    ${PYTHON_PN}-pkgutil \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-threading \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.0.bb
deleted file mode 100644
index 1feaa7e..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API."
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a30b9a8d0a5585c482c6c5a6d54aaebc"
-
-SRC_URI[md5sum] = "14ee0361db7fbaed982220c09ef8e0b9"
-SRC_URI[sha256sum] = "5032559e0f0835419763b3d1d88ad31ea4fe40935712db86014f2a341c89fa3d"
-
-PYPI_PACKAGE_EXT = "zip"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.1.bb
new file mode 100644
index 0000000..dc6e41c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API."
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a30b9a8d0a5585c482c6c5a6d54aaebc"
+
+SRC_URI[md5sum] = "cd156b5b290f49f2bb5814ea8acc12a3"
+SRC_URI[sha256sum] = "4aa6a2f458461541f9ceeb58b49da9b42320f80aa2a6f692baea2817431d9953"
+
+PYPI_PACKAGE_EXT = "zip"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-threading \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.2.bb
deleted file mode 100644
index 5083bda..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "backport of Python 3.4's enum package"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://enum/LICENSE;md5=0a97a53a514564c20efd7b2e8976c87e"
-
-SRC_URI[md5sum] = "025bb71b3f9d2fad15d0ee53e48dc873"
-SRC_URI[sha256sum] = "2475d7fcddf5951e92ff546972758802de5260bf409319a9f1934e6bbc8b1dc7"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb
new file mode 100644
index 0000000..e9d075f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb
@@ -0,0 +1,8 @@
+SUMMARY = "backport of Python 3.4's enum package"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://enum/LICENSE;md5=0a97a53a514564c20efd7b2e8976c87e"
+
+SRC_URI[md5sum] = "5f13a0841a61f7fc295c514490d120d0"
+SRC_URI[sha256sum] = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"
+
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb
index c4752d3..dd9799f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb
@@ -1,11 +1,19 @@
-DESCRIPTION = "Epydoc is a tool for generating API documentation for Python modules, based on their docstrings" 
-LICENSE = "MIT" 
+DESCRIPTION = "Epydoc is a tool for generating API documentation for Python modules, based on their docstrings"
+LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=011c0d78eb6054d731c879132d7313f0"
-HOMEPAGE = "http://epydoc.sourceforge.net/" 
+HOMEPAGE = "http://epydoc.sourceforge.net/"
 
 SRC_URI[md5sum] = "cdd6f6c76dd8bab5e653a343a0544294"
 SRC_URI[sha256sum] = "d4e5c8d90937d01b05170f592c1fa9b29e9ed0498dfe7f0eb2a3af61725b6ad1"
 
-inherit pypi distutils 
+inherit pypi distutils
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-stringold \
+    ${PYTHON_PN}-re \
+    ${PYTHON_PN}-xml \
+    "
 
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.6.0.bb
deleted file mode 100644
index e555552..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.6.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Python evdev lib"
-HOMEPAGE = "https://github.com/gvalkov/python-evdev"
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=18debddbb3f52c661a129724a883a8e2"
-
-SRC_URI = "https://github.com/gvalkov/python-evdev/archive/v${PV}.zip"
-
-SRC_URI[md5sum] = "24e4ffa98e338b535eae44d91d609005"
-SRC_URI[sha256sum] = "61f6893d80da87a995e5781c74d22a39448b1b32004ffac2f31817017709be04"
-
-inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.6.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.6.4.bb
new file mode 100644
index 0000000..1948263
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-evdev_0.6.4.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Python evdev lib"
+HOMEPAGE = "https://github.com/gvalkov/python-evdev"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=18debddbb3f52c661a129724a883a8e2"
+
+SRC_URI[md5sum] = "40c8c01b337874c64638948a4d7cb404"
+SRC_URI[sha256sum] = "5268744d8493c273614036cf6423fa175952c64fc1d8d265210e48a4437a6af2"
+
+inherit pypi setuptools
+
+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-feedformatter.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc
index 1a02a4f..a333ef4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc
@@ -4,8 +4,13 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=258e3f39e2383fbd011035d04311008d"
 SRCREV = "7391193c83e10420b5a2d8ef846d23fc368c6d85"
-PR = "r0"
 
 SRC_URI = "git://github.com/marianoguerra/feedformatter.git"
 
 S = "${WORKDIR}/git"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-xml \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-feedparser_5.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-feedparser_5.2.1.bb
index 3ac18b0..b8ee700 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-feedparser_5.2.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-feedparser_5.2.1.bb
@@ -7,3 +7,11 @@
 
 inherit pypi setuptools
 
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-email \
+    ${PYTHON_PN}-html \
+    ${PYTHON_PN}-netserver \
+    ${PYTHON_PN}-stringold \
+    "
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb
index d08883d..f035862 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "Brcrypt hashing for Flask."
+DESCRIPTION = "Bcrypt hashing for Flask."
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0ee2ee5bee7fe96597770e92db5719a8"
 
@@ -9,4 +9,4 @@
 
 inherit pypi setuptools
 
-RDEPENDS_${PN} = "python-bcrypt"
+RDEPENDS_${PN} += "${PYTHON_PN}-bcrypt ${PYTHON_PN}-flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.5.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.5.7.bb
deleted file mode 100644
index ecf89ae..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.5.7.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "An extension that includes Bootstrap in your project, without any boilerplate code."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=f270fbb7d3ea88731bfc00916750c6bc"
-
-SRC_URI[md5sum] = "4471ad68dbf71a3c68e00bd0e1301a9f"
-SRC_URI[sha256sum] = "020bf9fcca6d69dce3b19bcb80852da929a2b1adde6cb4d47a4402f5ce54ef78"
-
-PYPI_PACKAGE = "Flask-Bootstrap"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.6.0.bb
new file mode 100644
index 0000000..a115f23
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.6.0.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "An extension that includes Bootstrap in your project, without any boilerplate code."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=3452e378337a5cc2092d32a140178d5a"
+
+SRC_URI[md5sum] = "b8aedbe51f2bf511af955f2bc288cd8c"
+SRC_URI[sha256sum] = "3a7b71e22596a6d559965e059958960e0bb671adc131537a79edb491a8f31714"
+
+PYPI_PACKAGE = "Flask-Bootstrap"
+
+inherit pypi setuptools
+
+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-login.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc
index 95c4428..6d4db48 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] = "c0a7eaf28623f0aeac4929dc05a7a064"
-SRC_URI[sha256sum] = "83d5f10e5c4f214feed6cc41c212db63a58a15ac32e56df81591bfa0a5cee3e5"
+SRC_URI[md5sum] = "d95c2275d3e1c755145910077366dc45"
+SRC_URI[sha256sum] = "e72eff5c35e5a31db1aeca1db5d2501be702674ea88e8f223b5d2b11644beee6"
 
 PYPI_PACKAGE = "Flask-Login"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.2.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.3.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.2.11.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.3.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-navigation_0.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-navigation_0.2.0.bb
index 8ff6abc..b2dc96e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-navigation_0.2.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-navigation_0.2.0.bb
@@ -9,4 +9,7 @@
 
 inherit pypi setuptools
 
-RDEPENDS_${PN} = "python-blinker"
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-blinker \
+    ${PYTHON_PN}-flask \
+    "
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 939113b..6d54837 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
@@ -5,8 +5,8 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;startline=1;endline=24;md5=dff998d5a8469503612ee7757f3a2052"
 
-SRC_URI[md5sum] = "457a210f35ba49d2623dbcf27fbb89e1"
-SRC_URI[sha256sum] = "707ddff92f5b7bdc34d401f1f3857a3d1a9f5dba76e6a1422ccbc3651e2ca521"
+SRC_URI[md5sum] = "cbf5fbcd22719d8393e481bcac36be05"
+SRC_URI[sha256sum] = "75862daece1c979a9eab5f9d1e32eb781775842273b629ae5d1cb28e6953df78"
 
 PYPI_PACKAGE = "Flask-PyMongo"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.4.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.4.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.4.1.bb
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 4923726..87d020e 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
@@ -4,11 +4,11 @@
 intentions. And before you ask: It’s BSD licensed!"
 HOMEPAGE = "https://github.com/mitsuhiko/flask/"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=79aa8b7bc4f781210d6b5c06d6424cb0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=19866b76b054ab30c270c0eb9d7e43d7"
 
-SRC_URI[md5sum] = "378670fe456957eb3c27ddaef60b2b24"
-SRC_URI[sha256sum] = "4c83829ff83d408b5e1d4995472265411d2c414112298f2eb4b359d9e4563373"
+SRC_URI[md5sum] = "d2af95d8fe79cf7da099f062dd122a08"
+SRC_URI[sha256sum] = "b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e"
 
 PYPI_PACKAGE = "Flask"
 
-RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous"
+RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous ${PYTHON_PN}-click"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.10.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.11.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.10.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.11.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flufl-enum_4.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flufl-enum_4.1.bb
deleted file mode 100644
index ef10848..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flufl-enum_4.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY  = "A Python enumeration package."
-DESCRIPTION = "The flufl.enum library is a Python enumeration package. Its goal is to provide simple, \
-specific, concise semantics in an easy to read and write syntax. flufl.enum has just enough of the \
-features needed to make enumerations useful, but without a lot of extra baggage to weigh them down. "
-
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://PKG-INFO;startline=8;endline=9;md5=250adb4c74c359b7049abcd9d6b115e7"
-
-SRC_URI[md5sum] = "461779384c07ed2b5f554a5d51a000c4"
-SRC_URI[sha256sum] = "94da1413ba085473652f81565847913ea1543d1739972ecbd6afe57d7b1b68b4"
-
-PYPI_PACKAGE = "flufl.enum"
-inherit pypi setuptools
-
-PACKAGES =+ "\  
-    ${PN}-test \
-"
-
-FILES_${PN}-doc += "\
-    ${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/*.rst \
-    ${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/docs \
-"
-
-FILES_${PN}-test += "${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/tests"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-functools32_3.2.3-2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-functools32_3.2.3-2.bb
new file mode 100644
index 0000000..cb4bba4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-functools32_3.2.3-2.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Backport of the functools module from Python 3.2.3 for use on 2.7 and PyPy."
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=27cf2345969ed18e6730e90fb0063a10"
+
+SRC_URI[md5sum] = "09f24ffd9af9f6cd0f63cb9f4e23d4b2"
+SRC_URI[sha256sum] = "f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d"
+
+inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet/0001-Use-x-instead-of-r-for-aarch64-register-names.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet/0001-Use-x-instead-of-r-for-aarch64-register-names.patch
new file mode 100644
index 0000000..4868bf3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet/0001-Use-x-instead-of-r-for-aarch64-register-names.patch
@@ -0,0 +1,38 @@
+From b53fb3bf861f895034452e984f2accb8bebbd3c9 Mon Sep 17 00:00:00 2001
+From: Fredrik Fornwall <fredrik@fornwall.net>
+Date: Wed, 7 Sep 2016 09:25:54 +0200
+Subject: [PATCH] Use x instead of r for aarch64 register names
+
+This fixes clang compatibility.
+---
+Upstream-Status: Backport
+
+ platform/switch_aarch64_gcc.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/platform/switch_aarch64_gcc.h b/platform/switch_aarch64_gcc.h
+index 2fbc569..0b9d556 100644
+--- a/platform/switch_aarch64_gcc.h
++++ b/platform/switch_aarch64_gcc.h
+@@ -2,6 +2,7 @@
+  * this is the internal transfer function.
+  *
+  * HISTORY
++ * 07-Sep-16 Add clang support using x register naming. Fredrik Fornwall
+  * 13-Apr-13 Add support for strange GCC caller-save decisions
+  * 08-Apr-13 File creation. Michael Matz
+  *
+@@ -15,8 +16,8 @@
+ 
+ #ifdef SLP_EVAL
+ #define STACK_MAGIC 0
+-#define REGS_TO_SAVE "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", \
+-                     "r27", "r28", "r30" /* aka lr */, \
++#define REGS_TO_SAVE "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", \
++                     "x27", "x28", "x30" /* aka lr */, \
+                      "v8", "v9", "v10", "v11", \
+                      "v12", "v13", "v14", "v15"
+ 
+-- 
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.7.bb
deleted file mode 100644
index a69eb64..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.7.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Python lightweight in-process concurrent programming"
-LICENSE = "MIT & PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \
-                    file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
-
-SRC_URI[md5sum] = "c2333a8ff30fa75c5d5ec0e67b461086"
-SRC_URI[sha256sum] = "f32c4fa4e06443e1bdb0d32b69e7617c25ff772c3ffc6d0aa63d192e9fd795fe"
-
-PYPI_PACKAGE_EXT = "zip"
-inherit pypi distutils
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.9.bb
new file mode 100644
index 0000000..4c0faf5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.9.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Python lightweight in-process concurrent programming"
+LICENSE = "MIT & PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \
+                    file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
+
+SRC_URI += "\
+           file://0001-Use-x-instead-of-r-for-aarch64-register-names.patch \
+           "
+SRC_URI[md5sum] = "c6659cdb2a5e591723e629d2eef22e82"
+SRC_URI[sha256sum] = "58b2f3a2e7075c655616bf95e82868db4980f3bb6661db70ad02a51e4ddd2252"
+
+PYPI_PACKAGE_EXT = "zip"
+inherit pypi distutils
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
new file mode 100644
index 0000000..8e1fcb4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Internationalised Domain Names in Applications"
+HOMEPAGE = "https://github.com/kjd/idna"
+LICENSE = "BSD-3-Clause & Python-2.0 & Unicode"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=134bdad79491c37bdae32811572b4bc6"
+
+SRC_URI[md5sum] = "f6473caa9c5e0cc1ad3fd5d04c3c114b"
+SRC_URI[sha256sum] = "ed36f281aebf3cd0797f163bb165d84c31507cedd15928b095b1675e2d04c676"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.1.bb
index 90f47ae..2dcf72a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.1.bb
@@ -1,11 +1,2 @@
-SUMMARY = "Internationalised Domain Names in Applications"
-HOMEPAGE = "https://github.com/kjd/idna"
-LICENSE = "BSD-3-Clause & Python-2.0 & Unicode"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=134bdad79491c37bdae32811572b4bc6"
-
-DEPENDS += "python-pip"
-
-SRC_URI[md5sum] = "f6473caa9c5e0cc1ad3fd5d04c3c114b"
-SRC_URI[sha256sum] = "ed36f281aebf3cd0797f163bb165d84c31507cedd15928b095b1675e2d04c676"
-
 inherit pypi setuptools
+require python-idna.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch
new file mode 100644
index 0000000..2575306
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch
@@ -0,0 +1,55 @@
+From 07d4f095a9e22ae676a8d68073101131e65012dc Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Tue, 15 Nov 2011 13:16:54 +0100
+Subject: [PATCH] python imaging setup.py: force paths for zlib, freetype and jpeg and don't add host paths
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ setup.py |   14 +++-----------
+ 1 files changed, 3 insertions(+), 11 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 5d4d53a..b1a22ec 100644
+--- a/setup.py
++++ b/setup.py
+@@ -34,10 +34,10 @@ def libinclude(root):
+ # TIFF_ROOT = libinclude("/opt/tiff")
+ 
+ TCL_ROOT = None
+-JPEG_ROOT = None
+-ZLIB_ROOT = None
++JPEG_ROOT = os.environ['STAGING_LIBDIR']
++ZLIB_ROOT = os.environ['STAGING_LIBDIR']
+ TIFF_ROOT = None
+-FREETYPE_ROOT = None
++FREETYPE_ROOT =  os.environ['STAGING_LIBDIR'], os.environ['STAGING_INCDIR']
+ LCMS_ROOT = None
+ 
+ # FIXME: add mechanism to explicitly *disable* the use of a library
+@@ -147,7 +147,6 @@ class pil_build_ext(build_ext):
+             add_directory(library_dirs, "/opt/local/lib")
+             add_directory(include_dirs, "/opt/local/include")
+ 
+-        add_directory(library_dirs, "/usr/local/lib")
+         # FIXME: check /opt/stuff directories here?
+ 
+         prefix = sysconfig.get_config_var("prefix")
+@@ -207,13 +206,6 @@ class pil_build_ext(build_ext):
+             if os.path.isfile(os.path.join(tcl_dir, "tk.h")):
+                 add_directory(include_dirs, tcl_dir)
+ 
+-        # standard locations
+-        add_directory(library_dirs, "/usr/local/lib")
+-        add_directory(include_dirs, "/usr/local/include")
+-
+-        add_directory(library_dirs, "/usr/lib")
+-        add_directory(include_dirs, "/usr/include")
+-
+         #
+         # insert new dirs *before* default libs, to avoid conflicts
+         # between Python PYD stub libs and real libraries
+-- 
+1.7.2.5
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/allow.to.disable.some.features.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/allow.to.disable.some.features.patch
new file mode 100644
index 0000000..4960ed4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/allow.to.disable.some.features.patch
@@ -0,0 +1,65 @@
+At least lcms wasn't deterministicly detected from sysroot.
+
+This will allow to export LCMS_ENABLED=False when lcms isn't in PACKAGECONFIG.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+diff -uNr Imaging-1.1.7.orig/setup.py Imaging-1.1.7/setup.py
+--- Imaging-1.1.7.orig/setup.py	2013-07-22 10:17:02.081457075 +0200
++++ Imaging-1.1.7/setup.py	2013-07-22 13:10:09.029707492 +0200
+@@ -39,6 +39,12 @@
+ TIFF_ROOT = None
+ FREETYPE_ROOT =  os.environ['STAGING_LIBDIR'], os.environ['STAGING_INCDIR']
+ LCMS_ROOT = None
++TCL_ENABLED = os.getenv('TCL_ENABLED', "True")
++JPEG_ENABLED = os.getenv('JPEG_ENABLED', "True")
++ZLIB_ENABLED = os.getenv('ZLIB_ENABLED', "True")
++TIFF_ENABLED = os.getenv('TIFF_ENABLED', "True")
++FREETYPE_ENABLED = os.getenv('FREETYPE_ENABLED', "True")
++LCMS_ENABLED = os.getenv('LCMS_ENABLED', "True")
+ 
+ # FIXME: add mechanism to explicitly *disable* the use of a library
+ 
+@@ -220,22 +226,22 @@
+             zlib = jpeg = tiff = freetype = tcl = tk = lcms = None
+         feature = feature()
+ 
+-        if find_include_file(self, "zlib.h"):
++        if ZLIB_ENABLED == 'True' and find_include_file(self, "zlib.h"):
+             if find_library_file(self, "z"):
+                 feature.zlib = "z"
+             elif sys.platform == "win32" and find_library_file(self, "zlib"):
+                 feature.zlib = "zlib" # alternative name
+ 
+-        if find_include_file(self, "jpeglib.h"):
++        if JPEG_ENABLED == 'True' and find_include_file(self, "jpeglib.h"):
+             if find_library_file(self, "jpeg"):
+                 feature.jpeg = "jpeg"
+             elif sys.platform == "win32" and find_library_file(self, "libjpeg"):
+                 feature.jpeg = "libjpeg" # alternative name
+ 
+-        if find_library_file(self, "tiff"):
++        if TIFF_ENABLED == 'True' and find_library_file(self, "tiff"):
+             feature.tiff = "tiff"
+ 
+-        if find_library_file(self, "freetype"):
++        if FREETYPE_ENABLED == 'True' and find_library_file(self, "freetype"):
+             # look for freetype2 include files
+             freetype_version = 0
+             for dir in self.compiler.include_dirs:
+@@ -256,11 +262,11 @@
+                 if dir:
+                     add_directory(self.compiler.include_dirs, dir, 0)
+ 
+-        if find_include_file(self, "lcms.h"):
++        if LCMS_ENABLED == 'True' and find_include_file(self, "lcms.h"):
+             if find_library_file(self, "lcms"):
+                 feature.lcms = "lcms"
+ 
+-        if _tkinter and find_include_file(self, "tk.h"):
++        if TCL_ENABLED == 'True' and _tkinter and find_include_file(self, "tk.h"):
+             # the library names may vary somewhat (e.g. tcl84 or tcl8.4)
+             version = TCL_VERSION[0] + TCL_VERSION[2]
+             if find_library_file(self, "tcl" + version):
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/fix-freetype-includes.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/fix-freetype-includes.patch
new file mode 100644
index 0000000..9ecc63a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/fix-freetype-includes.patch
@@ -0,0 +1,30 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From c6040f618d8f2706a7b46d1cdf37d1a587f9701f Mon Sep 17 00:00:00 2001
+From: Andrew Stromnov <stromnov@gmail.com>
+Date: Thu, 28 Nov 2013 16:58:43 +0400
+Subject: [PATCH] fix compiling with FreeType 2.5.1
+
+---
+ _imagingft.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/_imagingft.c b/_imagingft.c
+index 47d50bd..f19555b 100644
+--- a/_imagingft.c
++++ b/_imagingft.c
+@@ -59,7 +59,11 @@ struct {
+     const char* message;
+ } ft_errors[] =
+ 
++#if defined(USE_FREETYPE_2_1)
++#include FT_ERRORS_H
++#else
+ #include <freetype/fterrors.h>
++#endif
+ 
+ /* -------------------------------------------------------------------- */
+ /* font objects */
+-- 
+1.8.5.1
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/python-imaging-CVE-2016-2533.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/python-imaging-CVE-2016-2533.patch
new file mode 100644
index 0000000..b01136f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/python-imaging-CVE-2016-2533.patch
@@ -0,0 +1,38 @@
+python-imaging: CVE-2016-2533
+
+the patch comes from:
+https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-2533
+https://github.com/python-pillow/Pillow/commit/ae453aa18b66af54e7ff716f4ccb33adca60afd4#diff-8ff6909c159597e22288ad818938fd6b
+
+PCD decoder overruns the shuffle buffer, Fixes #568
+
+Signed-off-by: Li Wang <li.wang@windriver.com>
+---
+ libImaging/PcdDecode.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libImaging/PcdDecode.c b/libImaging/PcdDecode.c
+index b6898e3..c02d005 100644
+--- a/libImaging/PcdDecode.c
++++ b/libImaging/PcdDecode.c
+@@ -47,7 +47,7 @@ ImagingPcdDecode(Imaging im, ImagingCodecState state, UINT8* buf, int bytes)
+ 	    out[0] = ptr[x];
+ 	    out[1] = ptr[(x+4*state->xsize)/2];
+ 	    out[2] = ptr[(x+5*state->xsize)/2];
+-	    out += 4;
++	    out += 3;
+ 	}
+ 
+ 	state->shuffle((UINT8*) im->image[state->y],
+@@ -62,7 +62,7 @@ ImagingPcdDecode(Imaging im, ImagingCodecState state, UINT8* buf, int bytes)
+ 	    out[0] = ptr[x+state->xsize];
+ 	    out[1] = ptr[(x+4*state->xsize)/2];
+ 	    out[2] = ptr[(x+5*state->xsize)/2];
+-	    out += 4;
++	    out += 3;
+ 	}
+ 
+ 	state->shuffle((UINT8*) im->image[state->y],
+-- 
+1.7.9.5
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/remove-host-libdir.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/remove-host-libdir.patch
new file mode 100644
index 0000000..028a51a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging/remove-host-libdir.patch
@@ -0,0 +1,25 @@
+Avoid getting host sysroot paths in the library paths to fix issue like:
+
+| /home/andrei/work/yocto/build-rpi-master/tmp/sysroots/x86_64-linux/usr/lib/libz.so: file not recognized: File format not recognized
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+
+
+Index: Imaging-1.1.7/setup.py
+===================================================================
+--- Imaging-1.1.7.orig/setup.py
++++ Imaging-1.1.7/setup.py
+@@ -155,11 +155,6 @@ class pil_build_ext(build_ext):
+ 
+         # FIXME: check /opt/stuff directories here?
+ 
+-        prefix = sysconfig.get_config_var("prefix")
+-        if prefix:
+-            add_directory(library_dirs, os.path.join(prefix, "lib"))
+-            add_directory(include_dirs, os.path.join(prefix, "include"))
+-
+         #
+         # locate tkinter libraries
+ 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging_1.1.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging_1.1.7.bb
new file mode 100644
index 0000000..60dd7d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-imaging_1.1.7.bb
@@ -0,0 +1,48 @@
+SUMMARY = "Python Imaging Library (PIL)"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README;beginline=92;endline=120;md5=c4371af4579f1e489cf881c1443dd4ec"
+DEPENDS = "freetype jpeg tiff"
+SRCNAME = "Imaging"
+PR = "r5"
+
+SRC_URI = "http://effbot.org/downloads/Imaging-${PV}.tar.gz \
+           file://0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch \
+           file://allow.to.disable.some.features.patch \
+           file://fix-freetype-includes.patch \
+           file://remove-host-libdir.patch \
+           file://python-imaging-CVE-2016-2533.patch \
+"
+
+SRC_URI[md5sum] = "fc14a54e1ce02a0225be8854bfba478e"
+SRC_URI[sha256sum] = "895bc7c2498c8e1f9b99938f1a40dc86b3f149741f105cf7c7bd2e0725405211"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+# There isn't enable/disable option, and lcms is in meta-oe, at least make it explicit when enabled
+# setup.py already has FIXME: add mechanism to explicitly *disable* the use of a library
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lcms] = ",,lcms"
+
+inherit distutils
+
+do_compile() {
+    export STAGING_LIBDIR=${STAGING_LIBDIR}
+    export STAGING_INCDIR=${STAGING_INCDIR}
+    export LCMS_ENABLED=${@bb.utils.contains('PACKAGECONFIG', 'lcms', 'True', 'False', d)}
+    distutils_do_compile
+}
+
+do_install() {
+    export STAGING_LIBDIR=${STAGING_LIBDIR}
+    export STAGING_INCDIR=${STAGING_INCDIR}
+    export LCMS_ENABLED=${@bb.utils.contains('PACKAGECONFIG', 'lcms', 'True', 'False', d)}
+    distutils_do_install
+    install -d ${D}${datadir}/doc/${BPN}/html/
+    install -m 0644 ${S}/README ${D}${datadir}/doc/${BPN}/
+    install -m 0644 ${S}/Docs/* ${D}${datadir}/doc/${BPN}/html/
+
+    # get rid of #!/usr/local/bin/python
+    sed -i -e 's:/usr/local/bin/:${bindir}/env :g' ${D}${bindir}/*
+}
+
+RDEPENDS_${PN} += "python-lang python-stringold"
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
new file mode 100644
index 0000000..dd4b83c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601.inc
@@ -0,0 +1,8 @@
+SUMMARY = "Simple module to parse ISO 8601 dates"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b05625f2336fa024e8d57e65c6595844"
+
+SRC_URI[md5sum] = "b06d11cd14a64096f907086044f0fe38"
+SRC_URI[sha256sum] = "e8fb52f78880ae063336c94eb5b87b181e6a0cc33a6c008511bac9a6e980ef30"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601_0.1.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601_0.1.11.bb
index 484cf12..c543cf9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601_0.1.11.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-iso8601_0.1.11.bb
@@ -1,8 +1,2 @@
-SUMMARY = "Simple module to parse ISO 8601 dates"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b05625f2336fa024e8d57e65c6595844"
-
-SRC_URI[md5sum] = "b06d11cd14a64096f907086044f0fe38"
-SRC_URI[sha256sum] = "e8fb52f78880ae063336c94eb5b87b181e6a0cc33a6c008511bac9a6e980ef30"
-
 inherit pypi setuptools
+require python-iso8601.inc
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 f6ee79b..c3ed6de 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
@@ -2,7 +2,6 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=20c831f91dd3bd486020f672ba2be386"
 
-PR = "r0"
 PYPI_PACKAGE = "Jinja2"
 
 SRC_URI[md5sum] = "edb51693fe22c53cee5403775c71a99e"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.13.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.13.bb
deleted file mode 100644
index 085ba59..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.13.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] = "4d6650ced683f632e117bafe5d9f093b"
-SRC_URI[sha256sum] = "9470656a08002e309632b59772b206ce0564c9a77b44c25f05f49dd2cad248d5"
-
-RDEPENDS_${PN} += "python-re python-json python-jsonpointer"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.14.bb
new file mode 100644
index 0000000..c845eda
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.14.bb
@@ -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 setuptools
+
+SRC_URI[md5sum] = "cf4fbad8188f1389363433dbf867109f"
+SRC_URI[sha256sum] = "776d828d6f7b4581862529cf413439a652d74b9e3a0261fa08c36fd761a78b4a"
+
+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-jsonschema.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
new file mode 100644
index 0000000..3466457
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
@@ -0,0 +1,26 @@
+SUMMARY = "An implementation of JSON Schema validation for Python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8"
+
+SRC_URI[md5sum] = "374e848fdb69a3ce8b7e778b47c30640"
+SRC_URI[sha256sum] = "36673ac378feed3daa5956276a829699056523d7961027911f064b52255ead41"
+
+RDEPENDS_${PN} += " \
+    ${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 \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.5.1.bb
new file mode 100644
index 0000000..3bb5220
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.5.1.bb
@@ -0,0 +1,8 @@
+inherit pypi setuptools
+require python-jsonschema.inc
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-argparse \
+    ${PYTHON_PN}-contextlib \
+    ${PYTHON_PN}-functools32 \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb
index 64e65eb..5a1a93f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb
@@ -1,12 +1,12 @@
-SUMMARY = "LDAP client API for Python, C wrapper module around OpenLDAP 2.x with an object-oriented API" 
-LICENSE = "Python-style" 
+SUMMARY = "LDAP client API for Python, C wrapper module around OpenLDAP 2.x with an object-oriented API"
+LICENSE = "Python-style"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555"
-HOMEPAGE = "http://www.python-ldap.org/" 
-DEPENDS = "python openldap" 
+HOMEPAGE = "http://www.python-ldap.org/"
+DEPENDS = "python openldap"
 
 SRC_URI = "file://setup.cfg.patch"
 SRC_URI[md5sum] = "a9f9f16338288d118a1ae6266c993247"
 SRC_URI[sha256sum] = "62f75b21c5ee744408c9d8b59878328b3bdf47899d30e8abf0c09b3ffb893ed4"
 
 PYPI_PACKAGE = "python-ldap"
-inherit pypi setuptools  
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb
index 0a6ae7e..5b3b8bd 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb
@@ -12,7 +12,7 @@
 DEPENDS = "python openldap cyrus-sasl"
 
 PYPI_PACKAGE = "python-ldap"
-inherit pypi setuptools  
+inherit pypi setuptools
 
 LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555"
 SRC_URI[md5sum] = "a15827ca13c90e9101e5e9405c1d83be"
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 0473417..7481b98 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
@@ -18,8 +18,8 @@
 
 DEPENDS += "libxml2 libxslt"
 
-SRC_URI[md5sum] = "5957cc384bd6e83934be35c057ec03b6"
-SRC_URI[sha256sum] = "9c74ca28a7f0c30dca8872281b3c47705e21217c8bc63912d95c9e2a7cac6bdf"
+SRC_URI[md5sum] = "6dd7314233029d9dab0156e7b1c7830b"
+SRC_URI[sha256sum] = "61d5d3e00b5821e6cda099b3b4ccfea4527bf7c595e0fb3a7a760490cedd6172"
 
 DISTUTILS_BUILD_ARGS += " \
                      --with-xslt-config='pkg-config libxslt' \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.6.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.6.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.6.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb
index f6f0e1f..ab665d4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb
@@ -4,17 +4,13 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://PKG-INFO;md5=68f7880de949412b2ea248932d97ed54"
 
-SRCNAME = "M2Crypto"
-SRC_URI = "http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${PV}.tar.gz"
-
 SRC_URI[md5sum] = "89557730e245294a6cab06de8ad4fb42"
 SRC_URI[sha256sum] = "1ac3b6eafa5ff7e2a0796675316d7569b28aada45a7ab74042ad089d15a9567f"
 
 SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch "
 
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
+PYPI_PACKAGE = "M2Crypto"
+inherit pypi setuptools siteinfo
 
 DEPENDS += "openssl swig-native"
 
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 fd7d9bd..de61944d 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
@@ -3,8 +3,6 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c6d1adcf45d69359f256c1cea3254127"
 
-PR = "r0"
-
 SRC_URI[md5sum] = "f5ab3deee4c37cd6a922fb81e730da6e"
 SRC_URI[sha256sum] = "a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb
index 69f71c7..133e66d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb
@@ -19,15 +19,12 @@
 inherit distutils
 
 do_compile_prepend() {
-    BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
     ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \
     true
 }
 
 # need to export these variables for python-config to work
 export PYTHONPATH
-export BUILD_SYS
-export HOST_SYS
 export STAGING_INCDIR
 export STAGING_LIBDIR
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe/0001-python-mccabe-remove-unnecessary-setup_requires-pyte.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe/0001-python-mccabe-remove-unnecessary-setup_requires-pyte.patch
new file mode 100644
index 0000000..941bed3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe/0001-python-mccabe-remove-unnecessary-setup_requires-pyte.patch
@@ -0,0 +1,33 @@
+From 3484bdfa7adbaebcf8bb8e7d4820f64b12717932 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Fri, 29 Jul 2016 15:37:18 +0800
+Subject: [PATCH] python-mccabe: remove unnecessary setup_requires
+ pytest-runner
+
+* Remove setup_requires pytest-runner as the
+  setup_requires pytest-runner actually is not
+  used for pytest which only in do_compile phase
+  via setup.py build
+
+Upstream-Status: Pending
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ setup.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index e59903d..bf2aaba 100644
+--- a/setup.py
++++ b/setup.py
+@@ -33,7 +33,6 @@ setup(
+     license='Expat license',
+     py_modules=['mccabe'],
+     zip_safe=False,
+-    setup_requires=['pytest-runner'],
+     tests_require=['pytest'],
+     entry_points={
+         'flake8.extension': [
+-- 
+2.8.1
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb
index 0958f75..a86d158 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb
@@ -3,6 +3,10 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://README.rst;md5=f8b50fba1711ecac6bcdb6324f85a66d"
 
+SRC_URI += " \
+           file://0001-python-mccabe-remove-unnecessary-setup_requires-pyte.patch \
+"
+
 SRC_URI[md5sum] = "8c425db05f310adcd4bb174b991f26f5"
 SRC_URI[sha256sum] = "9a2b12ebd876e77c72e41ebf401cc2e7c5b566649d50105ca49822688642207b"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_1.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_1.3.0.bb
deleted file mode 100644
index 8a7894c..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_1.3.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A Python Mocking and Patching Library for Testing"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=de9dfbf780446b18aab11f00baaf5b7e"
-
-SRC_URI[md5sum] = "73ee8a4afb3ff4da1b4afa287f39fdeb"
-SRC_URI[sha256sum] = "1e247dbecc6ce057299eb7ee019ad68314bb93152e81d9a6110d35f4d5eca0f6"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
-    python-prettytable \
-    python-cmd2 \
-    python-pyparsing \
-    python-mccabe \
-    python-pep8 \
-    python-pyflakes"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
new file mode 100644
index 0000000..b4557b7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A Python Mocking and Patching Library for Testing"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=de9dfbf780446b18aab11f00baaf5b7e"
+
+SRC_URI[md5sum] = "0febfafd14330c9dcaa40de2d82d40ad"
+SRC_URI[sha256sum] = "b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba"
+
+inherit pypi setuptools
+
+DEPENDS += " \
+    python-pbr-native"
+
+RDEPENDS_${PN} += " \
+    python-prettytable \
+    python-cmd2 \
+    python-pyparsing \
+    python-mccabe \
+    python-pep8 \
+    python-pyflakes"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.0.bb
deleted file mode 100644
index 5d237b5..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.0.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] = "a692bff2c5e07dde22ad2128d818d15c"
-SRC_URI[sha256sum] = "47d7d045b3f2a08bffe683d761ef7f9131a2598db1cec7532a06720656cf719d"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "${PYTHON_PN}-ctypes ${PYTHON_PN}-re"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.2.bb
new file mode 100644
index 0000000..e5c88b1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.2.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] = "d14c93aabc3d6af25ef086b032b123cf"
+SRC_URI[sha256sum] = "c0e1ceca563ca6bb30b0fb047ee1002503ae6ad3585fc9c6af37a8f77ec274ba"
+
+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_0.4.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.7.bb
index 3b7853e..a3f73fb 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.7.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.7.bb
@@ -2,8 +2,6 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
 
-PR = "r0"
-
 SRC_URI[md5sum] = "eb2aad1081534ef3a9f32a0ecd350b9b"
 SRC_URI[sha256sum] = "5e001229a54180a02dcdd59db23c9978351af55b1290c27bc549e381f43acd6b"
 
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
new file mode 100644
index 0000000..ae2bca1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
@@ -0,0 +1,19 @@
+DESCRIPTION = "Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"
+HOMEPAGE = "http://python-requests.org"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://MANIFEST.in;md5=ce22c0cd986d2de3f7073cd6b5523ae0"
+
+SRC_URI[md5sum] = "b3a958c0e9aaf4d3f8dd933f46f8c1a9"
+SRC_URI[sha256sum] = "580987ef194334c50389e0d7de885fccf15605c13c6eecaabd8d6c43768eb8ac"
+
+PYPI_PACKAGE = "ndg_httpsclient"
+
+DEPENDS = " \
+    ${PYTHON_PN}-pyopenssl \
+"
+
+DEPENDS = " \
+    ${PYTHON_PN}-pyasn1 \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb
new file mode 100644
index 0000000..2da1112
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-ndg-httpsclient.inc
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 843e8e0..3cd2c0a 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
@@ -8,7 +8,6 @@
 HOMEPAGE = "https://bitbucket.org/ecollins/passlib"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bae8faa3e2689ee0df3f2127fc4517f5"
-PR = "r0"
 
 SRC_URI[md5sum] = "d2edd6c42cde136a538b48d90a06ad67"
 SRC_URI[sha256sum] = "a83d34f53dc9b17aa42c9a35c3fbcc5120f3fcb07f7f8721ec45e6a27be347fc"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_1.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_1.10.0.bb
new file mode 100644
index 0000000..fd35197
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_1.10.0.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Python Build Reasonableness: PBR is a library that injects some useful and sensible default behaviors into your setuptools run"
+HOMEPAGE = "https://pypi.python.org/pypi/pbr"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI[md5sum] = "8e4968c587268f030e38329feb9c8f17"
+SRC_URI[sha256sum] = "186428c270309e6fdfe2d5ab0949ab21ae5f7dea831eab96701b86bd666af39c"
+
+inherit pypi setuptools
+
+DEPENDS_class-target += " \
+        python-pip \
+        "
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.1.bb
deleted file mode 100644
index c0c263b..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "PIP is a tool for installing and managing Python packages"
-LICENSE = "MIT & LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452"
-
-SRC_URI[md5sum] = "6b86f11841e89c8241d689956ba99ed7"
-SRC_URI[sha256sum] = "3e78d3066aaeb633d185a57afdccf700aa2e660436b4af618bcb6ff0fa511798"
-
-inherit pypi setuptools
-
-# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
-RDEPENDS_${PN} = "python-modules python-distribute"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.2.bb
new file mode 100644
index 0000000..8bb052e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.2.bb
@@ -0,0 +1,11 @@
+SUMMARY = "PIP is a tool for installing and managing Python packages"
+LICENSE = "MIT & LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452"
+
+SRC_URI[md5sum] = "87083c0b9867963b29f7aba3613e8f4a"
+SRC_URI[sha256sum] = "4d24b03ffa67638a3fa931c09fd9e0273ffa904e95ebebe7d4b1a54c93d7b732"
+
+inherit pypi setuptools
+
+# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
+RDEPENDS_${PN} = "python-modules python-distribute"
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
new file mode 100644
index 0000000..2d21cc4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
@@ -0,0 +1,8 @@
+SUMMARY = "A library for stubbing in Python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=411780c0b7fa756753e94affeee5bc99"
+
+SRC_URI[md5sum] = "7147050a95c9f494248557b42b58ad79"
+SRC_URI[sha256sum] = "930f2c1e18503e8f8c403abe2e02166c4a881941745147e712cdd4f49f3fb964"
+
+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.8.bb
index ddc7b62..73b8ed4 100644
--- 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.8.bb
@@ -1,8 +1,2 @@
-SUMMARY = "A library for stubbing in Python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=411780c0b7fa756753e94affeee5bc99"
-
-SRC_URI[md5sum] = "7147050a95c9f494248557b42b58ad79"
-SRC_URI[sha256sum] = "930f2c1e18503e8f8c403abe2e02166c4a881941745147e712cdd4f49f3fb964"
-
 inherit pypi setuptools
+require python-pretend.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc
new file mode 100644
index 0000000..80d0a58
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Easy progress reporting for Python"
+HOMEPAGE = "http://github.com/verigak/progress/"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aef5566ac4fede9815eccf124c281317"
+
+SRC_URI[md5sum] = "c1dbf49a41e80408d3874d976ba894cc"
+SRC_URI[sha256sum] = "5b6a50f9ac76820f619d7789b5354881c8c10060a64047e415868d8f503cc2eb"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.2.bb
new file mode 100644
index 0000000..8060862
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-progress.inc
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
new file mode 100644
index 0000000..8554aea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
@@ -0,0 +1,19 @@
+SUMMARY = "Library for building powerful interactive command lines in Python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f"
+
+SRC_URI[md5sum] = "f74cd8ac84176fac1cdb136843ccb0d6"
+SRC_URI[sha256sum] = "ef0b8188179fe7d052161ed274b43e18f5a680ff84d01462293b327e1668d2ef"
+
+PYPI_PACKAGE = "prompt_toolkit"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-core \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-terminal \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-wcwidth \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.7.bb
new file mode 100644
index 0000000..76e8410
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.7.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-prompt-toolkit.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.1.0.bb
deleted file mode 100644
index 6a210ee..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.1.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "A cross-platform process and system utilities module for Python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
-
-SRC_URI[md5sum] = "017e1023484ebf436d3514ebeaf2e7e9"
-SRC_URI[sha256sum] = "c6abebec9c8833baaf1c51dd1b0259246d1d50b9b50e9a4aa66f33b1e98b8d17"
-
-RDEPENDS_${PN} += " \
-    python-subprocess \
-    "
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.2.0.bb
new file mode 100644
index 0000000..a5703da
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.2.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "A cross-platform process and system utilities module for Python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
+
+SRC_URI[md5sum] = "713f259f917a0c26acfbb7e6ae632ef7"
+SRC_URI[sha256sum] = "544f013a0aea7199e07e3efe5627f5d4165179a04c66050b234cc3be2eca1ace"
+
+RDEPENDS_${PN} += " \
+    python-subprocess \
+    "
+
+inherit pypi setuptools
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
new file mode 100644
index 0000000..9e33b16
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
@@ -0,0 +1,8 @@
+SUMMARY = "Library with cross-python path, ini-parsing, io, code, log facilities"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
+
+SRC_URI[md5sum] = "5d2c63c56dc3f2115ec35c066ecd582b"
+SRC_URI[sha256sum] = "a6501963c725fc2554dabfece8ae9a8fb5e149c0ac0a42fd2b02c5c1c57fc114"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.31.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.31.bb
index 592bc04..5ad2c19 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.31.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.31.bb
@@ -1,8 +1,2 @@
-SUMMARY = "Library with cross-python path, ini-parsing, io, code, log facilities"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
-
-SRC_URI[md5sum] = "5d2c63c56dc3f2115ec35c066ecd582b"
-SRC_URI[sha256sum] = "a6501963c725fc2554dabfece8ae9a8fb5e149c0ac0a42fd2b02c5c1c57fc114"
-
 inherit pypi setuptools
+require python-py.inc
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
new file mode 100644
index 0000000..7c25de8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
@@ -0,0 +1,14 @@
+SUMMARY = "Python library implementing ASN.1 types."
+HOMEPAGE = "http://pyasn1.sourceforge.net/"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=425e62320d430219736139b134db2fc4"
+
+SRC_URI[md5sum] = "f00a02a631d4016818659d1cc38d229a"
+SRC_URI[sha256sum] = "853cacd96d1f701ddd67aa03ecc05f51890135b7262e922710112f12a2ed2a7f"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-lang \
+    ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.1.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.1.9.bb
index 017adfe..4461918 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.1.9.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.1.9.bb
@@ -1,11 +1,2 @@
-SUMMARY = "Python library implementing ASN.1 types."
-HOMEPAGE = "http://pyasn1.sourceforge.net/"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=425e62320d430219736139b134db2fc4"
-
-SRC_URI[md5sum] = "f00a02a631d4016818659d1cc38d229a"
-SRC_URI[sha256sum] = "853cacd96d1f701ddd67aa03ecc05f51890135b7262e922710112f12a2ed2a7f"
-
 inherit pypi setuptools
-
-RDEPENDS_${PN} += "python-lang python-shell"
+require python-pyasn1.inc
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
new file mode 100644
index 0000000..e13f6a5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Seamless operability between C++11 and Python"
+HOMEPAGE = "https://github.com/wjakob/pybind11"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1e9383cd3e97753d7dd6067d079519ea"
+PR = "r0"
+
+SRC_URI = "https://pypi.python.org/packages/89/0b/f3a25633e49be5fae17ed2c7751c8106a08199db70e3c82e8cc043388ba9/pybind11-1.8.1.tar.gz"
+SRC_URI[md5sum] = "67845d8fd89a1c400dc7c61ccdee14d6"
+SRC_URI[sha256sum] = "358d4b7d8c38cd1dde66064178c6bbaaa2c479a44e67e642820fe0f329a4fff8"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_1.8.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_1.8.1.bb
new file mode 100644
index 0000000..e567430
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_1.8.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-pybind11.inc
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
new file mode 100644
index 0000000..bf3b757
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
@@ -0,0 +1,8 @@
+SUMMARY = "Parser of the C language, written in pure Python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8fb364772b1441821d391591f340c35a"
+
+SRC_URI[md5sum] = "a2bc8d28c923b4fe2b2c3b4b51a4f935"
+SRC_URI[sha256sum] = "7959b4a74abdc27b312fed1c21e6caf9309ce0b29ea86b591fd2e99ecdf27f73"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.14.bb
index 18006ca..adbc1a8 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.14.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.14.bb
@@ -1,10 +1,2 @@
-SUMMARY = "Parser of the C language, written in pure Python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8fb364772b1441821d391591f340c35a"
-
-SRC_URI[md5sum] = "a2bc8d28c923b4fe2b2c3b4b51a4f935"
-SRC_URI[sha256sum] = "7959b4a74abdc27b312fed1c21e6caf9309ce0b29ea86b591fd2e99ecdf27f73"
-
 inherit pypi setuptools
-
-BBCLASSEXTEND = "native"
+require python-pycparser.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.1.0.bb
deleted file mode 100644
index ae7d471..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.1.0.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=fe719d45f4c604c6e2c86872b6e9485f"
-
-SRC_URI[md5sum] = "e0bf854cd5abd4527e149692925b82eb"
-SRC_URI[sha256sum] = "e5f959931987e2be178781554b485d52342ec9f1b43f891d2dad07a691c7a89a"
-
-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.2.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.2.3.bb
new file mode 100644
index 0000000..05e3413
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.2.3.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=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-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
new file mode 100644
index 0000000..f587037
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0001-reflect-2.1-reporting-for-key-imports.patch
@@ -0,0 +1,88 @@
+From 1c1812def711803382cc28caea1f35fb7ef774b0 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
+
+GnuPG 2.1 changes how it reports key imports.  These changes should
+make the pygpgme test suite compatible with GnuPG 2.1.
+
+See also:
+https://lists.gnupg.org/pipermail/gnupg-devel/2016-January/030718.html
+
+Upstream-Status: Backport
+
+Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
+---
+ tests/test_import.py | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/tests/test_import.py b/tests/test_import.py
+index 10eb816..597eb47 100644
+--- a/tests/test_import.py
++++ b/tests/test_import.py
+@@ -55,7 +55,7 @@ class ImportTestCase(GpgHomeTestCase):
+         ctx = gpgme.Context()
+         with self.keyfile('key1.sec') as fp:
+             result = ctx.import_(fp)
+-        self.assertEqual(result.considered, 1)
++        self.assertEqual(result.considered, 3)
+         self.assertEqual(result.no_user_id, 0)
+         self.assertEqual(result.imported, 1)
+         self.assertEqual(result.imported_rsa, 0)
+@@ -64,18 +64,18 @@ class ImportTestCase(GpgHomeTestCase):
+         self.assertEqual(result.new_sub_keys, 0)
+         self.assertEqual(result.new_signatures, 0)
+         self.assertEqual(result.new_revocations, 0)
+-        self.assertEqual(result.secret_read, 1)
+-        self.assertEqual(result.secret_imported, 1)
++        self.assertEqual(result.secret_read, 3)
++        self.assertEqual(result.secret_imported, 2)
+         self.assertEqual(result.secret_unchanged, 0)
+         self.assertEqual(result.skipped_new_keys, 0)
+         self.assertEqual(result.not_imported, 0)
+         self.assertEqual(len(result.imports), 2)
+         self.assertEqual(result.imports[0],
+                          ('E79A842DA34A1CA383F64A1546BB55F0885C65A4',
+-                          None, gpgme.IMPORT_NEW | gpgme.IMPORT_SECRET))
++                          None, gpgme.IMPORT_NEW))
+         self.assertEqual(result.imports[1],
+                          ('E79A842DA34A1CA383F64A1546BB55F0885C65A4',
+-                          None, gpgme.IMPORT_NEW))
++                          None, gpgme.IMPORT_NEW | gpgme.IMPORT_SECRET))
+         # can we get the public key?
+         key = ctx.get_key('E79A842DA34A1CA383F64A1546BB55F0885C65A4')
+         # can we get the secret key?
+@@ -102,17 +102,17 @@ class ImportTestCase(GpgHomeTestCase):
+         fp = BytesIO(b'\n'.join(keys))
+         ctx = gpgme.Context()
+         result = ctx.import_(fp)
+-        self.assertEqual(result.considered, 3)
++        self.assertEqual(result.considered, 5)
+         self.assertEqual(result.no_user_id, 0)
+         self.assertEqual(result.imported, 2)
+-        self.assertEqual(result.imported_rsa, 1)
++        self.assertEqual(result.imported_rsa, 0)
+         self.assertEqual(result.unchanged, 0)
+         self.assertEqual(result.new_user_ids, 0)
+         self.assertEqual(result.new_sub_keys, 0)
+         self.assertEqual(result.new_signatures, 1)
+         self.assertEqual(result.new_revocations, 0)
+-        self.assertEqual(result.secret_read, 1)
+-        self.assertEqual(result.secret_imported, 1)
++        self.assertEqual(result.secret_read, 3)
++        self.assertEqual(result.secret_imported, 2)
+         self.assertEqual(result.secret_unchanged, 0)
+         self.assertEqual(result.skipped_new_keys, 0)
+         self.assertEqual(result.not_imported, 0)
+@@ -122,10 +122,10 @@ class ImportTestCase(GpgHomeTestCase):
+                           None, gpgme.IMPORT_NEW))
+         self.assertEqual(result.imports[1],
+                          ('E79A842DA34A1CA383F64A1546BB55F0885C65A4',
+-                          None, gpgme.IMPORT_NEW | gpgme.IMPORT_SECRET))
++                          None, gpgme.IMPORT_SIG))
+         self.assertEqual(result.imports[2],
+                          ('E79A842DA34A1CA383F64A1546BB55F0885C65A4',
+-                          None, gpgme.IMPORT_SIG))
++                          None, gpgme.IMPORT_NEW | gpgme.IMPORT_SECRET))
+         self.assertEqual(result.imports[3],
+                          ('93C2240D6B8AA10AB28F701D2CF46B7FC97E6B0F',
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
new file mode 100644
index 0000000..ccd941f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0002-passphrase_cb-is-deprecated.patch
@@ -0,0 +1,50 @@
+From dc75482af095d667a4a92655c4e7eb312e80c42d 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
+
+https://bugs.gnupg.org/gnupg/issue767 indicates that
+gpgme_set_passphrase_cb is a deprecated corner of the API and that
+developers using gpgme should really rely on the gpg-agent to handle
+this stuff.  This should actually simplify things for most
+installations -- just strip out all passphrase handling from your
+application entirely, relying on gpg to figure out how to find the
+agent, and relying on the agent figuring out how to prompt the user
+(if necessary).
+
+However, if a developer really wants to use the passphrase callback
+approach, they'll have to use loopback pinentry.  This sets up the
+test suite to be able to make those tests.
+
+Upstream-Status: Backport
+
+Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
+---
+ tests/util.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/tests/util.py b/tests/util.py
+index cd803c2..86892ca 100644
+--- a/tests/util.py
++++ b/tests/util.py
+@@ -28,7 +28,9 @@ keydir = os.path.join(os.path.dirname(__file__), 'keys')
+ 
+ class GpgHomeTestCase(unittest.TestCase):
+ 
+-    gpg_conf_contents = ''
++    gpg_conf_contents = 'pinentry-mode loopback'
++    gpg_agent_conf_contents = 'allow-loopback-pinentry'
++
+     import_keys = []
+ 
+     def keyfile(self, key):
+@@ -41,6 +43,10 @@ class GpgHomeTestCase(unittest.TestCase):
+         fp.write(self.gpg_conf_contents.encode('UTF-8'))
+         fp.close()
+ 
++        fp = open(os.path.join(self._gpghome, 'gpg-agent.conf'), 'wb')
++        fp.write(self.gpg_agent_conf_contents.encode('UTF-8'))
++        fp.close()
++
+         # import requested keys into the keyring
+         ctx = gpgme.Context()
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
new file mode 100644
index 0000000..462f442
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/0003-handle-generic-error-when-no-passphrase-callback-pre.patch
@@ -0,0 +1,28 @@
+From 024fe219582143017b2f02bc924c0ed107b63619 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
+
+apparently gpg 2.1 returns ERR_GENERAL right now if the pinentry was
+in loopback mode and no passphrase callback was supplied.  Earlier
+versions supplied ERR_BAD_PASSPHRASE.
+
+Upstream-Status: Backport
+
+Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
+---
+ tests/test_passphrase.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_passphrase.py b/tests/test_passphrase.py
+index 0a235e9..35b3c59 100644
+--- a/tests/test_passphrase.py
++++ b/tests/test_passphrase.py
+@@ -41,7 +41,7 @@ class PassphraseTestCase(GpgHomeTestCase):
+             new_sigs = ctx.sign(plaintext, signature, gpgme.SIG_MODE_CLEAR)
+         except gpgme.GpgmeError as exc:
+             self.assertEqual(exc.args[0], gpgme.ERR_SOURCE_GPGME)
+-            self.assertEqual(exc.args[1], gpgme.ERR_BAD_PASSPHRASE)
++            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-pygpgme/run-ptest b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/run-ptest
index ac867e2..ce2abb6 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/run-ptest
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-GPG_AGENT_INFO= python test_all.py -v
+GPG_AGENT_INFO= python test_all.py -v 2>&1 | sed -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme_0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme_0.3.bb
index 03c4790..14e967d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme_0.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pygpgme_0.3.bb
@@ -6,7 +6,11 @@
 LICENSE = "LGPL-2.1"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=6517bdc8f2416f27ab725d4702f7aac3"
 
-SRC_URI = "file://run-ptest"
+SRC_URI = "file://run-ptest \
+           file://0001-reflect-2.1-reporting-for-key-imports.patch \
+           file://0002-passphrase_cb-is-deprecated.patch \
+           file://0003-handle-generic-error-when-no-passphrase-callback-pre.patch \
+"
 
 SRC_URI[md5sum] = "d38355af73f0352cde3d410b25f34fd0"
 SRC_URI[sha256sum] = "5fd887c407015296a8fd3f4b867fe0fcca3179de97ccde90449853a3dfb802e1"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.4.bb
new file mode 100644
index 0000000..b9219dd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.4.bb
@@ -0,0 +1,27 @@
+SUMMARY="Pylint is a Python source code analyzer"
+HOMEPAGE= "http://www.pylint.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
+
+SRC_URI[md5sum] = "66ba9c27e067568bdabcdd7c21303903"
+SRC_URI[sha256sum] = "ef901a34b62ed7a734370ba5b162d890231ba8822abe88c6dda1268e2575f5f1"
+
+RDEPENDS_${PN} += "python-codecs \
+                   python-contextlib \
+                   python-core \
+                   python-distutils \
+                   python-io \
+                   python-lang \
+                   python-multiprocessing \
+                   python-netserver \
+                   python-numbers \
+                   python-pickle \
+                   python-re \
+                   python-shell \
+                   python-six \
+                   python-stringold \
+                   python-subprocess \
+                   python-textutils \
+                   python-unittest"
+
+inherit pypi setuptools
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 9cd0844..2b2601a 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
@@ -1,10 +1,9 @@
 DESCRIPTION = "Python API for MISP"
 HOMEPAGE = "https://github.com/MISP/PyMISP"
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c0a3e801b740ef31d1f5ddfe76bca538"
-PR = "r0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=200286bb8d148a5a157bf22abf623cbb"
 
-SRC_URI[md5sum] = "398408388902c108e3b378152b6c1d24"
-SRC_URI[sha256sum] = "d70e74c528f040f5ff8137337f1758aeb63a5966b58b297f2171f53cb9df033e"
+SRC_URI[md5sum] = "03b5def47d8fde29f2303ed42ab1e375"
+SRC_URI[sha256sum] = "2bb35c365470ad46f9afbb96408c01894aaa10b369fac0f6b92010190a7087ad"
 
 RDEPENDS_${PN} += " ${PYTHON_PN}-requests"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.51.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.51.1.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 e0f52dd..0a256a7 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
@@ -8,5 +8,5 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2a944942e1496af1886903d274dedb13"
 
-SRC_URI[md5sum] = "70408f8115d7aa52fb6eef0e552834a6"
-SRC_URI[sha256sum] = "f2018165823b341d83d398165d1c625e5db5cc779e7c44c107034407808463b6"
+SRC_URI[md5sum] = "42cd12a5014fb7d3e1987ca04f5c651f"
+SRC_URI[sha256sum] = "3d45302fc2622fabf34356ba274c69df41285bac71bbd229f1587283b851b91e"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.3.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.2.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.3.0.bb
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
new file mode 100644
index 0000000..0ddad12
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
@@ -0,0 +1,22 @@
+SUMMARY = "Simple Python wrapper around the OpenSSL library"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "openssl ${PYTHON_PN}-cryptography"
+
+SRC_URI[md5sum] = "d8100b0c333f0eeadaf05914da8792a6"
+SRC_URI[sha256sum] = "88f7ada2a71daf2c78a4f139b19d57551b4c8be01f53a1cb5c86c2f3bf01355f"
+
+PYPI_PACKAGE = "pyOpenSSL"
+
+PACKAGES =+ "${PN}-tests"
+FILES_${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test"
+
+RDEPENDS_${PN} = " \
+    ${PYTHON_PN}-cryptography \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-threading \
+"
+RDEPENDS_${PN}-tests = "${PN}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_0.15.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_0.15.1.bb
deleted file mode 100644
index 5027c6d..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_0.15.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Simple Python wrapper around the OpenSSL library"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-DEPENDS = "openssl python-cryptography"
-PE = "1"
-
-SRC_URI[md5sum] = "f447644afcbd5f0a1f47350fec63a4c6"
-SRC_URI[sha256sum] = "f0a26070d6db0881de8bcc7846934b7c3c930d8f9c79d45883ee48984bc0d672"
-
-PYPI_PACKAGE = "pyOpenSSL"
-inherit pypi setuptools
-
-PACKAGES =+ "${PN}-tests"
-FILES_${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test"
-
-RDEPENDS_${PN} = "python-threading python-six python-cryptography"
-RDEPENDS_${PN}-tests = "${PN}"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.1.0.bb
new file mode 100644
index 0000000..d7177e2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.1.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-pyopenssl.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.1.bb
deleted file mode 100644
index 94a99e5..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Python parsing module"
-HOMEPAGE = "http://pyparsing.wikispaces.com/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a"
-
-SRC_URI[md5sum] = "2a1d3a63ddc2ec9a3da961d1b7f258b2"
-SRC_URI[sha256sum] = "4bd04badfda39b1e2fd0d77cb78b488c881d88c31734791a0ae902979ae10575"
-
-PYPI_PACKAGE_EXT = "zip"
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.4.bb
new file mode 100644
index 0000000..9aa5473
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.4.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Python parsing module"
+HOMEPAGE = "http://pyparsing.wikispaces.com/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a"
+
+SRC_URI[md5sum] = "322059c57f0c9f11da1c6c06a2ba2197"
+SRC_URI[sha256sum] = "a9234dea79b50d49b92a994132cd1c84e873f3936db94977a66f0a4159b1797c"
+
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex-native_0.9.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex-native_0.9.9.bb
new file mode 100644
index 0000000..e8ef1aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex-native_0.9.9.bb
@@ -0,0 +1,5 @@
+require python-pyrex_${PV}.bb
+inherit native pythonnative
+DEPENDS = "python-native"
+RDEPENDS_${PN} = ""
+PR = "r3"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex/pyrex-fix-optimized-mode.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex/pyrex-fix-optimized-mode.patch
new file mode 100644
index 0000000..c58c328
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex/pyrex-fix-optimized-mode.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Pending
+
+Index: Pyrex-0.9.8.4/Pyrex/Distutils/extension.py
+===================================================================
+--- Pyrex-0.9.8.4.orig/Pyrex/Distutils/extension.py
++++ Pyrex-0.9.8.4/Pyrex/Distutils/extension.py
+@@ -15,7 +15,7 @@ except ImportError:
+     warnings = None
+ 
+ class Extension(_Extension.Extension):
+-    _Extension.Extension.__doc__ + \
++    _Extension.Extension.__doc__ or "" + \
+     """pyrex_include_dirs : [string]
+         list of directories to search for Pyrex header files (.pxd) (in
+         Unix form for portability)
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex_0.9.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex_0.9.9.bb
new file mode 100644
index 0000000..c4dd2e6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyrex_0.9.9.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Language for writing Python extension modules"
+DESCRIPTION = "Pyrex is a language specially designed for writing Python extension modules. \
+It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \
+and the messy, low-level world of C."
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=771d472f53f933033f57eeee7808e5bd"
+SRCNAME = "Pyrex"
+PR = "r4"
+
+SRC_URI = "\
+  http://www.cosc.canterbury.ac.nz/greg.ewing/python/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
+  file://pyrex-fix-optimized-mode.patch \
+"
+
+SRC_URI[md5sum] = "515dee67d15d4393841e2d60e8341947"
+SRC_URI[sha256sum] = "5f87df06831d0b3412eb4bc9d3fc2ee7bfae1b913d7da8c23ab2bf5699fb6b50"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit distutils
+
+FILES_${PN} += "${datadir}${base_libdir}/${PYTHON_DIR}/site-packages/Pyrex/Compiler/Lexicon.pickle"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.3.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.3.14.bb
deleted file mode 100644
index 43c6cec..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.3.14.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-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"
-
-SRC_URI[md5sum] = "1e7e771702056e61cf522cccc39ea09e"
-SRC_URI[sha256sum] = "aed742a7dbe55eb7f02dbb26719f554b9e92198c4b3c7ac501ad03bbb6421962"
-
-SRC_URI += "file://import-simplejson-as-json.patch"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-  python-distutils \
-  python-simplejson \
-  python-multiprocessing \
-  python-io python-pprint \
-  python-pickle \
-  python-logging \
-  python-threading \
-  python-textutils \
-  python-subprocess \
-  python-netclient \
-"
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
new file mode 100644
index 0000000..79d3bdd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.3.22.bb
@@ -0,0 +1,24 @@
+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"
+
+SRC_URI[md5sum] = "733adb362b6603c7269c0b3df3045a55"
+SRC_URI[sha256sum] = "5cdf44656cf623369f0cbf183d9d14a1a50ebdffbd50d4e30ffda62c0a05d7b3"
+
+SRC_URI += "file://import-simplejson-as-json.patch"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+  python-distutils \
+  python-simplejson \
+  python-multiprocessing \
+  python-io python-pprint \
+  python-pickle \
+  python-logging \
+  python-threading \
+  python-textutils \
+  python-subprocess \
+  python-netclient \
+"
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 08eef74..a4c7728 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
@@ -1,6 +1,6 @@
 SUMMARY = "Serial Port Support for Python"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=0051a0dc811ee3fdb17a2fd0be44f3ad"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d476d94926db6e0008a5b3860d1f5c0d"
 
 # FIXME might stop packaging serialwin32 and serialjava files
 
@@ -10,7 +10,7 @@
     ${PYTHON_PN}-stringold \
 "
 
-SRC_URI[md5sum] = "c8521e49f8852196aac39431e0901703"
-SRC_URI[sha256sum] = "969cb6405d1d87f8960cf9c10f597ae58f85da2fb9769dba96f4aeeaade54656"
+SRC_URI[md5sum] = "2f72100de3e410b36d575e12e82e9d27"
+SRC_URI[sha256sum] = "d657051249ce3cbd0446bcfb2be07a435e1029da4d63f53ed9b4cdde7373364c"
 
 inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.1.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.0.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.1.1.bb
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
new file mode 100644
index 0000000..0697fd7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
@@ -0,0 +1,11 @@
+DESCRIPTION = "A Python SOCKS client module"
+HOMEPAGE = "http://python-requests.org"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16"
+
+SRC_URI[md5sum] = "68f4ad7a8d4fa725656ae3e9dd142d29"
+SRC_URI[sha256sum] = "e51c7694b10288e6fd9a28e15c0bcce9aca0327e7b32ebcd9af05fcd56f38b88"
+
+PYPI_PACKAGE = "PySocks"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.5.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.5.7.bb
new file mode 100644
index 0000000..8a24e4c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.5.7.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-pysocks.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.8.bb
new file mode 100644
index 0000000..a4685ec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.8.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Invoke py.test as distutils command with dependency resolution"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e38b971c2b4c33b978d1b9c9ece9ae63"
+
+SRC_URI[md5sum] = "041f3624f450d87a242e3907d7f90e8f"
+SRC_URI[sha256sum] = "1ec44deddaa551f85fd563c40a4c483a2609aca1f284a95399566a74d0680d5c"
+PYPI_PACKAGE_HASH = "466cff61a9e0d513222afa3529bdb565a465812b7e50b218a5afd705f46b258c"
+
+DEPENDS += " \
+    python-setuptools-scm"
+
+RDEPENDS_${PN} = "python-py python-setuptools python-argparse python-debugger python-json"
+
+inherit pypi setuptools
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
new file mode 100644
index 0000000..454939e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
@@ -0,0 +1,16 @@
+SUMMARY = "Simple powerful teting with python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a5609608d9a5a180705b0fa298ae01"
+
+SRC_URI[md5sum] = "6e736a6d7bc854b25d44a60bcba5f2f9"
+SRC_URI[sha256sum] = "e82bc0596ee96b2287c08705cfcb6898db1fe4b5c87db3b6823f1fdd77fb3ff1"
+
+RDEPENDS_${PN} = " \
+    ${PYTHON_PN}-argparse \
+    ${PYTHON_PN}-debugger \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-py \
+    ${PYTHON_PN}-setuptools \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_2.9.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_2.9.1.bb
deleted file mode 100644
index ca53dc4..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_2.9.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Simple powerful teting with Python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a5609608d9a5a180705b0fa298ae01"
-
-SRC_URI[md5sum] = "05165740ea50928e4e971378630163ec"
-SRC_URI[sha256sum] = "0d48d27a127644fbe7c8158157e08b35f8255045d4476df694b91eb3a8147e65"
-
-RDEPENDS_${PN} = "python-py"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.1.bb
new file mode 100644
index 0000000..d322f09
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-pytest.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.3.bb
deleted file mode 100644
index da4e2d6..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "World timezone definitions, modern and historical"
-HOMEPAGE = " http://pythonhosted.org/pytz"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22b38951eb857cf285a4560a914b7cd6"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
-    python-core \
-    python-datetime \
-"
-
-SRC_URI[md5sum] = "abae92c3301b27bd8a9f56b14f52cb29"
-SRC_URI[sha256sum] = "3449da19051655d4c0bb5c37191331748bcad15804d81676a88451ef299370a8"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.4.bb
new file mode 100644
index 0000000..6cbea28
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.4.bb
@@ -0,0 +1,14 @@
+SUMMARY = "World timezone definitions, modern and historical"
+HOMEPAGE = " http://pythonhosted.org/pytz"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22b38951eb857cf285a4560a914b7cd6"
+
+SRC_URI[md5sum] = "a3316cf3842ed0375ba5931914239d97"
+SRC_URI[sha256sum] = "c823de61ff40d1996fe087cec343e0503881ca641b897e0f9b86c7683a0bfee1"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} = "\
+    python-core \
+    python-datetime \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.19.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.19.0.bb
deleted file mode 100644
index aa26dc7..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.19.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "A libudev binding"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI[md5sum] = "1151e9d05baf6ce7b43e7574dc0ef154"
-SRC_URI[sha256sum] = "5abcbd03e4965110d1fedcbdd5532974cb4638ceef34337aa2d5758eceb54ad3"
-
-inherit pypi setuptools
-
-do_configure_prepend() {
-    sed -i "/import pyudev/d" ${S}/setup.py
-    sed -i "s/str(pyudev.__version__)/'${PV}'/g" ${S}/setup.py
-}
-
-RDEPENDS_${PN} = "\
-    python-ctypes \
-    python-subprocess \
-    python-misc \
-    python-contextlib \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.20.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.20.0.bb
new file mode 100644
index 0000000..e403d4e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.20.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A libudev binding"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI[md5sum] = "30c19f94dba43b6f5a010285838a3f45"
+SRC_URI[sha256sum] = "14d85bc9611dbf798732996cb7107858f58a3a1b9d246e4063c7a20ade65842a"
+
+inherit pypi setuptools
+
+do_configure_prepend() {
+    sed -i "/import pyudev/d" ${S}/setup.py
+    sed -i "s/str(pyudev.__version__)/'${PV}'/g" ${S}/setup.py
+}
+
+RDEPENDS_${PN} = "\
+    python-ctypes \
+    python-subprocess \
+    python-misc \
+    python-contextlib \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.11.bb
deleted file mode 100644
index a017e0e..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.11.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Python support for YAML"
-HOMEPAGE = "http://www.pyyaml.org"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
-DEPENDS = "libyaml python-cython-native"
-
-SRC_URI = "http://pyyaml.org/download/pyyaml/PyYAML-${PV}.tar.gz \
-           file://setup.py \
-"
-
-SRC_URI[md5sum] = "f50e08ef0fe55178479d3a618efe21db"
-SRC_URI[sha256sum] = "c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8"
-
-S = "${WORKDIR}/PyYAML-${PV}"
-
-inherit distutils
-
-do_configure_prepend() {
-    # upstream setup.py overcomplicated, use ours
-    install -m 0644 ${WORKDIR}/setup.py ${S}
-}
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb
new file mode 100644
index 0000000..61b1d2c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Python support for YAML"
+HOMEPAGE = "http://www.pyyaml.org"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
+DEPENDS = "libyaml python-cython-native"
+
+SRC_URI = "http://pyyaml.org/download/pyyaml/PyYAML-${PV}.tar.gz \
+           file://setup.py \
+"
+
+SRC_URI[md5sum] = "4c129761b661d181ebf7ff4eb2d79950"
+SRC_URI[sha256sum] = "592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab"
+
+S = "${WORKDIR}/PyYAML-${PV}"
+
+inherit distutils
+
+do_configure_prepend() {
+    # upstream setup.py overcomplicated, use ours
+    install -m 0644 ${WORKDIR}/setup.py ${S}
+}
+
+BBCLASSEXTEND = "native"
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 e64f041..17ff231 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
@@ -3,7 +3,6 @@
 HOMEPAGE = "http://github.com/andymccurdy/redis-py"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=51d9ad56299ab60ba7be65a621004f27"
-PR = "r0"
 
 SRC_URI[md5sum] = "3b26c2b9703b4b56b30a1ad508e31083"
 SRC_URI[sha256sum] = "5dfbae6acfc54edf0a7a415b99e0b21c0a3c27a7f787b292eea727b1facc5533"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
index ebce253..287078a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
@@ -1,9 +1,20 @@
 DESCRIPTION = "Python HTTP for Humans."
 HOMEPAGE = "http://python-requests.org"
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=58c7e163c9f8ee037246da101c6afd1e"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d9bb3515869c0f426cb8441c899ae7f5"
 
-SRC_URI[md5sum] = "0b7f480d19012ec52bab78292efd976d"
-SRC_URI[sha256sum] = "c577815dd00f1394203fc44eb979724b098f88264a9ef898ee45b8e5e9cf587f"
+SRC_URI[md5sum] = "ad5f9c47b5c5dfdb28363ad7546b0763"
+SRC_URI[sha256sum] = "5acf980358283faba0b897c73959cecf8b841205bb4b2ad3ef545f46eae1a133"
 
-RDEPENDS_${PN} = "${PYTHON_PN}-email ${PYTHON_PN}-json ${PYTHON_PN}-netserver"
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-email \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-ndg-httpsclient \
+    ${PYTHON_PN}-netserver \
+    ${PYTHON_PN}-pyasn1 \
+    ${PYTHON_PN}-pyopenssl \
+    ${PYTHON_PN}-pysocks \
+    ${PYTHON_PN}-urllib3 \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.9.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.11.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.9.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.11.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987.inc
new file mode 100644
index 0000000..4615904
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987.inc
@@ -0,0 +1,8 @@
+SUMMARY = "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=9;md5=2b723edf67b2f3088bc5e339b1ceda2d"
+
+SRC_URI[md5sum] = "aa108c7590902fe609c036864ecb7f84"
+SRC_URI[sha256sum] = "91a7826b0a26c246a5a91bef09c2c0809c713a689be689b9571e78a13f6557a4"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987_1.3.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987_1.3.7.bb
new file mode 100644
index 0000000..dcda5aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-rfc3987_1.3.7.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-rfc3987.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.11.1.bb
new file mode 100644
index 0000000..2a3b97d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.11.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "the blessed package to manage your versions by scm tags"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2"
+
+inherit pypi setuptools
+
+SRCNAME = "setuptools_scm"
+
+SRC_URI = "https://pypi.python.org/packages/84/aa/c693b5d41da513fed3f0ee27f1bf02a303caa75bbdfa5c8cc233a1d778c4/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "4d19b2bc9580016d991f665ac20e2e8f"
+SRC_URI[sha256sum] = "8c45f738a23410c5276b0ed9294af607f491e4260589f1eb90df8312e23819bf"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+RDEPENDS_${PN} = "python-py python-setuptools python-argparse python-debugger python-json"
+
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
new file mode 100644
index 0000000..87f46e5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
@@ -0,0 +1,13 @@
+SUMMARY = "functools.singledispatch from Python 3.4"
+DESCRIPTION = "PEP 443 proposed to expose a mechanism in the functools standard library module \
+in Python 3.4 that provides a simple form of generic programming known as single-dispatch \
+generic functions.  This library is a backport of this functionality to Python 2.6 - 3.3"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=ee3cd67264adc7eb07981f3644dc17dc"
+
+SRC_URI[md5sum] = "af2fc6a3d6cc5a02d0bf54d909785fcb"
+SRC_URI[sha256sum] = "5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c"
+
+PYPI_PACKAGE = "singledispatch"
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
index 408c60e..e33c01d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
@@ -6,11 +6,13 @@
 SRC_URI[sha256sum] = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a"
 
 do_compile_append() {
-    export BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS}
     ${PYTHON} setup.py -q bdist_egg --dist-dir ./
 }
 do_install_append() {
     install -m 0644 ${S}/*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
 }
 
-RDEPENDS_${PN} += "python-io"
+RDEPENDS_${PN} += "${PYTHON_PN}-io"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339.inc
new file mode 100644
index 0000000..dca9ea9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339.inc
@@ -0,0 +1,8 @@
+SUMMARY = "Strict, simple, lightweight RFC3339 function.s"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8f0e2cd40e05189ec81232da84bd6e1a"
+
+SRC_URI[md5sum] = "4d9b635b4df885bc37bc1189d66c9abc"
+SRC_URI[sha256sum] = "5cad17bedfc3af57b399db0fed32771f18fc54bbd917e85546088607ac5e1277"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339_0.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339_0.7.bb
new file mode 100644
index 0000000..b01ea99
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-strict-rfc3339_0.7.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-strict-rfc3339.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado/0001-disable-AI_ADDRCONFIG-flag.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado/0001-disable-AI_ADDRCONFIG-flag.patch
deleted file mode 100644
index 0b0d471..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado/0001-disable-AI_ADDRCONFIG-flag.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From d7fb0a6ef3f3cbdfc1f21f5a67d54fa9d2c1e183 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 11:07:24 +0100
-Subject: [PATCH] disable AI_ADDRCONFIG flag
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-
-Upstream-Status: unknown
----
- tornado/netutil.py |    6 ------
- 1 files changed, 0 insertions(+), 6 deletions(-)
-
-diff --git a/tornado/netutil.py b/tornado/netutil.py
-index cfff0ba..c181f24 100644
---- a/tornado/netutil.py
-+++ b/tornado/netutil.py
-@@ -238,12 +238,6 @@ def bind_sockets(port, address=None, family=socket.AF_UNSPEC, backlog=128):
-     if address == "":
-         address = None
-     flags = socket.AI_PASSIVE
--    if hasattr(socket, "AI_ADDRCONFIG"):
--        # AI_ADDRCONFIG ensures that we only try to bind on ipv6
--        # if the system is configured for it, but the flag doesn't
--        # exist on some platforms (specifically WinXP, although
--        # newer versions of windows have it)
--        flags |= socket.AI_ADDRCONFIG
-     for res in set(socket.getaddrinfo(address, port, family, socket.SOCK_STREAM,
-                                   0, flags):
-         af, socktype, proto, canonname, sockaddr = res
--- 
-1.7.2.5
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_2.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_2.2.1.bb
deleted file mode 100644
index 28026b3..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_2.2.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed."
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README;md5=e7fb9954003d7cd93322ccf282210d1c"
-
-PV = "2.2.1+git${SRCPV}"
-
-SRCREV = "c501917eba46dec30b1f2ef12497dffc4beec505"
-SRC_URI = "git://github.com/facebook/tornado.git;branch=branch2.2 \
-           file://0001-disable-AI_ADDRCONFIG-flag.patch \
-"
-
-S = "${WORKDIR}/git"
-
-inherit setuptools
-
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.3.bb
index 55a48b8..5d11475 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.3.bb
@@ -1,3 +1,3 @@
 inherit pypi setuptools
 require python-tornado.inc
-RDEPENDS_${PN} += "${PYTHON_PN}-backports-ssl"
+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-twisted_13.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb
index ac88ac9..071106e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb
@@ -239,7 +239,7 @@
 
 RDEPENDS_{PN}-src = "${PN}"
 FILES_${PN}-src = " \
-	${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py \
-	${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*.py \
-	${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/*.py \
-	"
+    ${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py \
+    ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*.py \
+    ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/*.py \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb
index 29207f3..4ef3d18 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb
@@ -10,4 +10,7 @@
 PYPI_PACKAGE = "ujson"
 inherit pypi setuptools
 
-RDEPENDS_${PN} += "python-numbers"
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-numbers \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.2.bb
new file mode 100644
index 0000000..3b018c7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Unified diff parsing/metadata extraction library"
+HOMEPAGE = "http://github.com/matiasb/python-unidiff"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3"
+
+SRC_URI[md5sum] = "20dd70ba5a35bc95bf869322d6852227"
+SRC_URI[sha256sum] = "344330ec3637e96b44dca77e086b205645b55648cf4d2b80fc673200f8a6a7e9"
+
+inherit  pypi setuptools
+
+U = "${D}${LIBDIR}${PYTHON_SITEPACKAGES_DIR}"
+
+do_install_append (){
+    mv ${U}/tests ${U}/unidiff/
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
new file mode 100644
index 0000000..938eb5e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
@@ -0,0 +1,19 @@
+SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more"
+HOMEPAGE = "https://github.com/shazow/urllib3"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ea114851ad9a8c311aac8728a681a067"
+
+SRC_URI[md5sum] = "1eadd93bd5e58d3528d977111f2997ea"
+SRC_URI[sha256sum] = "d30dd4d1cbbc36ebab6e4a2076820cfe0c60f10adf087fecbc5a3edae79fdc81"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-certifi \
+    ${PYTHON_PN}-cryptography \
+    ${PYTHON_PN}-email \
+    ${PYTHON_PN}-idna \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-pyopenssl \
+    ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.14.bb
deleted file mode 100644
index 4e30991..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.14.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more"
-HOMEPAGE = "https://github.com/shazow/urllib3"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3be3707c5f24a69709682265e29566fe"
-
-SRC_URI[md5sum] = "5e1407428ac33b521c71a7ac273b3847"
-SRC_URI[sha256sum] = "dd4fb13a4ce50b18338c7e4d665b21fd38632c5d4b1d9f1a1379276bd3c08d37"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "python-netclient"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.18.bb
new file mode 100644
index 0000000..6c81f1d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.18.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-urllib3.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.14.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.14.0.0.bb
deleted file mode 100644
index e87e50f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.14.0.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Python vcversioner, automagically update the project's version"
-HOMEPAGE = "https://github.com/habnabit/vcversioner"
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=260625d695c5e0c9dd2c2ef898833c7d"
-
-SRC_URI[md5sum] = "7848a365ced9941053bc25d9a9f8f4b4"
-SRC_URI[sha256sum] = "acd43686e92e6c8bbeb4f2eef54408567a7adea9692fa72d591eec5357c03b86"
-
-inherit pypi setuptools
-
-do_compile_append() {
-    export BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS}
-    ${PYTHON} setup.py -q bdist_egg --dist-dir ./
-}
-
-do_install_append() {
-    install -m 0644 ${S}/vcversioner*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
-}
-
-BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
new file mode 100644
index 0000000..f4a6009
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Python vcversioner, automagically update the project's version"
+HOMEPAGE = "https://github.com/habnabit/vcversioner"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=827a7a91a8d20d3c666b665cd96db8e3"
+
+SRC_URI[md5sum] = "aab6ef5e0cf8614a1b1140ed5b7f107d"
+SRC_URI[sha256sum] = "dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b"
+
+inherit pypi setuptools
+
+do_compile_append() {
+    ${PYTHON} setup.py -q bdist_egg --dist-dir ./
+}
+
+do_install_append() {
+    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/python-visitor_0.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.2.bb
deleted file mode 100644
index f53091e..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "A tiny pythonic visitor implementation."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
-
-SRC_URI[md5sum] = "e9471b44e5d426b0adf5d27694598be0"
-SRC_URI[sha256sum] = "d9444ffca56a46a920719460d4952f8c88f8fef97f1ea7d2b1f7c50f675022bd"
-
-inherit pypi setuptools
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
new file mode 100644
index 0000000..1236506
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-visitor_0.1.3.bb
@@ -0,0 +1,8 @@
+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
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb
deleted file mode 100644
index a28c02f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Python package for parsing and generating vCard and vCalendar files"
-SECTION = "devel/python" 
-LICENSE = "Apache-2.0" 
-LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-HOMEPAGE = "http://vobject.skyhouseconsulting.com/" 
-SRCNAME = "vobject" 
-RDEPENDS_${PN} = "python python-dateutil"
-PR = "r4"
-
-SRC_URI = "http://vobject.skyhouseconsulting.com/${SRCNAME}-${PV}.tar.gz" 
-S = "${WORKDIR}/${SRCNAME}-${PV}" 
-
-inherit setuptools  
-
-SRC_URI[md5sum] = "c9686dd74d39fdae140890d9c694c076"
-SRC_URI[sha256sum] = "594113117f2017ed837c8f3ce727616f9053baa5a5463a7420c8249b8fc556f5"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.2.bb
new file mode 100644
index 0000000..56f0112
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Python package for parsing and generating vCard and vCalendar files"
+HOMEPAGE = "http://vobject.skyhouseconsulting.com/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[md5sum] = "ccf66aeb1c896d8c34ac62a8b4e7ecfb"
+SRC_URI[sha256sum] = "8b310c21a4d58e13aeb7e60fd846a1748e1c9c3374f3e2acc96f728c3ae5d6e1"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-dateutil \
+    ${PYTHON_PN}-numbers \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth.inc
new file mode 100644
index 0000000..1429450
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth.inc
@@ -0,0 +1,8 @@
+SUMMARY = "Library for building powerful interactive command lines in Python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=11fba47286258744a6bc6e43530c32a1"
+
+SRC_URI[md5sum] = "b3b6a0a08f0c8a34d1de8cf44150a4ad"
+SRC_URI[sha256sum] = "3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth_0.1.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth_0.1.7.bb
new file mode 100644
index 0000000..ef107c1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wcwidth_0.1.7.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-wcwidth.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
new file mode 100644
index 0000000..ae91c62
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
@@ -0,0 +1,8 @@
+SUMMARY = "Simple Python module for working with HTML/CSS color definitions."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0c764ddee13cfbe0564c201d76ff19d6"
+
+SRC_URI[md5sum] = "2e9da1bbb7a087c6108e05be64640afb"
+SRC_URI[sha256sum] = "b3b1c3a41e9c69d1982b76b6531239115519f91cc034a24e975749832dc51b8e"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.5.bb
new file mode 100644
index 0000000..a0b6708
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.5.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-webcolors.inc
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 7b54469..91c47ae 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
@@ -10,21 +10,22 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a68f5361a2b2ca9fdf26b38aaecb6faa"
 
-SRC_URI[md5sum] = "daf443a939459e12f14fd2e4658a26df"
-SRC_URI[sha256sum] = "afdb04f183eef3b20827eb4520dcb75c1cd1f0ba7a7de3f463ff7a462eee8164"
+SRC_URI[md5sum] = "1d34afa1f19abcef4c0da51ebc2c4ea7"
+SRC_URI[sha256sum] = "e72c46bc14405cba7a26bd2ce28df734471bc9016bc8b4cb69466c2c14c2f7e5"
 
 PYPI_PACKAGE = "Werkzeug"
 
 RDEPENDS_${PN} += " \
-    python-difflib \
-    python-email \
-    python-html \
-    python-json \
-    python-netserver \
-    python-numbers \
-    python-pkgutil \
-    python-subprocess \
-    python-threading \
-    python-unixadmin \
-    python-zlib \
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-difflib \
+    ${PYTHON_PN}-email \
+    ${PYTHON_PN}-html \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-netserver \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-pkgutil \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-unixadmin \
 "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.11.bb
new file mode 100644
index 0000000..3892f13
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.11.bb
@@ -0,0 +1,4 @@
+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.11.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.5.bb
deleted file mode 100644
index dd14608..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.5.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-werkzeug.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.0.2.bb
deleted file mode 100644
index ae605d5..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.0.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-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=e9377f5e4bfad82b40ed63f0fd4d1cce"
-
-SRC_URI[md5sum] = "613cf723ab40537705bec02733c78d95"
-SRC_URI[sha256sum] = "10737758ceae03b53021f3aa7e81bfc8dd6f679c879ffeb5e64ac6570facb6c1"
-
-PYPI_PACKAGE = "WTForms"
-PYPI_PACKAGE_EXT = "zip"
-
-inherit pypi setuptools
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
new file mode 100644
index 0000000..5ddcb48
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.1.bb
@@ -0,0 +1,18 @@
+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 \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
index 3c0d26d..a8fe8c7 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
@@ -6,5 +6,7 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://xlrd/licences.py;md5=b59dace5cc1db604c4219100b0422811"
 
-SRC_URI[md5sum] = "911839f534d29fe04525ef8cd88fe865"
-SRC_URI[sha256sum] = "8e8d3359f39541a6ff937f4030db54864836a06e42988c452db5b6b86d29ea72"
+SRC_URI[md5sum] = "9a91b688cd4945477ac28187a54f9a3b"
+SRC_URI[sha256sum] = "0ff87dd5d50425084f7219cb6f86bb3eb5aa29063f53d50bf270ed007e941069"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_0.9.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.0.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_0.9.4.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd_1.0.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.94.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.94.bb
new file mode 100644
index 0000000..83f2bc9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.94.bb
@@ -0,0 +1,16 @@
+SUMMARY  = "Yet Another Python Profiler"
+HOMEPAGE = "http://yappi.googlecode.com/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=ad426a7287507a8db02778ff586d5370"
+
+SRC_URI[md5sum] = "a02c49efe783c4e31d6bbd805a37adec"
+SRC_URI[sha256sum] = "15cc17dba1252ecaae29ced1e96c216165d93fd3e9ea05dff1f5e5866f16bd59"
+
+PYPI_PACKAGE = "yappi"
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-threading \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb
deleted file mode 100644
index 15f8e20..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Interface definitions for Zope products"
-LICENSE = "ZPL-2.1"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46"
-
-SRC_URI[md5sum] = "edcd5f719c5eb2e18894c4d06e29b6c6"
-SRC_URI[sha256sum] = "91cba7b7cd7cb82f6f4e023fe77f94dc3df4ae5287fd55def2148dc232d0c7da"
-
-PYPI_PACKAGE = "zope.interface"
-inherit pypi setuptools
-
-RPROVIDES_${PN} += "zope-interfaces"
-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"
-FILES_${PN}-tests = " \
-        ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \
-        ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.2.0.bb
new file mode 100644
index 0000000..985074b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.2.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Interface definitions for Zope products"
+LICENSE = "ZPL-2.1"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46"
+
+SRC_URI[md5sum] = "2950a6db7e985e19c7a846cc20f5d82a"
+SRC_URI[sha256sum] = "36762743940a075283e1fb22a2ec9e8231871dace2aa00599511ddc4edf0f8f9"
+
+PYPI_PACKAGE = "zope.interface"
+inherit pypi setuptools
+
+RPROVIDES_${PN} += "zope-interfaces"
+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"
+FILES_${PN}-tests = " \
+        ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \
+        ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2016.2.28.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2016.9.26.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2016.2.28.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2016.9.26.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.8.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.8.3.bb
new file mode 100644
index 0000000..e888084
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.8.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-cffi.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.6.bb
new file mode 100644
index 0000000..1920644
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.6.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-click.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.4.bb
new file mode 100644
index 0000000..58994ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.4.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-cryptography-vectors.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography/run-ptest b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography/run-ptest
new file mode 100644
index 0000000..0ba239c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography/run-ptest
@@ -0,0 +1,2 @@
+#!/bin/sh
+py.test
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.4.bb
new file mode 100644
index 0000000..f807042
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.4.bb
@@ -0,0 +1,10 @@
+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-cython_0.24.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.24.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.24.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.24.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.5.3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.5.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.5.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.10.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.9.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.10.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.2.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.3.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.2.11.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.3.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.4.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.4.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.4.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.10.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.11.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.10.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.11.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.1.bb
new file mode 100644
index 0000000..a08ca71
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-idna.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.11.bb
new file mode 100644
index 0000000..4a332b5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-iso8601_0.1.11.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-iso8601.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.5.1.bb
new file mode 100644
index 0000000..53b8839
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.5.1.bb
@@ -0,0 +1,8 @@
+inherit pypi setuptools3
+require python-jsonschema.inc
+
+DEPENDS += "python3-vcversioner"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-misc \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.6.4.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.6.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.6.4.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.2.bb
new file mode 100644
index 0000000..3f07b2e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-ndg-httpsclient.inc
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.8.bb
new file mode 100644
index 0000000..9c5d8a8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pretend_1.0.8.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pretend.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.2.bb
new file mode 100644
index 0000000..45e2642
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-progress.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.7.bb
new file mode 100644
index 0000000..d8f6389
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.7.bb
@@ -0,0 +1,9 @@
+inherit pypi setuptools3
+require python-prompt-toolkit.inc
+
+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-py_1.4.31.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.31.bb
new file mode 100644
index 0000000..0ee373d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.31.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-py.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.1.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.1.9.bb
new file mode 100644
index 0000000..a5e2a71
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.1.9.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pyasn1.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_1.8.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_1.8.1.bb
new file mode 100644
index 0000000..355e284
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_1.8.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pybind11.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.14.bb
new file mode 100644
index 0000000..b30db54
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.14.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pycparser.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.51.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.51.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.3.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.2.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.3.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.1.0.bb
new file mode 100644
index 0000000..0f0f83e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.1.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pyopenssl.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.1.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.0.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.1.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.5.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.5.7.bb
new file mode 100644
index 0000000..6b09355
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.5.7.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pysocks.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.1.bb
new file mode 100644
index 0000000..466cfa8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pytest.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.11.1.bb
new file mode 100644
index 0000000..5e869b7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.11.1.bb
@@ -0,0 +1,5 @@
+inherit pypi 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-requests_2.9.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.9.1.bb
deleted file mode 100644
index e5220fa..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.9.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-requests.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.7.bb
new file mode 100644
index 0000000..cd1536b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3987_1.3.7.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-rfc3987.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb
new file mode 100644
index 0000000..9e37052
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-strict-rfc3339_0.7.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-strict-rfc3339.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.18.bb
new file mode 100644
index 0000000..19eb702
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.18.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-urllib3.inc
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
new file mode 100644
index 0000000..189a65a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Python vcversioner, automagically update the project's version"
+HOMEPAGE = "https://github.com/habnabit/vcversioner"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=827a7a91a8d20d3c666b665cd96db8e3"
+
+SRC_URI[md5sum] = "aab6ef5e0cf8614a1b1140ed5b7f107d"
+SRC_URI[sha256sum] = "dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b"
+
+inherit pypi setuptools3
+
+do_compile_append() {
+    ${PYTHON} setup.py -q bdist_egg --dist-dir ./
+}
+
+do_install_append() {
+    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-wcwidth_0.1.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.7.bb
new file mode 100644
index 0000000..5f6259b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-wcwidth_0.1.7.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-wcwidth.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.5.bb
new file mode 100644
index 0000000..fcd9f70
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.5.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-webcolors.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.11.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.5.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.11.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_0.9.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.0.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_0.9.4.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_1.0.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyephem/python-pyephem_3.7.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyephem/python-pyephem_3.7.6.0.bb
new file mode 100644
index 0000000..e28ce6c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-extended/python-pyephem/python-pyephem_3.7.6.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "PyEphem astronomical calculations"
+HOMEPAGE = "http://rhodesmill.org/pyephem/"
+
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f288303760f6e5ceaafe3aaa32186ab1"
+
+SRC_URI[md5sum] = "405a109f3017251ecd8c2890d850f649"
+SRC_URI[sha256sum] = "7a4c82b1def2893e02aec0394f108d24adb17bd7b0ca6f4bc78eb7120c0212ac"
+
+PYPI_PACKAGE = "ephem"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-math \
+    "
diff --git a/import-layers/meta-openembedded/meta-ruby/README b/import-layers/meta-openembedded/meta-ruby/README
index 17fdde9..5ce01bc 100644
--- a/import-layers/meta-openembedded/meta-ruby/README
+++ b/import-layers/meta-openembedded/meta-ruby/README
@@ -1,17 +1,18 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: krogoth
+branch: morty
 revision: HEAD
 
 URI: git://github.com/openembedded/meta-oe.git
-branch: krogoth
+branch: morty
 revision: HEAD
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-ruby][krogoth]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-ruby]' 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-ruby][krogoth][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-ruby][morty][PATCH'
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
+
diff --git a/import-layers/meta-openembedded/meta-ruby/classes/ruby.bbclass b/import-layers/meta-openembedded/meta-ruby/classes/ruby.bbclass
index ef844f2..1acf2e0 100644
--- a/import-layers/meta-openembedded/meta-ruby/classes/ruby.bbclass
+++ b/import-layers/meta-openembedded/meta-ruby/classes/ruby.bbclass
@@ -18,7 +18,7 @@
     if not isfile(cmd):
        return found_version
 
-    version = subprocess.Popen([cmd, "--version"], stdout=subprocess.PIPE).communicate()[0]
+    version = subprocess.Popen([cmd, "--version"], stdout=subprocess.PIPE).communicate()[0].decode("utf-8")
     
     r = re.compile("ruby ([0-9]+\.[0-9]+\.[0-9]+)*")
     m = r.match(version)
@@ -38,7 +38,7 @@
     if not isfile(cmd):
        return found_loc
 
-    loc = subprocess.Popen([cmd, "env"], stdout=subprocess.PIPE).communicate()[0]
+    loc = subprocess.Popen([cmd, "env"], stdout=subprocess.PIPE).communicate()[0].decode("utf-8")
 
     r = re.compile(".*\- (/usr.*/ruby/gems/.*)")
     for line in loc.split('\n'):
@@ -60,7 +60,7 @@
     if not isfile(cmd):
        return found_version
 
-    version = subprocess.Popen([cmd, "env", "gemdir"], stdout=subprocess.PIPE).communicate()[0]
+    version = subprocess.Popen([cmd, "env", "gemdir"], stdout=subprocess.PIPE).communicate()[0].decode("utf-8")
     
     r = re.compile(".*([0-9]+\.[0-9]+\.[0-9]+)$")
     m = r.match(version)
diff --git a/import-layers/meta-openembedded/meta-systemd/README b/import-layers/meta-openembedded/meta-systemd/README
index d39e234..073afae 100644
--- a/import-layers/meta-openembedded/meta-systemd/README
+++ b/import-layers/meta-openembedded/meta-systemd/README
@@ -1,13 +1,13 @@
 This layer depends on:
 
 URI: git://github.com/openembedded/oe-core.git
-branch: krogoth
+branch: morty
 revision: HEAD
 
 And we're working to break the dependency on this one:
 
 URI: git://github.com/openembedded/meta-oe.git
-branch: krogoth
+branch: morty
 revision: HEAD
 
 To make BBMASK'ing per layer possible the following directory structure is
@@ -15,12 +15,12 @@
 
 $[LAYERDIR}/<layer name>/recipes-<group-name>/<recipe-name>/<recipe-name>.bbappend
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][meta-systemd][krogoth]' in the subject'
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe][meta-systemd]' 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][meta-systemd][krogoth][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-oe][meta-systemd][morty][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.
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend
index 94d7bd6..9c7d93f 100644
--- a/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend
+++ b/import-layers/meta-openembedded/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend
@@ -2,8 +2,8 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
 SYSTEMD_PACKAGES += "dhcp-client"
-SYSTEMD_SERVICE_dhcp-client = "dhclient.service"
-SYSTEMD_AUTO_ENABLE_dhcp-client = "disable"
+SYSTEMD_SERVICE_${PN}-client = "dhclient.service"
+SYSTEMD_AUTO_ENABLE_${PN}-client = "disable"
 
 FILES_${PN}-client += "${systemd_unitdir}/system/dhclient.service"
 RPROVIDES_dhcp-server += "dhcp-server-systemd"
diff --git a/import-layers/meta-openembedded/meta-webserver/README b/import-layers/meta-openembedded/meta-webserver/README
index e842279..1a63dcc 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: krogoth 
+branch: morty
 revision: HEAD
 
 For some recipes, the meta-oe layer is required:
 
 URI: git://github.com/openembedded/meta-oe.git
 subdirectory: meta-oe
-branch: krogoth 
+branch: morty
 revision: HEAD
 
 
@@ -50,15 +50,14 @@
 
 Maintenance
 -----------
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-systemd][krogoth]' 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-systemd][krogoth][PATCH'
+Send patches / pull requests to openembedded-devel@lists.openembedded.org
+with '[meta-webserver][morty]' in the subject.
 
-
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
 
+
 License
 -------
 
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.20.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.20.bb
deleted file mode 100644
index 9932d12..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.20.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 = "http://www.apache.org/dist/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] = "3ff4f00ee051cf5d5304b47b1bc418b8"
-SRC_URI[sha256sum] = "0e76a375ed3dbac636f50ac39de966ece443751fe4d62392f9a360a19d94d0da"
-
-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.23.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.23.bb
new file mode 100644
index 0000000..b227f19
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.23.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 = "http://www.apache.org/dist/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] = "04f19c60e810c028f5240a062668a688"
+SRC_URI[sha256sum] = "0c1694b2aad7765896faf92843452ee2555b9591ae10d4f19b245f2adfe85e58"
+
+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_2.4.20.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.20.bb
deleted file mode 100644
index 81151d1..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.20.bb
+++ /dev/null
@@ -1,181 +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 = "http://www.apache.org/dist/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 \
-          "
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
-SRC_URI[md5sum] = "3ff4f00ee051cf5d5304b47b1bc418b8"
-SRC_URI[sha256sum] = "0e76a375ed3dbac636f50ac39de966ece443751fe4d62392f9a360a19d94d0da"
-
-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.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
-PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
-
-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/*.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/
-    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
-}
-
-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}/${TARGET_PREFIX}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"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.23.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.23.bb
new file mode 100644
index 0000000..96f21dd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.23.bb
@@ -0,0 +1,182 @@
+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 = "http://www.apache.org/dist/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 \
+          "
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
+SRC_URI[md5sum] = "04f19c60e810c028f5240a062668a688"
+SRC_URI[sha256sum] = "0c1694b2aad7765896faf92843452ee2555b9591ae10d4f19b245f2adfe85e58"
+
+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.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
+PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
+
+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/
+    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
+}
+
+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"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb
index 5287ea4..82fbb77 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb
@@ -19,10 +19,11 @@
 
 inherit autotools pkgconfig binconfig update-rc.d systemd
 
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
 PACKAGECONFIG[ffmpeg] = "--with-ffmpeg,--without-ffmpeg,libav"
 PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
 PACKAGECONFIG[geoip] = "--with-geoip,--without-geoip,geoip"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
 
 EXTRA_OECONF = "--disable-static \
                 --disable-nls \
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/files/hiawatha-init b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/files/hiawatha-init
index 47fc087..7427fcb 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/files/hiawatha-init
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/files/hiawatha-init
@@ -19,6 +19,7 @@
 case "$1" in
   start)
 	echo -n "Starting $DESC: "
+	mkdir -p /var/log/hiawatha &> /dev/null
 	start-stop-daemon --start -x "$DAEMON" -- $OPTS
 	echo "$NAME."
 	;;
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
new file mode 100644
index 0000000..7b6ab26
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.3.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] = "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_9.2.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_9.2.bb
deleted file mode 100644
index 7062174..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_9.2.bb
+++ /dev/null
@@ -1,65 +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] = "a77f044634884c4cc5d21dab44e822a3"
-SRC_URI[sha256sum] = "5d9cdec51c618bb3efab747030e593d9bd49dfaf3236254c8e0cb60715716dbf"
-
-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} \
-                  -DLOG_DIR=/var/log/hiawatha \
-                  -DPID_DIR=/var/run \
-                  -DWEBROOT_DIR=/var/www/hiawatha \
-                  -DWORK_DIR=/var/lib/hiawatha "
-
-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}"
-}
-
-CONFFILES_${PN} = " \
-    ${sysconfdir}/hiawatha/cgi-wrapper.conf \
-    ${sysconfdir}/hiawatha/hiawatha.conf \
-    ${sysconfdir}/hiawatha/index.xslt \
-    ${sysconfdir}/hiawatha/mimetype.conf \
-    ${sysconfdir}/hiawatha/php-fcgi.conf \
-"
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 46792ba..5e96644 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
@@ -6,7 +6,7 @@
 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
-@@ -48,12 +48,20 @@
+@@ -49,12 +49,20 @@
  
  if [ -x $NGX_AUTOTEST ]; then
  
@@ -29,7 +29,7 @@
                  ngx_found=yes
  
                  if test -n "$ngx_feature_name"; then
-@@ -67,17 +75,27 @@
+@@ -68,17 +75,27 @@
  
          value)
              # /bin/sh is used to intercept "Killed" or "Abort trap" messages
@@ -61,7 +61,7 @@
              else
                  echo " found but is not working"
              fi
-@@ -85,7 +103,7 @@
+@@ -86,7 +105,7 @@
  
          bug)
              # /bin/sh is used to intercept "Killed" or "Abort trap" messages
@@ -73,8 +73,8 @@
 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
-@@ -289,6 +289,18 @@
-         --test-build-rtsig)              NGX_TEST_BUILD_RTSIG=YES   ;;
+@@ -353,6 +353,18 @@
+         --test-build-epoll)              NGX_TEST_BUILD_EPOLL=YES   ;;
          --test-build-solaris-sendfilev)  NGX_TEST_BUILD_SOLARIS_SENDFILEV=YES ;;
  
 +        # cross compile support
@@ -92,7 +92,7 @@
          *)
              echo "$0: error: invalid option \"$option\""
              exit 1
-@@ -434,6 +446,17 @@
+@@ -533,6 +445,17 @@
  
    --with-debug                       enable debug logging
  
@@ -110,7 +110,7 @@
  END
  
      exit 1
-@@ -455,6 +478,8 @@
+@@ -554,6 +577,8 @@
  
  if [ ".$NGX_PLATFORM" = ".win32" ]; then
      NGX_WINE=$WINE
@@ -137,14 +137,14 @@
  
  #include <sys/types.h>
  #include <sys/time.h>
-@@ -33,20 +36,20 @@
+@@ -33,15 +36,16 @@
  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"
++              -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"
@@ -153,20 +153,13 @@
 -if [ -x $NGX_AUTOTEST ]; then
 -    ngx_size=`$NGX_AUTOTEST`
 -    echo " $ngx_size bytes"
--fi
 +    if [ -x $NGX_AUTOTEST ]; then
-+	ngx_size=`$NGX_AUTOTEST`
-+	echo " $ngx_size bytes"
++        ngx_size=`$NGX_AUTOTEST`
++        echo " $ngx_size bytes"
 +    fi
+ fi
  
  
--rm -rf $NGX_AUTOTEST*
--
-+    rm -rf $NGX_AUTOTEST*
-+fi
- 
- case $ngx_size in
-     4)
 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
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
index 9926a4b..ce99061 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
@@ -3,10 +3,9 @@
 After=network.target
 [Service]
 Type=forking
-PIDFile=@SYSCONFDIR@/nginx/run/nginx.pid
-ExecStartPre=@BASEBINDIR@/mkdir -p @LOCALSTATEDIR@/log/nginx
-ExecStart=@SYSCONFDIR@/init.d/nginx start
-ExecStop=@SYSCONFDIR@/init.d/nginx stop
+PIDFile=/run/nginx/nginx.pid
+ExecStart=@SBINDIR@/nginx
+ExecStop=@SBINDIR@/nginx -s stop
+ExecReload=@SBINDIR@/nginx -s reload
 [Install]
 WantedBy=multi-user.target
-
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx-1.9.14/nginx-cross.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx-1.9.14/nginx-cross.patch
deleted file mode 100644
index 5e96644..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx-1.9.14/nginx-cross.patch
+++ /dev/null
@@ -1,211 +0,0 @@
-We do not have capability to run binaries when cross compiling
-
-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 @@
- 
- if [ -x $NGX_AUTOTEST ]; then
- 
-+    if [ ".$NGX_CROSS_COMPILE" = ".yes" ]; then
-+        NGX_AUTOTEST_EXEC="true"
-+	NGX_FOUND_MSG=" (not tested, cross compiling)"
-+    else
-+        NGX_AUTOTEST_EXEC="$NGX_AUTOTEST"
-+	NGX_FOUND_MSG=""
-+    fi
-+
-     case "$ngx_feature_run" in
- 
-         yes)
-             # /bin/sh is used to intercept "Killed" or "Abort trap" messages
--            if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then
--                echo " found"
-+            if /bin/sh -c $NGX_AUTOTEST_EXEC >> $NGX_AUTOCONF_ERR 2>&1; then
-+                echo " found$NGX_FOUND_MSG"
-                 ngx_found=yes
- 
-                 if test -n "$ngx_feature_name"; then
-@@ -68,17 +75,27 @@
- 
-         value)
-             # /bin/sh is used to intercept "Killed" or "Abort trap" messages
--            if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then
--                echo " found"
-+            if /bin/sh -c $NGX_AUTOTEST_EXEC >> $NGX_AUTOCONF_ERR 2>&1; then
-+                echo " found$NGX_FOUND_MSG"
-                 ngx_found=yes
- 
--                cat << END >> $NGX_AUTO_CONFIG_H
-+                if [ ".$NGX_CROSS_COMPILE" = ".yes" ]; then
-+                    cat << END >> $NGX_AUTO_CONFIG_H
- 
- #ifndef $ngx_feature_name
--#define $ngx_feature_name  `$NGX_AUTOTEST`
-+#define $ngx_feature_name  $(eval "echo \$NGX_WITH_${ngx_feature_name}")
- #endif
- 
- END
-+		else
-+                    cat << END >> $NGX_AUTO_CONFIG_H
-+
-+#ifndef $ngx_feature_name
-+#define $ngx_feature_name  `$NGX_AUTOTEST_EXEC`
-+#endif
-+
-+END
-+                fi
-             else
-                 echo " found but is not working"
-             fi
-@@ -86,7 +105,7 @@
- 
-         bug)
-             # /bin/sh is used to intercept "Killed" or "Abort trap" messages
--            if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then
-+            if /bin/sh -c $NGX_AUTOTEST_EXEC >> $NGX_AUTOCONF_ERR 2>&1; then
-                 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 @@
-         --test-build-epoll)              NGX_TEST_BUILD_EPOLL=YES   ;;
-         --test-build-solaris-sendfilev)  NGX_TEST_BUILD_SOLARIS_SENDFILEV=YES ;;
- 
-+        # cross compile support
-+        --with-int=*)                    NGX_WITH_INT="$value"          ;;
-+        --with-long=*)                   NGX_WITH_LONG="$value"         ;;
-+        --with-long-long=*)              NGX_WITH_LONG_LONG="$value"    ;;
-+        --with-ptr-size=*)               NGX_WITH_PTR_SIZE="$value"     ;;
-+        --with-sig-atomic-t=*)           NGX_WITH_SIG_ATOMIC_T="$value" ;;
-+        --with-size-t=*)                 NGX_WITH_SIZE_T="$value"       ;;
-+        --with-off-t=*)                  NGX_WITH_OFF_T="$value"        ;;
-+        --with-time-t=*)                 NGX_WITH_TIME_T="$value"       ;;
-+        --with-sys-nerr=*)               NGX_WITH_NGX_SYS_NERR="$value" ;;
-+        --with-endian=*)                 NGX_WITH_ENDIAN="$value"       ;;
-+
-         *)
-             echo "$0: error: invalid option \"$option\""
-             exit 1
-@@ -533,6 +445,17 @@
- 
-   --with-debug                       enable debug logging
- 
-+  --with-int=VALUE                   force int size
-+  --with-long=VALUE                  force long size
-+  --with-long-long=VALUE             force long long size
-+  --with-ptr-size=VALUE              force pointer size
-+  --with-sig-atomic-t=VALUE          force sig_atomic_t size
-+  --with-size-t=VALUE                force size_t size
-+  --with-off-t=VALUE                 force off_t size
-+  --with-time-t=VALUE                force time_t size
-+  --with-sys-nerr=VALUE              force sys_nerr value
-+  --with-endian=VALUE                force system endianess
-+
- END
- 
-     exit 1
-@@ -554,6 +577,8 @@
- 
- if [ ".$NGX_PLATFORM" = ".win32" ]; then
-     NGX_WINE=$WINE
-+elif [ ! -z "$NGX_PLATFORM" ]; then
-+    NGX_CROSS_COMPILE="yes"
- 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 @@
- 
- END
- 
--ngx_size=
-+ngx_size=$(eval "echo \$NGX_WITH_${ngx_param}")
- 
--cat << END > $NGX_AUTOTEST.c
-+if [ ".$ngx_size" != "." ]; then
-+    echo " $ngx_size bytes"
-+else
-+    cat << END > $NGX_AUTOTEST.c
- 
- #include <sys/types.h>
- #include <sys/time.h>
-@@ -33,15 +36,16 @@
- 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
--    ngx_size=`$NGX_AUTOTEST`
--    echo " $ngx_size bytes"
-+    if [ -x $NGX_AUTOTEST ]; then
-+        ngx_size=`$NGX_AUTOTEST`
-+        echo " $ngx_size bytes"
-+    fi
- 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 @@
- 
- # C types
- 
--ngx_type="int"; . auto/types/sizeof
-+ngx_type="int"; ngx_param="INT"; . auto/types/sizeof
- 
--ngx_type="long"; . auto/types/sizeof
-+ngx_type="long"; ngx_param="LONG"; . auto/types/sizeof
- 
--ngx_type="long long"; . auto/types/sizeof
-+ngx_type="long long"; ngx_param="LONG_LONG"; . auto/types/sizeof
- 
--ngx_type="void *"; . auto/types/sizeof; ngx_ptr_size=$ngx_size
-+ngx_type="void *"; ngx_param="PTR_SIZE"; . auto/types/sizeof; ngx_ptr_size=$ngx_size
- ngx_param=NGX_PTR_SIZE; ngx_value=$ngx_size; . auto/types/value
- 
- 
-@@ -416,7 +416,7 @@
- 
- ngx_type="uint64_t"; ngx_types="u_int64_t"; . auto/types/typedef
- 
--ngx_type="sig_atomic_t"; ngx_types="int"; . auto/types/typedef
-+ngx_type="sig_atomic_t"; ngx_param="SIG_ATOMIC_T"; ngx_types="int"; . auto/types/typedef
- . auto/types/sizeof
- ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value
- 
-@@ -432,15 +432,15 @@
- 
- . auto/endianess
- 
--ngx_type="size_t"; . auto/types/sizeof
-+ngx_type="size_t"; ngx_param="SIZE_T"; . auto/types/sizeof
- ngx_param=NGX_MAX_SIZE_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
- ngx_param=NGX_SIZE_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
- 
--ngx_type="off_t"; . auto/types/sizeof
-+ngx_type="off_t"; ngx_param="OFF_T"; . auto/types/sizeof
- ngx_param=NGX_MAX_OFF_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
- ngx_param=NGX_OFF_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
- 
--ngx_type="time_t"; . auto/types/sizeof
-+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
- 
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 ebf926a..36f2ac6 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
@@ -12,12 +12,12 @@
 DEPENDS = "libpcre gzip openssl"
 
 SRC_URI = " \
-	http://nginx.org/download/nginx-${PV}.tar.gz \
-	file://nginx-cross.patch \
-	file://nginx.conf \
-	file://nginx.init \
-	file://nginx-volatile.conf \
-	file://nginx.service \
+    http://nginx.org/download/nginx-${PV}.tar.gz \
+    file://nginx-cross.patch \
+    file://nginx.conf \
+    file://nginx.init \
+    file://nginx-volatile.conf \
+    file://nginx.service \
 "
 
 inherit update-rc.d useradd
@@ -31,99 +31,109 @@
 EXTRA_OECONF = ""
 DISABLE_STATIC = ""
 
+PACKAGECONFIG[http2] = "--with-http_v2_module,,"
+
 do_configure () {
-	if [ "${SITEINFO_BITS}" = "64" ]; then
-		PTRSIZE=8
-	else
-		PTRSIZE=4
-	fi
+    if [ "${SITEINFO_BITS}" = "64" ]; then
+        PTRSIZE=8
+    else
+        PTRSIZE=4
+    fi
 
-	echo $CFLAGS
-	echo $LDFLAGS
+    echo $CFLAGS
+    echo $LDFLAGS
 
-	./configure \
-	--crossbuild=Linux:${TUNE_ARCH} \
-	--with-endian=${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
-	--with-int=4 \
-	--with-long=${PTRSIZE} \
-	--with-long-long=8 \
-	--with-ptr-size=${PTRSIZE} \
-	--with-sig-atomic-t=${PTRSIZE} \
-	--with-size-t=${PTRSIZE} \
-	--with-off-t=${PTRSIZE} \
-	--with-time-t=${PTRSIZE} \
-	--with-sys-nerr=132 \
-	--conf-path=${sysconfdir}/nginx/nginx.conf \
-	--http-log-path=${localstatedir}/log/nginx/access.log \
-	--error-log-path=${localstatedir}/log/nginx/error.log \
-	--pid-path=/run/nginx/nginx.pid \
-	--prefix=${prefix} \
-	--with-http_ssl_module \
-	--with-http_gzip_static_module \
-	${EXTRA_OECONF}
+    # Add the LDFLAGS to the main nginx link to avoid issues with missing GNU_HASH
+    echo "MAIN_LINK=\"\${MAIN_LINK} ${LDFLAGS}\"" >> auto/cc/conf
+
+    ./configure \
+    --crossbuild=Linux:${TUNE_ARCH} \
+    --with-endian=${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
+    --with-int=4 \
+    --with-long=${PTRSIZE} \
+    --with-long-long=8 \
+    --with-ptr-size=${PTRSIZE} \
+    --with-sig-atomic-t=${PTRSIZE} \
+    --with-size-t=${PTRSIZE} \
+    --with-off-t=${PTRSIZE} \
+    --with-time-t=${PTRSIZE} \
+    --with-sys-nerr=132 \
+    --conf-path=${sysconfdir}/nginx/nginx.conf \
+    --http-log-path=${localstatedir}/log/nginx/access.log \
+    --error-log-path=${localstatedir}/log/nginx/error.log \
+    --pid-path=/run/nginx/nginx.pid \
+    --prefix=${prefix} \
+    --with-http_ssl_module \
+    --with-http_gzip_static_module \
+    ${EXTRA_OECONF}
 }
 
 do_install () {
-	oe_runmake 'DESTDIR=${D}' install
-	rm -fr ${D}${localstatedir}/run ${D}/run
-	if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-		install -d ${D}${sysconfdir}/tmpfiles.d
-		echo "d /run/${BPN} - - - -" \
-		     > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
-	fi
-	install -d ${D}${sysconfdir}/${BPN}
-	ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
-	install -d ${D}${NGINX_WWWDIR}
-	mv ${D}/usr/html ${D}${NGINX_WWWDIR}/
-	chown ${NGINX_USER}:www-data -R ${D}${NGINX_WWWDIR}
+    oe_runmake 'DESTDIR=${D}' install
+    rm -fr ${D}${localstatedir}/run ${D}/run
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        echo "d /run/${BPN} - - - -" \
+            > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+        echo "d /${localstatedir}/log/${BPN} 0755 root root -" \
+            >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+    fi
+    install -d ${D}${sysconfdir}/${BPN}
+    ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
+    install -d ${D}${NGINX_WWWDIR}
+    mv ${D}/usr/html ${D}${NGINX_WWWDIR}/
+    chown ${NGINX_USER}:www-data -R ${D}${NGINX_WWWDIR}
 
-	install -d ${D}${sysconfdir}/init.d
-	install -m 0755 ${WORKDIR}/nginx.init ${D}${sysconfdir}/init.d/nginx
-	sed -i 's,/usr/sbin/,${sbindir}/,g' ${D}${sysconfdir}/init.d/nginx
-	sed -i 's,/etc/,${sysconfdir}/,g'  ${D}${sysconfdir}/init.d/nginx
+    install -d ${D}${sysconfdir}/init.d
+    install -m 0755 ${WORKDIR}/nginx.init ${D}${sysconfdir}/init.d/nginx
+    sed -i 's,/usr/sbin/,${sbindir}/,g' ${D}${sysconfdir}/init.d/nginx
+    sed -i 's,/etc/,${sysconfdir}/,g'  ${D}${sysconfdir}/init.d/nginx
 
-	install -d ${D}${sysconfdir}/nginx
-	install -m 0644 ${WORKDIR}/nginx.conf ${D}${sysconfdir}/nginx/nginx.conf
-	sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/nginx/nginx.conf
-	install -d ${D}${sysconfdir}/nginx/sites-enabled
+    install -d ${D}${sysconfdir}/nginx
+    install -m 0644 ${WORKDIR}/nginx.conf ${D}${sysconfdir}/nginx/nginx.conf
+    sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/nginx/nginx.conf
+    sed -i 's/^user.*/user ${NGINX_USER};/g' ${D}${sysconfdir}/nginx/nginx.conf
+    install -d ${D}${sysconfdir}/nginx/sites-enabled
 
-	install -d ${D}${sysconfdir}/default/volatiles
-	install -m 0644 ${WORKDIR}/nginx-volatile.conf ${D}${sysconfdir}/default/volatiles/99_nginx
-	sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/default/volatiles/99_nginx
+    install -d ${D}${sysconfdir}/default/volatiles
+    install -m 0644 ${WORKDIR}/nginx-volatile.conf ${D}${sysconfdir}/default/volatiles/99_nginx
+    sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/default/volatiles/99_nginx
 
-        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
-            install -d ${D}${systemd_unitdir}/system
-            install -m 0644 ${WORKDIR}/nginx.service ${D}${systemd_unitdir}/system/
-            sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
-                    -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
-                    -e 's,@BASEBINDIR@,${base_bindir},g' \
-                    ${D}${systemd_unitdir}/system/nginx.service
-        fi
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
+        install -d ${D}${systemd_unitdir}/system
+        install -m 0644 ${WORKDIR}/nginx.service ${D}${systemd_unitdir}/system/
+        sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+            -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
+            -e 's,@SBINDIR@,${sbindir},g' \
+            ${D}${systemd_unitdir}/system/nginx.service
+    fi
 }
 
 pkg_postinst_${PN} () {
-	if [ -z "$D" ]; then
-		if type systemd-tmpfiles >/dev/null; then
-			systemd-tmpfiles --create
-		elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
-			${sysconfdir}/init.d/populate-volatile.sh update
-		fi
-	fi
+    if [ -z "$D" ]; then
+        if type systemd-tmpfiles >/dev/null; then
+            systemd-tmpfiles --create
+        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+            ${sysconfdir}/init.d/populate-volatile.sh update
+        fi
+    fi
 }
 
-FILES_${PN} += "${localstatedir}/ \
-                ${systemd_unitdir}/system/nginx.service \
-                "
+FILES_${PN} += " \
+    ${localstatedir}/ \
+    ${systemd_unitdir}/system/nginx.service \
+"
 
-CONFFILES_${PN} = "${sysconfdir}/nginx/nginx.conf \
-		${sysconfdir}/nginx/fastcgi.conf\
-		${sysconfdir}/nginx/fastcgi_params \
-		${sysconfdir}/nginx/koi-utf \
-		${sysconfdir}/nginx/koi-win \
-		${sysconfdir}/nginx/mime.types \
-		${sysconfdir}/nginx/scgi_params \
-		${sysconfdir}/nginx/uwsgi_params \
-		${sysconfdir}/nginx/win-utf \
+CONFFILES_${PN} = " \
+    ${sysconfdir}/nginx/nginx.conf \
+    ${sysconfdir}/nginx/fastcgi.conf \
+    ${sysconfdir}/nginx/fastcgi_params \
+    ${sysconfdir}/nginx/koi-utf \
+    ${sysconfdir}/nginx/koi-win \
+    ${sysconfdir}/nginx/mime.types \
+    ${sysconfdir}/nginx/scgi_params \
+    ${sysconfdir}/nginx/uwsgi_params \
+    ${sysconfdir}/nginx/win-utf \
 "
 
 INITSCRIPT_NAME = "nginx"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.1.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.1.bb
new file mode 100644
index 0000000..c5392c7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.10.1.bb
@@ -0,0 +1,6 @@
+require nginx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0bb58ed0dfd4f5dbece3b52aba79f023"
+
+SRC_URI[md5sum] = "088292d9caf6059ef328aa7dda332e44"
+SRC_URI[sha256sum] = "1fd35846566485e03c0e318989561c135c598323ff349c503a6c14826487a801"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.5.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.5.bb
new file mode 100644
index 0000000..ae05c96
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.11.5.bb
@@ -0,0 +1,10 @@
+require nginx.inc
+
+# 1.10.x branch is the current stable branch, the recommended default
+# 1.11.x is the current mainline branches containing all new features
+DEFAULT_PREFERENCE = "-1"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0bb58ed0dfd4f5dbece3b52aba79f023"
+
+SRC_URI[md5sum] = "db43f2b19746f6f47401c3afc3924dc6"
+SRC_URI[sha256sum] = "223f8a2345a75f891098cf26ccdf208b293350388f51ce69083674c9432db6f6"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.8.1.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.8.1.bb
deleted file mode 100644
index 089f547..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.8.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require nginx.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3845852aedfa8d6d7765f55d06cc3ebd"
-
-SRC_URI[md5sum] = "2e91695074dbdfbf1bcec0ada9fda462"
-SRC_URI[sha256sum] = "8f4b3c630966c044ec72715754334d1fdf741caa1d5795fb4646c27d09f797b7"
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.9.14.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.9.14.bb
deleted file mode 100644
index 585c52c..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.9.14.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require nginx.inc
-
-# 1.9.x is the current mainline branches containing all new features
-# 1.8.x branch is the current stable branch, the recommended default
-DEFAULT_PREFERENCE = "-1"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0bb58ed0dfd4f5dbece3b52aba79f023"
-
-SRC_URI[md5sum] = "a25818039f34b5d54b017d44c76321c4"
-SRC_URI[sha256sum] = "2b4893076d28e6b4384bba8c4fdebfca6de6f8f68ec48a1ca94b9b855ff457d2"
-
-DISABLE_STATIC = ""
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch
index 7cf011b..8cd4682 100644
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch
@@ -91,7 +91,9 @@
 index f6d12de..9524911 100644
 --- a/src/nhttpd/GNUmakefile
 +++ b/src/nhttpd/GNUmakefile
-@@ -1,18 +1,18 @@
+@@ -1,20 +1,20 @@
+ #	$nostromo: GNUmakefile,v 1.6 2016/04/12 19:02:06 hacki Exp $
+ 
 -CCFLAGS = -O2 -pipe -Wall -Wstrict-prototypes -c
 +CFLAGS := -O2 -pipe -Wall -Wstrict-prototypes -c
  
@@ -120,14 +122,16 @@
 index 15bea61..663ddb5 100644
 --- a/src/tools/GNUmakefile
 +++ b/src/tools/GNUmakefile
-@@ -1,11 +1,11 @@
+@@ -1,13 +1,13 @@
+ #	$nostromo: GNUmakefile,v 1.3 2016/04/12 19:02:58 hacki Exp $
+ 
 -CCFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes -c
-+CCFLAGS := -O2 -pipe -Wall -Werror -Wstrict-prototypes
++CFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes
  
  crypt:		crypt.o
--		cc -o crypt crypt.o -lcrypt
+-		cc -L../libbsd -o crypt crypt.o -lcrypt -lbsd
 -		strip crypt
-+		$(CC) $(CFLAGS) -o crypt crypt.o -lcrypt
++		$(CC) $(CFLAGS) -L../libbsd -o crypt crypt.o -lcrypt -lbsd
 +#		$(STRIP) crypt
  
  crypt.o:	crypt.c
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.5.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.5.bb
deleted file mode 100644
index 562ecd0..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.5.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "A simple, fast and secure HTTP server"
-HOMEPAGE = "http://www.nazgul.ch/dev_nostromo.html"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://src/nhttpd/main.c;beginline=2;endline=14;md5=e5ec3fa723b29b7d59d205afd8d36938"
-
-SRC_URI = "http://www.nazgul.ch/dev/${BPN}-${PV}.tar.gz \
-           file://0001-GNUmakefile-add-possibility-to-override-variables.patch \
-           file://nhttpd.conf \
-           file://volatiles \
-           file://tmpfiles.conf \
-           file://nostromo \
-"
-
-SRC_URI[md5sum] = "dc6cfd6b5aae04c370c7f818fa7bde55"
-SRC_URI[sha256sum] = "5f62578285e02449406b46cf06a7888fe3dc4a90bedf58cc18523bad62f6b914"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-DEPENDS = "openssl"
-
-inherit update-rc.d useradd
-
-INITSCRIPT_NAME = "nostromo"
-INITSCRIPT_PARAMS = "defaults 70"
-
-do_compile() {
-    oe_runmake
-}
-
-# we need user/group www-data to exist when we install
-#
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system -g www-data www-data"
-
-do_install() {
-    install -d ${D}/${sbindir}
-    install -m 0755 src/nhttpd/nhttpd ${D}/${sbindir}/nhttpd
-    install -m 0755 src/tools/crypt ${D}/${sbindir}/crypt
-    install -d ${D}/${mandir}/man8
-    install -m 0444 src/nhttpd/nhttpd.8 ${D}/${mandir}/man8/nhttpd.8
-    install -d ${D}${localstatedir}/nostromo/conf
-    install -d ${D}${localstatedir}/nostromo/htdocs/cgi-bin
-    install -d ${D}${localstatedir}/nostromo/icons
-    install -d ${D}${sysconfdir}/init.d
-    install -m 0644 conf/mimes ${D}${localstatedir}/nostromo/conf/mimes
-    install -m 0644 ${WORKDIR}/nhttpd.conf ${D}${sysconfdir}
-    install -m 0755 ${WORKDIR}/nostromo ${D}${sysconfdir}/init.d
-    install -D -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/nostromo
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -D -m 0644 ${WORKDIR}/tmpfiles.conf ${D}${sysconfdir}/tmpfiles.d/nostromo.conf
-    fi
-    install -m 0644 htdocs/index.html ${D}${localstatedir}/nostromo/htdocs/index.html
-    install -m 0644 htdocs/nostromo.gif ${D}${localstatedir}/nostromo/htdocs/nostromo.gif
-    install -m 0644 icons/dir.gif ${D}${localstatedir}/nostromo/icons/dir.gif
-    install -m 0644 icons/file.gif ${D}${localstatedir}/nostromo/icons/file.gif
-    chown -R www-data:www-data ${D}/${localstatedir}/nostromo
-}
-
-CONFFILES_${PN} += "/var/nostromo/conf/mimes ${sysconfdir}/nhttpd.conf"
-
-pkg_postinst_${PN} () {
-    if [ -z "$D" ]; then
-        if [ -e /sys/fs/cgroup/systemd ]; then
-            systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/nostromo.conf
-        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
-            ${sysconfdir}/init.d/populate-volatile.sh update
-        fi
-    fi
-}
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb
new file mode 100644
index 0000000..5493c12
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb
@@ -0,0 +1,64 @@
+SUMMARY = "A simple, fast and secure HTTP server"
+HOMEPAGE = "http://www.nazgul.ch/dev_nostromo.html"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://src/nhttpd/main.c;beginline=2;endline=14;md5=0bb3711a867b9704d3bfabcf5529b64e"
+
+SRC_URI = "http://www.nazgul.ch/dev/${BPN}-${PV}.tar.gz \
+           file://0001-GNUmakefile-add-possibility-to-override-variables.patch \
+           file://nhttpd.conf \
+           file://volatiles \
+           file://tmpfiles.conf \
+           file://nostromo \
+"
+
+SRC_URI[md5sum] = "27aa241d78ff78920354c3e03a5026ea"
+SRC_URI[sha256sum] = "541494ecfeafec58c0876ccc90cc23b06e0144f6f42029af44c7cdb1f411e8eb"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+DEPENDS = "openssl groff-native"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "nostromo"
+INITSCRIPT_PARAMS = "defaults 70"
+
+do_compile() {
+    oe_runmake
+}
+
+do_install() {
+    install -d ${D}/${sbindir}
+    install -m 0755 src/nhttpd/nhttpd ${D}/${sbindir}/nhttpd
+    install -m 0755 src/tools/crypt ${D}/${sbindir}/crypt
+    install -d ${D}/${mandir}/man8
+    install -m 0444 src/nhttpd/nhttpd.8 ${D}/${mandir}/man8/nhttpd.8
+    install -d ${D}${localstatedir}/nostromo/conf
+    install -d ${D}${localstatedir}/nostromo/htdocs/cgi-bin
+    install -d ${D}${localstatedir}/nostromo/icons
+    install -d ${D}${sysconfdir}/init.d
+    install -m 0644 conf/mimes ${D}${localstatedir}/nostromo/conf/mimes
+    install -m 0644 ${WORKDIR}/nhttpd.conf ${D}${sysconfdir}
+    install -m 0755 ${WORKDIR}/nostromo ${D}${sysconfdir}/init.d
+    install -D -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/nostromo
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -D -m 0644 ${WORKDIR}/tmpfiles.conf ${D}${sysconfdir}/tmpfiles.d/nostromo.conf
+    fi
+    install -m 0644 htdocs/index.html ${D}${localstatedir}/nostromo/htdocs/index.html
+    install -m 0644 htdocs/nostromo.gif ${D}${localstatedir}/nostromo/htdocs/nostromo.gif
+    install -m 0644 icons/dir.gif ${D}${localstatedir}/nostromo/icons/dir.gif
+    install -m 0644 icons/file.gif ${D}${localstatedir}/nostromo/icons/file.gif
+    chown -R www-data:www-data ${D}/${localstatedir}/nostromo
+}
+
+CONFFILES_${PN} += "/var/nostromo/conf/mimes ${sysconfdir}/nhttpd.conf"
+
+pkg_postinst_${PN} () {
+    if [ -z "$D" ]; then
+        if [ -e /sys/fs/cgroup/systemd ]; then
+            systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/nostromo.conf
+        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+            ${sysconfdir}/init.d/populate-volatile.sh update
+        fi
+    fi
+}
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb
deleted file mode 100644
index 7034921..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "A simple, small, portable, fast, and secure HTTP server"
-DESCRIPTION = "A simple, small, portable, fast, and secure HTTP server (supported fork of thttpd)."
-HOMEPAGE = "http://opensource.dyc.edu/sthttpd"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://src/thttpd.c;beginline=1;endline=26;md5=0c5762c2c34dcbe9eb18815516502872"
-
-SRC_URI = "http://opensource.dyc.edu/pub/sthttpd/sthttpd-${PV}.tar.gz \
-           file://thttpd.service \
-           file://thttpd.conf \
-           file://init"
-
-SRC_URI[md5sum] = "e645a85a97d3cb883011a35bc2211815"
-SRC_URI[sha256sum] = "78e87979140cbda123c81b4051552242dbbffb5dec1a17e5f95ec4826b1eaddb"
-
-S = "${WORKDIR}/sthttpd-${PV}"
-
-inherit autotools update-rc.d systemd
-
-SRV_DIR ?= "${servicedir}/www"
-
-EXTRA_OEMAKE += "'WEBDIR=${SRV_DIR}'"
-
-do_install_append () {
-    install -d ${D}${sysconfdir}/init.d
-    install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/thttpd
-    install -c -m 755 ${WORKDIR}/thttpd.conf ${D}${sysconfdir}
-    sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${sysconfdir}/init.d/thttpd
-    sed -i -e 's,@@SRVDIR,${SRV_DIR},g' ${D}${sysconfdir}/thttpd.conf
-    sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/thttpd
-
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${WORKDIR}/thttpd.service ${D}${systemd_unitdir}/system
-    sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_unitdir}/system/thttpd.service
-    sed -i 's!/var/!${localstatedir}/!g' ${D}${systemd_unitdir}/system/thttpd.service
-    sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${systemd_unitdir}/system/thttpd.service
-}
-
-INITSCRIPT_NAME = "thttpd"
-INITSCRIPT_PARAMS = "defaults"
-
-SYSTEMD_SERVICE_${PN} = "thttpd.service"
-
-FILES_${PN} += "${SRV_DIR}"
-FILES_${PN}-dbg += "${SRV_DIR}/cgi-bin/.debug"
-
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.0.bb b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.0.bb
new file mode 100644
index 0000000..efa533a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "A simple, small, portable, fast, and secure HTTP server"
+DESCRIPTION = "A simple, small, portable, fast, and secure HTTP server (supported fork of thttpd)."
+HOMEPAGE = "http://opensource.dyc.edu/sthttpd"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://src/thttpd.c;beginline=1;endline=26;md5=0c5762c2c34dcbe9eb18815516502872"
+
+SRC_URI = "http://opensource.dyc.edu/pub/sthttpd/sthttpd-${PV}.tar.gz \
+           file://thttpd.service \
+           file://thttpd.conf \
+           file://init"
+
+SRC_URI[md5sum] = "f7dd2d506dc5fad2ad8794b1800d2634"
+SRC_URI[sha256sum] = "97d660a881331e93818e872ce11536f461105d70a18dfc5de5895851c4b2afdb"
+
+S = "${WORKDIR}/sthttpd-${PV}"
+
+inherit autotools update-rc.d systemd
+
+SRV_DIR ?= "${servicedir}/www"
+
+# Note that `${sbindir}/makeweb' is installed setgid to this group,
+# but ${SRV_DIR} is not installed chgrp'd to the group by default.
+WEBGROUP ?= "www-data"
+
+do_configure_prepend () {
+    export WEBDIR=${SRV_DIR}
+    export WEBGROUP=${WEBGROUP}
+}
+
+do_install_append () {
+    install -d ${D}${sysconfdir}/init.d
+    install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/thttpd
+    install -c -m 755 ${WORKDIR}/thttpd.conf ${D}${sysconfdir}
+    sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${sysconfdir}/init.d/thttpd
+    sed -i -e 's,@@SRVDIR,${SRV_DIR},g' ${D}${sysconfdir}/thttpd.conf
+    sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/thttpd
+
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/thttpd.service ${D}${systemd_unitdir}/system
+    sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_unitdir}/system/thttpd.service
+    sed -i 's!/var/!${localstatedir}/!g' ${D}${systemd_unitdir}/system/thttpd.service
+    sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${systemd_unitdir}/system/thttpd.service
+}
+
+INITSCRIPT_NAME = "thttpd"
+INITSCRIPT_PARAMS = "defaults"
+
+SYSTEMD_SERVICE_${PN} = "thttpd.service"
+
+FILES_${PN} += "${SRV_DIR}"
+FILES_${PN}-dbg += "${SRV_DIR}/cgi-bin/.debug"
+
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/Port-content-spoofing-fix-CVE-2015-7873.patch b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/Port-content-spoofing-fix-CVE-2015-7873.patch
deleted file mode 100644
index 1e6bcbd..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/Port-content-spoofing-fix-CVE-2015-7873.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From ae7eae1cc88cbdf2d27a6f10f097ef731823689e Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Sat, 14 Nov 2015 02:01:54 -0500
-Subject: [PATCH] Port content spoofing fix
-
-Backport upstream commit for fixing CVE-2015-7873:
-  https://github.com/phpmyadmin/phpmyadmin/commit/cd097656758f981f80fb9029c7d6b4294582b706
-
-Upstream-Status: Backport
-
-Signed-off-by: Marc Delisle <marc@infomarc.info>
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- ChangeLog | 4 ++++
- url.php   | 3 ++-
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 4cb6708..96936c8 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -107,6 +107,10 @@ phpMyAdmin - ChangeLog
- - issue #11448 Clarify doc about the MemoryLimit directive
- - issue #11489 Cannot copy a database under certain conditions
- 
-+4.4.15.1 (2015-10-23)
-+- issue #11464 phpMyAdmin suggests upgrading to newer version not usable on that system
-+- issue [security] Content spoofing on url.php
-+
- 4.4.15.0 (not yet released)
- - issue #11411 Undefined "replace" function on numeric scalar
- - issue #11421 Stored-proc / routine - broken parameter parsing
-diff --git a/url.php b/url.php
-index eec78a5..9c4c884 100644
---- a/url.php
-+++ b/url.php
-@@ -32,6 +32,7 @@ if (! PMA_isValid($_REQUEST['url'])
-             }
-         </script>";
-     // Display redirecting msg on screen.
--    printf(__('Taking you to %s.'), htmlspecialchars($_REQUEST['url']));
-+    // Do not display the value of $_REQUEST['url'] to avoid showing injected content
-+    echo __('Taking you to the target site.');
- }
- die();
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/phpmyadmin-CVE-2015-8669.patch b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/phpmyadmin-CVE-2015-8669.patch
deleted file mode 100644
index 65fff64..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin/phpmyadmin-CVE-2015-8669.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-[Security] Path disclosure, see PMASA-2015-6
-
-Upstream-Status: Bacport
-
-Signed-off-by: Marc Delisle <marc@infomarc.info>
-
-diff -Nur phpMyAdmin-4.5.0.2-all-languages.orig/libraries/config/messages.inc.php phpMyAdmin-4.5.0.2-all-languages/libraries/config/messages.inc.php
---- phpMyAdmin-4.5.0.2-all-languages.orig/libraries/config/messages.inc.php	2016-01-20 15:11:15.410106888 +0800
-+++ phpMyAdmin-4.5.0.2-all-languages/libraries/config/messages.inc.php	2016-01-20 15:14:05.758108076 +0800
-@@ -11,7 +11,7 @@
-  */
- 
- if (!function_exists('__')) {
--    PMA_fatalError('Bad invocation!');
-+    exit();
- }
- 
- $strConfigAllowArbitraryServer_desc = __(
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.5.0.2.bb b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.5.0.2.bb
deleted file mode 100644
index ac32185..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.5.0.2.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Web-based MySQL administration interface"
-HOMEPAGE = "http://www.phpmyadmin.net"
-# Main code is GPLv2, libraries/tcpdf is under LGPLv3, js/jquery is under MIT
-LICENSE = "GPLv2 & LGPLv3 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://libraries/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c"
-
-SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/4.5.0.2/phpMyAdmin-4.5.0.2-all-languages.tar.xz \
-           file://Port-content-spoofing-fix-CVE-2015-7873.patch \
-           file://apache.conf \
-           file://phpmyadmin-CVE-2015-8669.patch \
-"
-
-SRC_URI[md5sum] = "2d08d2fcc8f70f88a11a14723e3ca275"
-SRC_URI[sha256sum] = "d2e90ea486d90b4ebe5eb02d7ad349ad2916c12a8981f98553395ef78d22a8ec"
-
-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.6.3.bb b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.6.3.bb
new file mode 100644
index 0000000..61872ae
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.6.3.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Web-based MySQL administration interface"
+HOMEPAGE = "http://www.phpmyadmin.net"
+# Main code is GPLv2, libraries/tcpdf is under LGPLv3, js/jquery is under MIT
+LICENSE = "GPLv2 & LGPLv3 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://libraries/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c"
+
+SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
+           file://apache.conf \
+"
+
+SRC_URI[md5sum] = "53c7a6a577d10de04a5dd21a05018542"
+SRC_URI[sha256sum] = "943bad38a95f21bb015bdb78c9c067e0ea7510c1b35d4b8e757cb89c413e3bac"
+
+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-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch
new file mode 100644
index 0000000..d5529a2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch
@@ -0,0 +1,19 @@
+diff --git a/plugins.d/charts.d.plugin b/plugins.d/charts.d.plugin
+index 40c0356..bca57b3 100755
+--- a/plugins.d/charts.d.plugin
++++ b/plugins.d/charts.d.plugin
+@@ -184,10 +184,10 @@ fi
+ # timeout command we use, providing a function that
+ # can emulate the timeout command we need:
+ # > timeout SECONDS command ...
+-if [ $check_for_timeout -eq 1 ]
+-	then
+-	require_cmd timeout || exit 1
+-fi
++#if [ $check_for_timeout -eq 1 ]
++#	then
++#	require_cmd timeout || exit 1
++#fi
+
+ # -----------------------------------------------------------------------------
+ # internal checks
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.conf b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.conf
new file mode 100644
index 0000000..a2b3999
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.conf
@@ -0,0 +1,5083 @@
+# NetData Configuration
+# You can uncomment and change any of the options below.
+# The value shown in the commented settings, is the default value.
+
+# global netdata configuration
+
+[global]
+       debug flags = 0x10000000
+       hostname = netdata
+       history = 86400
+       config directory = @@sysconfdir/netdata
+       plugins directory = @@libdir/netdata/plugins.d
+       web files directory = @@datadir/netdata/web
+       cache directory = /var/cache/netdata
+       log directory = /var/log/netdata
+       # host access prefix =
+       # memory deduplication (ksm) = yes
+       # debug log = /var/log/netdata/debug.log
+       # error log = /var/log/netdata/error.log
+       # access log = /var/log/netdata/access.log
+       # memory mode = save
+       # update every = 1
+       # pthread stack size = 8388608
+       # run as user = netdata
+       # web files owner = netdata
+       # http port listen backlog = 100
+       # port = 19999
+       # ip version = any
+       # disconnect idle web clients after seconds = 60
+       # enable web responses gzip compression = yes
+
+[plugins]
+       # tc = yes
+       tc = no
+       # idlejitter = yes
+       proc = yes
+       checks = no
+       plugins directory = @@libdir/netdata/plugins.d
+       nable running new plugins = yes
+       check for new plugins every = 60
+       charts.d = yes
+       sma_webbox = no
+       apps = yes
+       node.d = yes
+
+
+# per plugin configuration
+
+[plugin:proc:/proc/net/dev]
+       # filename to monitor = /proc/net/dev
+       # enable new interfaces detected at runtime = on demand
+       # enable ifb interfaces = no
+       # bandwidth for all interfaces = on demand
+       # packets for all interfaces = on demand
+       # errors for all interfaces = on demand
+       # drops for all interfaces = on demand
+       # fifo for all interfaces = on demand
+       # compressed packets for all interfaces = on demand
+       # frames, collisions, carrier counters for all interfaces = on demand
+
+[plugin:proc]
+       # /proc/net/dev = yes
+       # /proc/diskstats = yes
+       # /proc/net/snmp = yes
+       # /proc/net/snmp6 = yes
+       # /proc/net/netstat = yes
+       # /proc/net/stat/conntrack = yes
+       # /proc/net/ip_vs/stats = yes
+       # /proc/stat = yes
+       # /proc/meminfo = yes
+       # /proc/vmstat = yes
+       # /proc/net/rpc/nfsd = yes
+       # /proc/sys/kernel/random/entropy_avail = yes
+       # /proc/interrupts = yes
+       # /proc/softirqs = yes
+       # /proc/loadavg = yes
+       # /sys/kernel/mm/ksm = yes
+       # netdata server resources = yes
+
+[plugin:tc]
+       # script to run to get tc values = /usr/lib/netdata/netdata/plugins.d/tc-qos-helper.sh
+       # enable new interfaces detected at runtime = yes
+       # qos for eth1-ifb = yes
+       # cleanup unused classes every = 60
+       # qos for eth0 = yes
+       # qos for eth1 = yes
+       # qos for eth0-ifb = yes
+
+[plugin:charts.d]
+       # update every = 1
+       # command options =
+
+[plugin:apps]
+       # update every = 1
+       # command options =
+
+[plugin:idlejitter]
+       # loop time in ms = 20
+
+[plugin:proc:/proc/interrupts]
+       # interrupts per core = yes
+       # filename to monitor = /proc/interrupts
+
+[plugin:proc:/proc/sys/kernel/random/entropy_avail]
+       # filename to monitor = /proc/sys/kernel/random/entropy_avail
+
+[plugin:proc:/proc/diskstats]
+       # enable new disks detected at runtime = on demand
+       # bandwidth for all disks = on demand
+       # operations for all disks = on demand
+       # merged operations for all disks = on demand
+       # i/o time for all disks = on demand
+       # queued operations for all disks = on demand
+       # utilization percentage for all disks = on demand
+       # backlog for all disks = on demand
+       # filename to monitor = /proc/diskstats
+       # path to get h/w sector size = /sys/block/%s/queue/hw_sector_size
+
+[plugin:proc:/proc/net/snmp]
+       # ipv4 packets = yes
+       # ipv4 fragments sent = yes
+       # ipv4 fragments assembly = yes
+       # ipv4 errors = yes
+       # ipv4 TCP connections = yes
+       # ipv4 TCP packets = yes
+       # ipv4 TCP errors = yes
+       # ipv4 TCP handshake issues = yes
+       # ipv4 UDP packets = yes
+       # ipv4 UDP errors = yes
+       # filename to monitor = /proc/net/snmp
+
+[plugin:proc:/proc/net/netstat]
+       # bandwidth = on demand
+       # input errors = on demand
+       # multicast bandwidth = on demand
+       # broadcast bandwidth = on demand
+       # multicast packets = on demand
+       # broadcast packets = on demand
+       # filename to monitor = /proc/net/netstat
+
+[plugin:proc:/proc/net/stat/nf_conntrack]
+       # netfilter connections = yes
+       # netfilter new connections = yes
+       # netfilter connection changes = yes
+       # netfilter connection expectations = yes
+       # netfilter connection searches = yes
+       # netfilter errors = yes
+       # filename to monitor = /proc/net/stat/nf_conntrack
+
+[plugin:proc:/proc/net/ip_vs_stats]
+       # IPVS bandwidth = yes
+       # IPVS connections = yes
+       # IPVS packets = yes
+       # filename to monitor = /proc/net/ip_vs_stats
+
+[plugin:proc:/proc/stat]
+       # cpu utilization = yes
+       # per cpu core utilization = yes
+       # cpu interrupts = yes
+       # context switches = yes
+       # processes started = yes
+       # processes running = yes
+       # filename to monitor = /proc/stat
+
+[plugin:proc:/proc/meminfo]
+       # system ram = yes
+       # system swap = yes
+       # hardware corrupted ECC = on demand
+       # committed memory = yes
+       # writeback memory = yes
+       # kernel memory = yes
+       # slab memory = yes
+       # filename to monitor = /proc/meminfo
+
+[plugin:proc:/proc/vmstat]
+       # swap i/o = yes
+       # disk i/o = yes
+       # memory page faults = yes
+       # filename to monitor = /proc/vmstat
+
+[plugin:proc:/proc/net/rpc/nfsd]
+       # filename to monitor = /proc/net/rpc/nfsd
+       # read cache = yes
+       # file handles = yes
+       # I/O = yes
+       # threads = yes
+       # read ahead = yes
+       # network = yes
+       # rpc = yes
+       # NFS v2 procedures = yes
+       # NFS v3 procedures = yes
+       # NFS v4 procedures = yes
+       # NFS v4 operations = yes
+
+[plugin:proc:/proc/net/dev:lo]
+       # enabled = no
+
+[plugin:proc:/proc/net/dev:fireqos_monitor]
+       # enabled = no
+
+[plugin:sma_webbox]
+       # update every = 1
+       # command options =
+
+[plugin:node.d]
+       # update every = 1
+       # command options =
+
+[plugin:proc:/sys/kernel/mm/ksm]
+       # /sys/kernel/mm/ksm/pages_shared = /sys/kernel/mm/ksm/pages_shared
+       # /sys/kernel/mm/ksm/pages_sharing = /sys/kernel/mm/ksm/pages_sharing
+       # /sys/kernel/mm/ksm/pages_unshared = /sys/kernel/mm/ksm/pages_unshared
+       # /sys/kernel/mm/ksm/pages_volatile = /sys/kernel/mm/ksm/pages_volatile
+       # /sys/kernel/mm/ksm/pages_to_scan = /sys/kernel/mm/ksm/pages_to_scan
+
+[plugin:proc:/proc/loadavg]
+       # filename to monitor = /proc/loadavg
+       # enable load average = yes
+       # enable total processes = yes
+
+[plugin:proc:/proc/softirqs]
+       # interrupts per core = yes
+       # filename to monitor = /proc/softirqs
+
+[plugin:proc:/proc/net/dev:eth1-ifb]
+       # enabled = no
+
+[plugin:proc:/proc/net/dev:eth0]
+       # enabled = on demand
+       # bandwidth = on demand
+       # packets = on demand
+       # errors = on demand
+       # drops = on demand
+       # fifo = on demand
+       # compressed = on demand
+       # events = on demand
+
+[plugin:proc:/proc/net/dev:eth1]
+       # enabled = on demand
+       # bandwidth = on demand
+       # packets = on demand
+       # errors = on demand
+       # drops = on demand
+       # fifo = on demand
+       # compressed = on demand
+       # events = on demand
+
+[plugin:proc:/proc/net/dev:eth0-ifb]
+       # enabled = no
+
+[plugin:proc:/proc/diskstats:fd0]
+       # enabled = no
+
+[plugin:proc:/proc/diskstats:sda]
+       # enabled = on demand
+       # bandwidth = on demand
+       # operations = on demand
+       # merged operations = on demand
+       # i/o time = on demand
+       queued operations = yes
+       # utilization percentage = on demand
+       # backlog = on demand
+
+[plugin:proc:/proc/diskstats:sda1]
+       # enabled = no
+
+[plugin:proc:/proc/diskstats:sda2]
+       # enabled = no
+
+[plugin:proc:/proc/diskstats:sda5]
+       # enabled = no
+
+[plugin:proc:/proc/diskstats:sr0]
+       # enabled = no
+
+[plugin:proc:/proc/net/snmp6]
+       # ipv6 packets = on demand
+       # ipv6 fragments sent = on demand
+       # ipv6 fragments assembly = on demand
+       # ipv6 errors = on demand
+       # ipv6 UDP packets = on demand
+       # ipv6 UDP errors = on demand
+       # ipv6 UDPlite packets = on demand
+       # ipv6 UDPlite errors = on demand
+       # bandwidth = on demand
+       # multicast bandwidth = on demand
+       # broadcast bandwidth = on demand
+       # multicast packets = on demand
+       # icmp = on demand
+       # icmp redirects = on demand
+       # icmp errors = on demand
+       # icmp echos = on demand
+       # icmp group membership = on demand
+       # icmp router = on demand
+       # icmp neighbor = on demand
+       # icmp mldv2 = on demand
+       # icmp types = on demand
+       # ect = on demand
+       # filename to monitor = /proc/net/snmp6
+
+
+# per chart configuration
+
+[system.idlejitter]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/system.idlejitter
+       # chart type = line
+       # type = system
+       # family = processes
+       # context = system.idlejitter
+       # units = microseconds lost/s
+       # priority = 9999
+       # gap when lost iterations above = 1
+       # name = system.idlejitter
+       # title = CPU Idle Jitter (system.idlejitter)
+       # dim jitter name = jitter
+       # dim jitter algorithm = absolute
+       # dim jitter multiplier = 1
+       # dim jitter divisor = 1
+
+[system.interrupts]
+       # history = 86400
+       # enabled = yes
+       enabled = yes
+       # cache directory = /var/cache/netdata/system.interrupts
+       # chart type = stacked
+       # type = system
+       # family = interrupts
+       # context = system.interrupts
+       # units = interrupts/s
+       # priority = 1000
+       # gap when lost iterations above = 1
+       # name = system.interrupts
+       # title = System interrupts (system.interrupts)
+       # dim 0 name = timer_0
+       # dim 0 algorithm = incremental
+       # dim 0 multiplier = 1
+       # dim 0 divisor = 1
+       # dim 1 name = i8042_1
+       # dim 1 algorithm = incremental
+       # dim 1 multiplier = 1
+       # dim 1 divisor = 1
+       # dim 6 name = floppy_6
+       # dim 6 algorithm = incremental
+       # dim 6 multiplier = 1
+       # dim 6 divisor = 1
+       # dim 8 name = rtc0_8
+       # dim 8 algorithm = incremental
+       # dim 8 multiplier = 1
+       # dim 8 divisor = 1
+       # dim 9 name = acpi_9
+       # dim 9 algorithm = incremental
+       # dim 9 multiplier = 1
+       # dim 9 divisor = 1
+       # dim 12 name = i8042_12
+       # dim 12 algorithm = incremental
+       # dim 12 multiplier = 1
+       # dim 12 divisor = 1
+       # dim 14 name = ata_piix_14
+       # dim 14 algorithm = incremental
+       # dim 14 multiplier = 1
+       # dim 14 divisor = 1
+       # dim 15 name = ata_piix_15
+       # dim 15 algorithm = incremental
+       # dim 15 multiplier = 1
+       # dim 15 divisor = 1
+       # dim NMI name = NMI
+       # dim NMI algorithm = incremental
+       # dim NMI multiplier = 1
+       # dim NMI divisor = 1
+       # dim LOC name = LOC
+       # dim LOC algorithm = incremental
+       # dim LOC multiplier = 1
+       # dim LOC divisor = 1
+       # dim SPU name = SPU
+       # dim SPU algorithm = incremental
+       # dim SPU multiplier = 1
+       # dim SPU divisor = 1
+       # dim PMI name = PMI
+       # dim PMI algorithm = incremental
+       # dim PMI multiplier = 1
+       # dim PMI divisor = 1
+       # dim IWI name = IWI
+       # dim IWI algorithm = incremental
+       # dim IWI multiplier = 1
+       # dim IWI divisor = 1
+       # dim RTR name = RTR
+       # dim RTR algorithm = incremental
+       # dim RTR multiplier = 1
+       # dim RTR divisor = 1
+       # dim RES name = RES
+       # dim RES algorithm = incremental
+       # dim RES multiplier = 1
+       # dim RES divisor = 1
+       # dim CAL name = CAL
+       # dim CAL algorithm = incremental
+       # dim CAL multiplier = 1
+       # dim CAL divisor = 1
+       # dim TLB name = TLB
+       # dim TLB algorithm = incremental
+       # dim TLB multiplier = 1
+       # dim TLB divisor = 1
+       # dim TRM name = TRM
+       # dim TRM algorithm = incremental
+       # dim TRM multiplier = 1
+       # dim TRM divisor = 1
+       # dim THR name = THR
+       # dim THR algorithm = incremental
+       # dim THR multiplier = 1
+       # dim THR divisor = 1
+       # dim MCE name = MCE
+       # dim MCE algorithm = incremental
+       # dim MCE multiplier = 1
+       # dim MCE divisor = 1
+       # dim MCP name = MCP
+       # dim MCP algorithm = incremental
+       # dim MCP multiplier = 1
+       # dim MCP divisor = 1
+       # dim HYP name = HYP
+       # dim HYP algorithm = incremental
+       # dim HYP multiplier = 1
+       # dim HYP divisor = 1
+       # dim ERR name = ERR
+       # dim ERR algorithm = incremental
+       # dim ERR multiplier = 1
+       # dim ERR divisor = 1
+       # dim MIS name = MIS
+       # dim MIS algorithm = incremental
+       # dim MIS multiplier = 1
+       # dim MIS divisor = 1
+
+[system.entropy]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/system.entropy
+       # chart type = line
+       # type = system
+       # family = entropy
+       # context = system.entropy
+       # units = entropy
+       # priority = 1000
+       # gap when lost iterations above = 1
+       # name = system.entropy
+       # title = Available Entropy (system.entropy)
+       # dim entropy name = entropy
+       # dim entropy algorithm = absolute
+       # dim entropy multiplier = 1
+       # dim entropy divisor = 1
+
+[net.eth0]
+       # history = 86400
+       # enabled = yes
+       enabled = yes
+       # cache directory = /var/cache/netdata/net.eth0
+       # chart type = area
+       # type = net
+       # family = eth0
+       # context = net.net
+       # units = kilobits/s
+       # priority = 7000
+       # gap when lost iterations above = 1
+       # name = net.eth0
+       # title = Bandwidth (net.eth0)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 8
+       # dim received divisor = 1024
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -8
+       # dim sent divisor = 1024
+
+[net_packets.eth0]
+       # history = 86400
+       # enabled = yes
+       enabled = yes
+       # cache directory = /var/cache/netdata/net_packets.eth0
+       # chart type = line
+       # type = net_packets
+       # family = eth0
+       # context = net.packets
+       # units = packets/s
+       # priority = 7001
+       # gap when lost iterations above = 1
+       # name = net_packets.eth0
+       # title = Packets (net_packets.eth0)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+       # dim multicast name = multicast
+       # dim multicast algorithm = incremental
+       # dim multicast multiplier = 1
+       # dim multicast divisor = 1
+
+[net_drops.eth0]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/net_drops.eth0
+       # chart type = line
+       # type = net_drops
+       # family = eth0
+       # context = net.drops
+       # units = drops/s
+       # priority = 7003
+       # gap when lost iterations above = 1
+       # name = net_drops.eth0
+       # title = Interface Drops (net_drops.eth0)
+       # dim inbound name = inbound
+       # dim inbound algorithm = incremental
+       # dim inbound multiplier = 1
+       # dim inbound divisor = 1
+       # dim outbound name = outbound
+       # dim outbound algorithm = incremental
+       # dim outbound multiplier = -1
+       # dim outbound divisor = 1
+
+[net.eth1]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/net.eth1
+       # chart type = area
+       # type = net
+       # family = eth1
+       # context = net.net
+       # units = kilobits/s
+       # priority = 7000
+       # gap when lost iterations above = 1
+       # name = net.eth1
+       # title = Bandwidth (net.eth1)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 8
+       # dim received divisor = 1024
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -8
+       # dim sent divisor = 1024
+
+[net_packets.eth1]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/net_packets.eth1
+       # chart type = line
+       # type = net_packets
+       # family = eth1
+       # context = net.packets
+       # units = packets/s
+       # priority = 7001
+       # gap when lost iterations above = 1
+       # name = net_packets.eth1
+       # title = Packets (net_packets.eth1)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+       # dim multicast name = multicast
+       # dim multicast algorithm = incremental
+       # dim multicast multiplier = 1
+       # dim multicast divisor = 1
+
+[disk.sda]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/disk.sda
+       # chart type = area
+       # type = disk
+       # family = sda
+       # context = disk.io
+       # units = kilobytes/s
+       # priority = 2000
+       # gap when lost iterations above = 1
+       # name = disk.sda
+       # title = Disk I/O Bandwidth (disk.sda)
+       # dim reads name = reads
+       # dim reads algorithm = incremental
+       # dim reads multiplier = 512
+       # dim reads divisor = 1024
+       # dim writes name = writes
+       # dim writes algorithm = incremental
+       # dim writes multiplier = -512
+       # dim writes divisor = 1024
+
+[disk_ops.sda]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/disk_ops.sda
+       # chart type = line
+       # type = disk_ops
+       # family = sda
+       # context = disk.ops
+       # units = operations/s
+       # priority = 2001
+       # gap when lost iterations above = 1
+       # name = disk_ops.sda
+       # title = Disk Completed I/O Operations (disk_ops.sda)
+       # dim reads name = reads
+       # dim reads algorithm = incremental
+       # dim reads multiplier = 1
+       # dim reads divisor = 1
+       # dim writes name = writes
+       # dim writes algorithm = incremental
+       # dim writes multiplier = -1
+       # dim writes divisor = 1
+
+[disk_qops.sda]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/disk_qops.sda
+       # chart type = line
+       # type = disk_qops
+       # family = sda
+       # context = disk.qops
+       # units = operations
+       # priority = 2002
+       # gap when lost iterations above = 1
+       # name = disk_qops.sda
+       # title = Disk Current I/O Operations (disk_qops.sda)
+       # dim operations name = operations
+       # dim operations algorithm = absolute
+       # dim operations multiplier = 1
+       # dim operations divisor = 1
+
+[disk_backlog.sda]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/disk_backlog.sda
+       # chart type = area
+       # type = disk_backlog
+       # family = sda
+       # context = disk.backlog
+       # units = backlog (ms)
+       # priority = 2003
+       # gap when lost iterations above = 1
+       # name = disk_backlog.sda
+       # title = Disk Backlog (disk_backlog.sda)
+       # dim backlog name = backlog
+       # dim backlog algorithm = incremental
+       # dim backlog multiplier = 1
+       # dim backlog divisor = 10
+
+[disk_util.sda]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/disk_util.sda
+       # chart type = area
+       # type = disk_util
+       # family = sda
+       # context = disk.util
+       # units = % of time working
+       # priority = 2004
+       # gap when lost iterations above = 1
+       # name = disk_util.sda
+       # title = Disk Utilization Time (disk_util.sda)
+       # dim utilization name = utilization
+       # dim utilization algorithm = incremental
+       # dim utilization multiplier = 1
+       # dim utilization divisor = 10
+
+[disk_mops.sda]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/disk_mops.sda
+       # chart type = line
+       # type = disk_mops
+       # family = sda
+       # context = disk.mops
+       # units = merged operations/s
+       # priority = 2021
+       # gap when lost iterations above = 1
+       # name = disk_mops.sda
+       # title = Disk Merged Operations (disk_mops.sda)
+       # dim reads name = reads
+       # dim reads algorithm = incremental
+       # dim reads multiplier = 1
+       # dim reads divisor = 1
+       # dim writes name = writes
+       # dim writes algorithm = incremental
+       # dim writes multiplier = -1
+       # dim writes divisor = 1
+
+[disk_iotime.sda]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/disk_iotime.sda
+       # chart type = line
+       # type = disk_iotime
+       # family = sda
+       # context = disk.iotime
+       # units = milliseconds/s
+       # priority = 2022
+       # gap when lost iterations above = 1
+       # name = disk_iotime.sda
+       # title = Disk Total I/O Time (disk_iotime.sda)
+       # dim reads name = reads
+       # dim reads algorithm = incremental
+       # dim reads multiplier = 1
+       # dim reads divisor = 1
+       # dim writes name = writes
+       # dim writes algorithm = incremental
+       # dim writes multiplier = -1
+       # dim writes divisor = 1
+
+[ipv4.packets]
+       # history = 86400
+       # enabled = yes
+       enabled = yes
+       # cache directory = /var/cache/netdata/ipv4.packets
+       # chart type = line
+       # type = ipv4
+       # family = packets
+       # context = ipv4.packets
+       # units = packets/s
+       # priority = 3000
+       # gap when lost iterations above = 1
+       # name = ipv4.packets
+       # title = IPv4 Packets (ipv4.packets)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+       # dim forwarded name = forwarded
+       # dim forwarded algorithm = incremental
+       # dim forwarded multiplier = 1
+       # dim forwarded divisor = 1
+
+[ipv4.fragsout]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.fragsout
+       # chart type = line
+       # type = ipv4
+       # family = fragments
+       # context = ipv4.fragsout
+       # units = packets/s
+       # priority = 3010
+       # gap when lost iterations above = 1
+       # name = ipv4.fragsout
+       # title = IPv4 Fragments Sent (ipv4.fragsout)
+       # dim ok name = ok
+       # dim ok algorithm = incremental
+       # dim ok multiplier = 1
+       # dim ok divisor = 1
+       # dim failed name = failed
+       # dim failed algorithm = incremental
+       # dim failed multiplier = -1
+       # dim failed divisor = 1
+       # dim all name = all
+       # dim all algorithm = incremental
+       # dim all multiplier = 1
+       # dim all divisor = 1
+
+[ipv4.fragsin]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.fragsin
+       # chart type = line
+       # type = ipv4
+       # family = fragments
+       # context = ipv4.fragsin
+       # units = packets/s
+       # priority = 3011
+       # gap when lost iterations above = 1
+       # name = ipv4.fragsin
+       # title = IPv4 Fragments Reassembly (ipv4.fragsin)
+       # dim ok name = ok
+       # dim ok algorithm = incremental
+       # dim ok multiplier = 1
+       # dim ok divisor = 1
+       # dim failed name = failed
+       # dim failed algorithm = incremental
+       # dim failed multiplier = -1
+       # dim failed divisor = 1
+       # dim all name = all
+       # dim all algorithm = incremental
+       # dim all multiplier = 1
+       # dim all divisor = 1
+
+[ipv4.errors]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.errors
+       # chart type = line
+       # type = ipv4
+       # family = errors
+       # context = ipv4.errors
+       # units = packets/s
+       # priority = 3002
+       # gap when lost iterations above = 1
+       # name = ipv4.errors
+       # title = IPv4 Errors (ipv4.errors)
+       # dim InDiscards name = InDiscards
+       # dim InDiscards algorithm = incremental
+       # dim InDiscards multiplier = 1
+       # dim InDiscards divisor = 1
+       # dim OutDiscards name = OutDiscards
+       # dim OutDiscards algorithm = incremental
+       # dim OutDiscards multiplier = -1
+       # dim OutDiscards divisor = 1
+       # dim InHdrErrors name = InHdrErrors
+       # dim InHdrErrors algorithm = incremental
+       # dim InHdrErrors multiplier = 1
+       # dim InHdrErrors divisor = 1
+       # dim InAddrErrors name = InAddrErrors
+       # dim InAddrErrors algorithm = incremental
+       # dim InAddrErrors multiplier = 1
+       # dim InAddrErrors divisor = 1
+       # dim InUnknownProtos name = InUnknownProtos
+       # dim InUnknownProtos algorithm = incremental
+       # dim InUnknownProtos multiplier = 1
+       # dim InUnknownProtos divisor = 1
+       # dim OutNoRoutes name = OutNoRoutes
+       # dim OutNoRoutes algorithm = incremental
+       # dim OutNoRoutes multiplier = -1
+       # dim OutNoRoutes divisor = 1
+
+[ipv4.tcpsock]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.tcpsock
+       # chart type = line
+       # type = ipv4
+       # family = tcp
+       # context = ipv4.tcpsock
+       # units = active connections
+       # priority = 2500
+       # gap when lost iterations above = 1
+       # name = ipv4.tcpsock
+       # title = IPv4 TCP Connections (ipv4.tcpsock)
+       # dim connections name = connections
+       # dim connections algorithm = absolute
+       # dim connections multiplier = 1
+       # dim connections divisor = 1
+
+[ipv4.tcppackets]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.tcppackets
+       # chart type = line
+       # type = ipv4
+       # family = tcp
+       # context = ipv4.tcppackets
+       # units = packets/s
+       # priority = 2600
+       # gap when lost iterations above = 1
+       # name = ipv4.tcppackets
+       # title = IPv4 TCP Packets (ipv4.tcppackets)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+
+[ipv4.tcperrors]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.tcperrors
+       # chart type = line
+       # type = ipv4
+       # family = tcp
+       # context = ipv4.tcperrors
+       # units = packets/s
+       # priority = 2700
+       # gap when lost iterations above = 1
+       # name = ipv4.tcperrors
+       # title = IPv4 TCP Errors (ipv4.tcperrors)
+       # dim InErrs name = InErrs
+       # dim InErrs algorithm = incremental
+       # dim InErrs multiplier = 1
+       # dim InErrs divisor = 1
+       # dim RetransSegs name = RetransSegs
+       # dim RetransSegs algorithm = incremental
+       # dim RetransSegs multiplier = -1
+       # dim RetransSegs divisor = 1
+
+[ipv4.tcphandshake]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.tcphandshake
+       # chart type = line
+       # type = ipv4
+       # family = tcp
+       # context = ipv4.tcphandshake
+       # units = events/s
+       # priority = 2900
+       # gap when lost iterations above = 1
+       # name = ipv4.tcphandshake
+       # title = IPv4 TCP Handshake Issues (ipv4.tcphandshake)
+       # dim EstabResets name = EstabResets
+       # dim EstabResets algorithm = incremental
+       # dim EstabResets multiplier = 1
+       # dim EstabResets divisor = 1
+       # dim OutRsts name = OutRsts
+       # dim OutRsts algorithm = incremental
+       # dim OutRsts multiplier = -1
+       # dim OutRsts divisor = 1
+       # dim ActiveOpens name = ActiveOpens
+       # dim ActiveOpens algorithm = incremental
+       # dim ActiveOpens multiplier = 1
+       # dim ActiveOpens divisor = 1
+       # dim PassiveOpens name = PassiveOpens
+       # dim PassiveOpens algorithm = incremental
+       # dim PassiveOpens multiplier = 1
+       # dim PassiveOpens divisor = 1
+       # dim AttemptFails name = AttemptFails
+       # dim AttemptFails algorithm = incremental
+       # dim AttemptFails multiplier = 1
+       # dim AttemptFails divisor = 1
+
+[ipv4.udppackets]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.udppackets
+       # chart type = line
+       # type = ipv4
+       # family = udp
+       # context = ipv4.udppackets
+       # units = packets/s
+       # priority = 2601
+       # gap when lost iterations above = 1
+       # name = ipv4.udppackets
+       # title = IPv4 UDP Packets (ipv4.udppackets)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+
+[ipv4.udperrors]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.udperrors
+       # chart type = line
+       # type = ipv4
+       # family = udp
+       # context = ipv4.udperrors
+       # units = events/s
+       # priority = 2701
+       # gap when lost iterations above = 1
+       # name = ipv4.udperrors
+       # title = IPv4 UDP Errors (ipv4.udperrors)
+       # dim RcvbufErrors name = RcvbufErrors
+       # dim RcvbufErrors algorithm = incremental
+       # dim RcvbufErrors multiplier = 1
+       # dim RcvbufErrors divisor = 1
+       # dim SndbufErrors name = SndbufErrors
+       # dim SndbufErrors algorithm = incremental
+       # dim SndbufErrors multiplier = -1
+       # dim SndbufErrors divisor = 1
+       # dim InErrors name = InErrors
+       # dim InErrors algorithm = incremental
+       # dim InErrors multiplier = 1
+       # dim InErrors divisor = 1
+       # dim NoPorts name = NoPorts
+       # dim NoPorts algorithm = incremental
+       # dim NoPorts multiplier = 1
+       # dim NoPorts divisor = 1
+
+[system.ipv4]
+       # history = 86400
+       # enabled = yes
+       enabled = yes
+       # cache directory = /var/cache/netdata/system.ipv4
+       # chart type = area
+       # type = system
+       # family = network
+       # context = system.ipv4
+       # units = kilobits/s
+       # priority = 500
+       # gap when lost iterations above = 1
+       # name = system.ipv4
+       # title = IPv4 Bandwidth (system.ipv4)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 8
+       # dim received divisor = 1024
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -8
+       # dim sent divisor = 1024
+
+[ipv4.bcast]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.bcast
+       # chart type = area
+       # type = ipv4
+       # family = broadcast
+       # context = ipv4.bcast
+       # units = kilobits/s
+       # priority = 8000
+       # gap when lost iterations above = 1
+       # name = ipv4.bcast
+       # title = IPv4 Broadcast Bandwidth (ipv4.bcast)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 8
+       # dim received divisor = 1024
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -8
+       # dim sent divisor = 1024
+
+[ipv4.bcastpkts]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv4.bcastpkts
+       # chart type = line
+       # type = ipv4
+       # family = broadcast
+       # context = ipv4.bcastpkts
+       # units = packets/s
+       # priority = 8500
+       # gap when lost iterations above = 1
+       # name = ipv4.bcastpkts
+       # title = IPv4 Broadcast Packets (ipv4.bcastpkts)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+
+[system.cpu]
+       # history = 86400
+       # enabled = yes
+       enabled = yes
+       # cache directory = /var/cache/netdata/system.cpu
+       # chart type = stacked
+       # type = system
+       # family = cpu
+       # context = system.cpu
+       # units = percentage
+       # priority = 100
+       # gap when lost iterations above = 1
+       # name = system.cpu
+       # title = Total CPU utilization (system.cpu)
+       # dim guest_nice name = guest_nice
+       # dim guest_nice algorithm = percentage-of-incremental-row
+       # dim guest_nice multiplier = 1
+       # dim guest_nice divisor = 1
+       # dim guest name = guest
+       # dim guest algorithm = percentage-of-incremental-row
+       # dim guest multiplier = 1
+       # dim guest divisor = 1
+       # dim steal name = steal
+       # dim steal algorithm = percentage-of-incremental-row
+       # dim steal multiplier = 1
+       # dim steal divisor = 1
+       # dim softirq name = softirq
+       # dim softirq algorithm = percentage-of-incremental-row
+       # dim softirq multiplier = 1
+       # dim softirq divisor = 1
+       # dim irq name = irq
+       # dim irq algorithm = percentage-of-incremental-row
+       # dim irq multiplier = 1
+       # dim irq divisor = 1
+       # dim user name = user
+       # dim user algorithm = percentage-of-incremental-row
+       # dim user multiplier = 1
+       # dim user divisor = 1
+       # dim system name = system
+       # dim system algorithm = percentage-of-incremental-row
+       # dim system multiplier = 1
+       # dim system divisor = 1
+       # dim nice name = nice
+       # dim nice algorithm = percentage-of-incremental-row
+       # dim nice multiplier = 1
+       # dim nice divisor = 1
+       # dim iowait name = iowait
+       # dim iowait algorithm = percentage-of-incremental-row
+       # dim iowait multiplier = 1
+       # dim iowait divisor = 1
+       # dim idle name = idle
+       # dim idle algorithm = percentage-of-incremental-row
+       # dim idle multiplier = 1
+       # dim idle divisor = 1
+
+[cpu.cpu0]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/cpu.cpu0
+       # chart type = stacked
+       # type = cpu
+       # family = utilization
+       # context = cpu.cpu
+       # units = percentage
+       # priority = 1000
+       # gap when lost iterations above = 1
+       # name = cpu.cpu0
+       # title = Core utilization (cpu.cpu0)
+       # dim guest_nice name = guest_nice
+       # dim guest_nice algorithm = percentage-of-incremental-row
+       # dim guest_nice multiplier = 1
+       # dim guest_nice divisor = 1
+       # dim guest name = guest
+       # dim guest algorithm = percentage-of-incremental-row
+       # dim guest multiplier = 1
+       # dim guest divisor = 1
+       # dim steal name = steal
+       # dim steal algorithm = percentage-of-incremental-row
+       # dim steal multiplier = 1
+       # dim steal divisor = 1
+       # dim softirq name = softirq
+       # dim softirq algorithm = percentage-of-incremental-row
+       # dim softirq multiplier = 1
+       # dim softirq divisor = 1
+       # dim irq name = irq
+       # dim irq algorithm = percentage-of-incremental-row
+       # dim irq multiplier = 1
+       # dim irq divisor = 1
+       # dim user name = user
+       # dim user algorithm = percentage-of-incremental-row
+       # dim user multiplier = 1
+       # dim user divisor = 1
+       # dim system name = system
+       # dim system algorithm = percentage-of-incremental-row
+       # dim system multiplier = 1
+       # dim system divisor = 1
+       # dim nice name = nice
+       # dim nice algorithm = percentage-of-incremental-row
+       # dim nice multiplier = 1
+       # dim nice divisor = 1
+       # dim iowait name = iowait
+       # dim iowait algorithm = percentage-of-incremental-row
+       # dim iowait multiplier = 1
+       # dim iowait divisor = 1
+       # dim idle name = idle
+       # dim idle algorithm = percentage-of-incremental-row
+       # dim idle multiplier = 1
+       # dim idle divisor = 1
+
+[cpu.cpu1]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/cpu.cpu1
+       # chart type = stacked
+       # type = cpu
+       # family = utilization
+       # context = cpu.cpu
+       # units = percentage
+       # priority = 1000
+       # gap when lost iterations above = 1
+       # name = cpu.cpu1
+       # title = Core utilization (cpu.cpu1)
+       # dim guest_nice name = guest_nice
+       # dim guest_nice algorithm = percentage-of-incremental-row
+       # dim guest_nice multiplier = 1
+       # dim guest_nice divisor = 1
+       # dim guest name = guest
+       # dim guest algorithm = percentage-of-incremental-row
+       # dim guest multiplier = 1
+       # dim guest divisor = 1
+       # dim steal name = steal
+       # dim steal algorithm = percentage-of-incremental-row
+       # dim steal multiplier = 1
+       # dim steal divisor = 1
+       # dim softirq name = softirq
+       # dim softirq algorithm = percentage-of-incremental-row
+       # dim softirq multiplier = 1
+       # dim softirq divisor = 1
+       # dim irq name = irq
+       # dim irq algorithm = percentage-of-incremental-row
+       # dim irq multiplier = 1
+       # dim irq divisor = 1
+       # dim user name = user
+       # dim user algorithm = percentage-of-incremental-row
+       # dim user multiplier = 1
+       # dim user divisor = 1
+       # dim system name = system
+       # dim system algorithm = percentage-of-incremental-row
+       # dim system multiplier = 1
+       # dim system divisor = 1
+       # dim nice name = nice
+       # dim nice algorithm = percentage-of-incremental-row
+       # dim nice multiplier = 1
+       # dim nice divisor = 1
+       # dim iowait name = iowait
+       # dim iowait algorithm = percentage-of-incremental-row
+       # dim iowait multiplier = 1
+       # dim iowait divisor = 1
+       # dim idle name = idle
+       # dim idle algorithm = percentage-of-incremental-row
+       # dim idle multiplier = 1
+       # dim idle divisor = 1
+
+[system.intr]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/system.intr
+       # chart type = line
+       # type = system
+       # family = interrupts
+       # context = system.intr
+       # units = interrupts/s
+       # priority = 900
+       # gap when lost iterations above = 1
+       # name = system.intr
+       # title = CPU Interrupts (system.intr)
+       # dim interrupts name = interrupts
+       # dim interrupts algorithm = incremental
+       # dim interrupts multiplier = 1
+       # dim interrupts divisor = 1
+
+[system.ctxt]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/system.ctxt
+       # chart type = line
+       # type = system
+       # family = processes
+       # context = system.ctxt
+       # units = context switches/s
+       # priority = 800
+       # gap when lost iterations above = 1
+       # name = system.ctxt
+       # title = CPU Context Switches (system.ctxt)
+       # dim switches name = switches
+       # dim switches algorithm = incremental
+       # dim switches multiplier = 1
+       # dim switches divisor = 1
+
+[system.forks]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/system.forks
+       # chart type = line
+       # type = system
+       # family = processes
+       # context = system.forks
+       # units = processes/s
+       # priority = 700
+       # gap when lost iterations above = 1
+       # name = system.forks
+       # title = Started Processes (system.forks)
+       # dim started name = started
+       # dim started algorithm = incremental
+       # dim started multiplier = 1
+       # dim started divisor = 1
+
+[system.processes]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/system.processes
+       # chart type = line
+       # type = system
+       # family = processes
+       # context = system.processes
+       # units = processes
+       # priority = 600
+       # gap when lost iterations above = 1
+       # name = system.processes
+       # title = System Processes (system.processes)
+       # dim running name = running
+       # dim running algorithm = absolute
+       # dim running multiplier = 1
+       # dim running divisor = 1
+       # dim blocked name = blocked
+       # dim blocked algorithm = absolute
+       # dim blocked multiplier = -1
+       # dim blocked divisor = 1
+
+[system.ram]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/system.ram
+       # chart type = stacked
+       # type = system
+       # family = ram
+       # context = system.ram
+       # units = MB
+       # priority = 200
+       # gap when lost iterations above = 1
+       # name = system.ram
+       # title = System RAM (system.ram)
+       # dim buffers name = buffers
+       # dim buffers algorithm = absolute
+       # dim buffers multiplier = 1
+       # dim buffers divisor = 1024
+       # dim used name = used
+       # dim used algorithm = absolute
+       # dim used multiplier = 1
+       # dim used divisor = 1024
+       # dim cached name = cached
+       # dim cached algorithm = absolute
+       # dim cached multiplier = 1
+       # dim cached divisor = 1024
+       # dim free name = free
+       # dim free algorithm = absolute
+       # dim free multiplier = 1
+       # dim free divisor = 1024
+
+[system.swap]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/system.swap
+       # chart type = stacked
+       # type = system
+       # family = swap
+       # context = system.swap
+       # units = MB
+       # priority = 201
+       # gap when lost iterations above = 1
+       # name = system.swap
+       # title = System Swap (system.swap)
+       # dim free name = free
+       # dim free algorithm = absolute
+       # dim free multiplier = 1
+       # dim free divisor = 1024
+       # dim used name = used
+       # dim used algorithm = absolute
+       # dim used multiplier = 1
+       # dim used divisor = 1024
+
+[mem.committed]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/mem.committed
+       # chart type = area
+       # type = mem
+       # family = system
+       # context = mem.committed
+       # units = MB
+       # priority = 5000
+       # gap when lost iterations above = 1
+       # name = mem.committed
+       # title = Committed (Allocated) Memory (mem.committed)
+       # dim Committed_AS name = Committed_AS
+       # dim Committed_AS algorithm = absolute
+       # dim Committed_AS multiplier = 1
+       # dim Committed_AS divisor = 1024
+
+[mem.writeback]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mem.writeback
+       # chart type = line
+       # type = mem
+       # family = kernel
+       # context = mem.writeback
+       # units = MB
+       # priority = 4000
+       # gap when lost iterations above = 1
+       # name = mem.writeback
+       # title = Writeback Memory (mem.writeback)
+       # dim Dirty name = Dirty
+       # dim Dirty algorithm = absolute
+       # dim Dirty multiplier = 1
+       # dim Dirty divisor = 1024
+       # dim Writeback name = Writeback
+       # dim Writeback algorithm = absolute
+       # dim Writeback multiplier = 1
+       # dim Writeback divisor = 1024
+       # dim FuseWriteback name = FuseWriteback
+       # dim FuseWriteback algorithm = absolute
+       # dim FuseWriteback multiplier = 1
+       # dim FuseWriteback divisor = 1024
+       # dim NfsWriteback name = NfsWriteback
+       # dim NfsWriteback algorithm = absolute
+       # dim NfsWriteback multiplier = 1
+       # dim NfsWriteback divisor = 1024
+       # dim Bounce name = Bounce
+       # dim Bounce algorithm = absolute
+       # dim Bounce multiplier = 1
+       # dim Bounce divisor = 1024
+
+[mem.kernel]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/mem.kernel
+       # chart type = stacked
+       # type = mem
+       # family = kernel
+       # context = mem.kernel
+       # units = MB
+       # priority = 6000
+       # gap when lost iterations above = 1
+       # name = mem.kernel
+       # title = Memory Used by Kernel (mem.kernel)
+       # dim Slab name = Slab
+       # dim Slab algorithm = absolute
+       # dim Slab multiplier = 1
+       # dim Slab divisor = 1024
+       # dim KernelStack name = KernelStack
+       # dim KernelStack algorithm = absolute
+       # dim KernelStack multiplier = 1
+       # dim KernelStack divisor = 1024
+       # dim PageTables name = PageTables
+       # dim PageTables algorithm = absolute
+       # dim PageTables multiplier = 1
+       # dim PageTables divisor = 1024
+       # dim VmallocUsed name = VmallocUsed
+       # dim VmallocUsed algorithm = absolute
+       # dim VmallocUsed multiplier = 1
+       # dim VmallocUsed divisor = 1024
+
+[mem.slab]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mem.slab
+       # chart type = stacked
+       # type = mem
+       # family = slab
+       # context = mem.slab
+       # units = MB
+       # priority = 6500
+       # gap when lost iterations above = 1
+       # name = mem.slab
+       # title = Reclaimable Kernel Memory (mem.slab)
+       # dim reclaimable name = reclaimable
+       # dim reclaimable algorithm = absolute
+       # dim reclaimable multiplier = 1
+       # dim reclaimable divisor = 1024
+       # dim unreclaimable name = unreclaimable
+       # dim unreclaimable algorithm = absolute
+       # dim unreclaimable multiplier = 1
+       # dim unreclaimable divisor = 1024
+
+[system.swapio]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/system.swapio
+       # chart type = area
+       # type = system
+       # family = swap
+       # context = system.swapio
+       # units = kilobytes/s
+       # priority = 250
+       # gap when lost iterations above = 1
+       # name = system.swapio
+       # title = Swap I/O (system.swapio)
+       # dim in name = in
+       # dim in algorithm = incremental
+       # dim in multiplier = 4096
+       # dim in divisor = 1024
+       # dim out name = out
+       # dim out algorithm = incremental
+       # dim out multiplier = -4096
+       # dim out divisor = 1024
+
+[system.io]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/system.io
+       # chart type = area
+       # type = system
+       # family = disk
+       # context = system.io
+       # units = kilobytes/s
+       # priority = 150
+       # gap when lost iterations above = 1
+       # name = system.io
+       # title = Disk I/O (system.io)
+       # dim in name = in
+       # dim in algorithm = incremental
+       # dim in multiplier = 1
+       # dim in divisor = 1
+       # dim out name = out
+       # dim out algorithm = incremental
+       # dim out multiplier = -1
+       # dim out divisor = 1
+
+[netdata.plugin_proc_cpu]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/netdata.plugin_proc_cpu
+       # chart type = stacked
+       # type = netdata
+       # family = proc.internal
+       # context = netdata.plugin_proc_cpu
+       # units = milliseconds/s
+       # priority = 131000
+       # gap when lost iterations above = 1
+       # name = netdata.plugin_proc_cpu
+       # title = NetData Proc Plugin CPU usage (netdata.plugin_proc_cpu)
+       # dim user name = user
+       # dim user algorithm = incremental
+       # dim user multiplier = 1
+       # dim user divisor = 1000
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 1
+       # dim system divisor = 1000
+
+[netdata.server_cpu]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/netdata.server_cpu
+       # chart type = stacked
+       # type = netdata
+       # family = netdata
+       # context = netdata.server_cpu
+       # units = milliseconds/s
+       # priority = 130000
+       # gap when lost iterations above = 1
+       # name = netdata.server_cpu
+       # title = NetData CPU usage (netdata.server_cpu)
+       # dim user name = user
+       # dim user algorithm = incremental
+       # dim user multiplier = 1
+       # dim user divisor = 1000
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 1
+       # dim system divisor = 1000
+
+[netdata.clients]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/netdata.clients
+       # chart type = line
+       # type = netdata
+       # family = netdata
+       # context = netdata.clients
+       # units = connected clients
+       # priority = 131000
+       # gap when lost iterations above = 1
+       # name = netdata.clients
+       # title = NetData Web Clients (netdata.clients)
+       # dim clients name = clients
+       # dim clients algorithm = absolute
+       # dim clients multiplier = 1
+       # dim clients divisor = 1
+
+[netdata.requests]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/netdata.requests
+       # chart type = line
+       # type = netdata
+       # family = netdata
+       # context = netdata.requests
+       # units = requests/s
+       # priority = 131100
+       # gap when lost iterations above = 1
+       # name = netdata.requests
+       # title = NetData Web Requests (netdata.requests)
+       # dim requests name = requests
+       # dim requests algorithm = incremental
+       # dim requests multiplier = 1
+       # dim requests divisor = 1
+
+[netdata.net]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/netdata.net
+       # chart type = area
+       # type = netdata
+       # family = netdata
+       # context = netdata.net
+       # units = kilobits/s
+       # priority = 131200
+       # gap when lost iterations above = 1
+       # name = netdata.net
+       # title = NetData Network Traffic (netdata.net)
+       # dim in name = in
+       # dim in algorithm = incremental
+       # dim in multiplier = 8
+       # dim in divisor = 1024
+       # dim out name = out
+       # dim out algorithm = incremental
+       # dim out multiplier = -8
+       # dim out divisor = 1024
+
+[apps.cpu]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/apps.cpu
+       # chart type = stacked
+       # type = apps
+       # family = cpu
+       # context = apps.cpu
+       # units = cpu time %
+       # priority = 20001
+       # gap when lost iterations above = 1
+       # name = apps.cpu
+       # title = Apps CPU Time (200% = 2 cores) (apps.cpu)
+       # dim other name = other
+       # dim other algorithm = incremental
+       # dim other multiplier = 100
+       # dim other divisor = 100
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = incremental
+       # dim ksmd multiplier = 100
+       # dim ksmd divisor = 100
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 100
+       # dim system divisor = 100
+       # dim netdata name = netdata
+       # dim netdata algorithm = incremental
+       # dim netdata multiplier = 100
+       # dim netdata divisor = 100
+       # dim kernel name = kernel
+       # dim kernel algorithm = incremental
+       # dim kernel multiplier = 100
+       # dim kernel divisor = 100
+       # dim cron name = cron
+       # dim cron algorithm = incremental
+       # dim cron multiplier = 100
+       # dim cron divisor = 100
+       # dim inetd name = inetd
+       # dim inetd algorithm = incremental
+       # dim inetd multiplier = 100
+       # dim inetd divisor = 100
+       # dim nms name = nms
+       # dim nms algorithm = incremental
+       # dim nms multiplier = 100
+       # dim nms divisor = 100
+       # dim log name = log
+       # dim log algorithm = incremental
+       # dim log multiplier = 100
+       # dim log divisor = 100
+       # dim ntp name = ntp
+       # dim ntp algorithm = incremental
+       # dim ntp multiplier = 100
+       # dim ntp divisor = 100
+       # dim named name = named
+       # dim named algorithm = incremental
+       # dim named multiplier = 100
+       # dim named divisor = 100
+       # dim ssh name = ssh
+       # dim ssh algorithm = incremental
+       # dim ssh multiplier = 100
+       # dim ssh divisor = 100
+       # dim nfs name = nfs
+       # dim nfs algorithm = incremental
+       # dim nfs multiplier = 100
+       # dim nfs divisor = 100
+       # dim nginx name = nginx
+       # dim nginx algorithm = incremental
+       # dim nginx multiplier = 100
+       # dim nginx divisor = 100
+       # dim postfix name = postfix
+       # dim postfix algorithm = incremental
+       # dim postfix multiplier = 100
+       # dim postfix divisor = 100
+       # dim mysql name = mysql
+       # dim mysql algorithm = incremental
+       # dim mysql multiplier = 100
+       # dim mysql divisor = 100
+       # dim rsync name = rsync
+       # dim rsync algorithm = incremental
+       # dim rsync multiplier = 100
+       # dim rsync divisor = 100
+       # dim compile name = compile
+       # dim compile algorithm = incremental
+       # dim compile multiplier = 100
+       # dim compile divisor = 100
+
+[apps.mem]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/apps.mem
+       # chart type = stacked
+       # type = apps
+       # family = mem
+       # context = apps.mem
+       # units = MB
+       # priority = 20003
+       # gap when lost iterations above = 1
+       # name = apps.mem
+       # title = Apps Dedicated Memory (w/o shared) (apps.mem)
+       # dim other name = other
+       # dim other algorithm = absolute
+       # dim other multiplier = 4096
+       # dim other divisor = 1048576
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = absolute
+       # dim ksmd multiplier = 4096
+       # dim ksmd divisor = 1048576
+       # dim system name = system
+       # dim system algorithm = absolute
+       # dim system multiplier = 4096
+       # dim system divisor = 1048576
+       # dim netdata name = netdata
+       # dim netdata algorithm = absolute
+       # dim netdata multiplier = 4096
+       # dim netdata divisor = 1048576
+       # dim kernel name = kernel
+       # dim kernel algorithm = absolute
+       # dim kernel multiplier = 4096
+       # dim kernel divisor = 1048576
+       # dim cron name = cron
+       # dim cron algorithm = absolute
+       # dim cron multiplier = 4096
+       # dim cron divisor = 1048576
+       # dim inetd name = inetd
+       # dim inetd algorithm = absolute
+       # dim inetd multiplier = 4096
+       # dim inetd divisor = 1048576
+       # dim nms name = nms
+       # dim nms algorithm = absolute
+       # dim nms multiplier = 4096
+       # dim nms divisor = 1048576
+       # dim log name = log
+       # dim log algorithm = absolute
+       # dim log multiplier = 4096
+       # dim log divisor = 1048576
+       # dim ntp name = ntp
+       # dim ntp algorithm = absolute
+       # dim ntp multiplier = 4096
+       # dim ntp divisor = 1048576
+       # dim named name = named
+       # dim named algorithm = absolute
+       # dim named multiplier = 4096
+       # dim named divisor = 1048576
+       # dim ssh name = ssh
+       # dim ssh algorithm = absolute
+       # dim ssh multiplier = 4096
+       # dim ssh divisor = 1048576
+       # dim nfs name = nfs
+       # dim nfs algorithm = absolute
+       # dim nfs multiplier = 4096
+       # dim nfs divisor = 1048576
+       # dim nginx name = nginx
+       # dim nginx algorithm = absolute
+       # dim nginx multiplier = 4096
+       # dim nginx divisor = 1048576
+       # dim postfix name = postfix
+       # dim postfix algorithm = absolute
+       # dim postfix multiplier = 4096
+       # dim postfix divisor = 1048576
+       # dim mysql name = mysql
+       # dim mysql algorithm = absolute
+       # dim mysql multiplier = 4096
+       # dim mysql divisor = 1048576
+       # dim rsync name = rsync
+       # dim rsync algorithm = absolute
+       # dim rsync multiplier = 4096
+       # dim rsync divisor = 1048576
+       # dim compile name = compile
+       # dim compile algorithm = absolute
+       # dim compile multiplier = 4096
+       # dim compile divisor = 1048576
+
+[apps.threads]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/apps.threads
+       # chart type = stacked
+       # type = apps
+       # family = processes
+       # context = apps.threads
+       # units = threads
+       # priority = 20005
+       # gap when lost iterations above = 1
+       # name = apps.threads
+       # title = Apps Threads (apps.threads)
+       # dim other name = other
+       # dim other algorithm = absolute
+       # dim other multiplier = 1
+       # dim other divisor = 1
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = absolute
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1
+       # dim system name = system
+       # dim system algorithm = absolute
+       # dim system multiplier = 1
+       # dim system divisor = 1
+       # dim netdata name = netdata
+       # dim netdata algorithm = absolute
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1
+       # dim kernel name = kernel
+       # dim kernel algorithm = absolute
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1
+       # dim cron name = cron
+       # dim cron algorithm = absolute
+       # dim cron multiplier = 1
+       # dim cron divisor = 1
+       # dim inetd name = inetd
+       # dim inetd algorithm = absolute
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1
+       # dim nms name = nms
+       # dim nms algorithm = absolute
+       # dim nms multiplier = 1
+       # dim nms divisor = 1
+       # dim log name = log
+       # dim log algorithm = absolute
+       # dim log multiplier = 1
+       # dim log divisor = 1
+       # dim ntp name = ntp
+       # dim ntp algorithm = absolute
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1
+       # dim named name = named
+       # dim named algorithm = absolute
+       # dim named multiplier = 1
+       # dim named divisor = 1
+       # dim ssh name = ssh
+       # dim ssh algorithm = absolute
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1
+       # dim nfs name = nfs
+       # dim nfs algorithm = absolute
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1
+       # dim nginx name = nginx
+       # dim nginx algorithm = absolute
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1
+       # dim postfix name = postfix
+       # dim postfix algorithm = absolute
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1
+       # dim mysql name = mysql
+       # dim mysql algorithm = absolute
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1
+       # dim rsync name = rsync
+       # dim rsync algorithm = absolute
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1
+       # dim compile name = compile
+       # dim compile algorithm = absolute
+       # dim compile multiplier = 1
+       # dim compile divisor = 1
+
+[apps.processes]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/apps.processes
+       # chart type = stacked
+       # type = apps
+       # family = processes
+       # context = apps.processes
+       # units = processes
+       # priority = 20004
+       # gap when lost iterations above = 1
+       # name = apps.processes
+       # title = Apps Processes (apps.processes)
+       # dim other name = other
+       # dim other algorithm = absolute
+       # dim other multiplier = 1
+       # dim other divisor = 1
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = absolute
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1
+       # dim system name = system
+       # dim system algorithm = absolute
+       # dim system multiplier = 1
+       # dim system divisor = 1
+       # dim netdata name = netdata
+       # dim netdata algorithm = absolute
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1
+       # dim kernel name = kernel
+       # dim kernel algorithm = absolute
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1
+       # dim cron name = cron
+       # dim cron algorithm = absolute
+       # dim cron multiplier = 1
+       # dim cron divisor = 1
+       # dim inetd name = inetd
+       # dim inetd algorithm = absolute
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1
+       # dim nms name = nms
+       # dim nms algorithm = absolute
+       # dim nms multiplier = 1
+       # dim nms divisor = 1
+       # dim log name = log
+       # dim log algorithm = absolute
+       # dim log multiplier = 1
+       # dim log divisor = 1
+       # dim ntp name = ntp
+       # dim ntp algorithm = absolute
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1
+       # dim named name = named
+       # dim named algorithm = absolute
+       # dim named multiplier = 1
+       # dim named divisor = 1
+       # dim ssh name = ssh
+       # dim ssh algorithm = absolute
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1
+       # dim nfs name = nfs
+       # dim nfs algorithm = absolute
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1
+       # dim nginx name = nginx
+       # dim nginx algorithm = absolute
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1
+       # dim postfix name = postfix
+       # dim postfix algorithm = absolute
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1
+       # dim mysql name = mysql
+       # dim mysql algorithm = absolute
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1
+       # dim rsync name = rsync
+       # dim rsync algorithm = absolute
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1
+       # dim compile name = compile
+       # dim compile algorithm = absolute
+       # dim compile multiplier = 1
+       # dim compile divisor = 1
+
+[apps.cpu_user]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/apps.cpu_user
+       # chart type = stacked
+       # type = apps
+       # family = cpu
+       # context = apps.cpu_user
+       # units = cpu time %
+       # priority = 20020
+       # gap when lost iterations above = 1
+       # name = apps.cpu_user
+       # title = Apps CPU User Time (200% = 2 cores) (apps.cpu_user)
+       # dim other name = other
+       # dim other algorithm = incremental
+       # dim other multiplier = 100
+       # dim other divisor = 200
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = incremental
+       # dim ksmd multiplier = 100
+       # dim ksmd divisor = 200
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 100
+       # dim system divisor = 200
+       # dim netdata name = netdata
+       # dim netdata algorithm = incremental
+       # dim netdata multiplier = 100
+       # dim netdata divisor = 200
+       # dim kernel name = kernel
+       # dim kernel algorithm = incremental
+       # dim kernel multiplier = 100
+       # dim kernel divisor = 200
+       # dim cron name = cron
+       # dim cron algorithm = incremental
+       # dim cron multiplier = 100
+       # dim cron divisor = 200
+       # dim inetd name = inetd
+       # dim inetd algorithm = incremental
+       # dim inetd multiplier = 100
+       # dim inetd divisor = 200
+       # dim nms name = nms
+       # dim nms algorithm = incremental
+       # dim nms multiplier = 100
+       # dim nms divisor = 200
+       # dim log name = log
+       # dim log algorithm = incremental
+       # dim log multiplier = 100
+       # dim log divisor = 200
+       # dim ntp name = ntp
+       # dim ntp algorithm = incremental
+       # dim ntp multiplier = 100
+       # dim ntp divisor = 200
+       # dim named name = named
+       # dim named algorithm = incremental
+       # dim named multiplier = 100
+       # dim named divisor = 200
+       # dim ssh name = ssh
+       # dim ssh algorithm = incremental
+       # dim ssh multiplier = 100
+       # dim ssh divisor = 200
+       # dim nfs name = nfs
+       # dim nfs algorithm = incremental
+       # dim nfs multiplier = 100
+       # dim nfs divisor = 200
+       # dim nginx name = nginx
+       # dim nginx algorithm = incremental
+       # dim nginx multiplier = 100
+       # dim nginx divisor = 200
+       # dim postfix name = postfix
+       # dim postfix algorithm = incremental
+       # dim postfix multiplier = 100
+       # dim postfix divisor = 200
+       # dim mysql name = mysql
+       # dim mysql algorithm = incremental
+       # dim mysql multiplier = 100
+       # dim mysql divisor = 200
+       # dim rsync name = rsync
+       # dim rsync algorithm = incremental
+       # dim rsync multiplier = 100
+       # dim rsync divisor = 200
+       # dim compile name = compile
+       # dim compile algorithm = incremental
+       # dim compile multiplier = 100
+       # dim compile divisor = 200
+
+[apps.cpu_system]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/apps.cpu_system
+       # chart type = stacked
+       # type = apps
+       # family = cpu
+       # context = apps.cpu_system
+       # units = cpu time %
+       # priority = 20021
+       # gap when lost iterations above = 1
+       # name = apps.cpu_system
+       # title = Apps CPU System Time (200% = 2 cores) (apps.cpu_system)
+       # dim other name = other
+       # dim other algorithm = incremental
+       # dim other multiplier = 100
+       # dim other divisor = 200
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = incremental
+       # dim ksmd multiplier = 100
+       # dim ksmd divisor = 200
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 100
+       # dim system divisor = 200
+       # dim netdata name = netdata
+       # dim netdata algorithm = incremental
+       # dim netdata multiplier = 100
+       # dim netdata divisor = 200
+       # dim kernel name = kernel
+       # dim kernel algorithm = incremental
+       # dim kernel multiplier = 100
+       # dim kernel divisor = 200
+       # dim cron name = cron
+       # dim cron algorithm = incremental
+       # dim cron multiplier = 100
+       # dim cron divisor = 200
+       # dim inetd name = inetd
+       # dim inetd algorithm = incremental
+       # dim inetd multiplier = 100
+       # dim inetd divisor = 200
+       # dim nms name = nms
+       # dim nms algorithm = incremental
+       # dim nms multiplier = 100
+       # dim nms divisor = 200
+       # dim log name = log
+       # dim log algorithm = incremental
+       # dim log multiplier = 100
+       # dim log divisor = 200
+       # dim ntp name = ntp
+       # dim ntp algorithm = incremental
+       # dim ntp multiplier = 100
+       # dim ntp divisor = 200
+       # dim named name = named
+       # dim named algorithm = incremental
+       # dim named multiplier = 100
+       # dim named divisor = 200
+       # dim ssh name = ssh
+       # dim ssh algorithm = incremental
+       # dim ssh multiplier = 100
+       # dim ssh divisor = 200
+       # dim nfs name = nfs
+       # dim nfs algorithm = incremental
+       # dim nfs multiplier = 100
+       # dim nfs divisor = 200
+       # dim nginx name = nginx
+       # dim nginx algorithm = incremental
+       # dim nginx multiplier = 100
+       # dim nginx divisor = 200
+       # dim postfix name = postfix
+       # dim postfix algorithm = incremental
+       # dim postfix multiplier = 100
+       # dim postfix divisor = 200
+       # dim mysql name = mysql
+       # dim mysql algorithm = incremental
+       # dim mysql multiplier = 100
+       # dim mysql divisor = 200
+       # dim rsync name = rsync
+       # dim rsync algorithm = incremental
+       # dim rsync multiplier = 100
+       # dim rsync divisor = 200
+       # dim compile name = compile
+       # dim compile algorithm = incremental
+       # dim compile multiplier = 100
+       # dim compile divisor = 200
+
+[apps.major_faults]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/apps.major_faults
+       # chart type = stacked
+       # type = apps
+       # family = swap
+       # context = apps.major_faults
+       # units = page faults/s
+       # priority = 20010
+       # gap when lost iterations above = 1
+       # name = apps.major_faults
+       # title = Apps Major Page Faults (swap read) (apps.major_faults)
+       # dim other name = other
+       # dim other algorithm = incremental
+       # dim other multiplier = 1
+       # dim other divisor = 1
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = incremental
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 1
+       # dim system divisor = 1
+       # dim netdata name = netdata
+       # dim netdata algorithm = incremental
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1
+       # dim kernel name = kernel
+       # dim kernel algorithm = incremental
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1
+       # dim cron name = cron
+       # dim cron algorithm = incremental
+       # dim cron multiplier = 1
+       # dim cron divisor = 1
+       # dim inetd name = inetd
+       # dim inetd algorithm = incremental
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1
+       # dim nms name = nms
+       # dim nms algorithm = incremental
+       # dim nms multiplier = 1
+       # dim nms divisor = 1
+       # dim log name = log
+       # dim log algorithm = incremental
+       # dim log multiplier = 1
+       # dim log divisor = 1
+       # dim ntp name = ntp
+       # dim ntp algorithm = incremental
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1
+       # dim named name = named
+       # dim named algorithm = incremental
+       # dim named multiplier = 1
+       # dim named divisor = 1
+       # dim ssh name = ssh
+       # dim ssh algorithm = incremental
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1
+       # dim nfs name = nfs
+       # dim nfs algorithm = incremental
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1
+       # dim nginx name = nginx
+       # dim nginx algorithm = incremental
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1
+       # dim postfix name = postfix
+       # dim postfix algorithm = incremental
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1
+       # dim mysql name = mysql
+       # dim mysql algorithm = incremental
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1
+       # dim rsync name = rsync
+       # dim rsync algorithm = incremental
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1
+       # dim compile name = compile
+       # dim compile algorithm = incremental
+       # dim compile multiplier = 1
+       # dim compile divisor = 1
+
+[apps.minor_faults]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/apps.minor_faults
+       # chart type = stacked
+       # type = apps
+       # family = mem
+       # context = apps.minor_faults
+       # units = page faults/s
+       # priority = 20011
+       # gap when lost iterations above = 1
+       # name = apps.minor_faults
+       # title = Apps Minor Page Faults (apps.minor_faults)
+       # dim other name = other
+       # dim other algorithm = incremental
+       # dim other multiplier = 1
+       # dim other divisor = 1
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = incremental
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 1
+       # dim system divisor = 1
+       # dim netdata name = netdata
+       # dim netdata algorithm = incremental
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1
+       # dim kernel name = kernel
+       # dim kernel algorithm = incremental
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1
+       # dim cron name = cron
+       # dim cron algorithm = incremental
+       # dim cron multiplier = 1
+       # dim cron divisor = 1
+       # dim inetd name = inetd
+       # dim inetd algorithm = incremental
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1
+       # dim nms name = nms
+       # dim nms algorithm = incremental
+       # dim nms multiplier = 1
+       # dim nms divisor = 1
+       # dim log name = log
+       # dim log algorithm = incremental
+       # dim log multiplier = 1
+       # dim log divisor = 1
+       # dim ntp name = ntp
+       # dim ntp algorithm = incremental
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1
+       # dim named name = named
+       # dim named algorithm = incremental
+       # dim named multiplier = 1
+       # dim named divisor = 1
+       # dim ssh name = ssh
+       # dim ssh algorithm = incremental
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1
+       # dim nfs name = nfs
+       # dim nfs algorithm = incremental
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1
+       # dim nginx name = nginx
+       # dim nginx algorithm = incremental
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1
+       # dim postfix name = postfix
+       # dim postfix algorithm = incremental
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1
+       # dim mysql name = mysql
+       # dim mysql algorithm = incremental
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1
+       # dim rsync name = rsync
+       # dim rsync algorithm = incremental
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1
+       # dim compile name = compile
+       # dim compile algorithm = incremental
+       # dim compile multiplier = 1
+       # dim compile divisor = 1
+
+[apps.lreads]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/apps.lreads
+       # chart type = stacked
+       # type = apps
+       # family = disk
+       # context = apps.lreads
+       # units = kilobytes/s
+       # priority = 20042
+       # gap when lost iterations above = 1
+       # name = apps.lreads
+       # title = Apps Disk Logical Reads (apps.lreads)
+       # dim other name = other
+       # dim other algorithm = incremental
+       # dim other multiplier = 1
+       # dim other divisor = 1024
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = incremental
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1024
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 1
+       # dim system divisor = 1024
+       # dim netdata name = netdata
+       # dim netdata algorithm = incremental
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1024
+       # dim kernel name = kernel
+       # dim kernel algorithm = incremental
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1024
+       # dim cron name = cron
+       # dim cron algorithm = incremental
+       # dim cron multiplier = 1
+       # dim cron divisor = 1024
+       # dim inetd name = inetd
+       # dim inetd algorithm = incremental
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1024
+       # dim nms name = nms
+       # dim nms algorithm = incremental
+       # dim nms multiplier = 1
+       # dim nms divisor = 1024
+       # dim log name = log
+       # dim log algorithm = incremental
+       # dim log multiplier = 1
+       # dim log divisor = 1024
+       # dim ntp name = ntp
+       # dim ntp algorithm = incremental
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1024
+       # dim named name = named
+       # dim named algorithm = incremental
+       # dim named multiplier = 1
+       # dim named divisor = 1024
+       # dim ssh name = ssh
+       # dim ssh algorithm = incremental
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1024
+       # dim nfs name = nfs
+       # dim nfs algorithm = incremental
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1024
+       # dim nginx name = nginx
+       # dim nginx algorithm = incremental
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1024
+       # dim postfix name = postfix
+       # dim postfix algorithm = incremental
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1024
+       # dim mysql name = mysql
+       # dim mysql algorithm = incremental
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1024
+       # dim rsync name = rsync
+       # dim rsync algorithm = incremental
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1024
+       # dim compile name = compile
+       # dim compile algorithm = incremental
+       # dim compile multiplier = 1
+       # dim compile divisor = 1024
+
+[apps.lwrites]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/apps.lwrites
+       # chart type = stacked
+       # type = apps
+       # family = disk
+       # context = apps.lwrites
+       # units = kilobytes/s
+       # priority = 20042
+       # gap when lost iterations above = 1
+       # name = apps.lwrites
+       # title = Apps I/O Logical Writes (apps.lwrites)
+       # dim other name = other
+       # dim other algorithm = incremental
+       # dim other multiplier = 1
+       # dim other divisor = 1024
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = incremental
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1024
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 1
+       # dim system divisor = 1024
+       # dim netdata name = netdata
+       # dim netdata algorithm = incremental
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1024
+       # dim kernel name = kernel
+       # dim kernel algorithm = incremental
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1024
+       # dim cron name = cron
+       # dim cron algorithm = incremental
+       # dim cron multiplier = 1
+       # dim cron divisor = 1024
+       # dim inetd name = inetd
+       # dim inetd algorithm = incremental
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1024
+       # dim nms name = nms
+       # dim nms algorithm = incremental
+       # dim nms multiplier = 1
+       # dim nms divisor = 1024
+       # dim log name = log
+       # dim log algorithm = incremental
+       # dim log multiplier = 1
+       # dim log divisor = 1024
+       # dim ntp name = ntp
+       # dim ntp algorithm = incremental
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1024
+       # dim named name = named
+       # dim named algorithm = incremental
+       # dim named multiplier = 1
+       # dim named divisor = 1024
+       # dim ssh name = ssh
+       # dim ssh algorithm = incremental
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1024
+       # dim nfs name = nfs
+       # dim nfs algorithm = incremental
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1024
+       # dim nginx name = nginx
+       # dim nginx algorithm = incremental
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1024
+       # dim postfix name = postfix
+       # dim postfix algorithm = incremental
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1024
+       # dim mysql name = mysql
+       # dim mysql algorithm = incremental
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1024
+       # dim rsync name = rsync
+       # dim rsync algorithm = incremental
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1024
+       # dim compile name = compile
+       # dim compile algorithm = incremental
+       # dim compile multiplier = 1
+       # dim compile divisor = 1024
+
+[apps.preads]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/apps.preads
+       # chart type = stacked
+       # type = apps
+       # family = disk
+       # context = apps.preads
+       # units = kilobytes/s
+       # priority = 20002
+       # gap when lost iterations above = 1
+       # name = apps.preads
+       # title = Apps Disk Reads (apps.preads)
+       # dim other name = other
+       # dim other algorithm = incremental
+       # dim other multiplier = 1
+       # dim other divisor = 1024
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = incremental
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1024
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 1
+       # dim system divisor = 1024
+       # dim netdata name = netdata
+       # dim netdata algorithm = incremental
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1024
+       # dim kernel name = kernel
+       # dim kernel algorithm = incremental
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1024
+       # dim cron name = cron
+       # dim cron algorithm = incremental
+       # dim cron multiplier = 1
+       # dim cron divisor = 1024
+       # dim inetd name = inetd
+       # dim inetd algorithm = incremental
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1024
+       # dim nms name = nms
+       # dim nms algorithm = incremental
+       # dim nms multiplier = 1
+       # dim nms divisor = 1024
+       # dim log name = log
+       # dim log algorithm = incremental
+       # dim log multiplier = 1
+       # dim log divisor = 1024
+       # dim ntp name = ntp
+       # dim ntp algorithm = incremental
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1024
+       # dim named name = named
+       # dim named algorithm = incremental
+       # dim named multiplier = 1
+       # dim named divisor = 1024
+       # dim ssh name = ssh
+       # dim ssh algorithm = incremental
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1024
+       # dim nfs name = nfs
+       # dim nfs algorithm = incremental
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1024
+       # dim nginx name = nginx
+       # dim nginx algorithm = incremental
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1024
+       # dim postfix name = postfix
+       # dim postfix algorithm = incremental
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1024
+       # dim mysql name = mysql
+       # dim mysql algorithm = incremental
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1024
+       # dim rsync name = rsync
+       # dim rsync algorithm = incremental
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1024
+       # dim compile name = compile
+       # dim compile algorithm = incremental
+       # dim compile multiplier = 1
+       # dim compile divisor = 1024
+
+[apps.pwrites]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/apps.pwrites
+       # chart type = stacked
+       # type = apps
+       # family = disk
+       # context = apps.pwrites
+       # units = kilobytes/s
+       # priority = 20002
+       # gap when lost iterations above = 1
+       # name = apps.pwrites
+       # title = Apps Disk Writes (apps.pwrites)
+       # dim other name = other
+       # dim other algorithm = incremental
+       # dim other multiplier = 1
+       # dim other divisor = 1024
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = incremental
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1024
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 1
+       # dim system divisor = 1024
+       # dim netdata name = netdata
+       # dim netdata algorithm = incremental
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1024
+       # dim kernel name = kernel
+       # dim kernel algorithm = incremental
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1024
+       # dim cron name = cron
+       # dim cron algorithm = incremental
+       # dim cron multiplier = 1
+       # dim cron divisor = 1024
+       # dim inetd name = inetd
+       # dim inetd algorithm = incremental
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1024
+       # dim nms name = nms
+       # dim nms algorithm = incremental
+       # dim nms multiplier = 1
+       # dim nms divisor = 1024
+       # dim log name = log
+       # dim log algorithm = incremental
+       # dim log multiplier = 1
+       # dim log divisor = 1024
+       # dim ntp name = ntp
+       # dim ntp algorithm = incremental
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1024
+       # dim named name = named
+       # dim named algorithm = incremental
+       # dim named multiplier = 1
+       # dim named divisor = 1024
+       # dim ssh name = ssh
+       # dim ssh algorithm = incremental
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1024
+       # dim nfs name = nfs
+       # dim nfs algorithm = incremental
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1024
+       # dim nginx name = nginx
+       # dim nginx algorithm = incremental
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1024
+       # dim postfix name = postfix
+       # dim postfix algorithm = incremental
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1024
+       # dim mysql name = mysql
+       # dim mysql algorithm = incremental
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1024
+       # dim rsync name = rsync
+       # dim rsync algorithm = incremental
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1024
+       # dim compile name = compile
+       # dim compile algorithm = incremental
+       # dim compile multiplier = 1
+       # dim compile divisor = 1024
+
+[apps.files]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/apps.files
+       # chart type = stacked
+       # type = apps
+       # family = disk
+       # context = apps.files
+       # units = open files
+       # priority = 20050
+       # gap when lost iterations above = 1
+       # name = apps.files
+       # title = Apps Open Files (apps.files)
+       # dim other name = other
+       # dim other algorithm = absolute
+       # dim other multiplier = 1
+       # dim other divisor = 1
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = absolute
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1
+       # dim system name = system
+       # dim system algorithm = absolute
+       # dim system multiplier = 1
+       # dim system divisor = 1
+       # dim netdata name = netdata
+       # dim netdata algorithm = absolute
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1
+       # dim kernel name = kernel
+       # dim kernel algorithm = absolute
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1
+       # dim cron name = cron
+       # dim cron algorithm = absolute
+       # dim cron multiplier = 1
+       # dim cron divisor = 1
+       # dim inetd name = inetd
+       # dim inetd algorithm = absolute
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1
+       # dim nms name = nms
+       # dim nms algorithm = absolute
+       # dim nms multiplier = 1
+       # dim nms divisor = 1
+       # dim log name = log
+       # dim log algorithm = absolute
+       # dim log multiplier = 1
+       # dim log divisor = 1
+       # dim ntp name = ntp
+       # dim ntp algorithm = absolute
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1
+       # dim named name = named
+       # dim named algorithm = absolute
+       # dim named multiplier = 1
+       # dim named divisor = 1
+       # dim ssh name = ssh
+       # dim ssh algorithm = absolute
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1
+       # dim nfs name = nfs
+       # dim nfs algorithm = absolute
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1
+       # dim nginx name = nginx
+       # dim nginx algorithm = absolute
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1
+       # dim postfix name = postfix
+       # dim postfix algorithm = absolute
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1
+       # dim mysql name = mysql
+       # dim mysql algorithm = absolute
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1
+       # dim rsync name = rsync
+       # dim rsync algorithm = absolute
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1
+       # dim compile name = compile
+       # dim compile algorithm = absolute
+       # dim compile multiplier = 1
+       # dim compile divisor = 1
+
+[apps.sockets]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/apps.sockets
+       # chart type = stacked
+       # type = apps
+       # family = net
+       # context = apps.sockets
+       # units = open sockets
+       # priority = 20051
+       # gap when lost iterations above = 1
+       # name = apps.sockets
+       # title = Apps Open Sockets (apps.sockets)
+       # dim other name = other
+       # dim other algorithm = absolute
+       # dim other multiplier = 1
+       # dim other divisor = 1
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = absolute
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1
+       # dim system name = system
+       # dim system algorithm = absolute
+       # dim system multiplier = 1
+       # dim system divisor = 1
+       # dim netdata name = netdata
+       # dim netdata algorithm = absolute
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1
+       # dim kernel name = kernel
+       # dim kernel algorithm = absolute
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1
+       # dim cron name = cron
+       # dim cron algorithm = absolute
+       # dim cron multiplier = 1
+       # dim cron divisor = 1
+       # dim inetd name = inetd
+       # dim inetd algorithm = absolute
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1
+       # dim nms name = nms
+       # dim nms algorithm = absolute
+       # dim nms multiplier = 1
+       # dim nms divisor = 1
+       # dim log name = log
+       # dim log algorithm = absolute
+       # dim log multiplier = 1
+       # dim log divisor = 1
+       # dim ntp name = ntp
+       # dim ntp algorithm = absolute
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1
+       # dim named name = named
+       # dim named algorithm = absolute
+       # dim named multiplier = 1
+       # dim named divisor = 1
+       # dim ssh name = ssh
+       # dim ssh algorithm = absolute
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1
+       # dim nfs name = nfs
+       # dim nfs algorithm = absolute
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1
+       # dim nginx name = nginx
+       # dim nginx algorithm = absolute
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1
+       # dim postfix name = postfix
+       # dim postfix algorithm = absolute
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1
+       # dim mysql name = mysql
+       # dim mysql algorithm = absolute
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1
+       # dim rsync name = rsync
+       # dim rsync algorithm = absolute
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1
+       # dim compile name = compile
+       # dim compile algorithm = absolute
+       # dim compile multiplier = 1
+       # dim compile divisor = 1
+
+[apps.pipes]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/apps.pipes
+       # chart type = stacked
+       # type = apps
+       # family = processes
+       # context = apps.pipes
+       # units = open pipes
+       # priority = 20053
+       # gap when lost iterations above = 1
+       # name = apps.pipes
+       # title = Apps Pipes (apps.pipes)
+       # dim other name = other
+       # dim other algorithm = absolute
+       # dim other multiplier = 1
+       # dim other divisor = 1
+       # dim ksmd name = ksmd
+       # dim ksmd algorithm = absolute
+       # dim ksmd multiplier = 1
+       # dim ksmd divisor = 1
+       # dim system name = system
+       # dim system algorithm = absolute
+       # dim system multiplier = 1
+       # dim system divisor = 1
+       # dim netdata name = netdata
+       # dim netdata algorithm = absolute
+       # dim netdata multiplier = 1
+       # dim netdata divisor = 1
+       # dim kernel name = kernel
+       # dim kernel algorithm = absolute
+       # dim kernel multiplier = 1
+       # dim kernel divisor = 1
+       # dim cron name = cron
+       # dim cron algorithm = absolute
+       # dim cron multiplier = 1
+       # dim cron divisor = 1
+       # dim inetd name = inetd
+       # dim inetd algorithm = absolute
+       # dim inetd multiplier = 1
+       # dim inetd divisor = 1
+       # dim nms name = nms
+       # dim nms algorithm = absolute
+       # dim nms multiplier = 1
+       # dim nms divisor = 1
+       # dim log name = log
+       # dim log algorithm = absolute
+       # dim log multiplier = 1
+       # dim log divisor = 1
+       # dim ntp name = ntp
+       # dim ntp algorithm = absolute
+       # dim ntp multiplier = 1
+       # dim ntp divisor = 1
+       # dim named name = named
+       # dim named algorithm = absolute
+       # dim named multiplier = 1
+       # dim named divisor = 1
+       # dim ssh name = ssh
+       # dim ssh algorithm = absolute
+       # dim ssh multiplier = 1
+       # dim ssh divisor = 1
+       # dim nfs name = nfs
+       # dim nfs algorithm = absolute
+       # dim nfs multiplier = 1
+       # dim nfs divisor = 1
+       # dim nginx name = nginx
+       # dim nginx algorithm = absolute
+       # dim nginx multiplier = 1
+       # dim nginx divisor = 1
+       # dim postfix name = postfix
+       # dim postfix algorithm = absolute
+       # dim postfix multiplier = 1
+       # dim postfix divisor = 1
+       # dim mysql name = mysql
+       # dim mysql algorithm = absolute
+       # dim mysql multiplier = 1
+       # dim mysql divisor = 1
+       # dim rsync name = rsync
+       # dim rsync algorithm = absolute
+       # dim rsync multiplier = 1
+       # dim rsync divisor = 1
+       # dim compile name = compile
+       # dim compile algorithm = absolute
+       # dim compile multiplier = 1
+       # dim compile divisor = 1
+
+[netdata.apps_cpu]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/netdata.apps_cpu
+       # chart type = stacked
+       # type = netdata
+       # family = apps.plugin
+       # context = netdata.apps_cpu
+       # units = milliseconds/s
+       # priority = 140000
+       # gap when lost iterations above = 1
+       # name = netdata.apps_cpu
+       # title = Apps Plugin CPU (netdata.apps_cpu)
+       # dim user name = user
+       # dim user algorithm = incremental
+       # dim user multiplier = 1
+       # dim user divisor = 1000
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 1
+       # dim system divisor = 1000
+
+[netdata.apps_files]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netdata.apps_files
+       # chart type = line
+       # type = netdata
+       # family = apps.plugin
+       # context = netdata.apps_files
+       # units = files/s
+       # priority = 140001
+       # gap when lost iterations above = 1
+       # name = netdata.apps_files
+       # title = Apps Plugin Files (netdata.apps_files)
+       # dim files name = files
+       # dim files algorithm = incremental
+       # dim files multiplier = 1
+       # dim files divisor = 1
+       # dim pids name = pids
+       # dim pids algorithm = absolute
+       # dim pids multiplier = 1
+       # dim pids divisor = 1
+       # dim fds name = fds
+       # dim fds algorithm = absolute
+       # dim fds multiplier = 1
+       # dim fds divisor = 1
+       # dim targets name = targets
+       # dim targets algorithm = absolute
+       # dim targets multiplier = 1
+       # dim targets divisor = 1
+
+[netdata.plugin_tc_cpu]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netdata.plugin_tc_cpu
+       # chart type = stacked
+       # type = netdata
+       # family = tc.helper
+       # context = netdata.plugin_tc_cpu
+       # units = milliseconds/s
+       # priority = 135000
+       # gap when lost iterations above = 1
+       # name = netdata.plugin_tc_cpu
+       # title = NetData TC CPU usage (netdata.plugin_tc_cpu)
+       # dim user name = user
+       # dim user algorithm = incremental
+       # dim user multiplier = 1
+       # dim user divisor = 1000
+       # dim system name = system
+       # dim system algorithm = incremental
+       # dim system multiplier = 1
+       # dim system divisor = 1000
+
+[netdata.plugin_tc_time]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netdata.plugin_tc_time
+       # chart type = area
+       # type = netdata
+       # family = tc.helper
+       # context = netdata.plugin_tc_time
+       # units = milliseconds/run
+       # priority = 135001
+       # gap when lost iterations above = 1
+       # name = netdata.plugin_tc_time
+       # title = NetData TC script execution (netdata.plugin_tc_time)
+       # dim run_time name = run time
+       # dim run_time algorithm = absolute
+       # dim run_time multiplier = 1
+       # dim run_time divisor = 1
+
+[example.random]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/example.random
+       # chart type = stacked
+       # type = example
+       # family = random
+       # context = random
+       # units = % of random numbers
+       # priority = 150000
+       # gap when lost iterations above = 1
+       # name = example.random
+       # title = Random Numbers Stacked Chart (example.random)
+       # dim random1 name = random1
+       # dim random1 algorithm = percentage-of-absolute-row
+       # dim random1 multiplier = 1
+       # dim random1 divisor = 1
+       # dim random2 name = random2
+       # dim random2 algorithm = percentage-of-absolute-row
+       # dim random2 multiplier = 1
+       # dim random2 divisor = 1
+       # dim random3 name = random3
+       # dim random3 algorithm = percentage-of-absolute-row
+       # dim random3 multiplier = 1
+       # dim random3 divisor = 1
+
+[postfix.qemails]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/postfix.qemails
+       # chart type = line
+       # type = postfix
+       # family = queue
+       # context = postfix.queued.emails
+       # units = emails
+       # priority = 60001
+       # gap when lost iterations above = 1
+       # name = postfix.qemails
+       # title = Postfix Queue Emails (postfix.qemails)
+       # dim emails name = emails
+       # dim emails algorithm = absolute
+       # dim emails multiplier = 1
+       # dim emails divisor = 1
+
+[postfix.qsize]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/postfix.qsize
+       # chart type = area
+       # type = postfix
+       # family = queue
+       # context = postfix.queued.size
+       # units = emails size in KB
+       # priority = 60002
+       # gap when lost iterations above = 1
+       # name = postfix.qsize
+       # title = Postfix Queue Emails Size (postfix.qsize)
+       # dim size name = size
+       # dim size algorithm = absolute
+       # dim size multiplier = 1
+       # dim size divisor = 1
+
+[disk_await.sda]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/disk_await.sda
+       # chart type = line
+       # type = disk_await
+       # family = sda
+       # context = disk.await
+       # units = ms per operation
+       # priority = 2005
+       # gap when lost iterations above = 1
+       # name = disk_await.sda
+       # title = Average Completed I/O Operation Time (disk_await.sda)
+       # dim reads name = reads
+       # dim reads algorithm = absolute
+       # dim reads multiplier = 1
+       # dim reads divisor = 1
+       # dim writes name = writes
+       # dim writes algorithm = absolute
+       # dim writes multiplier = -1
+       # dim writes divisor = 1
+
+[disk_avgsz.sda]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/disk_avgsz.sda
+       # chart type = area
+       # type = disk_avgsz
+       # family = sda
+       # context = disk.avgsz
+       # units = kilobytes per operation
+       # priority = 2006
+       # gap when lost iterations above = 1
+       # name = disk_avgsz.sda
+       # title = Average Completed I/O Operation Bandwidth (disk_avgsz.sda)
+       # dim reads name = reads
+       # dim reads algorithm = absolute
+       # dim reads multiplier = 512
+       # dim reads divisor = 1024
+       # dim writes name = writes
+       # dim writes algorithm = absolute
+       # dim writes multiplier = -512
+       # dim writes divisor = 1024
+
+[disk_svctm.sda]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/disk_svctm.sda
+       # chart type = line
+       # type = disk_svctm
+       # family = sda
+       # context = disk.svctm
+       # units = ms per operation
+       # priority = 2007
+       # gap when lost iterations above = 1
+       # name = disk_svctm.sda
+       # title = Average Service Time (disk_svctm.sda)
+       # dim svctm name = svctm
+       # dim svctm algorithm = absolute
+       # dim svctm multiplier = 1
+       # dim svctm divisor = 1
+
+[tc.eth1-ifb]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/tc.eth1_ifb
+       # chart type = stacked
+       # type = tc
+       # family = eth1
+       # context = tc.qos
+       # units = kilobits/s
+       # priority = 7000
+       # gap when lost iterations above = 1
+       # name = tc.mng_in
+       # title = Class Usage (tc.mng_in)
+       # dim 1:18 name = client
+       # dim 1:18 algorithm = incremental
+       # dim 1:18 multiplier = 8
+       # dim 1:18 divisor = 1024
+       # dim 1:19 name = nms
+       # dim 1:19 algorithm = incremental
+       # dim 1:19 multiplier = 8
+       # dim 1:19 divisor = 1024
+       # dim 1:8000 name = default
+       # dim 1:8000 algorithm = incremental
+       # dim 1:8000 multiplier = 8
+       # dim 1:8000 divisor = 1024
+       # dim 1:16 name = rsync
+       # dim 1:16 algorithm = incremental
+       # dim 1:16 multiplier = 8
+       # dim 1:16 divisor = 1024
+       # dim 1:17 name = web_server
+       # dim 1:17 algorithm = incremental
+       # dim 1:17 multiplier = 8
+       # dim 1:17 divisor = 1024
+       # dim 1:14 name = ntp
+       # dim 1:14 algorithm = incremental
+       # dim 1:14 multiplier = 8
+       # dim 1:14 divisor = 1024
+       # dim 1:15 name = ssh
+       # dim 1:15 algorithm = incremental
+       # dim 1:15 multiplier = 8
+       # dim 1:15 divisor = 1024
+       # dim 1:12 name = icmp
+       # dim 1:12 algorithm = incremental
+       # dim 1:12 multiplier = 8
+       # dim 1:12 divisor = 1024
+       # dim 1:13 name = dns
+       # dim 1:13 algorithm = incremental
+       # dim 1:13 multiplier = 8
+       # dim 1:13 divisor = 1024
+       # dim 1:11 name = arp
+       # dim 1:11 algorithm = incremental
+       # dim 1:11 multiplier = 8
+       # dim 1:11 divisor = 1024
+
+[tc.eth0]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/tc.eth0
+       # chart type = stacked
+       # type = tc
+       # family = eth0
+       # context = tc.qos
+       # units = kilobits/s
+       # priority = 7000
+       # gap when lost iterations above = 1
+       # name = tc.world_out
+       # title = Class Usage (tc.world_out)
+       # dim 1:18 name = client
+       # dim 1:18 algorithm = incremental
+       # dim 1:18 multiplier = 8
+       # dim 1:18 divisor = 1024
+       # dim 1:19 name = nms
+       # dim 1:19 algorithm = incremental
+       # dim 1:19 multiplier = 8
+       # dim 1:19 divisor = 1024
+       # dim 1:8000 name = default
+       # dim 1:8000 algorithm = incremental
+       # dim 1:8000 multiplier = 8
+       # dim 1:8000 divisor = 1024
+       # dim 1:16 name = rsync
+       # dim 1:16 algorithm = incremental
+       # dim 1:16 multiplier = 8
+       # dim 1:16 divisor = 1024
+       # dim 1:17 name = web_server
+       # dim 1:17 algorithm = incremental
+       # dim 1:17 multiplier = 8
+       # dim 1:17 divisor = 1024
+       # dim 1:14 name = ntp
+       # dim 1:14 algorithm = incremental
+       # dim 1:14 multiplier = 8
+       # dim 1:14 divisor = 1024
+       # dim 1:15 name = ssh
+       # dim 1:15 algorithm = incremental
+       # dim 1:15 multiplier = 8
+       # dim 1:15 divisor = 1024
+       # dim 1:12 name = icmp
+       # dim 1:12 algorithm = incremental
+       # dim 1:12 multiplier = 8
+       # dim 1:12 divisor = 1024
+       # dim 1:13 name = dns
+       # dim 1:13 algorithm = incremental
+       # dim 1:13 multiplier = 8
+       # dim 1:13 divisor = 1024
+       # dim 1:11 name = arp
+       # dim 1:11 algorithm = incremental
+       # dim 1:11 multiplier = 8
+       # dim 1:11 divisor = 1024
+
+[tc.eth1]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/tc.eth1
+       # chart type = stacked
+       # type = tc
+       # family = eth1
+       # context = tc.qos
+       # units = kilobits/s
+       # priority = 7000
+       # gap when lost iterations above = 1
+       # name = tc.mng_out
+       # title = Class Usage (tc.mng_out)
+       # dim 1:18 name = client
+       # dim 1:18 algorithm = incremental
+       # dim 1:18 multiplier = 8
+       # dim 1:18 divisor = 1024
+       # dim 1:19 name = nms
+       # dim 1:19 algorithm = incremental
+       # dim 1:19 multiplier = 8
+       # dim 1:19 divisor = 1024
+       # dim 1:8000 name = default
+       # dim 1:8000 algorithm = incremental
+       # dim 1:8000 multiplier = 8
+       # dim 1:8000 divisor = 1024
+       # dim 1:16 name = rsync
+       # dim 1:16 algorithm = incremental
+       # dim 1:16 multiplier = 8
+       # dim 1:16 divisor = 1024
+       # dim 1:17 name = web_server
+       # dim 1:17 algorithm = incremental
+       # dim 1:17 multiplier = 8
+       # dim 1:17 divisor = 1024
+       # dim 1:14 name = ntp
+       # dim 1:14 algorithm = incremental
+       # dim 1:14 multiplier = 8
+       # dim 1:14 divisor = 1024
+       # dim 1:15 name = ssh
+       # dim 1:15 algorithm = incremental
+       # dim 1:15 multiplier = 8
+       # dim 1:15 divisor = 1024
+       # dim 1:12 name = icmp
+       # dim 1:12 algorithm = incremental
+       # dim 1:12 multiplier = 8
+       # dim 1:12 divisor = 1024
+       # dim 1:13 name = dns
+       # dim 1:13 algorithm = incremental
+       # dim 1:13 multiplier = 8
+       # dim 1:13 divisor = 1024
+       # dim 1:11 name = arp
+       # dim 1:11 algorithm = incremental
+       # dim 1:11 multiplier = 8
+       # dim 1:11 divisor = 1024
+
+[mem.ksm]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/mem.ksm
+       # chart type = area
+       # type = mem
+       # family = ksm
+       # context = mem.ksm
+       # units = MB
+       # priority = 5000
+       # gap when lost iterations above = 1
+       # name = mem.ksm
+       # title = Kernel Same Page Merging (mem.ksm)
+       # dim shared name = shared
+       # dim shared algorithm = absolute
+       # dim shared multiplier = 1
+       # dim shared divisor = 1048576
+       # dim unshared name = unshared
+       # dim unshared algorithm = absolute
+       # dim unshared multiplier = -1
+       # dim unshared divisor = 1048576
+       # dim sharing name = sharing
+       # dim sharing algorithm = absolute
+       # dim sharing multiplier = 1
+       # dim sharing divisor = 1048576
+       # dim volatile name = volatile
+       # dim volatile algorithm = absolute
+       # dim volatile multiplier = -1
+       # dim volatile divisor = 1048576
+       # dim to_scan name = to scan
+       # dim to_scan algorithm = absolute
+       # dim to_scan multiplier = -1
+       # dim to_scan divisor = 1048576
+
+[mem.ksm_savings]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/mem.ksm_savings
+       # chart type = area
+       # type = mem
+       # family = ksm
+       # context = mem.ksm_savings
+       # units = MB
+       # priority = 5001
+       # gap when lost iterations above = 1
+       # name = mem.ksm_savings
+       # title = Kernel Same Page Merging Savings (mem.ksm_savings)
+       # dim savings name = savings
+       # dim savings algorithm = absolute
+       # dim savings multiplier = -1
+       # dim savings divisor = 1048576
+       # dim offered name = offered
+       # dim offered algorithm = absolute
+       # dim offered multiplier = 1
+       # dim offered divisor = 1048576
+
+[mem.ksm_ratios]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/mem.ksm_ratios
+       # chart type = line
+       # type = mem
+       # family = ksm
+       # context = mem.ksm_ratios
+       # units = percentage
+       # priority = 5002
+       # gap when lost iterations above = 1
+       # name = mem.ksm_ratios
+       # title = Kernel Same Page Merging Effectiveness (mem.ksm_ratios)
+       # dim savings name = savings
+       # dim savings algorithm = absolute
+       # dim savings multiplier = 1
+       # dim savings divisor = 10000
+
+[system.load]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/system.load
+       # chart type = line
+       # type = system
+       # family = load
+       # context = system.load
+       # units = load
+       # priority = 100
+       # gap when lost iterations above = 1
+       # name = system.load
+       # title = System Load Average (system.load)
+       # dim load1 name = load1
+       # dim load1 algorithm = absolute
+       # dim load1 multiplier = 1
+       # dim load1 divisor = 1000
+       # dim load5 name = load5
+       # dim load5 algorithm = absolute
+       # dim load5 multiplier = 1
+       # dim load5 divisor = 1000
+       # dim load15 name = load15
+       # dim load15 algorithm = absolute
+       # dim load15 multiplier = 1
+       # dim load15 divisor = 1000
+
+[tc.eth0-ifb]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/tc.eth0_ifb
+       # chart type = stacked
+       # type = tc
+       # family = eth0
+       # context = tc.qos
+       # units = kilobits/s
+       # priority = 7000
+       # gap when lost iterations above = 1
+       # name = tc.world_in
+       # title = Class Usage (tc.world_in)
+       # dim 1:18 name = client
+       # dim 1:18 algorithm = incremental
+       # dim 1:18 multiplier = 8
+       # dim 1:18 divisor = 1024
+       # dim 1:19 name = nms
+       # dim 1:19 algorithm = incremental
+       # dim 1:19 multiplier = 8
+       # dim 1:19 divisor = 1024
+       # dim 1:8000 name = default
+       # dim 1:8000 algorithm = incremental
+       # dim 1:8000 multiplier = 8
+       # dim 1:8000 divisor = 1024
+       # dim 1:16 name = rsync
+       # dim 1:16 algorithm = incremental
+       # dim 1:16 multiplier = 8
+       # dim 1:16 divisor = 1024
+       # dim 1:17 name = web_server
+       # dim 1:17 algorithm = incremental
+       # dim 1:17 multiplier = 8
+       # dim 1:17 divisor = 1024
+       # dim 1:14 name = ntp
+       # dim 1:14 algorithm = incremental
+       # dim 1:14 multiplier = 8
+       # dim 1:14 divisor = 1024
+       # dim 1:15 name = ssh
+       # dim 1:15 algorithm = incremental
+       # dim 1:15 multiplier = 8
+       # dim 1:15 divisor = 1024
+       # dim 1:12 name = icmp
+       # dim 1:12 algorithm = incremental
+       # dim 1:12 multiplier = 8
+       # dim 1:12 divisor = 1024
+       # dim 1:13 name = dns
+       # dim 1:13 algorithm = incremental
+       # dim 1:13 multiplier = 8
+       # dim 1:13 divisor = 1024
+       # dim 1:11 name = arp
+       # dim 1:11 algorithm = incremental
+       # dim 1:11 multiplier = 8
+       # dim 1:11 divisor = 1024
+
+[system.active_processes]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/system.active_processes
+       # chart type = line
+       # type = system
+       # family = processes
+       # context = system.active_processes
+       # units = processes
+       # priority = 750
+       # gap when lost iterations above = 1
+       # name = system.active_processes
+       # title = System Active Processes (system.active_processes)
+       # dim active name = active
+       # dim active algorithm = absolute
+       # dim active multiplier = 1
+       # dim active divisor = 1
+
+[cpu.cpu0_interrupts]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/cpu.cpu0_interrupts
+       # chart type = stacked
+       # type = cpu
+       # family = interrupts
+       # context = cpu.interrupts
+       # units = interrupts/s
+       # priority = 2000
+       # gap when lost iterations above = 1
+       # name = cpu.cpu0_interrupts
+       # title = CPU0 Interrupts (cpu.cpu0_interrupts)
+       # dim 0 name = timer_0
+       # dim 0 algorithm = incremental
+       # dim 0 multiplier = 1
+       # dim 0 divisor = 1
+       # dim 1 name = i8042_1
+       # dim 1 algorithm = incremental
+       # dim 1 multiplier = 1
+       # dim 1 divisor = 1
+       # dim 6 name = floppy_6
+       # dim 6 algorithm = incremental
+       # dim 6 multiplier = 1
+       # dim 6 divisor = 1
+       # dim 8 name = rtc0_8
+       # dim 8 algorithm = incremental
+       # dim 8 multiplier = 1
+       # dim 8 divisor = 1
+       # dim 9 name = acpi_9
+       # dim 9 algorithm = incremental
+       # dim 9 multiplier = 1
+       # dim 9 divisor = 1
+       # dim 12 name = i8042_12
+       # dim 12 algorithm = incremental
+       # dim 12 multiplier = 1
+       # dim 12 divisor = 1
+       # dim 14 name = ata_piix_14
+       # dim 14 algorithm = incremental
+       # dim 14 multiplier = 1
+       # dim 14 divisor = 1
+       # dim 15 name = ata_piix_15
+       # dim 15 algorithm = incremental
+       # dim 15 multiplier = 1
+       # dim 15 divisor = 1
+       # dim NMI name = NMI
+       # dim NMI algorithm = incremental
+       # dim NMI multiplier = 1
+       # dim NMI divisor = 1
+       # dim LOC name = LOC
+       # dim LOC algorithm = incremental
+       # dim LOC multiplier = 1
+       # dim LOC divisor = 1
+       # dim SPU name = SPU
+       # dim SPU algorithm = incremental
+       # dim SPU multiplier = 1
+       # dim SPU divisor = 1
+       # dim PMI name = PMI
+       # dim PMI algorithm = incremental
+       # dim PMI multiplier = 1
+       # dim PMI divisor = 1
+       # dim IWI name = IWI
+       # dim IWI algorithm = incremental
+       # dim IWI multiplier = 1
+       # dim IWI divisor = 1
+       # dim RTR name = RTR
+       # dim RTR algorithm = incremental
+       # dim RTR multiplier = 1
+       # dim RTR divisor = 1
+       # dim RES name = RES
+       # dim RES algorithm = incremental
+       # dim RES multiplier = 1
+       # dim RES divisor = 1
+       # dim CAL name = CAL
+       # dim CAL algorithm = incremental
+       # dim CAL multiplier = 1
+       # dim CAL divisor = 1
+       # dim TLB name = TLB
+       # dim TLB algorithm = incremental
+       # dim TLB multiplier = 1
+       # dim TLB divisor = 1
+       # dim TRM name = TRM
+       # dim TRM algorithm = incremental
+       # dim TRM multiplier = 1
+       # dim TRM divisor = 1
+       # dim THR name = THR
+       # dim THR algorithm = incremental
+       # dim THR multiplier = 1
+       # dim THR divisor = 1
+       # dim MCE name = MCE
+       # dim MCE algorithm = incremental
+       # dim MCE multiplier = 1
+       # dim MCE divisor = 1
+       # dim MCP name = MCP
+       # dim MCP algorithm = incremental
+       # dim MCP multiplier = 1
+       # dim MCP divisor = 1
+       # dim HYP name = HYP
+       # dim HYP algorithm = incremental
+       # dim HYP multiplier = 1
+       # dim HYP divisor = 1
+       # dim ERR name = ERR
+       # dim ERR algorithm = incremental
+       # dim ERR multiplier = 1
+       # dim ERR divisor = 1
+       # dim MIS name = MIS
+       # dim MIS algorithm = incremental
+       # dim MIS multiplier = 1
+       # dim MIS divisor = 1
+
+[cpu.cpu1_interrupts]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/cpu.cpu1_interrupts
+       # chart type = stacked
+       # type = cpu
+       # family = interrupts
+       # context = cpu.interrupts
+       # units = interrupts/s
+       # priority = 2001
+       # gap when lost iterations above = 1
+       # name = cpu.cpu1_interrupts
+       # title = CPU1 Interrupts (cpu.cpu1_interrupts)
+       # dim 0 name = timer_0
+       # dim 0 algorithm = incremental
+       # dim 0 multiplier = 1
+       # dim 0 divisor = 1
+       # dim 1 name = i8042_1
+       # dim 1 algorithm = incremental
+       # dim 1 multiplier = 1
+       # dim 1 divisor = 1
+       # dim 6 name = floppy_6
+       # dim 6 algorithm = incremental
+       # dim 6 multiplier = 1
+       # dim 6 divisor = 1
+       # dim 8 name = rtc0_8
+       # dim 8 algorithm = incremental
+       # dim 8 multiplier = 1
+       # dim 8 divisor = 1
+       # dim 9 name = acpi_9
+       # dim 9 algorithm = incremental
+       # dim 9 multiplier = 1
+       # dim 9 divisor = 1
+       # dim 12 name = i8042_12
+       # dim 12 algorithm = incremental
+       # dim 12 multiplier = 1
+       # dim 12 divisor = 1
+       # dim 14 name = ata_piix_14
+       # dim 14 algorithm = incremental
+       # dim 14 multiplier = 1
+       # dim 14 divisor = 1
+       # dim 15 name = ata_piix_15
+       # dim 15 algorithm = incremental
+       # dim 15 multiplier = 1
+       # dim 15 divisor = 1
+       # dim NMI name = NMI
+       # dim NMI algorithm = incremental
+       # dim NMI multiplier = 1
+       # dim NMI divisor = 1
+       # dim LOC name = LOC
+       # dim LOC algorithm = incremental
+       # dim LOC multiplier = 1
+       # dim LOC divisor = 1
+       # dim SPU name = SPU
+       # dim SPU algorithm = incremental
+       # dim SPU multiplier = 1
+       # dim SPU divisor = 1
+       # dim PMI name = PMI
+       # dim PMI algorithm = incremental
+       # dim PMI multiplier = 1
+       # dim PMI divisor = 1
+       # dim IWI name = IWI
+       # dim IWI algorithm = incremental
+       # dim IWI multiplier = 1
+       # dim IWI divisor = 1
+       # dim RTR name = RTR
+       # dim RTR algorithm = incremental
+       # dim RTR multiplier = 1
+       # dim RTR divisor = 1
+       # dim RES name = RES
+       # dim RES algorithm = incremental
+       # dim RES multiplier = 1
+       # dim RES divisor = 1
+       # dim CAL name = CAL
+       # dim CAL algorithm = incremental
+       # dim CAL multiplier = 1
+       # dim CAL divisor = 1
+       # dim TLB name = TLB
+       # dim TLB algorithm = incremental
+       # dim TLB multiplier = 1
+       # dim TLB divisor = 1
+       # dim TRM name = TRM
+       # dim TRM algorithm = incremental
+       # dim TRM multiplier = 1
+       # dim TRM divisor = 1
+       # dim THR name = THR
+       # dim THR algorithm = incremental
+       # dim THR multiplier = 1
+       # dim THR divisor = 1
+       # dim MCE name = MCE
+       # dim MCE algorithm = incremental
+       # dim MCE multiplier = 1
+       # dim MCE divisor = 1
+       # dim MCP name = MCP
+       # dim MCP algorithm = incremental
+       # dim MCP multiplier = 1
+       # dim MCP divisor = 1
+       # dim HYP name = HYP
+       # dim HYP algorithm = incremental
+       # dim HYP multiplier = 1
+       # dim HYP divisor = 1
+       # dim ERR name = ERR
+       # dim ERR algorithm = incremental
+       # dim ERR multiplier = 1
+       # dim ERR divisor = 1
+       # dim MIS name = MIS
+       # dim MIS algorithm = incremental
+       # dim MIS multiplier = 1
+       # dim MIS divisor = 1
+
+[example.random2]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/example.random2
+       # chart type = area
+       # type = example
+       # family = random
+       # context = random
+       # units = random number
+       # priority = 150001
+       # gap when lost iterations above = 1
+       # name = example.random2
+       # title = A random number (example.random2)
+       # dim random name = random
+       # dim random algorithm = absolute
+       # dim random multiplier = 1
+       # dim random divisor = 1
+
+[mysql_local.net]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.net
+       # chart type = area
+       # type = mysql_local
+       # family = bandwidth
+       # context = mysql.net
+       # units = kilobits/s
+       # priority = 60001
+       # gap when lost iterations above = 1
+       # name = mysql_local.net
+       # title = mysql Bandwidth (mysql_local.net)
+       # dim Bytes_received name = in
+       # dim Bytes_received algorithm = incremental
+       # dim Bytes_received multiplier = 8
+       # dim Bytes_received divisor = 1024
+       # dim Bytes_sent name = out
+       # dim Bytes_sent algorithm = incremental
+       # dim Bytes_sent multiplier = -8
+       # dim Bytes_sent divisor = 1024
+
+[mysql_local.queries]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.queries
+       # chart type = line
+       # type = mysql_local
+       # family = queries
+       # context = mysql.queries
+       # units = queries/s
+       # priority = 60002
+       # gap when lost iterations above = 1
+       # name = mysql_local.queries
+       # title = mysql Queries (mysql_local.queries)
+       # dim Queries name = queries
+       # dim Queries algorithm = incremental
+       # dim Queries multiplier = 1
+       # dim Queries divisor = 1
+       # dim Questions name = questions
+       # dim Questions algorithm = incremental
+       # dim Questions multiplier = 1
+       # dim Questions divisor = 1
+       # dim Slow_queries name = slow_queries
+       # dim Slow_queries algorithm = incremental
+       # dim Slow_queries multiplier = -1
+       # dim Slow_queries divisor = 1
+
+[mysql_local.handlers]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.handlers
+       # chart type = line
+       # type = mysql_local
+       # family = handlers
+       # context = mysql.handlers
+       # units = handlers/s
+       # priority = 60003
+       # gap when lost iterations above = 1
+       # name = mysql_local.handlers
+       # title = mysql Handlers (mysql_local.handlers)
+       # dim Handler_commit name = commit
+       # dim Handler_commit algorithm = incremental
+       # dim Handler_commit multiplier = 1
+       # dim Handler_commit divisor = 1
+       # dim Handler_delete name = delete
+       # dim Handler_delete algorithm = incremental
+       # dim Handler_delete multiplier = 1
+       # dim Handler_delete divisor = 1
+       # dim Handler_prepare name = prepare
+       # dim Handler_prepare algorithm = incremental
+       # dim Handler_prepare multiplier = 1
+       # dim Handler_prepare divisor = 1
+       # dim Handler_read_first name = read_first
+       # dim Handler_read_first algorithm = incremental
+       # dim Handler_read_first multiplier = 1
+       # dim Handler_read_first divisor = 1
+       # dim Handler_read_key name = read_key
+       # dim Handler_read_key algorithm = incremental
+       # dim Handler_read_key multiplier = 1
+       # dim Handler_read_key divisor = 1
+       # dim Handler_read_next name = read_next
+       # dim Handler_read_next algorithm = incremental
+       # dim Handler_read_next multiplier = 1
+       # dim Handler_read_next divisor = 1
+       # dim Handler_read_prev name = read_prev
+       # dim Handler_read_prev algorithm = incremental
+       # dim Handler_read_prev multiplier = 1
+       # dim Handler_read_prev divisor = 1
+       # dim Handler_read_rnd name = read_rnd
+       # dim Handler_read_rnd algorithm = incremental
+       # dim Handler_read_rnd multiplier = 1
+       # dim Handler_read_rnd divisor = 1
+       # dim Handler_read_rnd_next name = read_rnd_next
+       # dim Handler_read_rnd_next algorithm = incremental
+       # dim Handler_read_rnd_next multiplier = 1
+       # dim Handler_read_rnd_next divisor = 1
+       # dim Handler_rollback name = rollback
+       # dim Handler_rollback algorithm = incremental
+       # dim Handler_rollback multiplier = 1
+       # dim Handler_rollback divisor = 1
+       # dim Handler_savepoint name = savepoint
+       # dim Handler_savepoint algorithm = incremental
+       # dim Handler_savepoint multiplier = 1
+       # dim Handler_savepoint divisor = 1
+       # dim Handler_savepoint_rollback name = savepoint_rollback
+       # dim Handler_savepoint_rollback algorithm = incremental
+       # dim Handler_savepoint_rollback multiplier = 1
+       # dim Handler_savepoint_rollback divisor = 1
+       # dim Handler_update name = update
+       # dim Handler_update algorithm = incremental
+       # dim Handler_update multiplier = 1
+       # dim Handler_update divisor = 1
+       # dim Handler_write name = write
+       # dim Handler_write algorithm = incremental
+       # dim Handler_write multiplier = 1
+       # dim Handler_write divisor = 1
+
+[system.softirqs]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/system.softirqs
+       # chart type = stacked
+       # type = system
+       # family = softirqs
+       # context = system.softirqs
+       # units = softirqs/s
+       # priority = 950
+       # gap when lost iterations above = 1
+       # name = system.softirqs
+       # title = System softirqs (system.softirqs)
+       # dim HI name = HI
+       # dim HI algorithm = incremental
+       # dim HI multiplier = 1
+       # dim HI divisor = 1
+       # dim TIMER name = TIMER
+       # dim TIMER algorithm = incremental
+       # dim TIMER multiplier = 1
+       # dim TIMER divisor = 1
+       # dim NET_TX name = NET_TX
+       # dim NET_TX algorithm = incremental
+       # dim NET_TX multiplier = 1
+       # dim NET_TX divisor = 1
+       # dim NET_RX name = NET_RX
+       # dim NET_RX algorithm = incremental
+       # dim NET_RX multiplier = 1
+       # dim NET_RX divisor = 1
+       # dim BLOCK name = BLOCK
+       # dim BLOCK algorithm = incremental
+       # dim BLOCK multiplier = 1
+       # dim BLOCK divisor = 1
+       # dim BLOCK_IOPOLL name = BLOCK_IOPOLL
+       # dim BLOCK_IOPOLL algorithm = incremental
+       # dim BLOCK_IOPOLL multiplier = 1
+       # dim BLOCK_IOPOLL divisor = 1
+       # dim TASKLET name = TASKLET
+       # dim TASKLET algorithm = incremental
+       # dim TASKLET multiplier = 1
+       # dim TASKLET divisor = 1
+       # dim SCHED name = SCHED
+       # dim SCHED algorithm = incremental
+       # dim SCHED multiplier = 1
+       # dim SCHED divisor = 1
+       # dim HRTIMER name = HRTIMER
+       # dim HRTIMER algorithm = incremental
+       # dim HRTIMER multiplier = 1
+       # dim HRTIMER divisor = 1
+       # dim RCU name = RCU
+       # dim RCU algorithm = incremental
+       # dim RCU multiplier = 1
+       # dim RCU divisor = 1
+
+[cpu.cpu0_softirqs]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/cpu.cpu0_softirqs
+       # chart type = stacked
+       # type = cpu
+       # family = softirqs
+       # context = cpu.softirqs
+       # units = softirqs/s
+       # priority = 3000
+       # gap when lost iterations above = 1
+       # name = cpu.cpu0_softirqs
+       # title = CPU0 softirqs (cpu.cpu0_softirqs)
+       # dim HI name = HI
+       # dim HI algorithm = incremental
+       # dim HI multiplier = 1
+       # dim HI divisor = 1
+       # dim TIMER name = TIMER
+       # dim TIMER algorithm = incremental
+       # dim TIMER multiplier = 1
+       # dim TIMER divisor = 1
+       # dim NET_TX name = NET_TX
+       # dim NET_TX algorithm = incremental
+       # dim NET_TX multiplier = 1
+       # dim NET_TX divisor = 1
+       # dim NET_RX name = NET_RX
+       # dim NET_RX algorithm = incremental
+       # dim NET_RX multiplier = 1
+       # dim NET_RX divisor = 1
+       # dim BLOCK name = BLOCK
+       # dim BLOCK algorithm = incremental
+       # dim BLOCK multiplier = 1
+       # dim BLOCK divisor = 1
+       # dim BLOCK_IOPOLL name = BLOCK_IOPOLL
+       # dim BLOCK_IOPOLL algorithm = incremental
+       # dim BLOCK_IOPOLL multiplier = 1
+       # dim BLOCK_IOPOLL divisor = 1
+       # dim TASKLET name = TASKLET
+       # dim TASKLET algorithm = incremental
+       # dim TASKLET multiplier = 1
+       # dim TASKLET divisor = 1
+       # dim SCHED name = SCHED
+       # dim SCHED algorithm = incremental
+       # dim SCHED multiplier = 1
+       # dim SCHED divisor = 1
+       # dim HRTIMER name = HRTIMER
+       # dim HRTIMER algorithm = incremental
+       # dim HRTIMER multiplier = 1
+       # dim HRTIMER divisor = 1
+       # dim RCU name = RCU
+       # dim RCU algorithm = incremental
+       # dim RCU multiplier = 1
+       # dim RCU divisor = 1
+
+[mysql_local.table_locks]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.table_locks
+       # chart type = line
+       # type = mysql_local
+       # family = locks
+       # context = mysql.table_locks
+       # units = locks/s
+       # priority = 60004
+       # gap when lost iterations above = 1
+       # name = mysql_local.table_locks
+       # title = mysql Tables Locks (mysql_local.table_locks)
+       # dim Table_locks_immediate name = immediate
+       # dim Table_locks_immediate algorithm = incremental
+       # dim Table_locks_immediate multiplier = 1
+       # dim Table_locks_immediate divisor = 1
+       # dim Table_locks_waited name = waited
+       # dim Table_locks_waited algorithm = incremental
+       # dim Table_locks_waited multiplier = -1
+       # dim Table_locks_waited divisor = 1
+
+[mysql_local.join_issues]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.join_issues
+       # chart type = line
+       # type = mysql_local
+       # family = issues
+       # context = mysql.join_issues
+       # units = joins/s
+       # priority = 60005
+       # gap when lost iterations above = 1
+       # name = mysql_local.join_issues
+       # title = mysql Select Join Issues (mysql_local.join_issues)
+       # dim Select_full_join name = full_join
+       # dim Select_full_join algorithm = incremental
+       # dim Select_full_join multiplier = 1
+       # dim Select_full_join divisor = 1
+       # dim Select_full_range_join name = full_range_join
+       # dim Select_full_range_join algorithm = incremental
+       # dim Select_full_range_join multiplier = 1
+       # dim Select_full_range_join divisor = 1
+       # dim Select_range name = range
+       # dim Select_range algorithm = incremental
+       # dim Select_range multiplier = 1
+       # dim Select_range divisor = 1
+       # dim Select_range_check name = range_check
+       # dim Select_range_check algorithm = incremental
+       # dim Select_range_check multiplier = 1
+       # dim Select_range_check divisor = 1
+       # dim Select_scan name = scan
+       # dim Select_scan algorithm = incremental
+       # dim Select_scan multiplier = 1
+       # dim Select_scan divisor = 1
+
+[cpu.cpu1_softirqs]
+       # history = 86400
+       # enabled = yes
+       # cache directory = /var/cache/netdata/cpu.cpu1_softirqs
+       # chart type = stacked
+       # type = cpu
+       # family = softirqs
+       # context = cpu.softirqs
+       # units = softirqs/s
+       # priority = 3001
+       # gap when lost iterations above = 1
+       # name = cpu.cpu1_softirqs
+       # title = CPU1 softirqs (cpu.cpu1_softirqs)
+       # dim HI name = HI
+       # dim HI algorithm = incremental
+       # dim HI multiplier = 1
+       # dim HI divisor = 1
+       # dim TIMER name = TIMER
+       # dim TIMER algorithm = incremental
+       # dim TIMER multiplier = 1
+       # dim TIMER divisor = 1
+       # dim NET_TX name = NET_TX
+       # dim NET_TX algorithm = incremental
+       # dim NET_TX multiplier = 1
+       # dim NET_TX divisor = 1
+       # dim NET_RX name = NET_RX
+       # dim NET_RX algorithm = incremental
+       # dim NET_RX multiplier = 1
+       # dim NET_RX divisor = 1
+       # dim BLOCK name = BLOCK
+       # dim BLOCK algorithm = incremental
+       # dim BLOCK multiplier = 1
+       # dim BLOCK divisor = 1
+       # dim BLOCK_IOPOLL name = BLOCK_IOPOLL
+       # dim BLOCK_IOPOLL algorithm = incremental
+       # dim BLOCK_IOPOLL multiplier = 1
+       # dim BLOCK_IOPOLL divisor = 1
+       # dim TASKLET name = TASKLET
+       # dim TASKLET algorithm = incremental
+       # dim TASKLET multiplier = 1
+       # dim TASKLET divisor = 1
+       # dim SCHED name = SCHED
+       # dim SCHED algorithm = incremental
+       # dim SCHED multiplier = 1
+       # dim SCHED divisor = 1
+       # dim HRTIMER name = HRTIMER
+       # dim HRTIMER algorithm = incremental
+       # dim HRTIMER multiplier = 1
+       # dim HRTIMER divisor = 1
+       # dim RCU name = RCU
+       # dim RCU algorithm = incremental
+       # dim RCU multiplier = 1
+       # dim RCU divisor = 1
+
+[mysql_local.sort_issues]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.sort_issues
+       # chart type = line
+       # type = mysql_local
+       # family = issues
+       # context = mysql.sort.issues
+       # units = issues/s
+       # priority = 60006
+       # gap when lost iterations above = 1
+       # name = mysql_local.sort_issues
+       # title = mysql Sort Issues (mysql_local.sort_issues)
+       # dim Sort_merge_passes name = merge_passes
+       # dim Sort_merge_passes algorithm = incremental
+       # dim Sort_merge_passes multiplier = 1
+       # dim Sort_merge_passes divisor = 1
+       # dim Sort_range name = range
+       # dim Sort_range algorithm = incremental
+       # dim Sort_range multiplier = 1
+       # dim Sort_range divisor = 1
+       # dim Sort_scan name = scan
+       # dim Sort_scan algorithm = incremental
+       # dim Sort_scan multiplier = 1
+       # dim Sort_scan divisor = 1
+
+[mysql_local.tmp]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.tmp
+       # chart type = line
+       # type = mysql_local
+       # family = temporaries
+       # context = mysql.tmp
+       # units = counter
+       # priority = 60007
+       # gap when lost iterations above = 1
+       # name = mysql_local.tmp
+       # title = mysql Tmp Operations (mysql_local.tmp)
+       # dim Created_tmp_disk_tables name = disk_tables
+       # dim Created_tmp_disk_tables algorithm = incremental
+       # dim Created_tmp_disk_tables multiplier = 1
+       # dim Created_tmp_disk_tables divisor = 1
+       # dim Created_tmp_files name = files
+       # dim Created_tmp_files algorithm = incremental
+       # dim Created_tmp_files multiplier = 1
+       # dim Created_tmp_files divisor = 1
+       # dim Created_tmp_tables name = tables
+       # dim Created_tmp_tables algorithm = incremental
+       # dim Created_tmp_tables multiplier = 1
+       # dim Created_tmp_tables divisor = 1
+
+[mysql_local.connections]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.connections
+       # chart type = line
+       # type = mysql_local
+       # family = connections
+       # context = mysql.connections
+       # units = connections/s
+       # priority = 60008
+       # gap when lost iterations above = 1
+       # name = mysql_local.connections
+       # title = mysql Connections (mysql_local.connections)
+       # dim Connections name = all
+       # dim Connections algorithm = incremental
+       # dim Connections multiplier = 1
+       # dim Connections divisor = 1
+       # dim Aborted_connects name = aborded
+       # dim Aborted_connects algorithm = incremental
+       # dim Aborted_connects multiplier = 1
+       # dim Aborted_connects divisor = 1
+
+[mysql_local.binlog_cache]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.binlog_cache
+       # chart type = line
+       # type = mysql_local
+       # family = binlog
+       # context = mysql.binlog_cache
+       # units = transactions/s
+       # priority = 60009
+       # gap when lost iterations above = 1
+       # name = mysql_local.binlog_cache
+       # title = mysql Binlog Cache (mysql_local.binlog_cache)
+       # dim Binlog_cache_disk_use name = disk
+       # dim Binlog_cache_disk_use algorithm = incremental
+       # dim Binlog_cache_disk_use multiplier = 1
+       # dim Binlog_cache_disk_use divisor = 1
+       # dim Binlog_cache_use name = all
+       # dim Binlog_cache_use algorithm = incremental
+       # dim Binlog_cache_use multiplier = 1
+       # dim Binlog_cache_use divisor = 1
+
+[mysql_local.threads]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.threads
+       # chart type = line
+       # type = mysql_local
+       # family = threads
+       # context = mysql.threads
+       # units = threads
+       # priority = 60010
+       # gap when lost iterations above = 1
+       # name = mysql_local.threads
+       # title = mysql Threads (mysql_local.threads)
+       # dim Threads_connected name = connected
+       # dim Threads_connected algorithm = absolute
+       # dim Threads_connected multiplier = 1
+       # dim Threads_connected divisor = 1
+       # dim Threads_created name = created
+       # dim Threads_created algorithm = incremental
+       # dim Threads_created multiplier = 1
+       # dim Threads_created divisor = 1
+       # dim Threads_cached name = cached
+       # dim Threads_cached algorithm = absolute
+       # dim Threads_cached multiplier = -1
+       # dim Threads_cached divisor = 1
+       # dim Threads_running name = running
+       # dim Threads_running algorithm = absolute
+       # dim Threads_running multiplier = 1
+       # dim Threads_running divisor = 1
+
+[mysql_local.thread_cache_misses]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.thread_cache_misses
+       # chart type = area
+       # type = mysql_local
+       # family = threads
+       # context = mysql.thread_cache_misses
+       # units = misses
+       # priority = 60011
+       # gap when lost iterations above = 1
+       # name = mysql_local.thread_cache_misses
+       # title = mysql Threads Cache Misses (mysql_local.thread_cache_misses)
+       # dim misses name = misses
+       # dim misses algorithm = absolute
+       # dim misses multiplier = 1
+       # dim misses divisor = 100
+
+[mysql_local.innodb_io]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.innodb_io
+       # chart type = area
+       # type = mysql_local
+       # family = innodb
+       # context = mysql.innodb_io
+       # units = kilobytes/s
+       # priority = 60012
+       # gap when lost iterations above = 1
+       # name = mysql_local.innodb_io
+       # title = mysql InnoDB I/O Bandwidth (mysql_local.innodb_io)
+       # dim Innodb_data_read name = read
+       # dim Innodb_data_read algorithm = incremental
+       # dim Innodb_data_read multiplier = 1
+       # dim Innodb_data_read divisor = 1024
+       # dim Innodb_data_written name = write
+       # dim Innodb_data_written algorithm = incremental
+       # dim Innodb_data_written multiplier = -1
+       # dim Innodb_data_written divisor = 1024
+
+[mysql_local.innodb_io_ops]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.innodb_io_ops
+       # chart type = line
+       # type = mysql_local
+       # family = innodb
+       # context = mysql.innodb_io_ops
+       # units = operations/s
+       # priority = 60013
+       # gap when lost iterations above = 1
+       # name = mysql_local.innodb_io_ops
+       # title = mysql InnoDB I/O Operations (mysql_local.innodb_io_ops)
+       # dim Innodb_data_reads name = reads
+       # dim Innodb_data_reads algorithm = incremental
+       # dim Innodb_data_reads multiplier = 1
+       # dim Innodb_data_reads divisor = 1
+       # dim Innodb_data_writes name = writes
+       # dim Innodb_data_writes algorithm = incremental
+       # dim Innodb_data_writes multiplier = -1
+       # dim Innodb_data_writes divisor = 1
+       # dim Innodb_data_fsyncs name = fsyncs
+       # dim Innodb_data_fsyncs algorithm = incremental
+       # dim Innodb_data_fsyncs multiplier = 1
+       # dim Innodb_data_fsyncs divisor = 1
+
+[mysql_local.innodb_io_pending_ops]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.innodb_io_pending_ops
+       # chart type = line
+       # type = mysql_local
+       # family = innodb
+       # context = mysql.innodb_io_pending_ops
+       # units = operations
+       # priority = 60014
+       # gap when lost iterations above = 1
+       # name = mysql_local.innodb_io_pending_ops
+       # title = mysql InnoDB Pending I/O Operations (mysql_local.innodb_io_pending_ops)
+       # dim Innodb_data_pending_reads name = reads
+       # dim Innodb_data_pending_reads algorithm = absolute
+       # dim Innodb_data_pending_reads multiplier = 1
+       # dim Innodb_data_pending_reads divisor = 1
+       # dim Innodb_data_pending_writes name = writes
+       # dim Innodb_data_pending_writes algorithm = absolute
+       # dim Innodb_data_pending_writes multiplier = -1
+       # dim Innodb_data_pending_writes divisor = 1
+       # dim Innodb_data_pending_fsyncs name = fsyncs
+       # dim Innodb_data_pending_fsyncs algorithm = absolute
+       # dim Innodb_data_pending_fsyncs multiplier = 1
+       # dim Innodb_data_pending_fsyncs divisor = 1
+
+[mysql_local.innodb_log]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.innodb_log
+       # chart type = line
+       # type = mysql_local
+       # family = innodb
+       # context = mysql.innodb_log
+       # units = operations/s
+       # priority = 60015
+       # gap when lost iterations above = 1
+       # name = mysql_local.innodb_log
+       # title = mysql InnoDB Log Operations (mysql_local.innodb_log)
+       # dim Innodb_log_waits name = waits
+       # dim Innodb_log_waits algorithm = incremental
+       # dim Innodb_log_waits multiplier = 1
+       # dim Innodb_log_waits divisor = 1
+       # dim Innodb_log_write_requests name = write_requests
+       # dim Innodb_log_write_requests algorithm = incremental
+       # dim Innodb_log_write_requests multiplier = -1
+       # dim Innodb_log_write_requests divisor = 1
+       # dim Innodb_log_writes name = writes
+       # dim Innodb_log_writes algorithm = incremental
+       # dim Innodb_log_writes multiplier = -1
+       # dim Innodb_log_writes divisor = 1
+
+[mysql_local.innodb_os_log]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.innodb_os_log
+       # chart type = line
+       # type = mysql_local
+       # family = innodb
+       # context = mysql.innodb_os_log
+       # units = operations
+       # priority = 60016
+       # gap when lost iterations above = 1
+       # name = mysql_local.innodb_os_log
+       # title = mysql InnoDB OS Log Operations (mysql_local.innodb_os_log)
+       # dim Innodb_os_log_fsyncs name = fsyncs
+       # dim Innodb_os_log_fsyncs algorithm = incremental
+       # dim Innodb_os_log_fsyncs multiplier = 1
+       # dim Innodb_os_log_fsyncs divisor = 1
+       # dim Innodb_os_log_pending_fsyncs name = pending_fsyncs
+       # dim Innodb_os_log_pending_fsyncs algorithm = absolute
+       # dim Innodb_os_log_pending_fsyncs multiplier = 1
+       # dim Innodb_os_log_pending_fsyncs divisor = 1
+       # dim Innodb_os_log_pending_writes name = pending_writes
+       # dim Innodb_os_log_pending_writes algorithm = absolute
+       # dim Innodb_os_log_pending_writes multiplier = -1
+       # dim Innodb_os_log_pending_writes divisor = 1
+
+[mysql_local.innodb_os_log_io]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.innodb_os_log_io
+       # chart type = area
+       # type = mysql_local
+       # family = innodb
+       # context = mysql.innodb_os_log_io
+       # units = kilobytes/s
+       # priority = 60017
+       # gap when lost iterations above = 1
+       # name = mysql_local.innodb_os_log_io
+       # title = mysql InnoDB OS Log Bandwidth (mysql_local.innodb_os_log_io)
+       # dim Innodb_os_log_written name = write
+       # dim Innodb_os_log_written algorithm = incremental
+       # dim Innodb_os_log_written multiplier = -1
+       # dim Innodb_os_log_written divisor = 1024
+
+[mysql_local.innodb_cur_row_lock]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.innodb_cur_row_lock
+       # chart type = area
+       # type = mysql_local
+       # family = innodb
+       # context = mysql.innodb_cur_row_lock
+       # units = operations
+       # priority = 60018
+       # gap when lost iterations above = 1
+       # name = mysql_local.innodb_cur_row_lock
+       # title = mysql InnoDB Current Row Locks (mysql_local.innodb_cur_row_lock)
+       # dim Innodb_row_lock_current_waits name = current_waits
+       # dim Innodb_row_lock_current_waits algorithm = absolute
+       # dim Innodb_row_lock_current_waits multiplier = 1
+       # dim Innodb_row_lock_current_waits divisor = 1
+
+[mysql_local.innodb_rows]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.innodb_rows
+       # chart type = area
+       # type = mysql_local
+       # family = innodb
+       # context = mysql.innodb_rows
+       # units = operations/s
+       # priority = 60019
+       # gap when lost iterations above = 1
+       # name = mysql_local.innodb_rows
+       # title = mysql InnoDB Row Operations (mysql_local.innodb_rows)
+       # dim Innodb_rows_read name = read
+       # dim Innodb_rows_read algorithm = incremental
+       # dim Innodb_rows_read multiplier = 1
+       # dim Innodb_rows_read divisor = 1
+       # dim Innodb_rows_deleted name = deleted
+       # dim Innodb_rows_deleted algorithm = incremental
+       # dim Innodb_rows_deleted multiplier = -1
+       # dim Innodb_rows_deleted divisor = 1
+       # dim Innodb_rows_inserted name = inserted
+       # dim Innodb_rows_inserted algorithm = incremental
+       # dim Innodb_rows_inserted multiplier = 1
+       # dim Innodb_rows_inserted divisor = 1
+       # dim Innodb_rows_updated name = updated
+       # dim Innodb_rows_updated algorithm = incremental
+       # dim Innodb_rows_updated multiplier = -1
+       # dim Innodb_rows_updated divisor = 1
+
+[mysql_local.binlog_stmt_cache]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mysql_local.binlog_stmt_cache
+       # chart type = line
+       # type = mysql_local
+       # family = binlog
+       # context = mysql.binlog_stmt_cache
+       # units = statements/s
+       # priority = 60020
+       # gap when lost iterations above = 1
+       # name = mysql_local.binlog_stmt_cache
+       # title = mysql Binlog Statement Cache (mysql_local.binlog_stmt_cache)
+       # dim Binlog_stmt_cache_disk_use name = disk
+       # dim Binlog_stmt_cache_disk_use algorithm = incremental
+       # dim Binlog_stmt_cache_disk_use multiplier = 1
+       # dim Binlog_stmt_cache_disk_use divisor = 1
+       # dim Binlog_stmt_cache_use name = all
+       # dim Binlog_stmt_cache_use algorithm = incremental
+       # dim Binlog_stmt_cache_use multiplier = 1
+       # dim Binlog_stmt_cache_use divisor = 1
+
+[system.ipv6]
+       # history = 86400
+       # enabled = yes
+       enabled = yes
+       # cache directory = /var/cache/netdata/system.ipv6
+       # chart type = area
+       # type = system
+       # family = network
+       # context = system.ipv6
+       # units = kilobits/s
+       # priority = 500
+       # gap when lost iterations above = 1
+       # name = system.ipv6
+       # title = IPv6 Bandwidth (system.ipv6)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 8
+       # dim received divisor = 1024
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -8
+       # dim sent divisor = 1024
+
+[ipv6.packets]
+       # history = 86400
+       # enabled = yes
+       enabled = yes
+       # cache directory = /var/cache/netdata/ipv6.packets
+       # chart type = line
+       # type = ipv6
+       # family = packets
+       # context = ipv6.packets
+       # units = packets/s
+       # priority = 3000
+       # gap when lost iterations above = 1
+       # name = ipv6.packets
+       # title = IPv6 Packets (ipv6.packets)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+       # dim forwarded name = forwarded
+       # dim forwarded algorithm = incremental
+       # dim forwarded multiplier = 1
+       # dim forwarded divisor = 1
+       # dim delivers name = delivers
+       # dim delivers algorithm = incremental
+       # dim delivers multiplier = -1
+       # dim delivers divisor = 1
+
+[ipv6.udppackets]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv6.udppackets
+       # chart type = line
+       # type = ipv6
+       # family = udp
+       # context = ipv6.udppackets
+       # units = packets/s
+       # priority = 3601
+       # gap when lost iterations above = 1
+       # name = ipv6.udppackets
+       # title = IPv6 UDP Packets (ipv6.udppackets)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+
+[ipv6.mcast]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv6.mcast
+       # chart type = area
+       # type = ipv6
+       # family = multicast
+       # context = ipv6.mcast
+       # units = kilobits/s
+       # priority = 9000
+       # gap when lost iterations above = 1
+       # name = ipv6.mcast
+       # title = IPv6 Multicast Bandwidth (ipv6.mcast)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 8
+       # dim received divisor = 1024
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -8
+       # dim sent divisor = 1024
+
+[ipv6.mcastpkts]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv6.mcastpkts
+       # chart type = line
+       # type = ipv6
+       # family = multicast
+       # context = ipv6.mcastpkts
+       # units = packets/s
+       # priority = 9500
+       # gap when lost iterations above = 1
+       # name = ipv6.mcastpkts
+       # title = IPv6 Multicast Packets (ipv6.mcastpkts)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+
+[nginx.connections]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/nginx.connections
+       # chart type = line
+       # type = nginx
+       # family = nginx
+       # context = nginx.connections
+       # units = connections
+       # priority = 60001
+       # gap when lost iterations above = 1
+       # name = nginx.connections
+       # title = nginx Active Connections (nginx.connections)
+       # dim active name = active
+       # dim active algorithm = absolute
+       # dim active multiplier = 1
+       # dim active divisor = 1
+
+[ipv6.icmp]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv6.icmp
+       # chart type = line
+       # type = ipv6
+       # family = icmp
+       # context = ipv6.icmp
+       # units = messages/s
+       # priority = 10000
+       # gap when lost iterations above = 1
+       # name = ipv6.icmp
+       # title = IPv6 ICMP Messages (ipv6.icmp)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+
+[ipv6.icmprouter]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv6.icmprouter
+       # chart type = line
+       # type = ipv6
+       # family = icmp
+       # context = ipv6.icmprouter
+       # units = messages/s
+       # priority = 10400
+       # gap when lost iterations above = 1
+       # name = ipv6.icmprouter
+       # title = IPv6 Router Messages (ipv6.icmprouter)
+       # dim InSolicits name = InSolicits
+       # dim InSolicits algorithm = incremental
+       # dim InSolicits multiplier = 1
+       # dim InSolicits divisor = 1
+       # dim OutSolicits name = OutSolicits
+       # dim OutSolicits algorithm = incremental
+       # dim OutSolicits multiplier = -1
+       # dim OutSolicits divisor = 1
+       # dim InAdvertisements name = InAdvertisements
+       # dim InAdvertisements algorithm = incremental
+       # dim InAdvertisements multiplier = 1
+       # dim InAdvertisements divisor = 1
+       # dim OutAdvertisements name = OutAdvertisements
+       # dim OutAdvertisements algorithm = incremental
+       # dim OutAdvertisements multiplier = -1
+       # dim OutAdvertisements divisor = 1
+
+[ipv6.icmpneighbor]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv6.icmpneighbor
+       # chart type = line
+       # type = ipv6
+       # family = icmp
+       # context = ipv6.icmpneighbor
+       # units = messages/s
+       # priority = 10500
+       # gap when lost iterations above = 1
+       # name = ipv6.icmpneighbor
+       # title = IPv6 Neighbor Messages (ipv6.icmpneighbor)
+       # dim InSolicits name = InSolicits
+       # dim InSolicits algorithm = incremental
+       # dim InSolicits multiplier = 1
+       # dim InSolicits divisor = 1
+       # dim OutSolicits name = OutSolicits
+       # dim OutSolicits algorithm = incremental
+       # dim OutSolicits multiplier = -1
+       # dim OutSolicits divisor = 1
+       # dim InAdvertisements name = InAdvertisements
+       # dim InAdvertisements algorithm = incremental
+       # dim InAdvertisements multiplier = 1
+       # dim InAdvertisements divisor = 1
+       # dim OutAdvertisements name = OutAdvertisements
+       # dim OutAdvertisements algorithm = incremental
+       # dim OutAdvertisements multiplier = -1
+       # dim OutAdvertisements divisor = 1
+
+[ipv6.icmpmldv2]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv6.icmpmldv2
+       # chart type = line
+       # type = ipv6
+       # family = icmp
+       # context = ipv6.icmpmldv2
+       # units = reports/s
+       # priority = 10600
+       # gap when lost iterations above = 1
+       # name = ipv6.icmpmldv2
+       # title = IPv6 ICMP MLDv2 Reports (ipv6.icmpmldv2)
+       # dim received name = received
+       # dim received algorithm = incremental
+       # dim received multiplier = 1
+       # dim received divisor = 1
+       # dim sent name = sent
+       # dim sent algorithm = incremental
+       # dim sent multiplier = -1
+       # dim sent divisor = 1
+
+[ipv6.icmptypes]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv6.icmptypes
+       # chart type = line
+       # type = ipv6
+       # family = icmp
+       # context = ipv6.icmptypes
+       # units = messages/s
+       # priority = 10700
+       # gap when lost iterations above = 1
+       # name = ipv6.icmptypes
+       # title = IPv6 ICMP Types (ipv6.icmptypes)
+       # dim InType1 name = InType1
+       # dim InType1 algorithm = incremental
+       # dim InType1 multiplier = 1
+       # dim InType1 divisor = 1
+       # dim InType128 name = InType128
+       # dim InType128 algorithm = incremental
+       # dim InType128 multiplier = 1
+       # dim InType128 divisor = 1
+       # dim InType129 name = InType129
+       # dim InType129 algorithm = incremental
+       # dim InType129 multiplier = 1
+       # dim InType129 divisor = 1
+       # dim InType136 name = InType136
+       # dim InType136 algorithm = incremental
+       # dim InType136 multiplier = 1
+       # dim InType136 divisor = 1
+       # dim OutType1 name = OutType1
+       # dim OutType1 algorithm = incremental
+       # dim OutType1 multiplier = -1
+       # dim OutType1 divisor = 1
+       # dim OutType128 name = OutType128
+       # dim OutType128 algorithm = incremental
+       # dim OutType128 multiplier = -1
+       # dim OutType128 divisor = 1
+       # dim OutType129 name = OutType129
+       # dim OutType129 algorithm = incremental
+       # dim OutType129 multiplier = -1
+       # dim OutType129 divisor = 1
+       # dim OutType133 name = OutType133
+       # dim OutType133 algorithm = incremental
+       # dim OutType133 multiplier = -1
+       # dim OutType133 divisor = 1
+       # dim OutType135 name = OutType135
+       # dim OutType135 algorithm = incremental
+       # dim OutType135 multiplier = -1
+       # dim OutType135 divisor = 1
+       # dim OutType143 name = OutType143
+       # dim OutType143 algorithm = incremental
+       # dim OutType143 multiplier = -1
+       # dim OutType143 divisor = 1
+
+[ipv6.ect]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/ipv6.ect
+       # chart type = line
+       # type = ipv6
+       # family = packets
+       # context = ipv6.ect
+       # units = packets/s
+       # priority = 10800
+       # gap when lost iterations above = 1
+       # name = ipv6.ect
+       # title = IPv6 ECT Packets (ipv6.ect)
+       # dim InNoECTPkts name = InNoECTPkts
+       # dim InNoECTPkts algorithm = incremental
+       # dim InNoECTPkts multiplier = 1
+       # dim InNoECTPkts divisor = 1
+       # dim InECT1Pkts name = InECT1Pkts
+       # dim InECT1Pkts algorithm = incremental
+       # dim InECT1Pkts multiplier = 1
+       # dim InECT1Pkts divisor = 1
+       # dim InECT0Pkts name = InECT0Pkts
+       # dim InECT0Pkts algorithm = incremental
+       # dim InECT0Pkts multiplier = 1
+       # dim InECT0Pkts divisor = 1
+       # dim InCEPkts name = InCEPkts
+       # dim InCEPkts algorithm = incremental
+       # dim InCEPkts multiplier = 1
+       # dim InCEPkts divisor = 1
+
+[nginx.requests]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/nginx.requests
+       # chart type = line
+       # type = nginx
+       # family = nginx
+       # context = nginx.requests
+       # units = requests/s
+       # priority = 60002
+       # gap when lost iterations above = 1
+       # name = nginx.requests
+       # title = nginx Requests (nginx.requests)
+       # dim requests name = requests
+       # dim requests algorithm = incremental
+       # dim requests multiplier = 1
+       # dim requests divisor = 1
+
+[nginx.connections_status]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/nginx.connections_status
+       # chart type = line
+       # type = nginx
+       # family = nginx
+       # context = nginx.connections.status
+       # units = connections
+       # priority = 60003
+       # gap when lost iterations above = 1
+       # name = nginx.connections_status
+       # title = nginx Active Connections by Status (nginx.connections_status)
+       # dim reading name = reading
+       # dim reading algorithm = absolute
+       # dim reading multiplier = 1
+       # dim reading divisor = 1
+       # dim writing name = writing
+       # dim writing algorithm = absolute
+       # dim writing multiplier = 1
+       # dim writing divisor = 1
+       # dim waiting name = idle
+       # dim waiting algorithm = absolute
+       # dim waiting multiplier = 1
+       # dim waiting divisor = 1
+
+[netfilter.sockets]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netfilter.sockets
+       # chart type = line
+       # type = netfilter
+       # family = netfilter
+       # context = netfilter.sockets
+       # units = active connections
+       # priority = 1000
+       # gap when lost iterations above = 1
+       # name = netfilter.sockets
+       # title = Netfilter Connections (netfilter.sockets)
+       # dim connections name = connections
+       # dim connections algorithm = absolute
+       # dim connections multiplier = 1
+       # dim connections divisor = 1
+
+[nginx.connect_rate]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/nginx.connect_rate
+       # chart type = line
+       # type = nginx
+       # family = nginx
+       # context = nginx.connections.rate
+       # units = connections/s
+       # priority = 60004
+       # gap when lost iterations above = 1
+       # name = nginx.connect_rate
+       # title = nginx Connections Rate (nginx.connect_rate)
+       # dim accepts name = accepted
+       # dim accepts algorithm = incremental
+       # dim accepts multiplier = 1
+       # dim accepts divisor = 1
+       # dim handled name = handled
+       # dim handled algorithm = incremental
+       # dim handled multiplier = 1
+       # dim handled divisor = 1
+
+[netfilter.new]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netfilter.new
+       # chart type = line
+       # type = netfilter
+       # family = netfilter
+       # context = netfilter.new
+       # units = connections/s
+       # priority = 1001
+       # gap when lost iterations above = 1
+       # name = netfilter.new
+       # title = Netfilter New Connections (netfilter.new)
+       # dim new name = new
+       # dim new algorithm = incremental
+       # dim new multiplier = 1
+       # dim new divisor = 1
+       # dim ignore name = ignore
+       # dim ignore algorithm = incremental
+       # dim ignore multiplier = -1
+       # dim ignore divisor = 1
+       # dim invalid name = invalid
+       # dim invalid algorithm = incremental
+       # dim invalid multiplier = -1
+       # dim invalid divisor = 1
+
+[netfilter.changes]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netfilter.changes
+       # chart type = line
+       # type = netfilter
+       # family = netfilter
+       # context = netfilter.changes
+       # units = changes/s
+       # priority = 1002
+       # gap when lost iterations above = 1
+       # name = netfilter.changes
+       # title = Netfilter Connection Changes (netfilter.changes)
+       # dim inserted name = inserted
+       # dim inserted algorithm = incremental
+       # dim inserted multiplier = 1
+       # dim inserted divisor = 1
+       # dim deleted name = deleted
+       # dim deleted algorithm = incremental
+       # dim deleted multiplier = -1
+       # dim deleted divisor = 1
+       # dim delete_list name = delete_list
+       # dim delete_list algorithm = incremental
+       # dim delete_list multiplier = -1
+       # dim delete_list divisor = 1
+
+[netdata.plugin_chartsd_example]
+       # history = 86400
+       # enabled = yes
+       enabled = yes
+       # cache directory = /var/cache/netdata/netdata.plugin_chartsd_example
+       # chart type = area
+       # type = netdata
+       # family = charts.d
+       # context = netdata.plugin_charts
+       # units = milliseconds / run
+       # priority = 145000
+       # gap when lost iterations above = 1
+       # name = netdata.plugin_chartsd_example
+       # title = Execution time for example plugin (netdata.plugin_chartsd_example)
+       # dim run_time name = run time
+       # dim run_time algorithm = absolute
+       # dim run_time multiplier = 1
+       # dim run_time divisor = 1
+
+[netdata.plugin_chartsd_mysql]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netdata.plugin_chartsd_mysql
+       # chart type = area
+       # type = netdata
+       # family = charts.d
+       # context = netdata.plugin_charts
+       # units = milliseconds / run
+       # priority = 145000
+       # gap when lost iterations above = 1
+       # name = netdata.plugin_chartsd_mysql
+       # title = Execution time for mysql plugin (netdata.plugin_chartsd_mysql)
+       # dim run_time name = run time
+       # dim run_time algorithm = absolute
+       # dim run_time multiplier = 1
+       # dim run_time divisor = 1
+
+[netdata.plugin_chartsd_nginx]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netdata.plugin_chartsd_nginx
+       # chart type = area
+       # type = netdata
+       # family = charts.d
+       # context = netdata.plugin_charts
+       # units = milliseconds / run
+       # priority = 145000
+       # gap when lost iterations above = 1
+       # name = netdata.plugin_chartsd_nginx
+       # title = Execution time for nginx plugin (netdata.plugin_chartsd_nginx)
+       # dim run_time name = run time
+       # dim run_time algorithm = absolute
+       # dim run_time multiplier = 1
+       # dim run_time divisor = 1
+
+[netfilter.expect]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netfilter.expect
+       # chart type = line
+       # type = netfilter
+       # family = netfilter
+       # context = netfilter.expect
+       # units = expectations/s
+       # priority = 1003
+       # gap when lost iterations above = 1
+       # name = netfilter.expect
+       # title = Netfilter Connection Expectations (netfilter.expect)
+       # dim created name = created
+       # dim created algorithm = incremental
+       # dim created multiplier = 1
+       # dim created divisor = 1
+       # dim deleted name = deleted
+       # dim deleted algorithm = incremental
+       # dim deleted multiplier = -1
+       # dim deleted divisor = 1
+       # dim new name = new
+       # dim new algorithm = incremental
+       # dim new multiplier = 1
+       # dim new divisor = 1
+
+[netdata.plugin_chartsd_postfix]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netdata.plugin_chartsd_postfix
+       # chart type = area
+       # type = netdata
+       # family = charts.d
+       # context = netdata.plugin_charts
+       # units = milliseconds / run
+       # priority = 145000
+       # gap when lost iterations above = 1
+       # name = netdata.plugin_chartsd_postfix
+       # title = Execution time for postfix plugin (netdata.plugin_chartsd_postfix)
+       # dim run_time name = run time
+       # dim run_time algorithm = absolute
+       # dim run_time multiplier = 1
+       # dim run_time divisor = 1
+
+[netfilter.search]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netfilter.search
+       # chart type = line
+       # type = netfilter
+       # family = netfilter
+       # context = netfilter.search
+       # units = searches/s
+       # priority = 1010
+       # gap when lost iterations above = 1
+       # name = netfilter.search
+       # title = Netfilter Connection Searches (netfilter.search)
+       # dim searched name = searched
+       # dim searched algorithm = incremental
+       # dim searched multiplier = 1
+       # dim searched divisor = 1
+       # dim restarted name = restarted
+       # dim restarted algorithm = incremental
+       # dim restarted multiplier = -1
+       # dim restarted divisor = 1
+       # dim found name = found
+       # dim found algorithm = incremental
+       # dim found multiplier = 1
+       # dim found divisor = 1
+
+[netfilter.errors]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/netfilter.errors
+       # chart type = line
+       # type = netfilter
+       # family = netfilter
+       # context = netfilter.errors
+       # units = events/s
+       # priority = 1005
+       # gap when lost iterations above = 1
+       # name = netfilter.errors
+       # title = Netfilter Errors (netfilter.errors)
+       # dim icmp_error name = icmp_error
+       # dim icmp_error algorithm = incremental
+       # dim icmp_error multiplier = 1
+       # dim icmp_error divisor = 1
+       # dim insert_failed name = insert_failed
+       # dim insert_failed algorithm = incremental
+       # dim insert_failed multiplier = -1
+       # dim insert_failed divisor = 1
+       # dim drop name = drop
+       # dim drop algorithm = incremental
+       # dim drop multiplier = -1
+       # dim drop divisor = 1
+       # dim early_drop name = early_drop
+       # dim early_drop algorithm = incremental
+       # dim early_drop multiplier = -1
+       # dim early_drop divisor = 1
+
+[mem.pgfaults]
+       # history = 86400
+       # enabled = yes
+       enabled = no
+       # cache directory = /var/cache/netdata/mem.pgfaults
+       # chart type = line
+       # type = mem
+       # family = system
+       # context = mem.pgfaults
+       # units = page faults/s
+       # priority = 500
+       # gap when lost iterations above = 1
+       # name = mem.pgfaults
+       # title = Memory Page Faults (mem.pgfaults)
+       # dim minor name = minor
+       # dim minor algorithm = incremental
+       # dim minor multiplier = 1
+       # dim minor divisor = 1
+       # dim major name = major
+       # dim major algorithm = incremental
+       # dim major multiplier = -1
+       # dim major divisor = 1
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
new file mode 100644
index 0000000..b244d18
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Netdata, Real-time performance monitoring
+RequiresMountsFor=/var
+
+[Service]
+User=root
+ExecStartPre=/bin/mkdir -p /var/log/netdata
+ExecStartPre=/bin/chown -R nobody.netdata @@datadir/netdata/web
+ExecStartPre=/bin/chown -R nobody.netdata /var/cache/netdata
+ExecStart=/usr/sbin/netdata -nd
+
+[Install]
+WantedBy=multi-user.target
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
new file mode 100644
index 0000000..317ddcc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
@@ -0,0 +1,52 @@
+HOMEPAGE = "https://github.com/firehol/netdata/"
+SUMMARY = "Real-time performance monitoring"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=747afe070ea9d6c2be0a31353609a35b"
+
+SRC_URI = "git://github.com/firehol/netdata.git;protocol=https"
+SRCREV = "36c1304e37094174ea51001903058e65053107ca"
+
+# patch to disable timeout because timeout are not available with actual version
+# of core-utils
+SRC_URI += "file://0001-Correct-Timeout-issue.patch"
+
+# default netdata.conf for netdata configuration
+SRC_URI += "file://netdata.conf"
+
+# file for providing systemd service support
+SRC_URI += "file://netdata.service"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools useradd systemd
+
+#systemd
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "netdata.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+#User specific
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system netdata"
+
+do_install_append() {
+    #set S UID for plugins
+    chmod 4755 ${D}${libexecdir}/netdata/plugins.d/apps.plugin
+
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+        # Install systemd unit files
+        install -d ${D}${systemd_unitdir}/system
+        install -m 0644 ${WORKDIR}/netdata.service ${D}${systemd_unitdir}/system
+        sed -i -e 's,@@datadir,${datadir_native},g' ${D}${systemd_unitdir}/system/netdata.service
+    fi
+
+    # Install default netdata.conf
+    install -d ${D}${sysconfdir}/netdata
+    install -m 0644 ${WORKDIR}/netdata.conf ${D}${sysconfdir}/netdata/
+    sed -i -e 's,@@sysconfdir,${sysconfdir},g' ${D}${sysconfdir}/netdata/netdata.conf
+    sed -i -e 's,@@libdir,${libexecdir},g' ${D}${sysconfdir}/netdata/netdata.conf
+    sed -i -e 's,@@datadir,${datadir},g' ${D}${sysconfdir}/netdata/netdata.conf
+}
+
+FILES_${PN}-dbg += "${libexecdir}/netdata/plugins.d/.debug"
+RDEPENDS_${PN} = "bash zlib"
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 a9ee405..1ca1480 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
@@ -11,7 +11,7 @@
 index 57a37f7..838b944 100755
 --- a/webmin/webmin-lib.pl
 +++ b/webmin/webmin-lib.pl
-@@ -1059,18 +1059,19 @@ my %miniserv;
+@@ -1086,28 +1086,28 @@
  &load_theme_library();	# So that UI functions work
  
  # Need OS upgrade
@@ -20,26 +20,46 @@
 -     $realos{'os_type'} ne $gconfig{'os_type'}) &&
 -    $realos{'os_version'} && $realos{'os_type'} &&
 -    &foreign_available("webmin")) {
--	push(@notifs, 
--		&ui_form_start("$gconfig{'webprefix'}/webmin/fix_os.cgi").
--		&text('os_incorrect', $realos{'real_os_type'},
--				    $realos{'real_os_version'})."<p>\n".
--		&ui_form_end([ [ undef, $text{'os_fix'} ] ])
--		);
+-	my ($realminor) = split(/\./, $realos{'os_version'});
+-	my ($minor) = split(/\./, $gconfig{'os_version'});
+-	if ($realos{'os_type'} eq $gconfig{'os_type'} &&
+-	    $realminor == $minor) {
+-		# Only the minor version number changed - no need to apply
+-		&apply_new_os_version(\%realos);
+-		}
+-	else {
+-		# Large enough change to tell the user
+-		push(@notifs, 
+-		    &ui_form_start("$gconfig{'webprefix'}/webmin/fix_os.cgi").
+-		    &text('os_incorrect', $realos{'real_os_type'},
+-		    		          $realos{'real_os_version'})."<p>\n".
+-		    &ui_form_end([ [ undef, $text{'os_fix'} ] ])
+-		    );
+-		}
 -	}
-+# Disabled for now as os-chooser.pl does not work on our system
 +#my %realos = &detect_operating_system(undef, 1);
 +#if (($realos{'os_version'} ne $gconfig{'os_version'} ||
 +#     $realos{'os_type'} ne $gconfig{'os_type'}) &&
 +#    $realos{'os_version'} && $realos{'os_type'} &&
 +#    &foreign_available("webmin")) {
-+#	push(@notifs, 
-+#		&ui_form_start("$gconfig{'webprefix'}/webmin/fix_os.cgi").
-+#		&text('os_incorrect', $realos{'real_os_type'},
-+#				    $realos{'real_os_version'})."<p>\n".
-+#		&ui_form_end([ [ undef, $text{'os_fix'} ] ])
-+#		);
++#	my ($realminor) = split(/\./, $realos{'os_version'});
++#	my ($minor) = split(/\./, $gconfig{'os_version'});
++#	if ($realos{'os_type'} eq $gconfig{'os_type'} &&
++#	    $realminor == $minor) {
++#		# Only the minor version number changed - no need to apply
++#		&apply_new_os_version(\%realos);
++#		}
++#	else {
++#		# Large enough change to tell the user
++#		push(@notifs, 
++#		    &ui_form_start("$gconfig{'webprefix'}/webmin/fix_os.cgi").
++#		    &text('os_incorrect', $realos{'real_os_type'},
++#		    		          $realos{'real_os_version'})."<p>\n".
++#		    &ui_form_end([ [ undef, $text{'os_fix'} ] ])
++#		    );
++#		}
 +#	}
  
  # Password close to expiry
  my $warn_days = $config{'warn_days'};
+
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.750.bb b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.750.bb
deleted file mode 100644
index 34052a1..0000000
--- a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.750.bb
+++ /dev/null
@@ -1,155 +0,0 @@
-SUMMARY = "Web-based administration interface"
-HOMEPAGE = "http://www.webmin.com"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=0373ac9f611e542ddebe1ec6394afc3c"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \
-           file://setup.sh \
-           file://init-exclude.patch \
-           file://net-generic.patch \
-           file://remove-startup-option.patch \
-           file://disable-version-check.patch \
-           file://nfs-export.patch \
-           file://exports-lib.pl.patch \
-           file://mount-excludefs.patch \
-           file://samba-config-fix.patch \
-           file://proftpd-config-fix.patch \
-           file://net-lib.pl.patch \
-           file://media-tomb.patch \
-           file://remove-python2.3.patch \
-           file://mysql-config-fix.patch \
-            "
-
-SRC_URI[md5sum] = "4007c390323d840f26c2e0f43c5c81a3"
-SRC_URI[sha256sum] = "5111f820adc6fbca997a58d4b2fa186dac6cded9cff0e70724f8cae6021123d9"
-
-inherit perlnative update-rc.d
-
-do_configure() {
-    # Remove binaries and plugins for other platforms
-    rm -rf acl/Authen-SolarisRBAC-0.1*
-    rm -rf format bsdexports hpuxexports sgiexports
-    rm -rf zones rbac smf ipfw ipfilter dfsadmin
-    rm -f mount/freebsd-mounts* mount/netbsd-mounts*
-    rm -f mount/openbsd-mounts* mount/macos-mounts*
-
-    # Remove some plugins for the moment
-    rm -rf lilo frox wuftpd telnet pserver cpan shorewall webalizer cfengine fsdump pap
-    rm -rf majordomo fetchmail sendmail mailboxes procmail filter mailcap dovecot exim spam qmailadmin postfix
-    rm -rf stunnel squid sarg pptp-client pptp-server jabber openslp sentry cluster-* vgetty burner heartbeat
-
-    # Adjust configs
-    [ -f init/config-debian-linux ] && mv init/config-debian-linux init/config-generic-linux
-    sed -i "s/shutdown_command=.*/shutdown_command=poweroff/" init/config-generic-linux
-    echo "exclude=bootmisc.sh,single,halt,reboot,hostname.sh,modutils.sh,mountall.sh,mountnfs.sh,networking,populate-volatile.sh,rmnologin.sh,save-rtc.sh,umountfs,umountnfs.sh,hwclock.sh,checkroot.sh,banner.sh,udev,udev-cache,devpts.sh,psplash.sh,sendsigs,fbsetup,bootlogd,stop-bootlogd,sysfs.sh,syslog,syslog.busybox,urandom,webmin,functions.initscripts,read-only-rootfs-hook.sh" >> init/config-generic-linux
-    echo "excludefs=devpts,devtmpfs,usbdevfs,proc,tmpfs,sysfs,debugfs" >> mount/config-generic-linux
-
-    [ -f exports/config-debian-linux ] && mv exports/config-debian-linux exports/config-generic-linux
-    sed -i "s/killall -HUP rpc.nfsd && //" exports/config-generic-linux
-    sed -i "s/netstd_nfs/nfsserver/g" exports/config-generic-linux
-
-    # Fix insane naming that causes problems at packaging time (must be done before deleting below)
-    find . -name "*\**" | while read from
-    do
-        to=`echo "$from" | sed "s/*/ALL/"`
-        mv "$from" "$to"
-    done
-
-    # Remove some other files we don't need
-    find . -name "config-*" -a \! -name "config-generic-linux" -a \! -name "config-ALL-linux" -a \! -name "*.pl" -delete
-    find . -regextype posix-extended -regex ".*/(openserver|aix|osf1|osf|openbsd|netbsd|freebsd|unixware|solaris|macos|irix|hpux|cygwin|windows)-lib\.pl" -delete
-    rm -f webmin-gentoo-init webmin-caldera-init webmin-debian-pam webmin-pam
-
-    # Don't need these at runtime (and we have our own setup script)
-    rm -f setup.sh
-    rm -f setup.pl
-
-    # Use pidof for finding PIDs
-    sed -i "s/find_pid_command=.*/find_pid_command=pidof NAME/" config-generic-linux
-}
-
-WEBMIN_LOGIN ?= "admin"
-WEBMIN_PASSWORD ?= "password"
-
-do_install() {
-    install -d ${D}${sysconfdir}
-    install -d ${D}${sysconfdir}/webmin
-    install -d ${D}${sysconfdir}/init.d
-    install -m 0755 webmin-init ${D}${sysconfdir}/init.d/webmin
-
-    install -d ${D}${localstatedir}
-    install -d ${D}${localstatedir}/webmin
-
-    install -d ${D}${libexecdir}/webmin
-    cd ${S} || exit 1
-    tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - . \
-        | tar --no-same-owner -xpf - -C ${D}${libexecdir}/webmin
-
-    rm -f ${D}${libexecdir}/webmin/webmin-init
-    rm -f ${D}${libexecdir}/webmin/ajaxterm/ajaxterm/configure.initd.gentoo
-    rm -rf ${D}${libexecdir}/webmin/patches
-
-    # Run setup script
-    export perl=perl
-    export perl_runtime=${bindir}/perl
-    export prefix=${D}
-    export tempdir=${S}/install_tmp
-    export wadir=${libexecdir}/webmin
-    export config_dir=${sysconfdir}/webmin
-    export var_dir=${localstatedir}/webmin
-    export os_type=generic-linux
-    export os_version=0
-    export real_os_type="${DISTRO_NAME}"
-    export real_os_version="${DISTRO_VERSION}"
-    export port=10000
-    export login=${WEBMIN_LOGIN}
-    export password=${WEBMIN_PASSWORD}
-    export ssl=0
-    export atboot=1
-    export no_pam=1
-    mkdir -p $tempdir
-    ${S}/../setup.sh
-}
-
-INITSCRIPT_NAME = "webmin"
-INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ."
-
-# FIXME: some of this should be figured out automatically
-RDEPENDS_${PN} += "perl perl-module-socket perl-module-exporter perl-module-exporter-heavy perl-module-carp perl-module-strict"
-RDEPENDS_${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix perl-module-autoloader"
-RDEPENDS_${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant"
-RDEPENDS_${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm-file perl-module-feature"
-
-PACKAGES_DYNAMIC += "webmin-module-* webmin-theme-*"
-RRECOMMENDS_${PN} += "webmin-module-system-status"
-
-PACKAGES += "${PN}-module-proc ${PN}-module-raid ${PN}-module-exports ${PN}-module-fdisk ${PN}-module-lvm"
-RDEPENDS_${PN}-module-proc = "procps"
-RDEPENDS_${PN}-module-raid = "mdadm"
-RDEPENDS_${PN}-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix"
-RRECOMMENDS_${PN}-module-fdisk = "parted"
-RRECOMMENDS_${PN}-module-lvm = "lvm2"
-
-python populate_packages_prepend() {
-    import os, os.path
-
-    wadir = bb.data.expand('${libexecdir}/webmin', d)
-    wadir_image = bb.data.expand('${D}', d) + wadir
-    modules = []
-    themes = []
-    for mod in os.listdir(wadir_image):
-        modinfo = os.path.join(wadir_image, mod, "module.info")
-        themeinfo = os.path.join(wadir_image, mod, "theme.info")
-        if os.path.exists(modinfo):
-            modules.append(mod)
-        elif os.path.exists(themeinfo):
-            themes.append(mod)
-
-    do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', allow_dirs=True, prepend=True)
-    do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', allow_dirs=True, prepend=True)
-}
-
-# Time-savers
-package_do_pkgconfig() {
-    :
-}
diff --git a/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.801.bb b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.801.bb
new file mode 100644
index 0000000..d96c0f2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.801.bb
@@ -0,0 +1,158 @@
+SUMMARY = "Web-based administration interface"
+HOMEPAGE = "http://www.webmin.com"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=0373ac9f611e542ddebe1ec6394afc3c"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \
+           file://setup.sh \
+           file://init-exclude.patch \
+           file://net-generic.patch \
+           file://remove-startup-option.patch \
+           file://disable-version-check.patch \
+           file://nfs-export.patch \
+           file://exports-lib.pl.patch \
+           file://mount-excludefs.patch \
+           file://samba-config-fix.patch \
+           file://proftpd-config-fix.patch \
+           file://net-lib.pl.patch \
+           file://media-tomb.patch \
+           file://remove-python2.3.patch \
+           file://mysql-config-fix.patch \
+            "
+
+SRC_URI[md5sum] = "91d05b4e31ad1bd14bab14e0f155c088"
+SRC_URI[sha256sum] = "ad477edb41dc1a900448afc8b5528e136b3778d2d303f23bc564afb975eb5bed"
+
+inherit perlnative update-rc.d
+
+do_configure() {
+    # Remove binaries and plugins for other platforms
+    rm -rf acl/Authen-SolarisRBAC-0.1*
+    rm -rf format bsdexports hpuxexports sgiexports
+    rm -rf zones rbac smf ipfw ipfilter dfsadmin
+    rm -f mount/freebsd-mounts* mount/netbsd-mounts*
+    rm -f mount/openbsd-mounts* mount/macos-mounts*
+
+    # Remove some plugins for the moment
+    rm -rf lilo frox wuftpd telnet pserver cpan shorewall webalizer cfengine fsdump pap
+    rm -rf majordomo fetchmail sendmail mailboxes procmail filter mailcap dovecot exim spam qmailadmin postfix
+    rm -rf stunnel squid sarg pptp-client pptp-server jabber openslp sentry cluster-* vgetty burner heartbeat
+
+    # Adjust configs
+    [ -f init/config-debian-linux ] && mv init/config-debian-linux init/config-generic-linux
+    sed -i "s/shutdown_command=.*/shutdown_command=poweroff/" init/config-generic-linux
+    echo "exclude=bootmisc.sh,single,halt,reboot,hostname.sh,modutils.sh,mountall.sh,mountnfs.sh,networking,populate-volatile.sh,rmnologin.sh,save-rtc.sh,umountfs,umountnfs.sh,hwclock.sh,checkroot.sh,banner.sh,udev,udev-cache,devpts.sh,psplash.sh,sendsigs,fbsetup,bootlogd,stop-bootlogd,sysfs.sh,syslog,syslog.busybox,urandom,webmin,functions.initscripts,read-only-rootfs-hook.sh" >> init/config-generic-linux
+    echo "excludefs=devpts,devtmpfs,usbdevfs,proc,tmpfs,sysfs,debugfs" >> mount/config-generic-linux
+
+    [ -f exports/config-debian-linux ] && mv exports/config-debian-linux exports/config-generic-linux
+    sed -i "s/killall -HUP rpc.nfsd && //" exports/config-generic-linux
+    sed -i "s/netstd_nfs/nfsserver/g" exports/config-generic-linux
+
+    # Fix insane naming that causes problems at packaging time (must be done before deleting below)
+    find . -name "*\**" | while read from
+    do
+        to=`echo "$from" | sed "s/*/ALL/"`
+        mv "$from" "$to"
+    done
+
+    # Remove some other files we don't need
+    find . -name "config-*" -a \! -name "config-generic-linux" -a \! -name "config-ALL-linux" -a \! -name "*.pl" -delete
+    find . -regextype posix-extended -regex ".*/(openserver|aix|osf1|osf|openbsd|netbsd|freebsd|unixware|solaris|macos|irix|hpux|cygwin|windows)-lib\.pl" -delete
+    rm -f webmin-gentoo-init webmin-caldera-init webmin-debian-pam webmin-pam
+
+    # Don't need these at runtime (and we have our own setup script)
+    rm -f setup.sh
+    rm -f setup.pl
+
+    # Use pidof for finding PIDs
+    sed -i "s/find_pid_command=.*/find_pid_command=pidof NAME/" config-generic-linux
+}
+
+WEBMIN_LOGIN ?= "admin"
+WEBMIN_PASSWORD ?= "password"
+
+do_install() {
+    install -d ${D}${sysconfdir}
+    install -d ${D}${sysconfdir}/webmin
+    install -d ${D}${sysconfdir}/init.d
+    install -m 0755 webmin-init ${D}${sysconfdir}/init.d/webmin
+
+    install -d ${D}${localstatedir}
+    install -d ${D}${localstatedir}/webmin
+
+    install -d ${D}${libexecdir}/webmin
+    cd ${S} || exit 1
+    tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - . \
+        | tar --no-same-owner -xpf - -C ${D}${libexecdir}/webmin
+
+    rm -f ${D}${libexecdir}/webmin/webmin-init
+    rm -f ${D}${libexecdir}/webmin/ajaxterm/ajaxterm/configure.initd.gentoo
+    rm -rf ${D}${libexecdir}/webmin/patches
+
+    # Run setup script
+    export perl=perl
+    export perl_runtime=${bindir}/perl
+    export prefix=${D}
+    export tempdir=${S}/install_tmp
+    export wadir=${libexecdir}/webmin
+    export config_dir=${sysconfdir}/webmin
+    export var_dir=${localstatedir}/webmin
+    export os_type=generic-linux
+    export os_version=0
+    export real_os_type="${DISTRO_NAME}"
+    export real_os_version="${DISTRO_VERSION}"
+    export port=10000
+    export login=${WEBMIN_LOGIN}
+    export password=${WEBMIN_PASSWORD}
+    export ssl=0
+    export atboot=1
+    export no_pam=1
+    mkdir -p $tempdir
+    ${S}/../setup.sh
+
+    # Ensure correct PERLLIB path
+    sed -i -e 's#${D}##g' ${D}${sysconfdir}/webmin/start
+}
+
+INITSCRIPT_NAME = "webmin"
+INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ."
+
+# FIXME: some of this should be figured out automatically
+RDEPENDS_${PN} += "perl perl-module-socket perl-module-exporter perl-module-exporter-heavy perl-module-carp perl-module-strict"
+RDEPENDS_${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix perl-module-autoloader"
+RDEPENDS_${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant"
+RDEPENDS_${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm-file perl-module-feature"
+
+PACKAGES_DYNAMIC += "webmin-module-* webmin-theme-*"
+RRECOMMENDS_${PN} += "webmin-module-system-status"
+
+PACKAGES += "${PN}-module-proc ${PN}-module-raid ${PN}-module-exports ${PN}-module-fdisk ${PN}-module-lvm"
+RDEPENDS_${PN}-module-proc = "procps"
+RDEPENDS_${PN}-module-raid = "mdadm"
+RDEPENDS_${PN}-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix"
+RRECOMMENDS_${PN}-module-fdisk = "parted"
+RRECOMMENDS_${PN}-module-lvm = "lvm2"
+
+python populate_packages_prepend() {
+    import os, os.path
+
+    wadir = bb.data.expand('${libexecdir}/webmin', d)
+    wadir_image = bb.data.expand('${D}', d) + wadir
+    modules = []
+    themes = []
+    for mod in os.listdir(wadir_image):
+        modinfo = os.path.join(wadir_image, mod, "module.info")
+        themeinfo = os.path.join(wadir_image, mod, "theme.info")
+        if os.path.exists(modinfo):
+            modules.append(mod)
+        elif os.path.exists(themeinfo):
+            themes.append(mod)
+
+    do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', allow_dirs=True, prepend=True)
+    do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', allow_dirs=True, prepend=True)
+}
+
+# Time-savers
+package_do_pkgconfig() {
+    :
+}
diff --git a/import-layers/meta-openembedded/meta-xfce/README b/import-layers/meta-openembedded/meta-xfce/README
index 350ca11..5291c82 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: krogoth
+branch: morty
 revision: HEAD
 
 URI: git://github.com/openembedded/meta-oe.git
-branch: krogoth
+branch: morty
 revision: HEAD
 meta-xfce depends on meta-oe, meta-gnome and meta-multimedia in this repository.
 
@@ -14,10 +14,10 @@
 
 BBMASK = "meta-xfce/recipes-multimedia"
 
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce][krogoth]' 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][krogoth][PATCH'
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-xfce][morty][PATCH'
 
-krogoth Branch Maintainer:
+morty branch maintainer(s):
 Armin Kuster <akuster808@gmail.com>
diff --git a/import-layers/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass b/import-layers/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass
index 4ec073a..95f7d00 100644
--- a/import-layers/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass
+++ b/import-layers/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass
@@ -1,4 +1,6 @@
-inherit xfce
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 DEPENDS += "thunar"
 
diff --git a/import-layers/meta-openembedded/meta-xfce/classes/xfce-app.bbclass b/import-layers/meta-openembedded/meta-xfce/classes/xfce-app.bbclass
index 8780ebf..1c31c2f 100644
--- a/import-layers/meta-openembedded/meta-xfce/classes/xfce-app.bbclass
+++ b/import-layers/meta-openembedded/meta-xfce/classes/xfce-app.bbclass
@@ -1,4 +1,6 @@
-inherit xfce
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/${@xfce_verdir("${PV}")}/${BPN}-${PV}.tar.bz2"
 
diff --git a/import-layers/meta-openembedded/meta-xfce/classes/xfce-panel-plugin.bbclass b/import-layers/meta-openembedded/meta-xfce/classes/xfce-panel-plugin.bbclass
index b2f0678..6515dc0 100644
--- a/import-layers/meta-openembedded/meta-xfce/classes/xfce-panel-plugin.bbclass
+++ b/import-layers/meta-openembedded/meta-xfce/classes/xfce-panel-plugin.bbclass
@@ -1,4 +1,6 @@
-inherit xfce
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 DEPENDS += "libxfce4ui libxfce4util xfce4-panel"
 
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb
index 4ca21a6..e87dea7 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.0.bb
@@ -17,3 +17,4 @@
 EXTRA_OECONF = "--disable-gtk3"
 
 FILES_${PN} += "${datadir}/glib-2.0/schemas"
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.4.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.4.bb
deleted file mode 100644
index 5f874ad..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.4.bb
+++ /dev/null
@@ -1,20 +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"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "094be6f29206aac8299f27084e284e88"
-SRC_URI[sha256sum] = "8c7ed62f9496816d1391281f77d1b32216f9bf6fd22fbe4f6f3f4e07a6bbced0"
-
-do_compile_prepend() {
-	mkdir -p xfce4-notifyd
-}
-
-FILES_${PN} += " \
-    ${libdir}/xfce4/notifyd \
-    ${datadir}/themes \
-    ${datadir}/dbus-1 \
-"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.2.bb
new file mode 100644
index 0000000..2894af4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.3.2.bb
@@ -0,0 +1,21 @@
+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"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "9ee9bd823710c8753cb99f5a8028d528"
+SRC_URI[sha256sum] = "c554db55d9d759c32115e9e5da029bd68b07628438ef2bac7ae4b458567c85a4"
+
+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-screenshooter/xfce4-screenshooter_1.8.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.2.bb
index de2bc61..d1cb684 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.2.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.2.bb
@@ -13,7 +13,7 @@
 SRC_URI[sha256sum] = "9dce2ddfaa87f703e870e29bae13f3fc82a1b3f06b44f8386640e45a135f5f69"
 
 do_compile_prepend() {
-	mkdir -p lib
+    mkdir -p lib
 }
 
 FILES_${PN} += " \
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb
index 1049b27..98ffec2 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb
@@ -1,7 +1,8 @@
 SUMMARY = "Terminal emulator for the Xfce desktop environment"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "glib-2.0 gtk+ vte libxfce4ui"
+DEPENDS = "glib-2.0 gtk+ vte9 libxfce4ui"
+RDEPENDS_${PN} += "vte9-termcap"
 
 inherit xfce-app
 
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 4bd085a..77fff63 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
@@ -9,7 +9,7 @@
 SRC_URI[md5sum] = "0bbb1d6e473e0fe9b335b7b1b49d8a71"
 SRC_URI[sha256sum] = "07a8f2b7c09fcdd3d86e0c52adea3c58ca011d0142a93997a01b4af77260ae7b"
 
-EXTRA_OECONF = "-with-vala-api=0.30"
+EXTRA_OECONF = "-with-vala-api=0.32"
 
 FILES_${PN} += "${datadir}/vala-*/vapi"
 
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb b/import-layers/meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb
index 63900f8..a683c2d 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb
@@ -4,6 +4,7 @@
     ${ROOTFS_PKGMANAGE_BOOTSTRAP} \
     packagegroup-core-x11 \
     packagegroup-xfce-base \
+    kernel-modules \
 "
 
 REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/gtk-is-required-by-notify.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/gtk-is-required-by-notify.patch
similarity index 100%
rename from import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/gtk-is-required-by-notify.patch
rename to import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/gtk-is-required-by-notify.patch
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
new file mode 100644
index 0000000..d5ac87d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch
@@ -0,0 +1,19 @@
+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.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.1.bb
new file mode 100644
index 0000000..8c04db6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.1.bb
@@ -0,0 +1,30 @@
+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
+
+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"
+
+SRC_URI[md5sum] = "ab439e21a7d86fa99fbc04586c755349"
+SRC_URI[sha256sum] = "12c35352386057ba68d69a0b7d9a1d0d01ebbd893aafe0a094c3158c8079ac9a"
+
+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/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch
deleted file mode 100644
index 9e31847..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch
+++ /dev/null
@@ -1,21 +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.6.8.orig/Makefile.am imsettings-1.6.8/Makefile.am
---- imsettings-1.6.8.orig/Makefile.am	2013-02-08 11:33:59.000000000 +0900
-+++ imsettings-1.6.8/Makefile.am	2015-06-24 14:15:32.070000007 +0900
-@@ -1,9 +1,7 @@
- NULL =
- SUBDIRS = data imsettings imsettings-daemon backends utils po tests docs
- 
--ACLOCAL_AMFLAGS =			\
--	-I m4macros			\
--	$(NULL)
-+ACLOCAL_AMFLAGS = -I m4macros $(NULL)
- 
- CONFIGURE_DEPENDENCIES =		\
- 	requires			\
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings_1.6.8.bb b/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings_1.6.8.bb
deleted file mode 100644
index 699547d..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-extended/imsettings_1.6.8.bb
+++ /dev/null
@@ -1,30 +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
-
-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"
-
-SRC_URI[md5sum] = "c31429f1d60e36d7f811f871c75b6c41"
-SRC_URI[sha256sum] = "2620ffbf9a6dc842dbf994b4773d4fe355eb77076ccf33f726ba63f16c0d08ba"
-
-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"
-
-RDEPENDS_${PN} += "bash"
-
-FILES_${PN} += "${datadir}/dbus-1/*"
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
index f27396c..824611a 100644
--- 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
@@ -24,6 +24,8 @@
 
 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"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.5.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.5.1.bb
deleted file mode 100644
index cb1fa5e..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.5.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "A calculator plugin for the Xfce panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-calculator-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "8d7bf07a669a2884a409a7b03f89be5c"
-SRC_URI[sha256sum] = "7dcb04a3da7b85cb1f35f546c366fe8529f1c15f1c8c290edb91d16c07f5fd6d"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.6.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.6.0.bb
new file mode 100644
index 0000000..de0d0a0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.6.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A calculator plugin for the Xfce panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-calculator-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=909430f63fddd63f120ba29e8979f65c"
+
+inherit xfce-panel-plugin gtk-icon-cache
+
+SRC_URI[md5sum] = "1b956a89693d039a61b4725cefb23a4d"
+SRC_URI[sha256sum] = "eb51765580ea4650f9cf062382a820fb6483ee5dbe003aeb6f063929e299f9c2"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.6.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.6.bb
deleted file mode 100644
index a07f3cc..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.6.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Clipman is a clipboard manager for Xfce"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "xfconf xproto libxtst"
-
-SRC_URI[md5sum] = "f7f2440647493243cbd7787eaee92fcb"
-SRC_URI[sha256sum] = "23043f99c3e5257d1f3d68b5ee5125e3469c15620d098e22c6250386197f48a5"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[unique] = "--enable-unique,--disable-unique,libunique"
-PACKAGECONFIG[qrencode] = "--enable-libqrencode,--disable-libqrencode,qrencode"
-
-FILES_${PN} += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.0.bb
new file mode 100644
index 0000000..988fbb0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.4.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Clipman is a clipboard manager for Xfce"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "xfconf xproto libxtst"
+
+SRC_URI[md5sum] = "cd9c05e54e0fcc3f8d774cacdf18f42c"
+SRC_URI[sha256sum] = "a97671540663df1d90503f73695ac36e16fa2c832be8845ad9402529b8148294"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[qrencode] = "--enable-libqrencode,--disable-libqrencode,qrencode"
+
+FILES_${PN} += "${datadir}/appdata"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.2.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.2.bb
deleted file mode 100644
index ac2a811..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin to display frequency of all cpus"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpufreq-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "bfc4c8277cb009439fb4c7aec8679126"
-SRC_URI[sha256sum] = "fd9ca91b99e830c6b0962a07eb269ce814ed773cd6008081771fd04060fe6ce9"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.3.bb
new file mode 100644
index 0000000..d454787
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.3.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin to display frequency of all cpus"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpufreq-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "859122da0a8cd991ee2fbeee434bc948"
+SRC_URI[sha256sum] = "74a162c7e101db0495d5da147aba1f404c33544f04e8c34d7d1d705668102d33"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.4.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.4.bb
deleted file mode 100644
index ee32219..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Panel plugin with graphical representation of the cpu frequency"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-eyes-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "136f52a256fad8cfd29fb2976e08ebc8"
-SRC_URI[sha256sum] = "240ce85b68d3d161f276ebbea97072dd6ee3df77062fd073bf6eeb4d3d1400ca"
-
-FILES_${PN} += "${datadir}/xfce4/eyes"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.5.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.5.bb
new file mode 100644
index 0000000..4e4c410
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.5.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Panel plugin with graphical representation of the cpu frequency"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-eyes-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "b2881924fdcc1230d9fa82c10f1a6afe"
+SRC_URI[sha256sum] = "648f7a1738d852af9482d11330b8ab33901f05256984de73d8cea4d7d7311937"
+
+FILES_${PN} += "${datadir}/xfce4/eyes"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb
index 00859a1..8d4e77e 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb
@@ -9,3 +9,6 @@
 
 SRC_URI[md5sum] = "7263114ec0f2987a3aff15afeeb45577"
 SRC_URI[sha256sum] = "624acc8229a8593c0dfeb28f883f4958119a715cc81cecdbaf29efc8ab1edcad"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
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
index 65026ac..4c7ca70 100644
--- 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
@@ -4,7 +4,7 @@
 
 inherit xfce-panel-plugin distro_features_check
 
-REQUIRED_DISTRO_FEATURES = "pulseaudio"
+REQUIRED_DISTRO_FEATURES = "pulseaudio x11"
 
 DEPENDS += "pulseaudio"
 
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.7.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.7.bb
deleted file mode 100644
index 3519f4a..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.7.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] = "ecab0eaad870e460da4597e76f43e6e6"
-SRC_URI[sha256sum] = "071e71106868c7d90c936256d837ca834d0ca6f54daea59a9b5fc11b318e65b0"
-
-FILES_${PN} += "${datadir}/xfce4/weather"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.8.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.8.bb
new file mode 100644
index 0000000..28d3bda
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.8.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] = "29fe8892bb4c6b1e639862a63110618e"
+SRC_URI[sha256sum] = "651b722714fdafde3f548f183958c34e1539cf563193d7e51f28bfb6933d6d3f"
+
+FILES_${PN} += "${datadir}/xfce4/weather"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_1.5.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_1.5.3.bb
deleted file mode 100644
index 60bf114..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_1.5.3.bb
+++ /dev/null
@@ -1,9 +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] = "ef51234117dabdf02f2f415643d858d6"
-SRC_URI[sha256sum] = "68a8273395671d5163fd8cd9a73755ef03d4ea74891204498a21582a9c2e925b"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.0.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.0.1.bb
new file mode 100644
index 0000000..7cf1e43
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.0.1.bb
@@ -0,0 +1,9 @@
+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] = "0718eb713809df0049fcc5b7ddd9b533"
+SRC_URI[sha256sum] = "ced25394512d102090a504b95f19dffad8bf38754c3ddad85c765b184a7eb616"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/0001-Probable-fix-for-Thunar-detailed-view-Xfce-12916.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/0001-Probable-fix-for-Thunar-detailed-view-Xfce-12916.patch
new file mode 100644
index 0000000..16f12fe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo/0001-Probable-fix-for-Thunar-detailed-view-Xfce-12916.patch
@@ -0,0 +1,36 @@
+From fea2619e6d07ac72b2eff6f408bb3daa2dbdf671 Mon Sep 17 00:00:00 2001
+From: Sean Davis <smd.seandavis@gmail.com>
+Date: Thu, 27 Oct 2016 20:31:36 -0400
+Subject: [PATCH] Probable fix for Thunar detailed view (Xfce #12916)
+
+Upstream-Status: Pending [1-2]
+
+[1] https://git.xfce.org/xfce/exo/commit/?id=fea2619e6d07ac72b2eff6f408bb3daa2dbdf671
+[2] https://bugzilla.xfce.org/show_bug.cgi?id=12916
+
+---
+ exo/exo-tree-view.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/exo/exo-tree-view.c b/exo/exo-tree-view.c
+index 8c8564f..2d0fc04 100644
+--- a/exo/exo-tree-view.c
++++ b/exo/exo-tree-view.c
+@@ -385,13 +385,9 @@ exo_tree_view_button_press_event (GtkWidget      *widget,
+         }
+     }
+ 
+-  /* see bug http://bugzilla.xfce.org/show_bug.cgi?id=6230 for more information */
+   if (G_LIKELY (gtk_tree_selection_get_select_function (selection) == (GtkTreeSelectionFunc) exo_noop_false))
+     {
+-      /* just reset the select function (previously set to exo_noop_false),
+-       * there's no clean way to do this, so what the heck.
+-       */
+-      gtk_tree_selection_set_select_function (selection, NULL, NULL, NULL);
++      gtk_tree_selection_set_select_function (selection, (GtkTreeSelectionFunc) exo_noop_true, NULL, NULL);
+     }
+ 
+   /* release the path (if any) */
+-- 
+2.5.5
+
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 246511c..8073fca 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
@@ -15,11 +15,11 @@
 Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
 ---
  Makefile.am  | 10 +---------
- configure.ac | 20 --------------------
- 2 files changed, 1 insertion(+), 29 deletions(-)
+ configure.ac | 26 --------------------------
+ 2 files changed, 1 insertion(+), 35 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index ad7c6ce..3acd94a 100644
+index 9979b36..05d594e 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -1,15 +1,7 @@
@@ -40,7 +40,7 @@
  distclean-local:
  	rm -rf *.cache *~
 diff --git a/configure.ac b/configure.ac
-index bb9be05..23471d0 100644
+index b66c92b..5243132 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -116,15 +116,6 @@ AC_PROG_CC()
@@ -59,7 +59,7 @@
  
  dnl ***************************************
  dnl *** Check for standard header files ***
-@@ -171,17 +162,6 @@ dnl ***********************************
+@@ -171,29 +162,12 @@ dnl ***********************************
  dnl *** Check for required packages ***
  dnl ***********************************
  XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.30.0])
@@ -69,14 +69,26 @@
 -XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.10.0])
 -XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.10.0])
 -XDT_CHECK_OPTIONAL_PACKAGE([GIO_UNIX], [gio-unix-2.0], [2.30.0], [gio-unix], [GIO-Unix features])
--
+ 
+ dnl ***********************************************************
+ dnl *** Optional support for a GTK+3 version of the library ***
+ dnl ***********************************************************
+-XDT_CHECK_OPTIONAL_PACKAGE([GTK3],
+-                           [gtk+-3.0], [3.6.0], [gtk3],
+-                           [GTK+ 3 support])
+-XDT_CHECK_OPTIONAL_PACKAGE([LIBXFCE4UI2],
+-                           [libxfce4ui-2], [4.12.0], [libxfce4ui2],
+-                           [GTK+ 3 support: libxfce4ui-2])
+ AM_CONDITIONAL([ENABLE_GTK3_LIBRARY], [test "x$GTK3_FOUND" = "xyes" && test "x$LIBXFCE4UI2_FOUND" = "xyes" ])
+ 
 -dnl *********************
 -dnl *** Check for X11 ***
 -dnl *********************
 -XDT_CHECK_LIBX11_REQUIRE()
- 
+-
  dnl *************************
  dnl *** Check for gtk-doc ***
+ dnl *************************
 -- 
-1.9.3
+2.5.5
 
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.10.6.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.10.6.bb
deleted file mode 100644
index f1b5ae5..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.10.6.bb
+++ /dev/null
@@ -1,36 +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
-
-# 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] = "895e4f38d2cfe58d69679e2902a335a5"
-SRC_URI[sha256sum] = "1cc0e5a432e050a5e5aa64d126b988f4440da4f27474aaf42a4d8e13651d0752"
-
-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.11.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.1.bb
new file mode 100644
index 0000000..c145ce0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.11.1.bb
@@ -0,0 +1,40 @@
+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 \
+    file://0001-Probable-fix-for-Thunar-detailed-view-Xfce-12916.patch \
+"
+
+SRC_URI_append_class-native = " \
+    file://reduce-build-to-exo-csource-only.patch \
+"
+
+SRC_URI[md5sum] = "866292556586facb034191aa66431697"
+SRC_URI[sha256sum] = "c70c47f690284a5cb4f507dd89088efbdd8123506f924e33a5f97aab74eb97d4"
+
+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/garcon/garcon_0.4.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb
index 81f6ce1..8a3260a 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.4.0.bb
@@ -4,10 +4,14 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
 DEPENDS = "xfce4-dev-tools-native libxfce4util libxfce4ui intltool-native"
 
-inherit xfce gtk-doc
+inherit xfce gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
 SRC_URI[md5sum] = "aba62b80787aac295083bf7afd419ffb"
 SRC_URI[sha256sum] = "787dc859713b6518992d760d4b858fb02e8a30705e6f6e871d7a14cc97bca972"
 
+EXTRA_OECONF = "--disable-gtk-doc"
+
 FILES_${PN} += "${datadir}/desktop-directories"
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 b9835ab..ae7f99f 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
@@ -4,7 +4,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 DEPENDS = "gtk+ xfce4-dev-tools-native"
 
-inherit xfce
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[md5sum] = "363d6c16a48a00e26d45c45c2e1fd739"
 SRC_URI[sha256sum] = "875c9c3bda96faf050a2224649cc42129ffb662c4de33add8c0fd1fb860b47ed"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.12.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.12.1.bb
index 723c20d..4843e0e 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.12.1.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.12.1.bb
@@ -2,9 +2,11 @@
 SECTION = "x11/libs"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "perl-native glib-2.0 gtk+ gtk+3 intltool libxfce4util xfconf xfce4-dev-tools virtual/libx11 libsm libice"
+DEPENDS = "perl-native glib-2.0 gtk+ gtk+3 intltool-native libxfce4util xfconf xfce4-dev-tools virtual/libx11 libsm libice"
 
-inherit xfce autotools gettext gtk-doc
+inherit xfce autotools gettext gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI += " \
     file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
index 28cfc7f..e2f238c 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
@@ -4,16 +4,19 @@
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
 PR = "r5"
 
-inherit packagegroup
+inherit packagegroup distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 RDEPENDS_${PN} = " \
     xfwm4 \
-    xfce4-session \     
+    xfce4-session \
     xfconf \
     xfdesktop \
     xfce4-panel \
     \
     gtk-xfce-engine \
+    librsvg-gtk \
     \
     xfce4-panel-plugin-actions \
     xfce4-panel-plugin-applicationsmenu \
@@ -25,7 +28,7 @@
     xfce4-panel-plugin-showdesktop \
     xfce4-panel-plugin-systray \
     xfce4-panel-plugin-tasklist \
-    xfce4-panel-plugin-windowmenu \   
+    xfce4-panel-plugin-windowmenu \
     xfce4-settings \
     \
     xfce4-notifyd \
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman/0001-Fix-return-with-no-value-in-function-returning-non-v.patch b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman/0001-Fix-return-with-no-value-in-function-returning-non-v.patch
new file mode 100644
index 0000000..7233ea7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman/0001-Fix-return-with-no-value-in-function-returning-non-v.patch
@@ -0,0 +1,26 @@
+From 2e295e9ce8f7f60a271adf004588b0d8db88db09 Mon Sep 17 00:00:00 2001
+From: Matt Thirtytwo <matt.59491@gmail.com>
+Date: Sat, 7 Mar 2015 22:50:32 +0100
+Subject: [PATCH] Fix return with no value in function returning non-void (bug
+ #11656)
+
+---
+ thunar-volman/tvm-block-device.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/thunar-volman/tvm-block-device.c b/thunar-volman/tvm-block-device.c
+index da31efa..edb6cad 100644
+--- a/thunar-volman/tvm-block-device.c
++++ b/thunar-volman/tvm-block-device.c
+@@ -714,7 +714,7 @@ tvm_block_device_mount (TvmContext *context)
+   GMountOperation *mount_operation;
+   GVolume         *volume;
+ 
+-  g_return_if_fail (context != NULL);
++  g_return_val_if_fail ((context != NULL), FALSE);
+ 
+   /* determine the GVolume corresponding to the udev device */
+   volume = 
+-- 
+1.9.0
+
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.8.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.8.1.bb
index 08e6f5b..c61d451 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.8.1.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.8.1.bb
@@ -4,8 +4,11 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 DEPENDS = "exo glib-2.0 gtk+ libxfce4ui libxfce4util xfconf libnotify libgudev"
 
-inherit xfce
+inherit xfce distro_features_check
 
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += "file://0001-Fix-return-with-no-value-in-function-returning-non-v.patch"
 SRC_URI[md5sum] = "65ab6e05b2e808d1dcc8d36683a59b7e"
 SRC_URI[sha256sum] = "5a08bb5ce32c296a64dfbdb2406d4e45a208b2c91e4efa831dc28f1d6c2ac2bd"
 
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.10.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.10.bb
index 1485924..90fd788 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.10.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.6.10.bb
@@ -4,7 +4,9 @@
 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
+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] = "3089e1dca6e408641b07cd9c759dea5e"
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
index 79e06da..175a827 100644
--- 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
@@ -4,7 +4,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 DEPENDS="glib-2.0 gtk+ libxfce4util libxfce4ui garcon dbus-glib xfconf"
 
-inherit xfce
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[md5sum] = "0b238b30686388c507c119b12664f1a1"
 SRC_URI[sha256sum] = "2ad4a58019a76a6b64a816050db25f96854917c2f2e89d6a9df6c18e6c84c567"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb
index 6a2b944..18f5ab7 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.12.0.bb
@@ -4,7 +4,9 @@
 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
+inherit xfce gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[md5sum] = "5a333af704e386c90ad829b6baf1a758"
 SRC_URI[sha256sum] = "30920fc2e2fc26279a82b5261a155c2cc15ab2aa1ced2275684a6ff8261b97b0"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.4.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.4.bb
deleted file mode 100644
index 2070db2..0000000
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.4.bb
+++ /dev/null
@@ -1,42 +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
-
-DEPENDS += "gtk+ glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \
-           libxrandr virtual/libx11 libxext xfce4-panel upower"
-
-SRC_URI[md5sum] = "e7d00548e58bf19229e727818184c1e0"
-SRC_URI[sha256sum] = "c50ec8aa7e7848c57c0f856dceb8132eb5f37585f0ac1627459ab8c882c73b07"
-
-EXTRA_OECONF = " \
-    --enable-network-manager \
-    --enable-panel-plugins \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','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.0.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.0.bb
new file mode 100644
index 0000000..e69118c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.0.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] = "2e2e24a1a22912d6a561ba6155887503"
+SRC_URI[sha256sum] = "bde3157e06ab31ff23648d163d53ee5095f7819544a9f48d3a96d57829857f2b"
+
+EXTRA_OECONF = " \
+    --enable-network-manager \
+    --enable-panel-plugins \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','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-session/xfce4-session_4.12.1.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.12.1.bb
index 215aec3..a247206 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.12.1.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.12.1.bb
@@ -5,7 +5,9 @@
 DEPENDS = "virtual/libx11 libsm libxfce4util libxfce4ui gtk+ libwnck dbus dbus-glib xfconf polkit"
 RDEPENDS_${PN} = "netbase xinit dbus-x11 iceauth upower"
 
-inherit xfce update-alternatives
+inherit xfce update-alternatives distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[md5sum] = "f4921fb2e606e74643daf1212263076c"
 SRC_URI[sha256sum] = "97d7f2a2d0af7f3623b68d1f04091e02913b28f9555dab8b0d26c8a1299d08fd"
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 d5ed044..771da2c 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
@@ -4,7 +4,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 DEPENDS = "exo exo-native garcon gtk+ libxfce4util libxfce4ui xfconf dbus-glib libxi virtual/libx11 xrandr libxcursor libxklavier upower"
 
-inherit xfce xfce-git
+inherit xfce xfce-git distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 # schnitzeltony git repo is the mainline repo
 # + datetime-setter - sent to mainline but strange response
@@ -17,7 +19,7 @@
 SRCREV = "c6683cb2cff489c16c2c7b5eab4017bb461f07f1"
 S = "${WORKDIR}/git"
 PV = "4.12.0+git${SRCPV}"
- 
+
 EXTRA_OECONF += "--enable-maintainer-mode --disable-debug"
 
 PACKAGECONFIG ??= " \
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
index af4b6ca..e951343 100644
--- 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
@@ -4,7 +4,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 DEPENDS = "glib-2.0 gtk+ libxfce4util libxfce4ui libwnck xfconf dbus-glib thunar garcon exo"
 
-inherit xfce
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[md5sum] = "cb34f4f333d7d122f1688d2f155202c8"
 SRC_URI[sha256sum] = "a8a8d93744d842ca6ac1f9bd2c8789ee178937bca7e170e5239cbdbef30520ac"
diff --git a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.3.bb b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.3.bb
index 41daa00..ad70860 100644
--- a/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.3.bb
+++ b/import-layers/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.12.3.bb
@@ -4,7 +4,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
 DEPENDS = "virtual/libx11 libxpm gtk+ libxfce4util libxfce4ui xfconf libwnck dbus-glib startup-notification exo-native"
 
-inherit xfce update-alternatives
+inherit xfce update-alternatives distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI += "file://0001-don-t-block-display-events-when-time-is-set-backward.patch"
 SRC_URI[md5sum] = "197ef087ca6a263627f1bea6d5a79d6f"